Hosted Open Cirrus Projects

Here are some of the projects and users hosted at the ILP Open Cirrus site:

Dynamic Power Management for Cloud Computing

  • Michael Kozuch (Intel)
  • Anshul Gandhi (CMU)

Research Objectives

Power is an increasingly important resource to manage in data centers. This project seeks to develop the algorithms that will optimize the consumption of power in a data center. In particular, the algorithms will determine the correct power states (on, off, sleeping, frequency setting, etc) for servers in a data center given a load experienced by the data center.


Research scope of work

After developing candidate algorithms for managing power in the cluster, we will employ the OpenCirrus cluster to evaluate those algorithms. In particular, we will construct experiments where a certain set of servers acts as a data center and is subjected to a test load. While varying the test load, we will measure key properties of the "data center" (i.e. power consumed) as it is managed using the developed algorithms.


Required OpenCirrus Resources

To conduct these experiments, we will require access to approximately 16 servers, and we will require low-level access to the power-management features of these machines. Additionally, we will require access to the power-measurement infrastructure attached to the machines under test.


Expected project results

The output of the research will be (1) algorithms for managing a set of nodes in a data center given a certain load and (2) an evaluation of those algorithms.


What do you intend to do with the expected project results?

The results will be collected into a document that will be submitted for publication in a scientific forum.

Relational Perception

  • Denver Dash (Intel)
  • Anton Chechetka (CMU)
  • Saeed Amizadeh (UPitt)

Research Objectives

This project seeks to exploit high-level relational information to improve perception from a collection of video streams and other sensors.


Research scope of work

Perform collective classification of sensory inputs by joint classification of test images. This work will involve performing SVM classification on images, coupled with relational model learning and inference. We also intend to learn causal relations between events in time-series perception data. This work will involve calculating sufficient statistics from a dataset of high-frame-rate video and calculating various value functions over graphs.


Required OpenCirrus Resources

Basically we are looking to increase our computing power. Our datasets will likely be under 5 GB. Mostly we will be coding in C++ with Eclipse under Linux. Bandwidth needs will likely be minimal.


Expected project results

Our outputs will be object recognition resu Its, possibly face-recog nition results and causal hypotheses. We will also produce C++ code to do collective inference on images and to perform causal inference on video streams.


What do you intend to do with the expected project results?

Publish in academic conferences and journals.

Food Recognizing Interactive Electronic Nutrition Display (FRIEND)

  • Mei Chen (Intel)
  • Dean Pomerleau (Intel)
  • Rahul Sukthankar (Intel)
  • Anlu Wang (CMU)
  • Max Salley (CMU)

Research Objectives

The goal of the FRIEND system is to augment the information available to restaurant patrons to help them make more informed food choices. We'd like to demonstrate that mobile devices plus cloud computing can be a powerful combination for the delivery of new services.


Research scope of work

This project will investigate a real-time food recognition and nutrition display system called FRIEND (Food Recognizing Interactive Electronic Nutrition Display). The goal of the FRIEND system is to augment the information available to restaurant patrons to help them make more informed food choices. The core vision of the FRIEND system can best be understood through a use case.

Consider the following scenario:

Jane is a hungry customer walking into a restaurant. If it is a fast-food restaurant, the first thing Jane encounters is a large menu displayed on the wall behind the counter. If the restaurant is a sit-down establishment, the menu will likely take the form of a printed booklet. Either way, the menu consists of a static combination of pictures and text describing the food, with little (if any) nutritional information.

Jane would like to know more about several food items than the menu can tell her. So she takes out her FRIEND-enabled smartphone or mobile internet device and snaps a picture of menu items that interest her. In less than a second, the FRIEND application on her phone transmits the image to a server located somewhere in the cloud. The server uses a combination of object recognition, OCR, and/or statistical pattern matching to identify the food items in Jane's image using its database of 100s or 1000s of images of food items from many different restaurants. The server sends back to Jane's mobile device the image coordinates of the food items it recognized, along with nutritional information for each, and (if bandwidth allows) an image showing what each food item actually looks like.

Within seconds, the FRIEND client on Jane's phone has annotated the original menu image with icons that appear to hover over the food items in the picture. Using the touchscreen on her smartphone, Jane can interactively explore this augmented menu, clicking on the icons for the food items she's interested in to learn more about their nutritional information and even see a picture of how each item would appear if she ordered it. With this extra information Jane is able to make a more informed choice about what to order so as to satisfy both her hunger and her nutritional goals.

