Download presentation
Presentation is loading. Please wait.
Published byPriscilla Lawson Modified over 8 years ago
1
EECS 582 Introduction Mosharaf Chowdhury EECS 582 – F1619/7/16
2
Today’s Agenda Administrivia Topics we will and won’t cover Project requirements and milestones Project ideas EECS 582 – F1629/7/16
3
About the Instructor Mosharaf Chowdhury Assistant Professor Ph.D. from UC Berkeley in 2015 http://www.mosharaf.com/ Research interests span Networked systems and networking in the context of big data applications and cloud computing infrastructure The core tenet being “application-infrastructure symbiosis” A quick overview of my recent work follows; email/talk to me to know more! 9/7/16EECS 582 – F163
4
Big Data The volume of data businesses want to make sense of is increasing Increasing variety of sources Web, mobile, wearables, vehicles, scientific, … Cheaper disks, SSDs, and memory Stalling processor speeds 9/7/16EECS 582 – F164
5
Big Datacenters for Massive Parallelism 9/7/16EECS 582 – F165 200520102015 MapReduce Hadoop Spark Hive Dryad DryadLINQ Spark-Streaming GraphX GraphLab Pregel Storm Dremel BlinkDB
6
1. Application-Aware Networking Big data applications transfer large volumes of data with a unique communication characteristic Communication stage cannot complete until all the individual communication have completed Coflow is a new networking abstraction to exploit this characteristic CODA: Toward Automatically Identifying and Scheduling COflows in the Dark, SIGCOMM’16CODA: Toward Automatically Identifying and Scheduling COflows in the Dark Efficient Coflow Scheduling Without Prior Knowledge, SIGCOMM’15Efficient Coflow Scheduling Without Prior Knowledge Efficient Coflow Scheduling with Varys, SIGCOMM’14Efficient Coflow Scheduling with Varys Managing Data Transfers in Computer Clusters with Orchestra, SIGCOMM’11Managing Data Transfers in Computer Clusters with Orchestra 9/7/16EECS 582 – F166
7
2. Multi-Resource Allocation How do we allocate resources between tenants to optimize fairness, to increase datacenter efficiency, and to improve performance? Altruistic Scheduling in Multi-Resource Clusters, OSDI’16Altruistic Scheduling in Multi-Resource Clusters HUG: Multi-Resource Fairness for Correlated and Elastic Demands, NSDI’16HUG: Multi-Resource Fairness for Correlated and Elastic Demands FairCloud: Sharing the Network in Cloud Computing, SIGCOMM’12FairCloud: Sharing the Network in Cloud Computing How do we increase fault-tolerance of applications while meeting bandwidth demands? Surviving Failures in Bandwidth-Constrained Datacenters, SIGCOMM’12Surviving Failures in Bandwidth-Constrained Datacenters 9/7/16EECS 582 – F167
8
3. Big Data Systems Storage and Caching EC-Cache: Load-Balanced, Low-Latency Cluster Caching with Online Erasure Coding, OSDI’16EC-Cache: Load-Balanced, Low-Latency Cluster Caching with Online Erasure Coding Leveraging Endpoint Flexibility in Data-Intensive Clusters, SIGCOMM’13Leveraging Endpoint Flexibility in Data-Intensive Clusters Big data applications can be made faster if they are in-memory, but how do we make in-memory computations fault-tolerant? Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In- Memory Cluster Computing, NSDI’12 (Best Paper)Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In- Memory Cluster Computing Apache Spark! 9/7/16EECS 582 – F168
9
What About You? Please fill out the form at https://goo.gl/forms/UMjgGBjm2lFFRbBz2 by this weekend https://goo.gl/forms/UMjgGBjm2lFFRbBz2 9/7/16EECS 582 – F169
10
Waitlist Status As of today: 27 registered, 15 on waitlist Tentative course limit: 25 Everyone must participate! Waitlist priority: CS PhD, CS Master’s, Other PhD, the rest Others should check with the instructor Typically, not advisable for undergrads If you are not planning to take the class, please drop ASAP EECS 582 – F16109/7/16
11
Course Schedule Webpage: http://www.mosharaf.com/eecs582/http://www.mosharaf.com/eecs582/ Meetings 3PM – 4:30 PM (Mon/Wed for lectures and discussions) 3:00PM – 4:00PM (Fri for makeups and projects) Pay attention to the online announcements and schedule On average, two meetings per week Friday makeups will be added on a need-to-add basis EECS 582 – F16119/7/16
12
Prerequisites EECS 482 (Introduction to Operating Systems) Basics of OS organization, threads, memory management, file systems, scheduling, networking, etc. Equivalent course of EECS 482 is acceptable as well Good programming skills Build substantial systems for course project Questions Have you taken a grad-level systems (e.g., OS, networking) course before? Have you worked on large systems-building project? EECS 582 – F16129/7/16
13
Course Requirements Paper Reviews20% Paper Presentation15% Participation10% Midterm Exam15% Final Project40% EECS 582 – F16139/7/16
14
Readings 38 papers across Operating Systems venues like SOSP and OSDI (Networked) Systems venues like NSDI and EuroSys Networking venues like SIGCOMM Many of these papers are classics, test-of-time award winners, and best-paper award winners EECS 582 – F16149/7/16
15
Paper Reviews This is a paper-reading course Paper reviews account for 20% of the total grade 31 summaries to write What goes in a good summary? Highlight two strengths Highlight two weaknesses Describe the entire paper in three sentences EECS 582 – F16159/7/16
16
Paper Reviews Reviews must be submitted electronically 24 hours before the class Submission site: http://eecs582.eecs.umich.edu/papers/http://eecs582.eecs.umich.edu/papers/ You can miss at most four without any penalty Each missing one beyond that will result in 25% decrease in grade for this segment Meaning, missing eight or more will result in 0% for the “Paper Reviews” segment of your grade Read (if you haven’t already!) How to Read a Paper by S. KeshavHow to Read a Paper Writing Reviews for Systems Conferences by Timothy RoscoeWriting Reviews for Systems Conferences EECS 582 – F16169/7/16
17
Paper Presentation This is a seminar-style course Each student must present at least one paper; some might be presented by two Paper presentation account for 15% of the total grade Two papers per class and 20-minutes presentation for each Sharp 20 minutes; we start clapping! Followed by discussion anchored by the presenters What should go in a useful presentation? Motivate Highlight the key ideas and insights; skip the details Lead the discussion Go through the strengths and weaknesses from the paper review EECS 582 – F16179/7/16
18
Paper Presentation Email your slides to the instructor 24 hours before the class Use the template on the course website Prepare early Practice a lot Also, read How to Give a Bad Talk, by David A. PattersonHow to Give a Bad Talk EECS 582 – F16189/7/16
19
Paper Review Website http://eecs582.eecs.umich.edu/papers/ 9/7/16EECS 582 – F1619
20
Participation Attend all lectures Can miss at most two with legitimate reasons Read all the papers and participate Ask questions! EECS 582 – F16209/7/16
21
Midterm One take-home midterm exam Includes everything we’d read up to the exam There will be a review before the midterm Questions about important parts of papers, such as “How does System X provide fault-tolerance?” Questions about important concepts, such as “How would you design a starvation-free scheduler?” EECS 582 – F16219/7/16
22
Project The biggest component of this course Pick an interesting problem. Why is it important? What has already been done? Why are they not enough? Develop a hypothesis about how you’d improve it. Intuitively, why will your approach work? Build a substantial prototype. Experiment, measure, and compare against the state-of-the-art EECS 582 – F16229/7/16
23
Before We Move On… No extensions Slides will be posted after the class Everyone must come after reading all the assigned papers Lecture starts at Michigan time Quick summary by the instructor Presentation of typically two papers Followed by a short break Presenters lead discussions on the papers we’ve read and related topics 9/7/16EECS 582 – F1623
24
Today’s Agenda Administrivia Topics we will and won’t cover Project requirements and milestones Project ideas EECS 582 – F16249/7/16
25
What is a Computer? A collection of resources Processing, memory, storage, and network Enables people to get things done Can take many forms Raspberry Pi, mobile phones, tablets, laptops, workstations Large clusters, entire datacenters We’ll primarily consider 1.Individual, self-sufficient computers [First half] 2.Collection of such machines as a computer [Second half] 9/7/16EECS 582 – F1625 Memory Bus Ethernet SATA PCIe
26
Topics We Will Cover Traditional Computer Classics OS, Kernels, VMs Concurrency, Scheduling File Systems, Storage Memory Management Networking Datacenter as a Computer Programming models Datacenter OS Resource allocation/scheduling File system Memory management Network Scheduling 9/7/16EECS 582 – F1626
27
Topics We Won’t Cover Details of many topics we cover Most of them can have its own course Networking protocols Traditional high-performance Computing (HPC) Distributed systems issues Consistency, quorums etc. Compilers and languages Security 9/7/16EECS 582 – F1627
28
How to Make a Computer… Easy to use? High performance? Fault-tolerant/reliable? Scalable? Extendable? Useful? 9/7/16EECS 582 – F1628
29
Abstractions, Interfaces, and Programming Models Allows clients/users/programmers to use/access some resource or component through an implementation Most overlooked, yet (arguably) the most important Dictates how things are done Should be simple and narrow, yet complete and easy/intuitive to use Often conflicting Shouldn’t restrict implementations for specific goals 9/7/16EECS 582 – F1629
30
Performance When is it enough? At what cost? Driven primarily by bottlenecks Latency numbers every programmer should know (by Colin Scott) http://www.eecs.berkeley.edu/~rcs/research/interactive_latency.html http://www.eecs.berkeley.edu/~rcs/research/interactive_latency.html Parallelism at every layer Multiple CPUs, memory banks, disks, NICs Multiple computers! 9/7/16EECS 582 – F1630
31
Concurrency and Scheduling Who can run in parallel? Who should run when? Within one machine and across many How to handle failures and races? Complexity increases with concurrency How to provide consistency? What type of consistency anyway? We won’t cover What is the correct behavior? 9/7/16EECS 582 – F1631
32
Reliability and Fault Tolerance Failure is the norm How do we keep things running when failure inevitably happens? How much failure can we tolerate? What are the fault domains? Where to handle failure? Expose to the user and avoid redundancy Hide from the user and avoid complexity No right answer; it depends 9/7/16EECS 582 – F1632
33
Scalability Especially relevant for datacenter-scale computers Distributed vs. centralized design Traditional view: centralized designs cannot scale GFS @ 2003: Single master file system for thousands of machines in Google Again, it depends How do we decide? Look at the tradeoff 9/7/16EECS 582 – F1633
34
Virtualization Virtual machines Isolation and security Heterogeneity of OSes and applications Fast deployment and migration Heavyweight solution Containers Lightweight VMs (logically) Networks are being virtualized as well Software-defined networking (SDN) and network function virtualization (NFV) 9/7/16EECS 582 – F1634
35
Persistent and Volatile Storage Managing data on a single disk Handling corruptions and failure RAID: Redundant Array of Inexpensive Disks on individual machines Replication on cluster file systems Memory Management Virtual memory, paging, and caching 9/7/16EECS 582 – F1635
36
The Role of the Network Relevant for distributed setups like clusters, datacenters, or resource-disaggregated machines Faster doesn’t always translate to better if we are not judiciously using it Hence, application-infrastructure symbiosis 9/7/16EECS 582 – F1636
37
Break! 9/7/16EECS 582 – F1637
38
Today’s Agenda Administrivia Topics we will and won’t cover Project requirements and milestones Project ideas EECS 582 – F16389/7/16
39
Projects This is a research-oriented course! The final project accounts for 40% of total grades Done in groups of 2 to 3 students What can and cannot be a project? Just surveys are not allowed. In fact, each project must include a survey of related work and background An ideal project should answer the questions you asked during paper reviews and points you cared about for presentations Measurements of new environments or of existing solutions on new environments are acceptable upon discussion EECS 582 – F16399/7/16
40
How to Approach it? 1.Find a problem and motivate why this is worth solving 2.Survey background and related work to get a sense of your (friendly!) competition Might require you to go back to the first step 3.Form/update your hypothesis 4.Test your hypothesis Go back to 3 until you are happy 5.Present your findings on poster and in writing Discuss known limitations EECS 582 – F16409/7/16
41
Milestones DateMilestoneDetails ASAPForm GroupFind 2-3 like-minded students 09/23/16Draft ProposalSend your proposal by email 10/07/16Finalize Proposal After a back-and-forth discussions with the instructor 11/14/16 11/16/16 Mid-Semester Presentations Define and motivate a problem, survey related work, and form initial hypothesis and idea 12/12/16 Poster Presentations Present your findings in a poster session 12/16/16Research paper Submit a report similar to the papers you read EECS 582 – F16419/7/16
42
Draft Proposal Two pages including references that ideally includes What is the problem? Why is it important to solve? Any initial thoughts on what you want to do? How would you evaluate your solution? Include team members Meaning, form a group ASAP Schedule via email a 15-minute meeting to discuss EECS 582 – F16429/7/16
43
Finalized Proposal Two pages including references that must include What is the problem? Why is it important to solve? Any initial thoughts on what you want to do? How would you evaluate your solution? Approved by the instructor and agreed upon by you Forms the basis of expectation EECS 582 – F16439/7/16
44
Mid-Semester Presentation In-class short presentation over two days This is to make sure you are making progress Must include What is the problem? Why is it important? What are the most related work? What’s your hypothesis so far? How are/will you evaluate it? EECS 582 – F16449/7/16
45
Final Poster and Paper Posters are a good way to interact with others and get feedback Mileage may vary, but its important to be able to talk about what you do Research paper The key part Should be written similar to the papers you’ve read As if you’d submit it to a workshop with ~3 more months of work or to a conference after ~6 more months of work How to Write a Great Research Paper by Simon Peyton JonesHow to Write a Great Research Paper EECS 582 – F16459/7/16
46
Rough Outline Abstract Introduction (Highlight the importance and give intuition of solution) Motivation (Use data and simple examples) Overview (Summarize your overall solution so that readers can follow later) Core Idea (Main contribution w/ challenges and how you address them) Implementation (Discuss non-obvious parts of your implementation) Evaluation (Convince readers that it works and when it fails) Related Work (Let readers know that you know your competition!) Discussion (Know your limitations and possible workarounds) Conclusion (Summarize and point out future work) EECS 582 – F16469/7/16
47
Today’s Agenda Administrivia Topics we will and won’t cover Project requirements and milestones Project ideas EECS 582 – F16479/7/16
48
Next Class… Read the assigned papers Including today’s short reads if you haven’t already Everything related to your projects for this course Please fill out https://goo.gl/forms/UMjgGBjm2lFFRbBz2 by Fridayhttps://goo.gl/forms/UMjgGBjm2lFFRbBz2 This includes your presentation preference Try to decide if you’ll drop, before you fill it Create account at http://eecs582.eecs.umich.edu/papers/ ASAPhttp://eecs582.eecs.umich.edu/papers/ 9/7/16EECS 582 – F1648
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.