Skip to main content

Multicore Scheduling for Lightweight Communicating Processes

Ritson, Carl G. and Sampson, Adam T. and Barnes, Frederick R.M. (2009) Multicore Scheduling for Lightweight Communicating Processes. In: Field, John and Vasconcelos, Vasco Thudichum, eds. Coordination Models and Languages 11th International Conference. Lecture Notes in Computer Science . Springer, Berlin, Germany, pp. 163-183. ISBN 978-3-642-02052-0. E-ISBN 978-3-642-02053-7. (doi:10.1007/978-3-642-02053-7_9) (KAR id:24117)


Process-oriented programming is a design methodology in which software applications are constructed from communicating concurrent processes. A process-oriented design is typically composed of a large number of small isolated concurrent components. These 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. Our run-time scheduler, implemented using lock-free algorithms, automatically executes concurrent components in parallel on multicore systems. Run-time heuristics dynamically group processes into cache-affine work units based on communication patterns. Work units are then distributed via wait-free work-stealing. Initial performance analysis shows that, using the algorithms presented in this paper, process-oriented software can execute with an efficiency approaching that of optimised sequential and coarse-grain threaded designs.

Item Type: Book section
DOI/Identification number: 10.1007/978-3-642-02053-7_9
Uncontrolled keywords: Process Descriptor, Context Switch, Reference Count, Stream Program, Work Stealing
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Sciences > School of Computing > Systems Architecture Group
Depositing User: Mark Wheadon
Date Deposited: 29 Mar 2010 12:16 UTC
Last Modified: 29 May 2019 10:24 UTC
Resource URI: (The current URI for this page, for reference purposes)
  • Depositors only (login required):


Downloads per month over past year