The FRIEND system will demonstrate the power of combining lightweight mobile platforms with cloud computing in a client-server architecture. It will also leverage existing state-of-the-art machine vision algorithms and potentially require developing new ones for food and menu matching, classification, and recognition. It will build upon previous collaborative research by Intel and CMU, potentially including:

  • Object recognition and image retrieval algorithms.
  • Ideas about large scale image database search and retrieval from Diamond and ISADS.
  • The food image database collected as part of the Intel/CMU "PFID: Pittsburgh Fast Food Image Dataset" project.


Required OpenCirrus Resources

This will only be a proof of concept, using at most a couple/few mobile devices (Android phones) as clients, and menus from a few different restaurants. As a result, we don't expect the number of compute nodes to be more than 2-4, and the bandwidth and storage requirements should be very modest as well.

The only tricky resource requirement may be some way to get image data into the cluster from a mobile device, and responses back out, in close to real-time. The images coming in, and the nutritional data being sent out, will be small in size. The issue will be more one of achieving low latency, and dealing with whatever IT hurdles there are (SSH tunneling etc.) to make the connection.


Expected project results

The expected results of the project will be software to support a demonstration (e.g. for the Open House in November) of the combination of mobile devices and cloud computing. We also plan to generate publishable research from this project.


What do you intend to do with the expected project results?

The project is covered by an RPD under the OCR between CMU and Intel. Therefore any IP generated during the course of the project will be handled in accordance with the OCR. If Intel and/or CMU do not identify the project as having commercial value, we will likely open source the software if it seems worthwhile to do so. The scientific papers that result from this research will be submitted for publication in open forums.

Distributed Recommendation System

  • Stanislav Funiak (CMU)
  • Carlos Guestrin (CMU)
  • Joseph Hellerstein (UC Berkeley)

Research Objectives

The Distributed Recommendation System project seeks to develop new algorithms for distributed collaborative filtering, The goal is to design a system that can provide movie and music recommendations based on previous ratings in a fully decentralized fashion. Such a system will protect users' privacy and provide recommendations without reliance on a central authority.


Research scope of work

The project seeks to:

  1. Design a new algorithm for collaborative filtering that make use of and run efficiently an multiple machines in parallel.
  2. Design a new algorithm for collaborative filtering that operates in a fully decentralized fashion in a peer-to-peer (PZP) network.
  3. Evaluate the algorithms on networks with up to 1000 virtual nodes.


Required OpenCirrus Resources

This project requires multiple machines in a cluster. Each machine should have 4 to 8 processor cores at 2-3 GHz. A total of 128 cores (16 machines) will be required, in order to simulate a network of I000 virtual nodes. A few gigabytes of temporary storage will be sufficient at each machine.


Expected project results

The results of the project include:

  1. Algorithms and their implementations.
  2. Data comparing the performance of the centralized and the distributed algorithm, measuring the rate of convergence and the bandwidth requirements.


What do you intend to do with the expected project results?

The results of this work will be published in academic conferences. The software will be released under an open-source license.

Parallel Brain Activity Analysis

  • Dean Pomerleau (Intel)
  • Tom Mitchell (CMU)
  • Marcel Just (CMU)
  • Mark Palatucci (CMU)
  • Gustavo Sudre (CMU)
  • Vlad Cherkassky (CMU)
  • Kai-min Kevin Chang (CMU)
  • Indrayana Rustandi (CMU)

Research Objectives

We would like to use the Open Cirrus cluster to facilitate our very computationally intensive brain activity analysis research. In the beginning phase of this project, we will utilize machine learning techniques applied to fMRI data we've already collected to improve our ability to decode patterns brain activity in an off-line fashion.

If this goes well, in a follow up project starting early in 2010, we hope to experiment with real-time decoding of brain activity, processing data as it is collected from CMU's new fMRI scanner.


Research scope of work

We will convert our existing software for brain image analysis to run on virtual machines in the Open Cirrus environment.

We will then exercise this software to test and develop new algorithms for brain activity analysis.


Required OpenCirrus Resources

We expect to use 5-20 nodes at a time, very little network bandwidth (processing data stored on disk) and approximately 20-50Gb of storage.

Beginning next year (in a follow-on Open Cirrus project) we hope to do real time analysis of brain data, which will require modest network bandwidth (< 1Mb / sec).


