Entry Date:
May 22, 2013

Systems and Machine Learning Projects


(*) PetaBricks, Zetabricks, D-TEC -- We provide machine learning expertise to our collaborators in the PetaBricks project in the area of onine plus offline autotuning and input clustering and classification. The autotuning project supports the PetaBricks compiler and runtime system. 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 will visit 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 are:
(1) 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;
(2) Definition of a set of adaptation actions that can be applied to change the resource allocation in the (3) Evaluation and prediction of the impact of an adaptation action over energy efficiency and quality of service;
(4) Prediction of the workload of the system in order to prevent critical situations;
(5) 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.

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.