AbstractProcess-oriented programming is a design methodology in which software applications are constructed from communicating concurrent processes. A typical process-oriented design involves the composition of a large number of small isolated component processes. These concurrent components allow for the scalable parallel execution of the resulting application on both shared-memory and distributed-memory architectures. In this paper we present a runtime designed to support process-oriented programming by providing lightweight processes and communication primitives. The runtime’s scheduler, implemented using lock-free algorithms, automatically executes concurrent components in parallel on multicore systems. Heuristics dynamically group proc...
The parallelism within an algorithm at any stage of execution can be defined as the number of indepe...
Virtual (online) conferenceInternational audienceRecent research and bug reports have shown that wor...
With ubiquitous multi-core architectures, a major challenge is how to effectively use these machines...
Process-oriented programming is a design methodology in which software applications are constructed ...
AbstractProcess-oriented programming is a design methodology in which software applications are cons...
Concurrency is an essential part of many modern large-scale software systems. Applications must hand...
Ever since mass-market processors transitioned from single-core to multi-core architectures, softwar...
Efficiently using multicore architectures demands an increasing degree of fluency in parallel progra...
Thesis (Ph. D.)--University of Rochester. Dept. of Computer Science, 1993. Simultaneously published...
Inter-process communication and scheduling are notorious problem areas in the design of real-time sy...
Over the last few years, the major chip manufactures have shifted from single core towards multicore...
International audienceAlthough multi-core processors are now available everywhere, few applications ...
Efficient synchronization is important for achieving good performance in parallel programs, especial...
In this thesis, we are concerned with the development of concurrent software for embedded systems. T...
In systems with complex many-core cache hierarchy, exploiting data locality can significantly reduce...
The parallelism within an algorithm at any stage of execution can be defined as the number of indepe...
Virtual (online) conferenceInternational audienceRecent research and bug reports have shown that wor...
With ubiquitous multi-core architectures, a major challenge is how to effectively use these machines...
Process-oriented programming is a design methodology in which software applications are constructed ...
AbstractProcess-oriented programming is a design methodology in which software applications are cons...
Concurrency is an essential part of many modern large-scale software systems. Applications must hand...
Ever since mass-market processors transitioned from single-core to multi-core architectures, softwar...
Efficiently using multicore architectures demands an increasing degree of fluency in parallel progra...
Thesis (Ph. D.)--University of Rochester. Dept. of Computer Science, 1993. Simultaneously published...
Inter-process communication and scheduling are notorious problem areas in the design of real-time sy...
Over the last few years, the major chip manufactures have shifted from single core towards multicore...
International audienceAlthough multi-core processors are now available everywhere, few applications ...
Efficient synchronization is important for achieving good performance in parallel programs, especial...
In this thesis, we are concerned with the development of concurrent software for embedded systems. T...
In systems with complex many-core cache hierarchy, exploiting data locality can significantly reduce...
The parallelism within an algorithm at any stage of execution can be defined as the number of indepe...
Virtual (online) conferenceInternational audienceRecent research and bug reports have shown that wor...
With ubiquitous multi-core architectures, a major challenge is how to effectively use these machines...