After my graduation in July, I was asked to join the Scientific Visualization and Virtual Reality group at the University of Amsterdam. The project that I would be working on was network visualization on a multitouch table that was going to be presented at Supercomputing 2008 in Austin, TX.
Because our old table (which we used for the multitouch performance experiments) was moved to the NEMO Science Center in Amsterdam, we had to develop a new multitouch system from scratch. Based on our experiences of building the previous multitouch table, we carefully choose our new hardware components (such as the camera and digital projector).
Supercomputing is an international conference for High Performance Computing, Networking, Storage and Analysis (SC08, November 15-21, 2008 Austin Convention Center). In collaboration with the Systems- and Networking Engineering Group of the University of Amsterdam we developed software and hardware for our project called Interactive Networks.
Our project consists out of several parts:
- The multitouch table; used as an input/interaction device (Rear illumination)
- Multiple (linux) computers using custom kernal software called streamline
- A controller that processes events from the multitouch table to the computer nodes using streamline (and vice versa).
- The Interactive Network Visualizer (the visualization and manipulation software on the MT table)
The project focuses on stream manipulation in a token based network. In Amsterdam we created a physical network of computer nodes (16+). Each of these computer nodes has the streamline module installed. Depending on the task of the node, a node can be the following:
- A producer (A node that is capable of delivering a video/content stream)
- A router (A node that is able to route packages)
- A consumer (A node that is capable of receiving and displaying the stream content)
In the current setup we have 4 producers (each with different video content), 8 routers and 4 consumers (Mac mini’s connected to HD screens with VLC installed to display UDP video streams).
In order to stream video content from the producer to a consumer node, users can simply switch to the ‘route planner’ mode and draw a line from node to node. When the user completes a path (stream), the result is submitted to the controller. The controller checks if the nodes are connected and instructs the nodes how the incoming packages should be handled. Normally it is difficult to distinguish different data streams from each other. However, in our system we added a ‘token’ (color) to each stream. This allows us to distinguish a stream on a particular node and transmit it to its destination. Our system has support for multicasting and streams containing cycles (unique!).
Because streams are tokenized we can also manipulate particular streams on the node itself. By double tapping a node, we can view the internals of this particular node. All streams that passes through this node can be viewed and modified. For this particular demo we added an option to add a sampler. The sampler allows the user to set a value of how many packages should be dropped.
By using standard Linux tools we are also able to measure the network throughput on a node, the load on a node, the used bandwidth between two nodes and the jitter on a connection. These values are visualized in our software.
For our demo we stream high definition videos from The Netherlands to the USA over an 4 GBit internet connection. We are using movies that were made in Blender, namely: Big Buck Bunny and the Elephants dream.
On our dutch stand we have three live camera streams showing different projects, be sure to check those out: webcam overview
Other multitouch projects at SC08:
We certainly aren’t the only ones with a multitouch table at SC08, so far I’ve seen the following:
- RENCI Vis Group Multi-Touch Blog
Developing multitouch hardware and applications for research and experimentation.
- EVL |Â Multi-Touch LCD Table Prototype (Tactile)
A high resolution multitouch device created from a LCD panel Video!
- Enthought (Scientific Computing Solutions)
A fast and responsive multitouch solution using a python backend. They are located at the stand of Western Scientific
- MS Surface (on the HPC stand)