POSH: A TLS compiler that exploits program structure

Wei Liu, James Tuck, Luis Ceze, Wonsun Ahn, Karin Strauss, Jose Renau, Josep Torrellas

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

As multi-core architectures with Thread-Level Speculation (TLS) are becoming better understood, it is important to focus on TLS compilation. TLS compilers are interesting in that, while they do not need to fully prove the independence of concurrent tasks, they make choices of where and when to generate speculative tasks that are crucial to overall TLS performance. This paper presents POSH, a new, fully automated TLS compiler built on top of gcc. POSH is based on two design decisions. First, to partition the code into tasks, it leverages the code structures created by the programmer, namely subroutines and loops. Second, it uses a simple profiling pass to discard ineffective tasks. With the code generated by POSH, a simulated TLS chip multiprocessor with 4 superscalar cores delivers an average speedup of 1.30 for the SPECint 2000 applications. Moreover, an estimated 26% of this speedup is a result of the implicit data prefetching provided by squashed tasks.

Original languageEnglish (US)
Title of host publicationProceedings of the 2006 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP'06
Pages158-167
Number of pages10
StatePublished - Nov 21 2006
Event2006 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP'06 - New York, NY, United States
Duration: Mar 29 2006Mar 31 2006

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
Volume2006

Other

Other2006 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP'06
CountryUnited States
CityNew York, NY
Period3/29/063/31/06

Keywords

  • Multi-core architecture
  • Prefetching
  • Profiling
  • TLS compiler
  • Thread-level speculation

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'POSH: A TLS compiler that exploits program structure'. Together they form a unique fingerprint.

  • Cite this

    Liu, W., Tuck, J., Ceze, L., Ahn, W., Strauss, K., Renau, J., & Torrellas, J. (2006). POSH: A TLS compiler that exploits program structure. In Proceedings of the 2006 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP'06 (pp. 158-167). (Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP; Vol. 2006).