Systems and Machine Learning Projects

Table of Contents

- Autotuning in PetaBricks, Zetabricks, D-TEC 
- Data-Mining Virtual Machines for Resource Optimization
- Resource Allocation in Virtual Machines for Energy Efficient Data Centers and Clouds  
- Application Counter Intelligence  
- Meta-Optimization: Improving Compilation with Genetic Programming

Autotuning in PetaBricks, Zetabricks, D-TEC 

We provide machine learning expertise to our collaborators in the PetaBricks project in the areas of onine, sideline, and offline autotuning.

PetaBricks research is led by Prof. S. Amarasinghe, who leads the Commit group. Collaboratively we are developing light-weight machine learning algorithms which are capable of running PetaBricks programs fast and efficiently (with respect to power or varying required accuracy) on exascale architectures. See this poster for more on the D-TEC project. D-TEC stands for Domain Specific Language Technology for Exascale Computing. Activity of the PetaBricks project also goes under the name of the ZetaBricks project. See this poster for more information on the Zetabricks project. We gratefully acknowledge DOE Exascale Program Award DE-SC0005288 and a forthcoming DOE Exascale X-Stack Program Award as sponsors of these efforts.

Data-Mining Virtual Machines for Resource Optimization

Consolidation with virtual machines allows cost savings and offers energy savings and efficiency. However, the challenge is to maximize consolidation while honoring service commitments (often called SLAs or Service Level Agreements). Our technical approaches address this challenge in ways that exploit modeling, forecasting with genetic programming and reinforcement-based machine learning algorithms.

Resource Allocation in Virtual Machines for Energy Efficient Data Centers and Clouds

In Fall 2012, Monica Vitali from Politecnico Milano visited the Evolutionary Design and Optimization Group on a ROCCA Scholarship to work on this project. The aim of the project is to create a framework able to improve energy efficiency in Data Centers while respecting constraints related to quality of service. The proposed approach consists of four phases: monitoring, evaluation, adaptation, and updating. The system is monitored to measure not only energy, but even the load and all the other parameters that can influence the system behavior. The evaluation is performed using a set of metrics related to greenness and performance. During the adaptation phase, a set of adaptation actions is selected in order to react to non-optimal situations and to improve the greenness of the system. The updating phase consists of changing the values of some parameters that are influenced by the addressed actions and by their effects.

Project goals include:

  • Definition and/or selection of metrics for dynamically assessing the quality of service and the energy efficiency of the data center and/or in a cloud environment;
  • Definition of a set of adaptation actions that can be applied to change the resource allocation in the data center and/or in a cloud environment;
  • Evaluation and prediction of the impact of an adaptation action over energy efficiency and quality of service;
  • Prediction of the workload of the system in order to prevent critical situations;
  • Investigation of automatic learning techniques to create a self-adaptive system able to learn new adaptation strategies and to detect the most suitable one given a specific context.

Update — July 2013: A publication on the project entitled Modeling Service Execution on Data Centers for Energy Efficiency and Quality of Service Monitoring has been accepted for presentation at the IEEE SMC 2013 Conference (SMC2013:S15).


Application Counter Intelligence

From 2010-2012, in the Application Counter Intelligence Project, we worked on predicting impending overload of a virtual machine's resources in order to provide sufficient notice to mitigate the situation in a timely way by reallocating resource types which respond at appropriate timescales. The project is documented in Skye Wanderman-Milne's M.Eng thesis and these ppts.

Application Counter Intelligence was a joint project between CSAIL and VMware:

  • Una-May O'Reilly, MIT Evo-DesignOpt Group
  • Skye Wanderman-Milne, MIT M.Eng student, 6A intern at VMWare, summer 2011
  • Ravi Soundararajan, VMware Performance Group
  • Rean Griffeath, VMware
  • Xiaoyun Zhu, VMware Performance Group

with support from:

  • Julia Austin, VMware Senior Director of R&D

Project Alum:

  • Geoffrey Thomas, MIT/VMware Summer '10 Intern
  • Lawrence Chan, MIT Evo-DesignOpt M.Eng Student, 2010-Spring 2011
  • Garthee Ganeshapillai, MIT grad student, intern at VMWare, summer 2011


Meta-Optimization: Improving Compilation with Genetic Programming

We used genetic programming to automatically generate application specific and general compiler priority functions. These functions are known as the "Achilles Heel" because typically compiler designers develop them by hand and test them on problem instances that rapidly drift out of date. Our priority functions worked in the context of hyperblock scheduling and register allocation. A powerpoint from a PLDI presentation is available as a pdf. Image