2009
DOI: 10.1007/978-3-642-02053-7_9
|View full text |Cite
|
Sign up to set email alerts
|

Multicore Scheduling for Lightweight Communicating Processes

Abstract: Abstract. 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 … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
4
0

Year Published

2010
2010
2019
2019

Publication Types

Select...
4
3
1

Relationship

3
5

Authors

Journals

citations
Cited by 12 publications
(4 citation statements)
references
References 36 publications
0
4
0
Order By: Relevance
“…As well as simplification in application logic, safe and efficient exploitation of multicore processors follows automatically. At least, this is true for the occam-π multiprocessing language [Barnes and Welch 2004;Welch and Barnes 2005a, 2005bRitson et al 2009;Sampson et al 2010a; Barnes et al 2010a], used in this article, and the JCSP [Welch 2000;Welch et al 2007;Welch and Austin 2010] and C++CSP [Brown and Welch 2003;Brown 2007] libraries for Java and C++.…”
Section: Concurrency Is Our Friendmentioning
confidence: 90%
“…As well as simplification in application logic, safe and efficient exploitation of multicore processors follows automatically. At least, this is true for the occam-π multiprocessing language [Barnes and Welch 2004;Welch and Barnes 2005a, 2005bRitson et al 2009;Sampson et al 2010a; Barnes et al 2010a], used in this article, and the JCSP [Welch 2000;Welch et al 2007;Welch and Austin 2010] and C++CSP [Brown and Welch 2003;Brown 2007] libraries for Java and C++.…”
Section: Concurrency Is Our Friendmentioning
confidence: 90%
“…In contrast to Molecule, it does not feature resource control, message poisoning or higher-order channel interfaces. Its CCSP scheduler [Ritson et al 2009] exploits dynamically application-level communication patterns like Molecule's flow parallel scheduler. The design of the flow parallel scheduler is more modular and simpler: it is orthogonal to batching and delegates parallel task execution to an external thread pool, e.g.…”
Section: Related Workmentioning
confidence: 99%
“…The execution of parallel process networks is known to suffer inherently from a massive amount of context switches [Ritson et al 2009]. To alleviate this issue, we devised a scheduler that exploits our high-level abstractions to eliminate expensive and unnecessary kernel-level context switches dynamically, whenever the data flow is purely sequential.…”
Section: Introductionmentioning
confidence: 99%
“…occam-π's excellent support for safe, lightweight, message-passing concurrency and its highly-efficient multicore runtime system make it straightforward to build agent-based simulations in which agents are implemented directly as lightweight processes. Such process-oriented simulations automatically make good use of modern multicore processors, and can be distributed over clusters of machines [5,6]. However, occam-π's limited set of data types and lack of bindings for external libraries makes data analysis and visualisation more complex than in other languages.…”
Section: Prototype Implementationmentioning
confidence: 99%