Data-Driven Thread Execution on Heterogeneous Processors
Publication Type
Original research
Authors
Fulltext
Download

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-VMcVMc). 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-VMcVMc 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-VMcVMc 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-VMcVMc, using a suite of standard computational benchmarks. The evaluation shows that DDM-VMcVMc scales well and tolerates scheduling overheads, memory and communication latencies effectively. Furthermore, DDM-VMcVMc compares favorably with other platforms targeting the Cell processor, such as, the CellSs and Sequoia.

Journal
Title
International Journal of Parallel Programming
Publisher
Springer New York LLC
Publisher Country
United States of America
Indexing
Thomson Reuters
Impact Factor
1.156
Publication Type
Online only
Volume
45
Year
2017
Pages
198–224