Machine Learning for Efficient Computing Systems
Graduated Course, UNC-Charlotte, Computer Science Department, 2023
Course Schedule and Organization
Paper Study
Main Paper | Relevant paper | Presenters | Slides |
---|---|---|---|
The Case for a Learned Sorting Algorithm | Optimizing sorting with machine learning algorithms | Pranitha Kotla | Link |
Automatic Database Management System Tuning Through Large-scale Machine Learning | A Demonstration of the OtterTune Automatic Database Management System Tuning Service | Wesley Wotring | Link |
Instance-Optimized Data Layouts for Cloud Analytics Workloads | Self-Organizing Data Containers | Soumen Sahoo | Link |
Learning Scheduling Algorithms for Data Processing Clusters | Resource Management with Deep Reinforcement Learning | Atharva Bapat | Link |
A Machine Learning Approach to Mapping Streaming Workloads to Dynamic Multicore Processors | End-to-end Deep Learning of Optimization Heuristics | Wangjiaxuan Xin | Link |
SchedInspector: A Batch Job Scheduling Inspector Using Reinforcement Learning | RLScheduler: an automated HPC batch job scheduler using reinforcement learning | Yihe Wang | Link |
Accelerating Serverless Computing by Harvesting Idle Resources | Scheduling of Time-Varying Workloads Using Reinforcement Learning | Xiangcheng Wu | Link |
Carver: Finding Important Parameters for Storage System Tuning | Towards Better Understanding of Black-box Auto-Tuning: A Comparative Analysis for Storage Systems | Shreya Biswas | Link |
AIOC: A deep Q-learning approach to autonomic I/O congestion control in Lustre | CAPES: Unsupervised Storage Performance Tuning Using Neural Network-Based Deep Reinforcement Learning | Chris Egersdoerfer | Link |
Doomsday: predicting which node will fail when on supercomputers | Desh: Deep Learning for System Health Prediction of Lead Times to Failure in HPC | Uzochi Dimkpa | Link |
Bliss: Auto-tuning Complex Applications using a Pool of Diverse Lightweight Learning Models | Bootstrapping Parameter Space Exploration for Fast Tuning | Jonathan Lorray | Link |
Cache Miss Rate Predictability via Neural Networks | Learning Memory Access Patterns | Tanusri Bhowmick | Link |
AuTO: Scaling Deep Reinforcement Learning for Datacenter-Scale Automatic Traffic Optimization | Reinforcement Learning for Datacenter Congestion Control | Trevon Williams | Link |
The Case for Automatic Database Administration using Deep Reinforcement Learning | Too Many Knobs to Tune? Towards Faster Database Tuning by Pre-selecting Important Knobs | Hrushikesh Pappuri | Link |
External Materials
- Algorithms With Prediction (ALPS): Paper List
Syllabus
1.1 General Info
Welcome to the Topics in Intelligent Systems: Machine Learning for Efficient Computing Systems course. This is a course for “senior Master students or Ph.D. students”.
- Metadata
- Face-to-Face
- Flexible Attendance Requirements
- All the materials, including slides and assignments, will be posted online
- Instructor:
- Dong Dai WWH 210B.
- Lecture Hour and Place:
- 1:00PM - 2:15PM Tuesday and Thursday @ Burson 118
- Office Hour:
- 2:30PM - 3:30PM Tuesday @ WWH 210B
- Textbook: No required textbook
If you want to email me regarding this course, please include your 800/801 number and the course number (ITCS 6050/8050) in the email subject.
1.2 Course Objectives and Outcomes
At the end of this class, you will be able to
- Learn key challenges in building computing systems
- Practice machine learning to optimize computing systems
- Practice deep learning frameworks such as Pytorch for training and building models for system optimization
Some extra you will learn
- Understand the state-of-the-art studies on "ML for System"
- Grasp a sense of what need to be considered in "ML for System"
- Conduct projects on relevant topics
1.3 Prerequisites
- Working knowledge of Machine Learning
- Working knowledge of Computing Systems
- Proficiency in Python
1.4 Course Organization
We will cover the following topics in this course:
Machine Learning
- Deep Learning, CNN, RNN (Using Pytorch)
- Reinforcement Learning (Using Pytorch-based Implementation)
Computing Systems
- ML for Data Structure Design
- ML for Resource Management and Scheduling
- ML for Prediction and Decision Making
- ML for Tuning
1.5 Grading
Final grades will be determined as follow:
- Midterm Project: 20%
- Final Project Report: 40%
- Final Project Presentation: 40%
Grading Scale
- 90% and above: A
- 80% to 89.99%: B
- 70% to 79.99%: C
- 60% to 69.99%: D
- Below 60%: F
1.6 Late Submission Policy
- *No late submission will be accepted
- Special Exceptions: COV19-relevant issues (see later COV19 Issues section)
1.7 Obtain Help
For remote teaching, students must get help during the semester. We provide the following measures to help:
- Email. The instructor and the TA are always available for you! Send emails to us!
- If you have questions that are related to your particular cases, such as questions about your grades or a fine point on a programming assignment that would require you to disclose your entire assignment, then feel free to ask those by email. We may redirect questions that can serve the whole class to the Piazza.
1.8 COV19 Issues
- This semester is new to all of us, we are dedicated to helping. We hope to provide maximal flexibility to you.
- It is the policy of UNC Charlotte for the Fall 2020 semester that as a condition of on-campus enrollment, all students are required to engage in safe behaviors to avoid the spread of COVID-19 in the 49er community. Such behaviors specifically include the requirement that all students properly wear CDC-compliant face coverings (CDC-compliant face coverings!) while in buildings including in classrooms and labs. Failure to comply with this policy in the classroom or lab may result in dismissal from the current class session. If the student refuses to leave the classroom or lab after being dismissed, the student may be referred to the Office of Student Conduct and Academic Integrity for charges under the Code of Student Responsibility (Code of Student Responsibility!).
- For absences related to COVID-19, please adhere to the following:
- Complete your Niner Health Check each morning.
- Do not come to class if you are sick. Please protect your health and the health of others by staying home. Contact your healthcare provider if you believe you are ill.
- If you are sick: If you test positive or are evaluated by a healthcare provider for symptoms of COVID-19, indicate so on your Niner Health Check to alert the University. Representatives from Emergency Management and/or the Student Health Center will follow up with you as necessary. Submit a copy of your Niner Health Check notification email to your instructors.
- If you have been exposed to COVID-19 positive individuals and/or have been notified to self-quarantine due to exposure, indicate so on your Niner Health Check to alert the University. Representatives from Emergency Management and/or the Student Health Center will follow up with you as necessary. Submit a copy of your Niner Health Check notification email to your instructors.
- To return to class after being absent due to a period of self-quarantine, students should submit a copy of their Niner Health Check clearance email to their instructor(s). To return to class after being absent due to a COVID-19 diagnosis, students should submit an online request form (Online Request Form!) to Student Assistance and Support Services (SASS). Supporting documentation can be attached directly to the request form and should be from a student's health care provider or the Student Health Center, clearly indicating the dates of absences and the date the student is able to return to class. Instructors will be notified of such absences.
- If you are affected by COV19, we will be as flexible as possible to help you go through them, including providing remote learning resources, extending assignment deadlines, or providing extra exams.
- More university resources for COV19 related issues:
1.9 Course Policy
- Class Conduct: I will conduct this class in an atmosphere of mutual respect. I encourage your active participation in class discussions. Each of us may have strongly differing opinions on the various topics of class discussions. The conflict of ideas is encouraged and welcome. The orderly questioning of the ideas of others, including mine, is similarly welcome. However, I will exercise my responsibility to manage the discussions so that ideas and argument can proceed in an orderly fashion. You should expect that if your conduct during class discussions seriously disrupts the atmosphere of mutual respect I expect in this class, you will not be permitted to participate further.
- Course Material Use: All lectures and course material will be available on Canvas. Students must check the website periodically for postings and announcements. Lectures and course materials, including videos, presentations, tests, exams, outlines, and similar materials, are protected by copyright. Students may take notes and make copies of course materials for their educational use. However, students may not, nor may they knowingly allow others to reproduce or distribute lecture notes and course materials publicly without the express written consent of the instructor(s). This includes providing materials to commercial courses material suppliers such as CourseHero and other similar services. Students who publicly distribute or display or help others publicly distribute or display copies or modified copies of an instructor's course materials may be in violation of University Policy 406, The Code of Student Responsibility.
- Laptop computer: Students are required to use a web-enabled device in order to participate in online exams. Students that do not own a laptop could consider borrowing one from the library
- Academic Integrity: Students are expected to follow the UNC Charlotte Code of Student Academic Integrity for all class activities, assignments, and tests. This includes following all of the instructions given by the course instructor, TAs, and other test proctors. All tests must be completed in the testing area. Here is a link to the code if you need to refresh your memory: http://legal.uncc.edu/policies/up-407! (Links to an external site.)Links to an external site. All cases of academic misconduct will be reported to the Dean of Students Office.
- Missed tests: No makeup tests will be permitted if you miss a test without either a certified medical excuse or prior instructor approval. Tests missed with certified medical excuses or prior instructor approval will be dealt with on a case-by-case basis.
- Grading: If a student believes an error has been made in grading, he/she must bring it to the instructor.
- Disability services: UNC Charlotte is committed to access to education. If a student has a disability and needs academic accommodations, the student must provide a letter of accommodation from Disability Services early in the semester. For more information on accommodations, students may contact the Office of Disability Services at 704-687-0040 or visit their office in Fretwell 230.
- Non-discrimination: No student will be discriminated against in this class based on age, race, nationality, religion, sexual orientation, gender identity/expression, veteran’s status, country of origin, or group affiliation. Any student who does not behave in a respectful manner may be asked to leave the classroom. Continuous or repeated disrespectful behavior will be considered to be creating a hostile environment, which constitutes a violation to the University Policy 406, Code of Student Responsibility. Such a student will be referred to the Office of Student Conduct or the Title IX Office. Based on such referral, the Director or designee will determine whether a Formal Charge(s) shall be pursued and whether the Formal Charge(s) constitutes a Minor Violation or a Serious Violation, based on the Student’s prior record or facts and circumstances related to the case.
- Class environment: hate-based language is not tolerated in your classroom. Students who observed such behaviors can report at: https://bart.uncc.edu/reporting-bias-incident!
- Instructors' commitment: Students can expect their instructor to be courteous, respectful, and punctual; be well organized and prepared for class; answer questions clearly and in a non-negative fashion; be available during office hours or notify students beforehand if she is unable to keep them.
- Syllabus Revisions: The course instructor may modify standards and requirements set forth in this syllabus at any time. Notice of such changes will be by the announcement in Canvas and any changes to this syllabus posted in the Canvas course.