CISC 879 - Machine Learning for Solving Systems Problems

Professor John Cavazos
Class Time TR, 3:30pm-4:45pm
Room Number Smith Hall 102A
Office Hours TR, 4:45pm-5:45pm (after class)
Held in Smith Hall 102 (SMART Lab)
Course Number CISC 879
Computer systems developers need new methodolgies to solve the complex problems they are facing. For example, the rapid rate of architectural change and the large diversity of architecture features has made it increasingly difficult for compiler writers to keep pace with microprocessor evolution. This problem has been compounded by the introduction of multicores. Thus, compiler writers have an intractably complex problem to solve. A similar situation arises in processor design where new approaches are needed to help computer architects make the best use of new underlying technologies and to design systems well adapted to future application domains. Finally, as the ubiquity of computers and computer networks has grown, the threat posed and damage caused by cyberattacks has multiplied. Solving problems in cybersecurity is therefore an increasingly important problem. Recent studies have shown the great potential of statistical machine learning and search strategies for solving hard problems in compilation, computer processor design, and cybersecurity. The purpose of this course is to describe this emerging area of research. Students will present research and lead discussion on recent developments in computer systems techniques and methodologies based on space exploration and statistical machine learning approaches with the objective of improving performance, parallelism, scalability, adaptability, and security.

The first part of the course will consist of discussions about difficult systems problems and how one might use machine learning to solve these problems. The second part of the course will involve discussing several research papers (chosen by students) pertaining to using machine learning and search techniques to solve hard systems problems. Each student will be asked to present one or two papers to the class. Most papers will come from systems conferences, though there may be occasional papers choosen from machine learning conferences. Students are required to read the papers before class and to participate in the discussion. Finally, if time permits we will have presentations by students on their course projects. Students will have a variety of different infrastructures with which to do their class projects.

 
Lecture (Tenative Outline)   Slides  
2/12 Intelligent Systems  Slides (PPT)
2/16 Machine Learning Applied to Static Compilation  Slides (PPT)
2/18 Machine Learning Applied to Static Compilation (cont'd)   Slides (PPT)
2/23 MILEPOST GCC and Arch Design Space Exploration   Slides (PPT) (PPT)
2/25 Arch Explorer  Slides (PPT)
3/2 Applying Support Vector Machines for Intrusion Detection on Virtual Machines  Slides (PPT)
3/4 Phase Ordering (Sameer Kulkarni)
Open Problems in applying Machine learning to Compilers (EJ Park)
 
Sameer Slides (PPT)
EJ Slides (PPT)
3/4 Improving Both the Performance Benefits and Speed of Optimization Phase Sequence Searches (Sameer Kulkarni)
ACME: adaptive caching using multiple experts (Scott Grauer-Gray)
Sameer Slides (PPT)
Scott Slides (PPT)
3/11 How to Read, Critique, Write, and Present a Paper  Slides (PPT)
3/12 Recommended Talk : Adrian Tate (Talk Details)
3/16 CyberSecurity Guest Lecturers
Tom Barberio
Chase Cotton
Tom Slides (PPT)
Chase Slides (PPT)
3/18 SBMDS: an interpretable string based malware detection system using SVM ensemble with bagging (Akanksha Kaul)
Detection of unknown computer worms based on behavioral classification of the host (Sandeep D. Nagaraj)
Akanksha Slides (PPT)
Sandeep Slides (PPT)
3/23 A Blackboard-Based Learning Intrusion Detection System: A New Approach (Preeti Anday)
Automatic Software Fault Diagnosis by Exploiting Application Signatures (Suman Chander)
Preeti Slides (PPT)
Suman Slides (PPT)
3/25 Learning to detect phishing emails (Ashique Mahmood)
Iterative Optimization in the Polyhedral Model: Part I, One-Dimensional Time (Tom St. John)
Ashique Slides (PPT)
Tom Slides (PPT)
4/06 Finding Similar Failures Using Callstack Similarity (Sandeep Kumar Dhankar)
Learning to Detect and Classify Malicious Executables in the Wild (Ashwani Pratap Rao)
Sandeep Slides (PPT)
Ashwani Slides (PPT)
4/08 A Framework for Extrusion Detection Using Machine Learning (Koundinya Surepeddi)
A Neuroevolution Method for Dynamic Resource Allocation on a Chip Multiprocessor(Harman Patial)
Koundinya Slides (PPT)
Harman Slides (PPT)
4/13 Behavioral Classification (Rag Mayur Chevuri)
An SVM-based machine learning method for accurate internet traffic classification (Sandeep Kumar)
Rag Slides (PPT)
Sandeep Kumar Slides (PPT)
4/15 Behavioral Detection of Malware on Mobile Handsets (Suparna Manjunath)
Portable compiler optimization across embedded programs and microarchitectures using machine learning (Divya Muppaneni)
Suparna Slides (PPT)
Divya Slides (PPT)
4/20 Search-Based Techniques Applied to Optimization of Project Planning for a Massive Maintenance Project (Cagri Sahin)
Automatic Analysis of Malware Behavior using Machine Learning (Satyajeet Ballurkar)
Cagri Slides (PPT)
Satyajeet Slides (PPT)
4/22 Collective Optimization (Alparslan Sari)
Reducing Training Time in a One-shot Machine Learning-based Compiler (Muhsin Ugur)
Alparslan Slides (PPT)
Muhsin Slides (PPT)
4/27 Using Machine Learning to Guide Architecture Simulation (John Tully)
Exploring and Predicting the Architecture/Optimising Compiler Co-Design Space (Caghan Demirci)
John Slides (PPT)
Caghan Slides (PPT)

 

Projects

Most of your grade will come from a project which will total 60% of your grade. This project is mandatory. Each student is encouraged to form or find a group. We are aiming for groups of 2 to 3 developers. Plan on checkpointing your project with the instructor (showing your progress) at various stages during your project. You must checkpoint your project at least twice which includes a 20 minute private meeting with the instructor detailing your progress. These checkpoints will be part of your grade.

Due Dates:

Feb 23 :: Team Formation/Project 1 Idea
Mar 2 :: Paper list for your presentation. 3 options in priority order
Mar 1-3 :: Project 1 checkpoint
Mar 11 :: Project 1 due

Class Resources:

Syllabus Slides
Template for Talks
Template for Reviews
Student Presentations

Project Handouts

Project 1 Handout Here
Templates to use for Project Report