Expected project results

The outcome of this project will be new insights into the brain's representation and processing of information. We expect to develop software tools to facilitate this analysis, and academic publications documenting the results of our research.


What do you intend to do with the expected project results?

Write a paper documenting our results to be submitted for publication in an appropriate journal and/or presented at a conference.

SLIPstream

  • Padmanabhan Pillai (Intel)
  • Rahul Sukthankar (Intel)
  • Pyry Matikainen (CMU)
  • Rong Jin (MSU)
  • Fengjie Li (MSU)
  • Hamid Valizadegan (MSU)
  • Yang Zhou (MSU)
  • Joel Jurik (UCF)

Research Objectives

The SLIPstream project seeks to accelerate algorithms for computer vision tasks by exploiting parallel processing on clusters of multicore machines. The goal is to enable use of computationally expensive processing algorithms in interactive settings. In particular, the project seeks to use computer vision in interactive games, human computer interfaces, and in the control of consumer electronics in the home.


Research scope of work

The project seeks to: 1. Develop a runtime system and set of APIs to write programs that can make use of and run efficiently on multiple machines in parallel, 2. Design new computer vision algorithms that can make use of a large number of processing cores in a single machine and in a cluster, 3. Develop a set of techniques for breaking up a sequence of image processing steps into coarse grained tasks that can be run in parallel, 4. Port a set of existing application for event detection in video, video image stabilization, and gesture detection to the parallel runtime, 5. Design new gesture recognition algorithms that use computer vision to detect whole body motions, detect hand gestures, and determine where a user is pointing, and 6. Develop one or more interactive demonstrations of using real-time vision-based gesture detection to control a game, computer, or device.


Required Open Cirrus Resources

This project requires multiple, multicore machines (or virtual machines) in a cluster. Each machine should have 4 to 8 processor cores, each 2-3GHz. 10 to 15 such machines (or VMs) should suffice. Gigabit Ethernet or faster connectivity is needed. Storage is not a major issue for this project, so a few gigabytes of temporary local storage on each machine will suffice.


Expected project results

The results of the project include: 1. Software artifaces include the runtime system itself, as well as any new algorithms and demonstrations developed, and 2. Data comparing the performance improvements, the precision, and recall of new and parallelized vision algorithms.


What do you intend to do with the expected project results?

The results of this work will be published at academic conferences and in journals. The software artifacts will be released under an open-source license.

Autolab - Autograding handin service for the cloud

  • David O'Hallaron (ILP)
  • Chee Hoon Ha (CMU)

Research Objectives

The aim of this research project is to develop the software prototype of a cloud-based autograding handin service that could eventually be used to help high school and university instructors teach programming courses.


Research scope of work

The project will build a web based autograding handin service on the Intel Open Cirrus cluster. This service will allow users to upload and download programming assignments, automatically grade the assignments, and maintain a running scoreboard of assignment scores. The key research areas are the design of interfaces for defining assighments, and scalable techniques for scheduling and placing vms when assignments are handed in.


Required Open Cirrus Resources

We will be running the service on the Intel Open Cirrus cluster, on top of the Intel Labs Tashi system, using up to 100 virtual machines at peak loads, and a small amount, on the order of a few tens of GB, of distributed file system storage.


Expected project results

The main artifact will be an open source software program that implements a scalable autograding handin service, and scalable techniques for handling the bursty nature of assignment handins.


What do you intend to do with the expected project results?

The software will provide a proof of concept for what we hope will eventually be an autograding handin service for the nation's universities (of course this eventual national service would not use the open cirrus cluster. We're only developing the prototype in this project.)

Register Allocation Deconstructed

  • David Koes (CMU)
  • Seth Goldstein (CMU)

Research Objectives

Register allocation is a fundamental part of any optimizing compiler. Effectively managing the limited register resources of the constrained architectures commonly found in embedded systems is essential to maximizing code quality. We seek a deeper understanding of the register allocation problem.


Research scope of work

In this paper we deconstruct the register allocation problem into distinct components: coalescing, spilling, move insertion, and assignment. Using an optimal register allocation framework, we empirically evaluate the importance of each of the components, the impact of component integration, and the effectiveness of existing heuristics relative to optimal. We evaluate code quality both in terms of performance and code size and consider four distinct instruction set architectures: ARM, Thumb, x86, and x86-64.


