The design and implementation of LilyTask in shared memory

  • Authors:
  • Yan Tang;Tao Wang;Xiaoming Li

  • Affiliations:
  • Institute of Computing Technology;Peking University;Peking University

  • Venue:
  • ACM SIGOPS Operating Systems Review
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Constructing high performance computing system and providing easy-to-use programming model for users are two main parts of parallel computing, but the latter has been in a sorry state for a long time. LilyTask programming model is based on tasks which can be easily mapped to the decomposition of computation. Without explict synchronization and mutual exclusion, users will concentrate on the inherent parallelism in a problem instead of lock/unlock programming techniques. Most existing implementations of the task pool, a flexible data structure for task parallel, lack basic representation of relations among tasks. LilyTask introduces task group and task relation to help users easily map subproblems to tasks. The kernel of LilyTask system, a distributed task pool, automatically exploits potential parallelism among tasks at runtime. With runtime task assignment and task stealing, LilyTask system achieves dynamic load balancing. Our performance evaluation shows that LilyTask system with task pool outperforms sequential programs and BSPlib in solving both regular and irregular problems.