首页> 外文期刊>Science of Computer Programming >Multicore scheduling for lightweight communicating processes
【24h】

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.
机译:面向过程的编程是一种设计方法,其中通过通信并发过程来构建软件应用程序。典型的面向过程的设计涉及大量的小型隔离组件过程的组成。这些并发组件允许在共享内存和分布式内存体系结构上可伸缩地并行执行结果应用程序。在本文中,我们提出了一种运行时,旨在通过提供轻量级流程和通信原语来支持面向流程的编程。使用无锁算法实现的运行时调度程序可在多核系统上自动并行并行执行并发组件。启发式方法基于通信模式将流程动态分组为高速缓存仿射工作单元。然后通过无等待的工作窃取来分配工作单元。初步的性能分析表明,使用本文提出的算法,面向过程的软件可以以接近优化的顺序和粗粒度线程设计的效率来执行。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号