Required Open Cirrus Resources

Access to 24 dedicated CPUs with at least 4GB of memory each.


Expected project results

The results of our investigation reveal general principles for register allocation design.


What do you intend to do with the expected project results?

We will publish our results in the 12th International Workshop on Software and Compilers for Embedded Systems.

Big Data Cluster Management

  • Richard Gass (Intel)
  • Michael Ryan (Intel)
  • Anthony Chivetta (CMU)

Research Objectives

The goal of this project is to gain a better understanding of the issues related to administering, maintaining, managing, and deploying large scale clusters.


Research scope of work

This project will expose real day to day issues that plague clusters of today and provide a set of best practices learned from experience of administering an Open Cirrus cluster.


Required OpenCirrus Resources

Minimal resources will be consumed by this project as the goal is to provide uninterrupted service to other projects on the Open Cirrus cluster.


Expected project results

Have a set of lessons learned and best practices for building, administering, easily maintaining (with minimal head count), and deploying large scale clusters.


What do you intend to do with the expected project results?

This project will provide an example to the other Centers of Excellence (COE) on all aspects of bringing a COE online. We will also publish results of best practices on large scale clusters to the research community.

Log-Based Architectures

  • Michael Kozuch (Intel)
  • Evangelos Vlachos (CMU)
  • Michelle Goodstein (CMU)

Research Objectives

The Log-Based Architectures (LBA) project focuses on developing extensions for many-core processors that enable efficient logging and extraction of run time execution events and demonstrating the benefits of such extensions for performance, debugging, security, and recovery.

An early application of this technology is the acceleration of dynamic correctness-checking tools (also known as "lifeguards" in this context). Software lifeguards have been used only during the debugging phase of the software development cycle because of their high runtime overhead (slowing down main applications by a factor of 10-100 times). However, these tools will be of great value for programs deployed in the field.

To date, research on LBA has focused on reducing the overhead of lifeguards sufficiently to make feasible the inclusion of lifeguards in the standard runtime of deployed systems. To this end, the proposed LBA extensions accelerate the performance of lifeguard tools by providing more efficient access to interesting events for the program-under-test. The perceived runtime overhead can be reduced further in multicore applications by leveraging on-die cores that would otherwise be idle for the execution of the lifeguard.


Research scope of work

Using the OpenCirrus cluster resources, we will evaluate various microarchitectural designs via simulation. The current LBA simulation infrastructure is based on VirtuTech Simics. These simulations are typically CPU intensive and paralleizable.


Required OpenCirrus Resources

To do this work, we are requesting access to CPU resources primarily. Here having access to ~20 nodes for relatively short periods of time will be very helpful. We will need access to a modest amount of storage (say 100 GB) for execution traces. We will not need network resources of any consequence at all.


Expected project results

The primary output of this work is a series of documents detailing performance evaluations of various design choices.


What do you intend to do with the expected project results?

The documents generated will be submitted for publication in open, scientific venues.

Cloud Workload Analysis

  • Jason Dai (Intel)
  • Jie Huang (Intel)
  • Mingfan Lu (Intel)
  • Lan Yi (Intel)
  • Shengsheng Huang (Intel)
  • Yongnian Le (Intel)
  • Tao Xie (Intel)
  • Hang Qi (Intel)
  • Yan Wang (Intel)

Research Objectives

We are from the (Intel) SSG cloud computing team, working on cloud workload characterization.


Research scope of work

Our work focuses on the characterization of typical cloud workload (e.g., LAMP stack, MemCached and Hadoop workload), including:

  1. Performance tuning of typical cloud workloads
  2. Analysis of the characteristics of typical cloud workloads
  3. Analysis of hardware platform behaviors using typical cloud workloads

Required OpenCirrus Resources

It is expected that the workloads need to run on multiple racks (e.g., 64 nodes or more) and process several TB.s of data.


Expected project results

The primary results of our work include:

  1. White papers on the performance tuning and characterizations of typical cloud workloads
  2. Reports on the Intel hardware platform behaviors for typical cloud workloads

What do you intend to do with the expected project results?

The main objectives of the expected project results include:

  1. Behaviors of Intel hardware platform as feedbacks to Intel architecture team
  2. Performance tuning guidelines to the Intel field team and enabling team.
  3. Industry white paper on the performance characterizations of cloud workloads on Intel platforms