|
ABSTRACT
Programming, understanding, and tuning the performance of large multiprocessor systems is challenging. Experts have difficulty achieving good utilization for applications on large machines. The task of implementing a scalable system such as an operating system or database on large machines is even more challenging. And the importance of achieving good performance on multiprocessor machines is increasing as the number of cores per chip increases and as the size of multiprocessors increases. Crucial to achieving good performance is being able to understand the behavior of the system. We have developed an efficient, unified, and scalable tracing infrastructure that allows for correctness debugging, performance debugging, and performance monitoring of an operating system. The infrastructure allows variable-length events to be logged without locking and provides random access to the event stream. The infrastructure allows cheap and parallel logging of events by applications, libraries, servers, and the kernel. The infrastructure was designed for K42, a new open-source research kernel designed to scale near perfectly on large cache-coherent 64-bit multiprocessor systems. The techniques are generally applicable, and many of them have been integrated into the Linux Trace Toolkit. In this paper, we describe the implementation of the infrastructure, how we used the facility, e.g., analyzing lock contention, to understand and achieve K42's scalable performance, and the lessons we learned. The infrastructure has been invaluable to achieving great scalability.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
[1] Jonathan Appavoo, Marc Auslander, David Edelsohn, Dilma da Silva, Orran Krieger, Michal Ostrowski, Bryan Rosenburg, Robert W. Wisniewski, and Jimi Xenidis. Providing a Linux API on the scalable K42 kernel. In Freenix, pages 323-336, San Antonio, TX, June 9-14 2003.
|
| |
2
|
[2] Marc Auslander, David Edelsohn, Dilma da Silva, Orran Krieger, Michal Ostrowski, Bryan Rosenburg, Robert W. Wisniewski, and Jimi Xenidis. K42 Overview. IBM Research, http://www.research.ibm.com/K42, August 2002.
|
| |
3
|
[3] Marc Auslander, David Edelsohn, Dilma da Silva, Orran Krieger, Michal Ostrowski, Bryan Rosenburg, Robert W. Wisniewski, and Jimi Xenidis. K42's Performance Monitoring and Tracing. IBM Research, http://www.research.ibm.com/K42, August 2002.
|
| |
4
|
[4] IBM Linux Technology Center. Dynamic probes. http://www- 124.ibm.com/developerworks/oss/linux/projects/dprobes/.
|
| |
5
|
[5] IBM Corporation. Aix version 3.1 for risc system/6000 performance monitoring and tuning guide. Technical Report SC23-2365- 00, IBM Corporation.
|
| |
6
|
[6] Dyninst. An application program interface (api) for runtime code generation. http://www.dyninst.org/.
|
| |
7
|
[7] D. Kohr, X. Zhang, M. Rahman, and D. Reed. A performance study of an object-oriented parallel operating system. In Proceedings of the 27th Hawaii International Conference on System Sciences , November 27 2000.
|
| |
8
|
Barton P. Miller , Mark D. Callaghan , Jonathan M. Cargille , Jeffrey K. Hollingsworth , R. Bruce Irvin , Karen L. Karavanic , Krishna Kunchithapadam , Tia Newhall, The Paradyn Parallel Performance Measurement Tool, Computer, v.28 n.11, p.37-46, November 1995
[doi> 10.1109/2.471178]
|
| |
9
|
[9] Daniel A. Reed, James Arendt, Ruth Aydt, Thomas Birkett, David Jensen, Tara Madhyastha, Bobby Nazief, Ted Nelson, Robert Olson, and Brian Totty. Scalable performance environments for parallel systems. In Sixth Distributed Memory Computing Conference , pages 562-569, Portland OR, April-May 1991.
|
| |
10
|
[10] Craig A. N. Soules, Jonathan Appavoo, Kevin Hui, Robert W. Wisniewski, Dilma da Silva, Gregory R. Ganger, Orran Krieger, Michael Stumm, Marc Auslander, Michal Ostrowski, Bryan Rosenburg, and Jimi Xenidis. System support for online reconfiguration. In USENIX, pages 141-154, San Antonio, TX, June 9-14 2003.
|
| |
11
|
[11] John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price. Software Visualization, volume 1, chapter 20 Visualization of Dynamics in Real World Software Systems, Doug Kimelman, Bryan Rosenburg, and Tova Roth, pages 293-314. MIT Press, 1998.
|
| |
12
|
|
| |
13
|
|
 |
14
|
|
| |
15
|
|
| |
16
|
[16] Karim Yaghmour. Ltt web page. http://www.opersys.com/LTT/index.html.
|
| |
17
|
|
| |
18
|
[18] Tom Zanussi, Karim Yaghmour, Robert W. Wisniewski, Michel Dagenais, and Richard Moore. An efficient unified approach for trasmitting data from kernel to user space. In OLS 2003 - Ottawa Linux Symposium, page to appear, July 23-26 2003.
|
CITED BY 9
|
|
|
|
|
J. Appavoo , M. Auslander , M. Butrico , D. M. da Silva , O. Krieger , M. F. Mergen , M. Ostrowski , B. Rosenburg , R. W. Wisniewski , J. Xenidis, Experience with K42, an open-source, Linux-compatible, scalable operating-system kernel, IBM Systems Journal, v.44 n.2, p.427-440, January 2005
|
|
|
|
|
|
|
|
|
Orran Krieger , Marc Auslander , Bryan Rosenburg , Robert W. Wisniewski , Jimi Xenidis , Dilma Da Silva , Michal Ostrowski , Jonathan Appavoo , Maria Butrico , Mark Mergen , Amos Waterland , Volkmar Uhlig, K42: building a complete operating system, ACM SIGOPS Operating Systems Review, v.40 n.4, October 2006
|
|
|
Hyun-min Kyung , Gi-ho Park , Jong Wook Kwak , WooKyeong Jeong , Tae-Jin Kim , Sung-Bae Park, Performance monitor unit design for an AXI-based multi-core SoC platform, Proceedings of the 2007 ACM symposium on Applied computing, March 11-15, 2007, Seoul, Korea
|
|
|
|
|
|
|
|
|
|
|