Modeling and analysis of dual block multithreading

Zuberek, W.M.

in: Applying Formal Methods: Testing, Performance, and M/E-Commerce (Lecture Notes in Computer Science 3236), Proc. European Performance Evaluation Workshop (EPEW'04) of the 24-th IFIP WG 6.1 Int. Conf. on Formal Techniques for Networked and Distributed Systems (FORTE'04), Toledo, Spain, 1-2 October 2004, pp.209-219.

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.

Keywords:

Block multithreading, instruction issuing, pipelined processors, timed Petri nets, performance analysis, event-driven simulation.

References:

Available in pdf and postscript.