Multithreading has been proposed as a means of tolerating long memory latencies in multiprocessor systems. Fundamentally, it allows multiple concurrent subsystems (cpu, network, and memory) to be utilized simultaneously. This is advantageous on uniprocessor systems as well, since the processor is utilized while the memory system services misses. We examine multithreading on high-performance uniprocessors as a means of achieving better cost/performance on multiple processes. Processor utilization and cache behavior are studied both analytically and through simulation of timesharing and multithreading using interleaved reference traces. Multithreading is advantageous when one has large on-chip caches (32-kilobytes), associativity of two, and a memory system need support only one or two outstanding misses. The increase in processor real-estate to support multithreading is modest, given the size of the cache and floating-point units. A surprising observation is that miss ratios may be lower with multithreading than with timesharing under a steady-state load. This occurs because switch-on-miss multithreading introduces unfair thread scheduling, giving more CPU cycles to processes with better cache behavior.
Cited By
- Yamamoto W and Nemirovsky M Increasing superscalar performance through multistreaming Proceedings of the IFIP WG10.3 working conference on Parallel architectures and compilation techniques, (49-58)
- Laudon J, Gupta A and Horowitz M (1994). Interleaving, ACM SIGPLAN Notices, 29:11, (308-318), Online publication date: 1-Nov-1994.
- Laudon J, Gupta A and Horowitz M Interleaving Proceedings of the sixth international conference on Architectural support for programming languages and operating systems, (308-318)
- Laudon J, Gupta A and Horowitz M (1994). Interleaving, ACM SIGOPS Operating Systems Review, 28:5, (308-318), Online publication date: 1-Dec-1994.
Recommendations
Analysis of multithreaded microprocessors under multiprogramming
Special Issue: Proceedings of the 19th annual international symposium on Computer architecture (ISCA '92)We examine multithreading to improve uniprocessor cost/performance on multiple processes. Processor utilization and cache behavior are studied analytically and under simulation by interleaving reference traces to model timesharing and multithreading. ...
Analysis of multithreaded microprocessors under multiprogramming
ISCA '92: Proceedings of the 19th annual international symposium on Computer architectureWe examine multithreading to improve uniprocessor cost/performance on multiple processes. Processor utilization and cache behavior are studied analytically and under simulation by interleaving reference traces to model timesharing and multithreading. ...
An analysis of database workload performance on simultaneous multithreaded processors
ISCA '98: Proceedings of the 25th annual international symposium on Computer architectureSimultaneous multithreading (SMT) is an architectural technique in which the processor issues multiple instructions from multiple threads each cycle. While SMT has been shown to be effective on scientific workloads, its performance on database systems ...