Abstract
Current trend of research on multithreading processors is toward the chip multithreading (CMT), which exploits thread level parallelism (TLP) and improves performance of softwares built on traditional threading components, e.g., Pthread. There exist commercially available processors that support simultaneous multithreading (SMT) on multicore processors. But they are basically based on the conventional sequential execution model, and execute multiple threads in parallel under the control of OS that handles interruptions. Moreover, there exist few languages or programming techniques to utilize the multicore processors effectively.
We are taking another approach to develop a multithreading processor, which is dedicated to TLP. Our processor, named Fuce, is based on the continuation-based multithreading. A thread is defined as a block of sequentially ordered instructions which are executed without interruption. Every thread execution is triggered only by the event called continuation.
This paper first introduces the continuation-based multithread execution model and its processor architecture then gives multithreaded programming techniques and the continuation-based multithreading language system CML. Last, the performance of the Fuce processor is evaluated by means of the clock-level software simulation.
Similar content being viewed by others
References
Kongetira P, Aingaran K, Olukotun K (2005) Niagara: A 32-way multithreaded sparc processor. IEEE Micro 25:21–29
Gochman S, Mendelson A, Naveh A, Rotem E (2006) Introduction to Intel core duo processor architecture. Intel Technol J 10:89–97
Amamiya S, Izumi M, Matsuzaki T, Amamiya M (2006) The fuce processor: The execution model and the programming methodology. In: The 2006 intl conf on parallel and distributed processing techniques and applications, 2006, pp 485–491
Amamiya S, Izumi M, Matsuzaki T, Hasegawa R, Amamiya M (2007) Fuce: The continuation-based multithreading processor. In: Proceedings of the 4th international conference on computing frontiers 2007, pp 213–224
Sakai S, Yamaguchi Y, Hiraki K, Kodama Y, Yuba T (1989) An architecture of a dataflow single chip processor. In: ISCA ’89: proceedings of the 16th annual international symposium on computer architecture. ACM Press, New York, pp 46–53
Nikhil RS, Papadopoulos GM (1992) Arvind: *T: a multithreaded massively parallel architecture. SIGARCH Comput Arch News 20:156–167
Hum HHJ, Maquelin O, Theobald KB, Tian X, Tang X, Gao GR, Cupryk P, Elmasri N, Hendren LJ, Jimenez A, Krishnan S, Marquez A, Merali S, Nemawarkar SS, Panangaden P, Xue X, Zhu Y (1995) A design study of the earth multiprocessor. In: PACT ’95: Proceedings of the IFIP WG10.3 working conference on parallel architectures and compilation techniques, Manchester, UK, IFIP Working Group on Algol, 1995, pp 59–68
Kawano T, Kusakabe S, Taniguchi R, Amamiya M (1995) Fine-grain multi-thread processor architecture for massively parallel processing. IEEE Press, New York, pp 308–317
Lo JL, Eggers SJ, Emer JS, Levy HM, Stamm RL, Tullsen DM (1997) Converting thread-level parallelism to instruction-level parallelism via simultaneous multithreading. ACM Trans Comput Syst 15:322–354
Marr DT, Binns F, Hill DL, Hinton G, Koufaty DA, Miller JA, Upton M (2002) Hyper-threading technology architecture and microarchitecture: a hypertext history. Intel Technol J 6:1 (online journal)
Kalla R, Sinharoy B, Tendler JM (2004) Ibm power5 chip: A dual-core multithreaded processor. IEEE Micro 24:40–47
Sigmund U (1996) U.T.: Evaluating a multithreaded superscalar microprocessor versus a multiprocessor chip. In: Proceedings of the 4th PASA workshop on parallel systems and algorithms, 1996, pp 147–159
Roh L, Najjar WA (1995) Analysis of communications and overhead reduction in multithreading execution. In: Proceedings of the 1995 international conference on parallel architectures and compilation techniques, 1995
Kavi KM, Youn HY, Hurson AR (1997) PL/PS: A non-blocking multithreaded architecture with decoupled memory and pipelines. In: Proceedings of the fifth international conference on advanced computing (ADCOMP ’97), Madras, India 1997
Ungerer T, Robič B, Šilc J (2003) A survey of processors with explicit multithreading. ACM Comput Surv 35:29–63
Sankaralingam K, Nagarajan R, Liu H, Kim C, Huh J, Burger D, Keckler SW, Moore CR (2008) Exploiting ILP, TLP, and DLP with the polymorphous TRIPS architecture. In: Proceedings of the 30th annual international symposium on computer architecture, 2003, pp 422–433
MIPS Technologies, MIPS32 architecture for programmers, vol II: The MIPS32 Instruction Set
Amamiya S, Hasegawa R, Fujita H, Amamiya M (2007) A language design for non-interruptible multithreading environment fuce. In: ISC award winning paper, international supercomputer conference, Proceedings of ISC2007, 2007
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Amamiya, S., Amamiya, M., Hasegawa, R. et al. A continuation-based noninterruptible multithreading processor architecture. J Supercomput 47, 228–252 (2009). https://doi.org/10.1007/s11227-008-0246-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-008-0246-5