![]()
![]() |
|
Research Projects These projects are a sampling of the variety of research activities underway in the Computer Science Department.
Parallel Numerical Linear Algebra Areas: Computational Science and Engineering This research activity deals with the design and implementation of parallel algorithms for solving large sparse linear systems that arise in computational fluid dynamics, computational nanoelectronics, and computational nanomechanics. The research also deals with the development of efficient parallel algorithms for (i) the singular value decomposition, and (ii) symmetric and nonsymmetric eigenvalue problem solvers, for those large sparse matrices that arise in methods for model reduction of large-scale dynamical systems.
PLACE: Pervasive Location Aware Computing Environments
Areas:
Combining the functionality of personal locator technologies,
wireless and cellular telephone technologies, and information
technologies enables new environments where virtually all objects of interest
can determine their locations. The PLACE (Pervasive Location Aware Computing
Environments) project focuses on the efficient support of location-aware
services in such a new environment.
Privacy Preserving Data Mining
Areas:
Data mining relies on the collection of massive amounts of data - but
this often collides with privacy considerations. How do we mine data
when privacy concerns limit access to the data? We are developing
technology to address this in the distributed case: the data to be
mined is contained at multiple sites, but the sites are unable to
release the data. The solutions involve algorithms that share some
information to calculate correct results, where the shared information
can be shown not to disclose private data.
Computer-Aided Mechanical Design
Areas:
Joint work with: Leo Joskowicz, Hebrew University
Robot Path Planning
Areas:
Joint work with: Matt Mason, CMU
Network Systems Design Using Network Processors
Area: A network processor is a programmable processor with features that make it attractive as a building block for systems such as bridges, IP routers, firewalls, NAT boxes, and load balancers. This project seeks to understand the technology: it's capabilities, limitations, and potential uses. The project is supported with facilities from Agere Systems, IBM, and Intel; Intel has also supplied funding.
Reconfigurable Network Testbed
Area: We are investigating a networking testbed that is reconfigurable. A user specifies an interconnection of hardware devices such as hosts, routers, basestations, etc., and the testbed software allocates the necessary devices, and uses switched hardware to automatically construct the specified topology and provides direct connections to the console of each device. The user then configures each device and uses the devices to run experiemnts and make measurements. Once the user finishes and releases them, the resources are placed back in a pool, making them available for reuse. We seek a system that is both sufficiantly general to handle arbitrary interconnections and sufficiently practical to operate in real time.
TCP Termination Using Network Processors
Area: Network processors are programmable devices that can be used to build network systems. This project is investigating the use of network processors in devices such as web servers. There are two primary considerations that make TCP termination especially challenging: the number of simultaneous connections, and the number of new TCP connections that the system handles per unit time. We seek to maximize both. We are implementing TCP on an IBM network processor, and will use the protoctype to identify difficulties and bottlenecks.
Compiler-Assisted Research in Distributed Systems
Areas:
This research project investigates compiler-assisted appoaches to analyze,
develop, and manage applications in distributed computing systems, with the
current focus on systems which consist of wireless-networked miniaturized
computers. Compiler-based software tools are developed to analyze how a
program's behavior corresponds to the changing data input and execution
environment, using combinations of static program analysis and statistical
analysis of experimental data. Such studies guide program transformations and
run-time management to overcome the constraints of memory, communication
bandwidth, and energy resource on wireless-networked miniaturized computers.
The Panorama Compiler Project
Areas:
The Panorama project investigates the interaction between compiler
techniques and architecture designs for improved parallelism and memory
performance on various classes of computers. The main experimentation
tool built is the Panorama Fortran compiler.
Resource-Aware Compilation
Area:
Compilers are an important part of today's computational
infrastructure. Programmers rely ever-increasingly on the
correctness of their compilers as software is written in high-
level programming languages like C, C++, and Java. It is
essential that mission-critical software not fail, that mobile
code can be trusted to behave properly, and that embedded
software runs continuously while meeting deadlines. Even the
smallest of bugs introduced by a compiler can lead to failures,
security breaches, and crashes in an otherwise correct system.
This project focuses on the challenges faced by compilers for
embedded software. For embedded systems, predictability and
resource awareness are of greater importance than execution
efficiency. For example, if a compiler is not aware of the size
of the instruction store for generated code, opportunities to
squeeze code into the available space can be lost. A programmer
can often hand-optimize generated code, but this is tedious and
error-prone, and does not scale to large systems. This project
is aimed towards a new generation of resource-aware compilers
with solid foundations. Next-generation compilers will lead to
increased confidence in a wide variety of embedded systems,
including sensor networks, medical implants, engine control, and
fly-by-wire/drive-by-wire systems.
Customizable Virtual Machines: The Ovm Project
Area:
Joint work with: Doug Lea, Bill Pugh, David Holmes
Language-base Security
Area:
Joint work with: Peter Sewell, Dominic Duggan
Foundation and Implementation of Mobile Object System
Area:
Joint work with: Guiseppe Castagna
|