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 2008 or for class credit in the 2008-2009 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.

  • 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.

    Building Up the TeamTrak Mobile Ad Hoc Network. TeamTrak is a network of laptop computers, each connected to a "sensor helmet" that records GPS location, compass heading, video data, and other sensor data. This data is shared via wireless, giving each user a birds-eye view of the entire team in the field. Help us to add new sensors, new capabilities, and algorithms for sharing data in TeamTrak.

  • 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 21 August 2007)

    Cooperative Computing Lab - CSE Department - Notre Dame