Data-Driven Thread Execution on Heterogeneous Processors
Date
2017Source
International Journal of Parallel ProgrammingPages
1-27Google Scholar check
Keyword(s):
Metadata
Show full item recordAbstract
In this paper we report our experience in implementing and evaluating the Data-Driven Multithreading (DDM) model on a heterogeneous multi-core processor. DDM is a non-blocking multithreading model that decouples the synchronization from the computation portions of a program, allowing them to execute asynchronously in a dataflow manner. Thread dependencies are determined by the compiler/programmer while thread scheduling is done dynamically at runtime based on data availability. The target processor for this implementation is the Cell processor. We call this implementation the Data-Driven Multithreading Virtual Machine for the Cell processor (DDM-(Formula presented.)). Thread scheduling is handled in software by the Power Processing Element core of the Cell while the Synergistic Processing Element cores execute the program threads. DDM-(Formula presented.) virtualizes the parallel resources of the Cell, handles the heterogeneity of the cores, manages the Cell memory hierarchy efficiently and supports distributed execution across a cluster of Cell nodes. DDM-(Formula presented.) has been implemented on a single Cell processor with six computation cores, as well as, on a four Cell processor cluster with 24 computation cores. We present an in-depth performance analysis of DDM-(Formula presented.), using a suite of standard computational benchmarks. The evaluation shows that DDM-(Formula presented.) scales well and tolerates scheduling overheads, memory and communication latencies effectively. Furthermore, DDM-(Formula presented.) compares favorably with other platforms targeting the Cell processor, such as, the CellSs and Sequoia. © 2017 Springer Science+Business Media New York