CS550 • Advanced Operating Systems (Distributed Operating Systems) • Instructor: Xian-He Sun – Email: sun@iit.edu, Phone: (312) 567-5260 – Office hours: 1:30pm-2:30pm Tuesday, Thursday at SB229C, or by appointment • TA: TBA – Email: xxx@iit.edu – Office: xxx – Office hours: TBA • Blackboard: – http://blackboard.iit.edu • Class Web site – http://www.cs.iit.edu/~sun/cs550.html X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 1 Outline • Course information • Key issues of distributed operating systems • Hardware concepts – Multiprocessors – Multicomputers – Distributed systems • Software concepts – – – – Uniprocessor OS Distributed OS Network OS Middleware X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 2 What This Course is About • Understanding the fundamental concepts of distributed operating system, and distributed systems in general • Learning distributed programming techniques – Multithreading, RPC, RMI, Sockets, MPI, etc. • Understanding the general principles of distributed paradigms – MPI, JINI, NFS, Web Service, Grid, etc. X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 3 Prerequisite • CS450 “Operating Systems” • Familiar with – Programming in C/C++ or Java – UNIX tools and development environment • Command • Editors (vi, emacs), compilers (gcc), makefiles (GNU make) – Networking programming • Sockets • Multithreaded • RPC, Java RMI – Basic concepts of computer architecture X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 4 Course Materials • Required: – “Distributed Systems: Principles and Paradigms (2nd edition)” by Tannenbaum and Van Steen, Pearson/Prentice Hall 2007 • Recommended: – “Distributed Systems: Concepts and Design (4th edition)” by George Coulouris, Jean Dollimore, and Tim Kindberg, Addison-Wesley, 2005 • Supplemental readings – “Virtual Machines: Versatile Platforms for Systems and Processes” by Jim Smith and Ravi Nair, Morgan Kaufmann, 2005 X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 5 Misc. Course Details • You are expected to attend all of the lectures and presentations • Grading – Written and programming assignments (35%): individual work – One exam (35%) – Final project (30%): individual or group with 2-3 students • Use the course blackboard – – – – – Announcements Lecture notes Assignments Discussion … X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 6 Policies • Collaboration – Encouraged for high level concepts and understanding the courses materials – but ….. • Cheating – Copying all or part of another student's homework – Allowing another student to copy all or part of your homework – Copying all or part of code found in a book, magazine, the Internet, or other resource X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 7 Any Questions? X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 8 Personal Introduction • Research interests – Middleware – High End Computing – Performance Analysis and Modeling • Research group: – Scalable Computing Software Laboratory (SCS) – http://www.cs.iit.edu/~scs/ – Weekly Research seminar X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 9 Distributed Computing at SCS Many workstations are made available for graduate students X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 10 Scalable Computing Software (SCS) Lab. Distributed Optical Testbed (Grid) NU-C UIC ANL NU-E Star Tap IIT Uof C NCSA/UIUC Parallel Computers at SCS I-WIRE OMNI Pervasive Computing Environments at SCS X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 11 Scalable Systems • A computer system is called scalable if it can scale up to accommodate ever-increasing performance and functionality demand • A software is called scalable if it can maintain its functionality and efficiency while the underlying computer system and problem scale up X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 12 Evolution of Computing Bigger becomes even bigger Smaller becomes ever smaller, & connected Japan’s Earth Simulator •640 processor nodes (PNs) •Each PN is a system with 8 vector-type arithmetic processors (APs) •Peak performance 40Tflops approx; 50m x 65m x 17m 1.4m x1m x 2m X.Sun (IIT) . CS546 Lecture 1 Page 13 Scalable Computing The way to high performance The fastest supercomputer in November 2007 Scalable ultracomputer targeted for 106,496 compute nodes BlueGene/L is now running with 212992 processors and 478.2 TFlops on LINPACK Peak performance: 596 TFlops BlueGene / L X.Sun (IIT) CS546 Lecture 1 Page 14 Multicore Add Another Dimension IBM Multicore • Cell – 1 PPE and 8 SPEs – Shared L2 cache – EIB • Power6 – Dual core – 5 GHz X.Sun (IIT) CS546 Lecture 1 Page 15 Multi-Core • Motivation for Multi-Core – – – – • Exploits improved feature-size and density Increases functional units per chip (spatial efficiency) Limits energy consumption per operation Constrains growth in processor complexity Challenges resulting from multi-core – Aggravates memory wall • Memory bandwidth – – • • – Need for parallel computing model and parallel programming model Pins become strangle point • • – Memory latency Fragments L3 cache Relies on effective exploitation of multiple-thread parallelism • – Way to get data out of memory banks Way to get data into multi-core processor array Rate of pin growth projected to slow and flatten Rate of bandwidth per pin (pair) projected to grow slowly Requires mechanisms for efficient inter-processor coordination • • • Synchronization Mutual exclusion Context switching X.Sun (IIT) CS546 Lecture 2 Page 16 16 Distributed Computing: What is the new Supercomputers become ever powerful Communities of “Virtual organizations” are formed No VO possesses all required skills and resources From “community sharing” to “information grid” X.Sun (IIT) CS546 Lecture 1 Page 17 Integrated VOs: the Grid Mimic the electrical power grid Increased Efficiency Higher Quality of Service Increased Productivity Reduced Complexity & Cost Improved Resiliency X.Sun (IIT) CS546 Lecture 1 Page 18 The Challenge of Grid Computing Virtualization and Resource Management Many sources of data, services, computation RM Discovery R R RM Access Registries organize services of interest to a community RM RM Security Security service service Data integration activities may require access to, & exploration/analysis of, data at many locations X.Sun (IIT) Security & policy must underlie access & management decisions CS546 RM Resource management is needed to ensure progress & arbitrate competing demands Policy Policy service service Exploration & analysis may involve complex, multi-step workflows Lecture 1 Page 19 Cloud Computing Mimic the electrical power grid Increased Efficiency Higher Quality of Service Increased Productivity Reduced Complexity & Cost Improved Resiliency X.Sun (IIT) CS546 Lecture 1 Page 20 What is Cloud Computing? • A computing paradigm in which tasks are assigned to a combination of connections, software and services accessed over a network • The network of servers and connections is collectively known as the cloud • Other terms – Mesh Computing – Elastic Cloud Computing – Network Computing X.Sun (IIT) 2009-1-21 CS546 Lecture 1 Page 21 21 What are the diff. between Cloud & Grid? A commercial version of Grid computing More likely under single management (VO) More likely provide computing resources than resource sharing More like to serve lots of modest size jobs billions of dollars being spent by the likes of Amazon, Google, and Microsoft to create real commercial grids The prospect of needing only a credit card to get on-demand access to 100,000+ computers in tens of data centers distributed throughout the world X.Sun (IIT) 2009-1-21 CS546 Lecture 1 Page 22 22 Cloud: Integrated Resource Provide virtual computing environments on demand X.Sun (IIT) CS546 Lecture 1 Page 23 X.Sun (IIT) CS546 Lecture 1 Page 24 Virtualization and Virtual Machine • Virtual service and virtual machine: the key for data center and Cloud computing • Virtual machine (in distributed environment): A hosting platform where each user can create and operate in a private machine(s), based on Grid/distribute infrastructure, achieving: – – – – – Virtualization Isolation and Protection Privacy Accountability and QoS On-demand creation and provisioning X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 25 Distributed (Dynamic) Virtual Machine DVM Virtual service node DVM’ DVM Host (physical) X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 26 Virtualization: Key Technique • Two-level OS structure – – • Strong isolation – – – – • Host OS Guest OS Administration isolation Installation isolation Fault / attack Isolation Recovery, migration, and reconfiguration DVMS1 DVMSn … Guest OS Guest OS Virtual service node – – – DVM Service (DVMS) Guest OS Internetworking enabled Host OS One DVM host Embedded Systems: What is the new • Devices become smaller and more powerful • Devices are coordinated via network • From “autonomous computing” to coordinated “humancenter computing” X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 28 Pervasive Computing MIT’s view of pervasive computing X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 29 Evolution of Computing Federated Communities Virtualization Standardization Uneven Conditions Remote Comm. Coordination High Availability Security & Fault Tolerance Grid Computing Distributed Computing Mobile Mobility Mobile Network Adaptive & Reflective Energy Aware system X.Sun (IIT) Global Smart Space (Cloud) Pervasive Computing Computing Smart Space Invisibility Localized Scalability Context Awareness CS550: Advanced OS Lecture 1 Page 30 Service Oriented Computing Computing as a service Started far apart in applications & technology Have been converging WSRF WS-I Compliant Technology Stack • Internet computing: Convergence of Core Technology Standards allows Common base for Business and Technology Services Web service • Grid computing: Grid service and is merging with WS • Pervasive computing: Human centered service • Mobile computing: Phone service X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 31 Future Computing: Human-centered Service A new IT booming is coming They are connected to form `smart space’ Grids link `smart spaces’ to support `global smartness’ Devices become smaller and powerful A device is an entry of the cyber world X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 32 The Third Wave of Computing Revolutions • Network, communication, and interconnectivity • Begin in the late 90s until now • Machine/machine, software/software, people/people • Anytime, anywhere, WWW • The communications landscape is shifting • Promising but a continued work How do we get there? – Many Challenges ahead! X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 33 Resource Management & Task Scheduling • DVM provider selection: – Among a set of DVM providers, which one should be chosen to host an DVM? • DVMS selection: – Among a set of potential tenants (DVMSes), which ones to host? (for QoS, resource utilization, security…) • The Grid Harvest Service (GHS) System – A long-term application-level performance prediction and task scheduling system for nondedicated distributed (Grid) environments – Reservation-based versus shared resources – Good, but more issues, such as QoS, FT, need to solve X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 34 Processor-memory performance gap • Processor performance increases rapidly • Intel TeraFlops chip, 2007 – Aggregate processor performance much higher 100,000 Multi-core/many-core processor 10,000 Uni-rocessor 20% 1,000 52% 100 25% 10 1 1980 • Memory: ~9% per year • Processor-memory speed gap keeps increasing Memory 1985 1990 1995 2000 2005 2010 Year The Memory-wall problem requires a rethinking of the design of OS X.Sun (IIT) 60% Source: Intel Performance – Uni-processor: ~52% until 2004, ~25% since then – New trend: multi-core/manycore architecture CS546 Source: OCZ Lecture 1 Page 35 9% Gordon Moore’s Law “the number of transistors that can be fabricated on a single integrated circuit at a reasonable cost doubles every year…” • How? – Material techniques such as extreme ultraviolet lithography (<100 nm) • Corollary – Processor speed doubles at same rate • Problem – Moore’s law almost hits its limitation – Then , what X.Sun (IIT) is the impact? who and which technology will lead? CS546 Lecture 1 Page 36 Any Questions? X.Sun (IIT) CS550: Advanced OS Lecture 1 Page 37