• DocumentCode
    2267350
  • Title

    Loop Scheduling for Multithreaded Processors

  • Author

    Dimitriou, Georgios ; Polychronopoulos, Constantine

  • Author_Institution
    University of Thessaly, Volos, Greece
  • fYear
    2004
  • fDate
    7-10 Sept. 2004
  • Firstpage
    361
  • Lastpage
    366
  • Abstract
    The presence of multiple active threads on the same processor can mask latency by rapid context switching, but it can adversely affect performance due to competition for shared datapath resources. In this paper we present Macro Software Pipelining (MSWP), a loop scheduling technique for multithreaded processors, which is based on the loop distribution transformation for loop pipelining. MSWP constructs loop schedules by partitioning the loop body into tasks and assigning each task to a thread that executes all iterations for that particular task. MSWP is applied top-down on a hierarchical program representation, and utilizes thread-level speculation for maximal exploitation of parallelism. We tested MSWP on a multithreaded architectural model, Coral 2000, using synthetic and SPEC benchmarks. We obtained speedups of up to 30% with respect to highly optimized superblock-based schedules on loops with unpredictable branches, and a speedup of up to 25% on perl, a highly sequential SPEC95 integer benchmark.
  • Keywords
    Benchmark testing; Data engineering; Delay; Hardware; Parallel processing; Pipeline processing; Processor scheduling; Registers; Switches; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Computing in Electrical Engineering, 2004. PARELEC 2004. International Conference on
  • Print_ISBN
    0-7695-2080-4
  • Type

    conf

  • DOI
    10.1109/PCEE.2004.42
  • Filename
    1376782