A Quest for Many-core Computing

  • 2010-06-04

Programming concurrent systems has the inherent complexity of controlling the parallel computation, either seen as control flow or as data flow.

Der Arbeitsbereich für Programmiersprachen und Übersetzer am Institut für Computersprachen lädt zu folgendem Vortrag ein:


Programming concurrent systems has the inherent complexity of controlling the parallel computation, either seen as control flow or as data flow. Concurrent programming is quite established in the field of high-performance. But nowadays even desktop machines are multi-core machines. And it is the trend that even embedded systems will shift to many-core computing. In embedded computing, the many-core paradigm especially offers benefits like encapsulation of different jobs for the sake of safety and security. In this talk we present S-Net, which is a coordination language used to express concurrent computation. The fundamental principle behind S-Net is to divide concurrent programming into algorithmic programming of boxes and into the coordination of concurrency among these boxes. The algorithmic programming might be done in a conventional programming language, following a functional implementation style, i.e., these boxes transform input into output but do not encompass a local state. Thus, the S-Net approach provides an explicit view of concurrency that is separated from the algorithmic programming. This allows, for example, to change the way of how the program is distributed without having to change the algorithmic implementation of the boxes. To make the S-Net approach applicable to embedded systems, we are developing a new runtime system which is more resource-efficient and supports (soft) real-time scheduling. Here we shift control of scheduling from the underlying operating system to the S-Net runtime layer to gain sufficient control over task execution. Besides embedded computing, this new runtime layer is also beneficial in the field of high-performance computing. For example, we will also use it as the basis for program optimizations during runtime based on monitored statistical information about the program behaviour.


Raimund Kirner is a Principal Lecturer at the University ofHertfordshire. Before he worked as an Assistant Professor at the Vienna University of Technology within the Real-Time Systems Group. The research focus of Kirner is on system reliability, currently working on adequate hardware and software architectures to bridge the gap between the many-core computing and embedded computing. He also published intensively on worst-case execution time analysis. Kirner was involved in two projects funded by the European Commission (SETTA, NEXT TTA), and currently works within the FP7 project “Asynchronous and Dynamic Virtualisation through performance Analysis to support Concurrency Engineering” (ADVANCE). Further, he is the principal investigator of three research projects funded by the Austrian Science Foundation (FWF), namely “Compiler-Support for Timing Analysis” (CoSTA), “Formal Timing Analysis Suite” (FORTAS), and “Sustaining Entire Code-Coverage on Code Optimization” (SECCO).


Note: This is one of the thousands of items we imported from the old website. We’re in the process of reviewing each and every one, but if you notice something strange about this particular one, please let us know. — Thanks!