• DocumentCode
    2579468
  • Title

    Copy or Discard execution model for speculative parallelization on multicores

  • Author

    Tian, Chen ; Feng, Min ; Nagarajan, Vijay ; Gupta, Rajiv

  • Author_Institution
    Dept. of Comput. Sci. & Eng., Univ. of California at Riverside, Riverside, CA
  • fYear
    2008
  • fDate
    8-12 Nov. 2008
  • Firstpage
    330
  • Lastpage
    341
  • Abstract
    The advent of multicores presents a promising opportunity for speeding up sequential programs via profile-based speculative parallelization of these programs. In this paper we present a novel solution for efficiently supporting software speculation on multicore processors. We propose the Copy or Discard (CorD) execution model in which the state of speculative parallel threads is maintained separately from the nonspeculative computation state. If speculation is successful, the results of the speculative computation are committed by copying them into the non-speculative state. If misspeculation is detected, no costly state recovery mechanisms are needed as the speculative state can be simply discarded. Optimizations are proposed to reduce the cost of data copying between nonspeculative and speculative state. A lightweight mechanism that maintains version numbers for non-speculative data values enables misspeculation detection. We also present an algorithm for profile-based speculative parallelization that is effective in extracting parallelism from sequential programs. Our experiments show that the combination of CorD and our speculative parallelization algorithm achieves speedups ranging from 3.7 to 7.8 on a Dell PowerEdge 1900 server with two Intel Xeon quad-core processors.
  • Keywords
    multi-threading; multiprocessing systems; optimising compilers; parallel algorithms; copy/discard execution model; misspeculation detection; multicore processor; optimising compiler; parallel thread; profile-based speculative parallelization algorithm; sequential program; software speculation; Computer science; Concurrent computing; Cost function; Data mining; Multicore processing; Parallel processing; Partitioning algorithms; Yarn; copy or discard execution model; multicores; speculative parallelization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 2008. MICRO-41. 2008 41st IEEE/ACM International Symposium on
  • Conference_Location
    Lake Como
  • ISSN
    1072-4451
  • Print_ISBN
    978-1-4244-2836-6
  • Electronic_ISBN
    1072-4451
  • Type

    conf

  • DOI
    10.1109/MICRO.2008.4771802
  • Filename
    4771802