Unified and lightweight tasks and conduits: A high level parallel programming framework

Chao Liu, Miriam E. Leeser · 2016

Computing platforms for high performance and parallel applications have changed rapidly during the past few years, from single to multiple cores, and from traditional Central Processing Units (CPUs) to hybrid systems which combine CPUs with accelerators such as Graphics Processing Units(GPUs), Intel Xeon Phi, etc. These developments bring more and more challenges to application developers, especially to maintain a high performance application across various platforms. To reduce development effort and improve portability of applications, we propose a high level parallel programming framework called Unified Tasks and Conduits (UTC). An application represented as multiple tasks can be mapped and run on available computing devices of the target platform in parallel. Through this framework, higher level application program structure is independent from lower level task execution, making it easy to port applications to different platforms. To support the framework, we have implemented a lightweight and flexible runtime system prototype, providing a set of utilities for users to conveniently create parallel applications to run on multicore systems or clusters. Our micro-benchmarks show that the runtime system introduces little overhead to implement tasks and conduits. Application tests show that UTC based programs can make use of available computing resources to do parallel processing efficiently while easing the job of the developer.

Read the paper · More papers on PaperTik