Spice: speculative parallel iteration chunk execution

作者: Easwaran Raman , Neil Va hharajani , Ram Rangan , David I. August

DOI: 10.1145/1356058.1356082

关键词:

摘要: The recent trend in the processor industry of packing multiple cores a chip has increased importance automatic techniques for extracting thread level parallelism. A promising approach parallelism general purpose applications is to apply memory alias or value speculation break dependences amongst threads and executes them concurrently.In this work, we present speculative parallelization technique called Speculative Parallel Iteration Chunk execution (Spice) which relies on novel software-only prediction mechanism. Our predicts loop live-ins only few iterations given loop, enabling start from those iterations. It also increases probability successful by predicting that values will be used as some future loop. These twin properties enable our scheme have high accuracies while exposing significant coarse-grained thread-level Spice been implemented an transformation research compiler. results up 157% speedup (101% average) with 4 threads.

参考文章(23)
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, Thomas Anderson, Eraser: a dynamic data race detector for multithreaded programs ACM Transactions on Computer Systems. ,vol. 15, pp. 391- 411 ,(1997) , 10.1145/265924.265927
Perry A. Emrath, David A. Padua, Automatic detection of nondeterminacy in parallel programs workshop on parallel & distributed debugging. ,vol. 24, pp. 89- 99 ,(1988) , 10.1145/68210.69224
Jordi Tubella, Pedro Marcuello, Antonio González, Value prediction for speculative multithreaded architectures international symposium on microarchitecture. pp. 230- 236 ,(1999) , 10.5555/320080.320116
Pedro Marcuello, Antonio González, Clustered speculative multithreaded processors international conference on supercomputing. pp. 365- 372 ,(1999) , 10.1145/305138.305214
Manohar K. Prabhu, Kunle Olukotun, Exposing speculative thread parallelism in SPEC2000 Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '05. pp. 142- 152 ,(2005) , 10.1145/1065944.1065964
L. Hammond, B.A. Hubbert, M. Siu, M.K. Prabhu, M. Chen, K. Olukolun, The Stanford Hydra CMP IEEE Micro. ,vol. 20, pp. 71- 84 ,(2000) , 10.1109/40.848474
J. Gregory Steffan, Christopher Colohan, Antonia Zhai, Todd C. Mowry, The STAMPede approach to thread-level speculation ACM Transactions on Computer Systems. ,vol. 23, pp. 253- 300 ,(2005) , 10.1145/1082469.1082471
Mikko H. Lipasti, Christopher B. Wilkerson, John Paul Shen, Value locality and load value prediction Proceedings of the seventh international conference on Architectural support for programming languages and operating systems - ASPLOS-VII. ,vol. 31, pp. 138- 147 ,(1996) , 10.1145/237090.237173
Gurindar Sohi, Craig Zilles, Master/Slave Speculative Parallelization international symposium on microarchitecture. pp. 85- 96 ,(2002) , 10.5555/774861.774871