research classified
P4P: A Framework for Practical Server-Assisted Multiparty Computation with Privacy
BOINC SQL
Communication Modeling Using Statistical Methods for Large Clusters
Clusters consist of large number of processors connected over a high performance network. In order to use all the processors effectively, a parallel application must have efficient communication between processors. There are several communication libraries out there for a parallel application programmer to choose from, such as MPI, ARMCI, and GASNet. They all offer similar primitive operations such as barriers and all to all communication. The question becomes which communication library should a programmer choose. It is not an easy task to change communication libraries once the code is written.
BeBOP
Sensor Network Protocol
Program Analysis for Sequential Performance Optimization
This work will be carried out in the context of the Titanium compiler. Titanium is a Java-like programming language designed for parallel programming on large number of processors. The Titanium compiler translates Titanium code into C code, and then the C code is compiled by a C compiler such as gcc to produce the final executable. The way the C code is generated by the Titanium compiler plays a large role on how well the C compiler can optimize the code. One feature in Titanium that is different from Java is multi-dimensional arrays. We have found that if we can infer the stride of the multi-dimensional array at compile time, then the Titanium compiler can generate C code that can be better optimized by the C compilers. The goal of the project is to develop a program analysis to infer as many strides as possible at compile time.
Low Cost Rapid Prototyping of Millirobots
ACAL: A Tool for designing systems that direct human action
We are developing tools to support designers of Active Capture
applications. In Active Capture applications the system and the user
work together to accomplish a common goal. The system directs the
user, and monitors her progress via video and audio input. This
project draws from computer-vision, direction and cinematography, and
human-computer interaction.
Students will work with a graduate student to
design the tools. They will make prototypes using paper, PowerPoint
and Macromedia Flash.