Presentation is loading. Please wait.

Presentation is loading. Please wait.

CISC 879 - Machine Learning for Solving Systems Problems John Cavazos Dept of Computer & Information Sciences University of Delaware www.cis.udel.edu/~cavazos/cisc879.

Similar presentations


Presentation on theme: "CISC 879 - Machine Learning for Solving Systems Problems John Cavazos Dept of Computer & Information Sciences University of Delaware www.cis.udel.edu/~cavazos/cisc879."— Presentation transcript:

1 CISC 879 - Machine Learning for Solving Systems Problems John Cavazos Dept of Computer & Information Sciences University of Delaware www.cis.udel.edu/~cavazos/cisc879 Machine Learning for Solving Systems Problems Syllabus Slides

2 CISC 879 - Machine Learning for Solving Systems Problems Short Bio John Cavazos 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

3 CISC 879 - Machine Learning for Solving Systems Problems Lecture 1: Overview Structure of Course The Rest of the Course Administrivia

4 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

5 CISC 879 - Machine Learning for Solving Systems Problems Options for Project 1 Iterative compilation Architecture exploration Cybersecurity Other?

6 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) JikesRVM (www.jikesrvm.org) Rose compiler (www.rosecompiler.org) Open64 ( www.open64.net) PoCC ( http://www-roc.inria.fr/~pouchet/software/pocc/ ) Optimize, Run, Measure, Repeat Use different optimizations (or even different compilers)

7 CISC 879 - Machine Learning for Solving Systems Problems Project 1: Arch Exploration Search architecture configurations in a simulator Find best configuration for performance or energy Use one of the following infrastructures available Arch Explorer (www.archexplorer.org) SimpleScalar (www.simplescalar.com) Find best architecture configuration for a benchmark Vary different architecture components

8 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!

9 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

10 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

11 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

12 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!

13 CISC 879 - Machine Learning for Solving Systems Problems Several Related Venues Statistical and Machine learning approaches to ARchitecture and compilaTion Workshop (SMART) www.ctuning.org/workshop-smart10 international Workshop on Automatic Performance Tuning (iWAPT) www.iwapt.org Workshop on Tackling Computer Systems Problems with Machine Learning Techniques (SysML) www.usenix.org/event/sysml08/ Many major systems conferences publish work in this area! PLDI, CGO, ASPLOS, PACT, ISCA, MICRO, LCTES

14 CISC 879 - Machine Learning for Solving Systems Problems Background/References Compiler / Architecture / Machine learning background not required but helpful No textbook for the class

15 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!

16 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!


Download ppt "CISC 879 - Machine Learning for Solving Systems Problems John Cavazos Dept of Computer & Information Sciences University of Delaware www.cis.udel.edu/~cavazos/cisc879."

Similar presentations


Ads by Google