Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Hardware support for software controlled multithreading

Published: 01 March 2007 Publication History

Abstract

Chip multi-processors have emerged as one of the most effective uses of the huge number of transistors available today and in the future, but questions remain as to the best way to leverage CMPs to accelerate single threaded applications. Previous approaches rely on significant speculation to accomplish this goal. Our proposal, NXA, is less speculative than previous proposals, relying heavily on software to guarantee thread correctness, though still allowing parallelism in the presence of ambiguous dependences. It divides a single thread of execution into multiple using the master-worker paradigm where some set of master threads execute code that spawns tasks for other, worker theads. The master threads generally consist of performance critical instructions that can prefetch data, compute critical control descisions, or compute performance critical dataflow slices. This prevents non-critical instructions from competing with critical instructions for processor resources, allowing the critical thread (and thus the workload) to complete faster. Empirical results from performance simulation show a 20% improvement in performance on a 2-way CMP machine, demonstrating that software controlled multithreading can indeed provide a benefit in the presence of hardware support.

References

[1]
P. L. Bird, A. Rawsthorne, and N. P. Topham. The effectiveness of decoupling. In Proceedings of the 7th International Conference on Supercomputing, pages 47--56, 1993.
[2]
M. Cintra, J. F. Martínez, and J. Torrellas. Architectural support for scalable speculative parallelization in shared-memory multiprocessors. In International Symposium on Computer Architecture (ISCA), pages 13--24, Vancouver, Canada, June 2000.
[3]
J. D. Collins, H. Wang, D. M. Tullsen, C. J. Hughes, Y. fong Lee, D. Lavery, and J. P. Shen. Speculative precomputation: Long-range prefetching of delinquent loads. In Proceedings of the 28th Annual International Symposium on Computer Architecture, pages 14--25, 2001.
[4]
P. W. et. al. Helper threads via virtual multithreading on an experimental itanium 2 processor-based platform. In Proceedings of the 11th International Conference on Architectural Support for Programming Languages and Operating Systems, 2004.
[5]
B. A. Fields, S. Rubin, and R. Bodik. Focusing processor policies via Critical-Path prediction. pages 74--85.
[6]
M. Franklin. The multiscalar architecture. Technical Report 1196, Computer Sciences Department, University of Wisconsin - Madison, Nov. 1993.
[7]
J. R. Goodman, J. tu Hsieh, K. Liou, A. R. Pleszkun, P. B. Schechter, and H. C. Young. Pipe: A vlsi decoupled architecture. In ISCA, pages 20--27, 1985.
[8]
K. Z. Ibrahim, G. T. Byrd, and E. Rotenberg. Slipstream execution mode for cmp-based multiprocessors. In Proceedings of the 9th International Symposium on High Performance Computer Architecture, pages 179--190, 2003.
[9]
A. KleinOsowski and D. Lilja. Minnespec: A new spec benchmark workload for simulation-based computer architecture research, 2002.
[10]
V. Krishnan and J. Torrellas. A chip-multiprocessor architecture with speculative multithreading. IEEE Transactions on Computers, 48(9):866--880, Sept. 1999.
[11]
M. S. Lam and R. P. Wilson. Limits of control flow on parallelism. In Proceedings of the 19th Annual International Symposium on Computer Architecture, pages 248--259, 1992.
[12]
C. Luk. Tolerating memory latency through Software-Controlled Pre-Execution in simultaneous multithreading processors. In Proceedings of the 28th Annual International Symposium on Computer Architecture, pages 40--51, 2001.
[13]
P. Marcuello, A. Gonzalez, and J. Tubella. Speculative multithreaded processors. In International Conference on Supercomputing, pages 77--84, 1998.
[14]
S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann, 1997.
[15]
A. S. Nadkarni and A. Tyagi. A trace based evaluation of speculative branch decoupling. In IEEE International Conference on Computer Design ICCD'2000, pages 300--, 2000.
[16]
K. Olukotun, L. Hammond, and M. Willey. Improving the performance of speculatively parallel applications on the hydra CMP. In International Conference on Supercomputing, pages 21--30, 1999.
[17]
J. E. Smith. Decoupled access/execute computer architectures. ACM Transactions on Computer Systems, 2(4):289--308, Nov. 1984.
[18]
G. Sohi, S. Breach, and T. Vijaykumar. Multiscalar processors. In Proceedings of the 22nd Annual International Symposium on Computer Architecture, 1995.
[19]
J. Steffan, C. Colohan, A. Zhai, and T. Mowry. A scalable approach to thread-level speculation. In Proceedings of the 27th Annual International Symposium on Computer Architecture, 2000.
[20]
J. G. Steffan, C. B. Colohan, A. Zhai, and T. C. Mowry. Improving value communication for thread-level speculation. In HPCA, pages 65--, 2002.
[21]
K. Sundaramoorthy, Z. Purser, and E. Rotenberg. Slipstream processors: Improving both performance and fault tolerance. In Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems, 2000.
[22]
A. Tyagi, H.-C. Ng, and P. Mohapatra. Dynamic branch decoupled architecture. In IEEE International Conference on Computer Design ICCD'1999, pages 442--450, 1999.
[23]
C. Zilles and G. Sohi. Execution-based prediction using speculative slices. In Proceedings of the 28th Annual International Symposium on Computer Architecture, pages 2--13, 2001.
[24]
C. Zilles and G. Sohi. Master/Slave Speculative Parallelization. In Proceedings of the 35th Annual International Symposium on Microarchitecture, Nov. 2002.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGARCH Computer Architecture News
ACM SIGARCH Computer Architecture News  Volume 35, Issue 1
March 2007
153 pages
ISSN:0163-5964
DOI:10.1145/1241601
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 March 2007
Published in SIGARCH Volume 35, Issue 1

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 23 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media