Research Opportunities for Students in the CCL
We currently have the following open positions for research assistants.
If interested, make an appointment to talk with Prof. Thain
(dthain at nd dot edu). Prospective students should have good
programming skills and strong grades in CSE classes.
Undergraduate Research Assistants
Undergraduates may perform research for hourly pay in summer 2009
or for class credit in the 2009-2010 school year.
Distributed Computing for Biometrics.
Biometrics is the study of identifying people from physical observations such as fingerprints, iris images, and motion capture. Researchers at Notre Dame have collected tens of thousands of such images and videos, and design new algorithms for identifying and matching people based upon these measurements.
Help us to create a large scientific data repository that enables the simple and rapid execution of biometric workloads.
Distributed Computing for Bioinformatics.
Bioinformatics is the study of genomic data such as DNA from a computing perspective. Researchers in bioinformatics at Notre Dame have access to new sequencing devices that produce terabytes of data at a time, but need help from computer science to process this data in any reasonable amount of time. Help us to create new tools the scale up bioinformatics problems to hundreds of CPUs.
User Interfaces for Scientific Computing.
Grid computing systems allow ordinary users to harness hundreds
or thousands of machines at once for large scientific workloads.
However, many grid systems are very difficult to use.
Design easy-to-use-tools that allow non-technical users to
easily log in and harness our 500-CPU computing grid and 40TB
storage pool at the touch of a button.
Graduate Research Assistants
Languages and Systems for Data Intensive Grid Computing.
Although many users have access to large amounts of computing
power and data storage, they find large systems very difficult to harness,
and are obliged to write lots of fiddly little scripts and configuration
files to carry out simple tasks. This is a very error prone process.
To attack this problem, help us to design a programming language
and system that allows users to easily describe and execute massive tasks.
Imagine a language in which it is easy to declare an array
of 10,000 items of 1 GB each (10TB spread across 100 disks),
and then run 1000 tasks on 100 CPUs to process those items,
compress the results, and deliver them to the user's workstation!
Apply these tools to real applications in biometrics, high energy physics,
data mining on our campus grid of 500 CPUs and 40TB of storage.
Scale the system up to run on 10,000 CPUs on the Open Science Grid.
(Last modified April 2009)
|