Single thread program parallelism with dataflow abstracting thread

  • Authors:
  • Tianzhou Chen;Xingsheng Tang;Jianliang Ma;Lihan Ju;Guanjun Jiang;Qingsong Shi

  • Affiliations:
  • College of Computer Science, Zhejiang University, Zhejiang, China;College of Computer Science, Zhejiang University, Zhejiang, China;College of Computer Science, Zhejiang University, Zhejiang, China;College of Computer Science, Zhejiang University, Zhejiang, China;College of Computer Science, Zhejiang University, Zhejiang, China;College of Computer Science, Zhejiang University, Zhejiang, China

  • Venue:
  • ICA3PP'10 Proceedings of the 10th international conference on Algorithms and Architectures for Parallel Processing - Volume Part II
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

CMP brings more benefits comparing with uni-core processor, but CMP is not fit for legacy code well because legacy code bases on uni-core processor. This paper presents a novel Thread Level Parallelism technology called Dataflow Abstracting Thread (DFAT). DFAT builds a United Dependence Graph (UDG) for the program and decouples single thread into many threads which can run on CMP parallelly. DFAT analyzes the program's data-, control- and anti-dependence and gets a dependence graph, then dependences are combined and be added some attributes to get a UDG. The UDG decides instructions execution order, and according to this, instructions can be assigned to different thread one by one. An algorithm decides how to assign those instructions. DFAT considers both communication overhead and thread balance after the original thread division. Thread communication in DFAT is implemented by producer-consumer model. DFAT can automatically abstract multi-thread from single thread and be implemented in compiler. In our evaluation, we decouple single thread into at most 8 threads with DFAT and the result shows that decoupling single thread into 4-6 threads can get best benefits.