Multicore scheduling for lightweight communicating processes

Ritson, Carl G. and Sampson, Adam T. and Barnes, Frederick R.M. (2012) Multicore scheduling for lightweight communicating processes. Science of Computer Programming, 77 (6). pp. 727-740. ISSN 0167-6423. (The full text of this publication is not available from this repository)

The full text of this publication is not available from this repository. (Contact us about this Publication)
Official URL
http://www.cs.kent.ac.uk/pubs/2012/3210

Abstract

Process-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 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: Article
Uncontrolled keywords: Concurrency, Multicore, Process-oriented, Scheduling
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Science Technology and Medical Studies > School of Computing > Programming Languages and Systems Group
Depositing User: Fred Barnes
Date Deposited: 21 Sep 2012 09:49
Last Modified: 30 Nov 2013 20:38
Resource URI: http://kar.kent.ac.uk/id/eprint/30808 (The current URI for this page, for reference purposes)
  • Depositors only (login required):