CS 248C: Visualizing Computer Systems
Pat Hanrahan, Marc Levoy, Mendel Rosenblum
Suggested Paper or Project Topics
Two weeks will be allocated to the paper, and three weeks for the project.
The paper must be done individually, but the project may be done as a
small groups. Given the variety of interesting topics we would like to
encourage people to spread over available topics and not all concentrate
on one or two.
We are actively soliciting additions to the following list. What do you
think would make a good project? What would be a really exciting aspect
of computers to see? Send your ideas to cs348c@graphics.
- Visualizing the Gates Network. How are packets being routed
through the building, how are subnets connected together, and how is traffic
routed to the outside? Identify a bandwidth bottleneck and diagnose it using
visualization.
- Visualizing the web. How would one show the structure of an
individual web site? How are web sites connected, how is information
being accessed?
- Think of new ways to visualize file systems. How are disks
allocated and being used? Who is using the resources? What types of data are
being stored, what are the access patterns, etc? Choose an existing disk
system, like the graphics lab, and characterize it using visualization.
- How would one visualize the memory hierarchy of a modern
computer? How does one show cache behavior? Swapping and paging? How would one
visualize time of access versus frequency of access versus patterns of access?
How is memory allocated to processes, used by processes? Can you tie the
visualizations back to the source code? How would one animate a complex memory
consistency protocol like used in FLASH?
- Visualize the performance of a modern microprocessor.
How often does the pipeline stall? How well are the multiple units in a
superscalar architecture being utilitized? Can you tie the visualization back
to the source code?
- Choose a "claim" in Hennessy & Patterson's book, "Computer Architecture".
Prove or disprove it using visualization. One could even imagine writing a
visualization supplement to their book - a CDROM to shrink-wrap with their next
edition.
- Visualize or animate the performance of a computer algorithm.
For a bigger challenge, propose a new software architecture for instrumenting
and visualizing arbitrary algorithms or programs. The world needs a graphical
program debugger that is closely linked to an interactive visualization system.
Propose one and build a prototype.
- What can be learned from existing displays of complex systems
like BART, the Western Power Grid, air traffic control patterns, and nuclear
reactors?
- How would you visualize the "graphics pipeline"? Can you show the various
processing requirements for transformation, texture memory management,
rasterization?
- Illustrate and animate the operation of a computer at a level suitable
for elementary, middle, or high-school students. How do disks work? Can you
visualize memory fetches and the movement of instructions through the datapath?
hanrahan@cs.stanford.edu
Copyright © 1996 Pat Hanrahan