Communication optimizations for global multi-threaded instruction scheduling

Guilherme Ottoni, David I. August

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

5 Scopus citations

Abstract

The recent shift in the industry towards chip multiprocessor (CMP) designs has brought the need for multi-threaded applications to mainstream computing. As observed in several limit studies, most of the parallelization opportunities require looking for parallelism beyond local regions of code. To exploit these opportunities, especially for sequential applications, researchers have recently proposed global multi-threaded instruction scheduling techniques, including DSWP [16] and GREMIO [15]. These techniques simultaneously schedule instructions from large regions of code, such as arbitrary loop nests or whole procedures, and have been shown to be effective at extracting threads for many applications. A key enabler of these global instruction scheduling techniques is the Multi-Threaded Code Generation (MTCG) algorithm proposed in [16], which generates multi-threaded code for any partition of the instructions into threads. This algorithm inserts communication and synchronization instructions in order to satisfy all inter-thread dependences. In this paper, we present a general compiler framework, COCO, to optimize the communication and synchronization instructions inserted by the MTCG algorithm. This framework, based on threadaware data-flow analyses and graph min-cut algorithms, appropriately models and optimizes all kinds of inter-thread dependences, including register, memory, and control dependences. Our experiments, using a fully automatic compiler implementation of these techniques, demonstrate significant reductions (about 30% on average) in the number of dynamic communication instructions in code parallelized with DSWP and GREMIO. This reduction in communication translates to performance gains of up to 40%.

Original languageEnglish (US)
Title of host publicationASPLOS XIII - Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems
PublisherAssociation for Computing Machinery
Pages222-232
Number of pages11
Edition2
ISBN (Print)9781595939586
DOIs
StatePublished - 2008
Event13th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XIII - Seattle, WA, United States
Duration: Mar 1 2008Mar 5 2008

Publication series

NameOperating Systems Review (ACM)
Number2
Volume42
ISSN (Print)0163-5980

Other

Other13th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XIII
Country/TerritoryUnited States
CitySeattle, WA
Period3/1/083/5/08

All Science Journal Classification (ASJC) codes

  • Information Systems
  • Hardware and Architecture
  • Computer Networks and Communications

Keywords

  • Communication
  • Data-flow analysis
  • Graph min-cut
  • Instruction scheduling
  • Multi-threading
  • Synchronization

Fingerprint

Dive into the research topics of 'Communication optimizations for global multi-threaded instruction scheduling'. Together they form a unique fingerprint.

Cite this