Abstract
Multiprocessing is already prevalent in servers where multiple clients present an obvious source of thread-level parallelism. However, the case for multiprocessing is less clear for desktop applications. Nevertheless, architects are designing processors that count on the availability of thread-level parallelism. Unlike server workloads, the primary requirement of interactive applications is to respond to user events under human perception bounds rather than to maximize end-to-end throughput. In this paper we report on the thread-level parallelism and interactive response time of a variety of desktop applications. By tracking the communication between tasks, we can focus our measurements on the portions of the benchmark's execution that have the greatest impact on the user. We find that running our benchmarks on a dual-processor machine improves response time of mouse-click events by as much as 36%, and 22% on average---out of a maximum possible 50%. The benefits of multiprocessing are even more apparent when background tasks are considered. In our experiments, running a simple MP3 playback program in the background increases response time by 14% on a uniprocessor while it only increases the response time on a dual processor by 4%. When response times are fast enough for further improvements to be imperceptible, the increased idle time after interactive episodes could be exploited to build systems that are more power efficient.
- 1 L. A. Barroso, K. Gharachorloo, R. McNamara, A. Nowatzyk, S. Qadeer, B. Sane, S. Smith, R. Stets, and B. Berghese. Piranha: A Scalable Architecture Based on Single- Chip Multiprocessing. Proceedings of the 27th Annual International Symposium on Computer Architecture, June 2000.]] Google ScholarDigital Library
- 2 J.B. Chen, Y. Endo, K. Chan, D. Mazieres, A. Dias, M. Seltzer, and M. D. Smith. The Measured Performance of Personal Computer Operating Systems. Proceedings of the 15th ACM Symposium on Operating System Principles, pp. 299-313, December 1995.]] Google ScholarDigital Library
- 3 K. Diefendorff. Power4 Focuses on Memory Bandwidth: IBM Confronts IA-64, Says ISA Not Important. Microprocessor Report, Volume 13, Number 13, October 6, 1999.]]Google Scholar
- 4 K. Diefendorff. Compaq Chooses SMT for Alpha: Simultaneous Multithreading Exploits Instruction- and Thread-Level Parallelism. Microprocessor Report, Volume 13, Number 16, December 6, 1999.]]Google Scholar
- 5 Y. Endo, Z. Wang, 1. B. Chen, and M. I. Seltzer. Using Latency to Evaluate Interactive System Performance. 2nd Symposium on Operating Systems Design and Implementation, pp. 185-199, October 1996.]] Google ScholarDigital Library
- 6 K. Flaumer, R. Uhlig, S. Reinhardt, and T. Mudge. Threadlevel parallelism of desktop applications Proceedings of Workshop on Multi-threaded Execution, Architecture and Compilation, Toulouse, France, January 2000.]]Google Scholar
- 7 L. Hammond and K. Olukotun. Considerations in the Design of Hydra: a Multiprocessor-on-a-Chip Microarchitecture. Stanford University Technical Report No. CSL-TR-98-749.]] Google ScholarDigital Library
- 8 C. Hauser, C. Jacobi, M. Theimer, B. Welch, and M. Weiser. Using Threads in Interactive Systems: A Case Study. Proceedings of the 14th ACM Symposium on Operating Systems Principles, pp. 94-105, December 1993.]] Google ScholarDigital Library
- 9 D.C. Lee, P. J. Crowley, J. Baer, T. E. Anderson, and B. N. Bershad. Characteristics of Desktop Applications on Windows NT. Proceedings of the 25th Annual International Symposium on Computer Architecture, June ! 998.]] Google ScholarDigital Library
- 10 J. Lo, L. Barroso, S. Eggers, K. Gharaehorloo, H. Levy, and S. Parekh. An Analysis of Database Workload Performance on Simultaneous Multithreaded Processors. Proceedings of the 25th Annual International Symposium on Computer Architecture, June 1998.]] Google ScholarDigital Library
- 11 T. Pering, T. Burd, and R. Brodersen. The Simulation and Evaluation of Dynamic Voltage Scaling Algorithms. Proceedings of International Symposium on Low Power Electronics andDesign 1998, pp. 76-81, June 1998.]] Google ScholarDigital Library
- 12 J. S. Seng, D. M. Tullsen, and G. Z. N. Cal. Power-Sensitive Multithreaded Architecture. Proceedings of International Conference on Computer Design 2000, September 2000.]] Google ScholarDigital Library
- 13 D. M. Tullsen, S. J. Eggers, and H. M. Levy. Simultaneous Multithreading: Maximizing On-chip Parallelism. Proceedings of the 22nd International Symposium on Computer Architecture, pp. 206-218, June 1995.]] Google ScholarDigital Library
- 14 M. Weiser, B. Welch, A. Demers, and S. Shenker. Scheduling for Reduced CPU Energy. Proceedings of the First Symposium of Operating Systems Design and Implementation, November 1994.]] Google ScholarDigital Library
- 15 Microprocessor Architecture for Java Computing. http:// www.sun.com/microelectronics/MAJC, Sun Microsystems, 1999.]]Google Scholar
- 16 Press release: Apple Debuts New PowerMac G4s with Dual Processors. http://www.apple.com/pr/library/2000/jul/ 19g4.html]]Google Scholar
- 17 http ://www.bapco.corn/sys98k.htm]]Google Scholar
- 18 http://www.zdnet.com/zdbop]]Google Scholar
Index Terms
- Thread-level parallelism and interactive performance of desktop applications
Recommendations
Exploiting fine-grain thread level parallelism on the MIT multi-ALU processor
Special Issue: Proceedings of the 25th annual international symposium on Computer architecture (ISCA '98)Much of the improvement in computer performance over the last twenty years has come from faster transistors and architectural advances that increase parallelism. Historically, parallelism has been exploited either at the instruction level with a grain-...
Converting thread-level parallelism to instruction-level parallelism via simultaneous multithreading
To achieve high performance, contemporary computer systems rely on two forms of parallelism: instruction-level parallelism (ILP) and thread-level parallelism (TLP). Wide-issue super-scalar processors exploit ILP by executing multiple instructions from a ...
Thread-level parallelism and interactive performance of desktop applications
Multiprocessing is already prevalent in servers where multiple clients present an obvious source of thread-level parallelism. However, the case for multiprocessing is less clear for desktop applications. Nevertheless, architects are designing processors ...
Comments