As multicore architectures become mainstream, an in-depth understanding of how applications behave on these architectures is crucial for performance optimization and energy efficiency. However, the increased complexity of modern hardware and the variability of system topology within these multicore systems make optimization challenging. This thesis focuses on providing programmers with an alternative, effective, and direct means to understand program behaviour using visualization techniques. Our work involves a visual approach to investigate applications and operating system behaviour on NUMA (Non-Uniform Memory Access) systems as well as job scheduling processes in HPC (High Performance Computing) clusters. Our client-server architecture facilitates real-time analysis and supports multiple concurrent users. The visualization tools proposed in this work overcome the complexity of these systems, transforming data and processes into a set of immediately comprehensible visual representations. Users can visualize the trace data from multiple perspectives, either in a real-time or non-real-time manner. The tools can also be easily adapted for visualizing different systems. In this thesis, we present the design of the visualization tools, discuss our experiences gained from the development of the tools, and demonstrate how these tools allow users to gain valuable insights into the systems they are studying. The proposed visualization tools run on the targeted iOS platform (iPads), offering users mobility as well as an unique experience of monitoring and analyzing system behaviour via an intuitive, multi-touch interface.
Copyright is held by the author.
The author granted permission for the file to be printed and for the text to be copied and pasted.
Supervisor or Senior Supervisor
Member of collection