کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
435262 1441713 2012 14 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Multicore scheduling for lightweight communicating processes
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
پیش نمایش صفحه اول مقاله
Multicore scheduling for lightweight communicating processes
چکیده انگلیسی

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.


► A wait-free work-stealing scheduler for lightweight concurrent processes.
► Scheduler exploits multicore systems and interprocess communication.
► Heuristics to optimise at runtime using interprocess communication patterns.
► Scheduler and occam-ππ used to implement a case study in agent-based modelling.
► Case study performance evaluated using concurrency features of other languages.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Science of Computer Programming - Volume 77, Issue 6, 1 June 2012, Pages 727–740
نویسندگان
, , ,