Skip to main content

Modeling and Analysis of Dual Block Multithreading

  • Conference paper
  • 299 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3236))

Abstract

Instruction level multithreading is a technique for tolerating long–latency operations (e.g., cache misses) by switching the processor to another thread instead of waiting for the completion of a lengthy operation. In block multithreading, context switching occurs for each initiated long–latency operation. However, processor cycles during pipeline stalls as well as during context switching are not used in typical block multithreading, reducing the performance of a processor. Dual block multithreading introduces a second active thread which is used for instruction issuing whenever the original (main) thread becomes inactive. Dual block multithreading can be regarded as a simple and specialized case of simultaneous multithreading when two (simultaneous) threads are used to issue instructions for a single pipeline. The paper develops a simple timed Petri net model of a dual block multithreading and uses this model to estimate the performance improvements of the proposed dual block multithreading.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Burger, D., Goodman, J.R.: Billion–transistor architectures: there and back again. IEEE Computer 37(3), 22–28 (2004)

    Article  Google Scholar 

  2. Byrd, G.T., Holliday, M.A.: Multithreaded processor architecture. IEEE Spectrum 32(8), 38–46 (1995)

    Article  Google Scholar 

  3. Dennis, J.B., Gao, G.R.: Multithreaded architectures: principles, projects, and issues. In: Multithreaded Computer Architecture: a Summary of the State of the Art, pp. 1–72. Kluwer Academic, Dordrecht (1994)

    Chapter  Google Scholar 

  4. Hamilton, S.: Taking Moore’s law into the next century. IEEE Computer 32(1), 43–48 (1999)

    Article  Google Scholar 

  5. Hennessy, J.L., Patterson, D.A.: Computer architecture – a qualitative approach, 3rd edn. Morgan Kaufman, San Francisco (2003)

    MATH  Google Scholar 

  6. Jesshope, C.: Multithreaded microprocessors – evolution or revolution. In: Omondi, A.R., Sedukhin, S.G. (eds.) ACSAC 2003. LNCS, vol. 2823, pp. 21–45. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  7. Mutlu, O., Stark, J., Wilkerson, C., Patt, Y.N.: Runahead execution: an effective alternative to large instruction windows. IEEE Micro 23(6), 20–25 (2003)

    Article  Google Scholar 

  8. Sinharoy, B.: Optimized thread creation for processor multithreading. The Computer Journal 40(6), 388–400 (1997)

    Article  Google Scholar 

  9. Sohi, G.S.: Microprocessors – 10 years back, 10 years ahead. In: Wilhelm, R. (ed.) Informatics: 10 Years Back, 10 Years Ahead. LNCS, vol. 2000, pp. 209–218. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  10. Sprangle, E., Carmean, D.: Increasing processor performance by implementing deeper pipelines. In: Proc. 29-th Annual Int. Symp. on Computer Architecture, Anchorage, Alaska, pp. 25–34 (2002)

    Google Scholar 

  11. Tseng, J., Asanovic, K.: Banked multiport register files for high–frequency superscalar microprocessor. In: Proc. 30-th Int. Annual Symp. on Computer Architecture, pp. 62–71 (2003)

    Google Scholar 

  12. Ungerer, T., Robic, G., Silc, J.: Multithreaded processors. The Computer Journal 43(3), 320–348 (2002)

    Article  MATH  Google Scholar 

  13. Wilkes, M.V.: The memory gap and the future of high-performance memories. ACM Architecture News 29(1), 2–7 (2001)

    Article  Google Scholar 

  14. Zuberek, W.M.: Timed Petri nets – definitions, properties and applications. Microelectronics and Reliability (Special Issue on Petri Nets and Related Graph Models) 31(4), 627–644 (1991)

    Google Scholar 

  15. Zuberek, W.M.: Analysis of pipeline stall effects in block multithreaded multiprocessors. In: Proc. 16-th Performance Engineering Workshop, Durham, UK, pp. 187–198 (2000)

    Google Scholar 

  16. Zuberek, W.M.: Analysis of performance bottlenecks in multithreaded multiprocessor systems. Fundamenta Informaticae 50(2), 223–241 (2002)

    MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zuberek, W.M. (2004). Modeling and Analysis of Dual Block Multithreading. In: Núñez, M., Maamar, Z., Pelayo, F.L., Pousttchi, K., Rubio, F. (eds) Applying Formal Methods: Testing, Performance, and M/E-Commerce. FORTE 2004. Lecture Notes in Computer Science, vol 3236. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30233-9_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30233-9_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23169-1

  • Online ISBN: 978-3-540-30233-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics