160 likes | 262 Views
Explore machine learning for solving complex system challenges in this course. Understand project options, structure of lectures, and grading criteria. Stimulate active learning and engage in practical projects. Collaboration and critical thinking emphasized.
E N D
John Cavazos Dept of Computer & Information Sciences University of Delaware www.cis.udel.edu/~cavazos/cisc879 Machine Learning for Solving Systems Problems Syllabus Slides
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
Lecture 1: Overview • Structure of Course • The Rest of the Course • Administrivia
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
Options for Project 1 • Iterative compilation • Architecture exploration • Cybersecurity • Other?
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)
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
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!
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
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
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
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!
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
Background/References • Compiler / Architecture / Machine learning background not required but helpful • No textbook for the class
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!
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!