1 of 7

3D Visualization of Computer System Architecture for Performance Analysis and Education

Lillian Chen, Hailey Chen

Yonghong Yan, Hrutvi Barad

2 of 7

Motivations

Why We Need Visualization?

  • Hardware architecture is complex and difficult to understand/analyze
  • Facilitate communication with less technical departments
  • Help educate entry level students
  • Explore new performance analysis techniques using

better visualization for parallel programming

Why Current Visualization is Insufficient?

  • Existing visualization is mostly in 2D
    • 3D visualization has the potential to meet the needs of the above
  • Existing visualization focuses on architecture and not parallel processing
    • 3D visualization would more easily reveal insights of parallel processing

3 of 7

Backgrounds

  • Concepts we are learning
    • 3D visualization (scene, view, graph, drawable)
      • layout of drawable object, GUI programming
      • interaction, transformations
    • Computer architecture
      • Memory hierarchy, CPU architecture, bus, interconnect
      • https://passlab.github.io/ITSC3181/
    • Module-view-control design pattern for Java development
    • OpenGL 3D programming
      • “Computer Graphics Programming in OpenGL with Java” by V. Scott Gordon and John Clevenger
  • Programming and Tools we are learning:
    • Eclipse, Maven, Java, OpenGL/JOGL/JZY3D, XML DTD and XML-Java binding, hwloc, git
  • Relevant literatures
    • Visualization, architecture-related, gaming

4 of 7

Current Progress

  • Environment setup
    • Wrote documentation to set up Eclipse, Maven, and JZY3D/JOGL
  • Generate simple 3D shapes and labels using JZY3D
  • Load an HWLOC xml inside Eclipse as Java content (Unmarshalling)
  • Began accessing Java content inside JZY3D chart for visualization

5 of 7

Future Plans

  • Implementation:
    • First visualize computer system architecture in 2D based on HWLOC
      • Transition to creating a 3D representation using JOGL
    • Illustrate CPU, GPU, and memory components
    • Also to draw cache and bus interconnected visualization
  • Write research paper
  • Prepare poster presentation
  • Submit abstract and attend URC 2024

6 of 7

Related Work

French, D. J., Stone, B., Nysetvold, T. T., Hepworth, A., and Edward Red, W. (May 3, 2016). "Collaborative Design Principles From Minecraft With Applications to Multi-User Computer-Aided Design." ASME. J. Comput. Inf. Sci. Eng. June 2016; 16(2): 021006. https://doi.org/10.1115/1.4032667

Cecile Yehezkel , Mordechai Ben-Ari & Tommy Dreyfus (2007) The contribution of visualization to learning computer architecture, Computer Science Education, 17:2, 117-127, DOI: 10.1080/08993400601165545

7 of 7

Thank You

Q & A