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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Burger, D., Goodman, J.R.: Billion–transistor architectures: there and back again. IEEE Computer 37(3), 22–28 (2004)
Byrd, G.T., Holliday, M.A.: Multithreaded processor architecture. IEEE Spectrum 32(8), 38–46 (1995)
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)
Hamilton, S.: Taking Moore’s law into the next century. IEEE Computer 32(1), 43–48 (1999)
Hennessy, J.L., Patterson, D.A.: Computer architecture – a qualitative approach, 3rd edn. Morgan Kaufman, San Francisco (2003)
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)
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)
Sinharoy, B.: Optimized thread creation for processor multithreading. The Computer Journal 40(6), 388–400 (1997)
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)
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)
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)
Ungerer, T., Robic, G., Silc, J.: Multithreaded processors. The Computer Journal 43(3), 320–348 (2002)
Wilkes, M.V.: The memory gap and the future of high-performance memories. ACM Architecture News 29(1), 2–7 (2001)
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)
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)
Zuberek, W.M.: Analysis of performance bottlenecks in multithreaded multiprocessor systems. Fundamenta Informaticae 50(2), 223–241 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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