Machine Learning for Solving Systems Problems Syllabus Slides
Machine Learning for Solving Systems Problems Syllabus Slides John Cavazos Dept of Computer & Information Sciences University of Delaware www. cis. udel. edu/~cavazos/cisc 879 CISC 879 - Machine Learning for Solving Systems Problems
Short Bio • John Cavazos <cavazos@cis> • Assistant Professor, CIS • Research • Applying machine learning to hard systems problems • Compiling for advanced architectures • Interplay between compiler and architecture • Nitty-gritty things that happen in compiler back-ends • Rethinking fundamental structure of optimizing compilers CISC 879 - Machine Learning for Solving Systems Problems
Lecture 1: Overview • Structure of Course • The Rest of the Course • Administrivia CISC 879 - Machine Learning for Solving Systems Problems
Structure of the Course • First 5 -8 lectures by me! • Student presentations (30 mins. ) • • More about this later. Two Projects • • Team projects (2 or 3 per team) Project reports due for Project 1 and 2 • • Amount of work proportional to size of team Presentation due (if time permits) for Project 2 CISC 879 - Machine Learning for Solving Systems Problems
Options for Project 1 • Iterative compilation • Architecture exploration • Cybersecurity • Other? CISC 879 - Machine Learning for Solving Systems Problems
Project 1: Iterative compilation • Optimize a program using iterative compilation • Improve code running on multicores or GPUs • Use one of the following infrastructures available • • Milepost GCC (www. ctuning. org) • Jikes. RVM (www. jikesrvm. org) • Rose compiler (www. rosecompiler. org) • Open 64 (www. open 64. net) • Po. CC (http: //www-roc. inria. fr/~pouchet/software/pocc/) Optimize, Run, Measure, Repeat • Use different optimizations (or even different compilers) CISC 879 - Machine Learning for Solving Systems Problems
Project 1: Arch Exploration • Searchitecture configurations in a simulator • Find best configuration for performance or energy • Use one of the following infrastructures available • • Arch Explorer (www. archexplorer. org) • Simple. Scalar (www. simplescalar. com) Find best architecture configuration for a benchmark • Vary different architecture components CISC 879 - Machine Learning for Solving Systems Problems
Project 1: Cybersecurity • Extract characteristics of malware • Look at the following • Malware database (malwaredatabase. net) • Our own database (ask instructor) • Use static analysis or binary instrumentation tools • Cluster / Visualize program characteristics • Likely have to use your own computer for this! CISC 879 - Machine Learning for Solving Systems Problems
Project 1: Your own research! • Suggest a project involving your own research • Will have to convince your team members • Only by approval of instructor • Has to solve a “systems” problem CISC 879 - Machine Learning for Solving Systems Problems
Project 1 (cont’d) • Goal : Familiarization with an environment • Deliverables: • 1) Project Report • 2 page per team member (No Fluff!) • Template available online (font size, margins, etc. ) • 2) Experience Reports • 5 minute presentation describing positives/negatives Handout available next week • This week: Try out systems from previous slide • CISC 879 - Machine Learning for Solving Systems Problems
Project 2 • Can be a continuation of project 1 or a change • Must be a more in-depth project • 2 checkpoints • • • Checkpoint 1: Proposal to instructor • Checkpoint 2: Mid-point status Project Report (~4 pgs per team member) • Conference paper format • Project presentation (if time permits) Handout available in a couple weeks CISC 879 - Machine Learning for Solving Systems Problems
Basis for Grading • Paper Presentation (25%) • Review 2 papers (15%) • • 1 page per review (sample reviews available online) Projects (60%) • Project 1 (20%) • • Project report / Experience presentation reports Project 2 (40%) • Checkpoints / Project report / presentation (if time permits) No Midterm or Final! CISC 879 - Machine Learning for Solving Systems Problems
Several Related Venues • Statistical and Machine learning approaches to ARchitecture and compila. Tion Workshop (SMART) • • international Workshop on Automatic Performance Tuning (i. WAPT) • • www. iwapt. org Workshop on Tackling Computer Systems Problems with Machine Learning Techniques (Sys. ML) • • www. ctuning. org/workshop-smart 10 www. usenix. org/event/sysml 08/ Many major systems conferences publish work in this area! • PLDI, CGO, ASPLOS, PACT, ISCA, MICRO, LCTES CISC 879 - Machine Learning for Solving Systems Problems
Background/References • • Compiler / Architecture / Machine learning background not required but helpful No textbook for the class CISC 879 - Machine Learning for Solving Systems Problems
Project Guidelines • • Project reports should be • Well-written and formatted correctly • Properly referenced • Results should be presented with graphs • Intellectual merit most important factor Negative result is fine • However, must demonstrate something interesting Think of this as a conference submission! CISC 879 - Machine Learning for Solving Systems Problems
Expectations • Class participation • Ask questions • Challenge all speakers. • NOT a lecture class or a passive experience. ACTIVE learning. • Most common project problem: Not getting started • Ask for help if you need it! • I will hold office hours in my lab (Smith 102). • Require lab visits to show me status! CISC 879 - Machine Learning for Solving Systems Problems
- Slides: 16