CS550. TA: TBA Office: xxx Office hours: TBA. Blackboard:

Similar documents
CENG4480 Lecture 09: Memory 1

Lecture 9: MIMD Architectures

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology

ECE468 Computer Organization and Architecture. Memory Hierarchy

Lecture 9: MIMD Architectures

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science.

CENG3420 Lecture 08: Memory Organization

Chapter 2. OS Overview

Algorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory I

Lecture 9: MIMD Architecture

CSC Memory System. A. A Hierarchy and Driving Forces

Distributed Operating Systems Fall Prashant Shenoy UMass Computer Science. CS677: Distributed OS

CMSC 411 Computer Systems Architecture Lecture 2 Trends in Technology. Moore s Law: 2X transistors / year

Algorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory II

CS 61C: Great Ideas in Computer Architecture. Direct Mapped Caches

Memory Hierarchy: Motivation

Distributed Computing. Santa Clara University 2016

Memory Hierarchy Technology. The Big Picture: Where are We Now? The Five Classic Components of a Computer

Memory Hierarchy: The motivation

LECTURE 10: Improving Memory Access: Direct and Spatial caches

Distributed Systems LEEC (2006/07 2º Sem.)

Data Centric Computing

ECE232: Hardware Organization and Design

Memory Hierarchy. Maurizio Palesi. Maurizio Palesi 1

Distributed and Operating Systems Spring Prashant Shenoy UMass Computer Science.

Introduction. Chapter 1

Chapter Seven Morgan Kaufmann Publishers

Recap: Machine Organization

06-Dec-17. Credits:4. Notes by Pritee Parwekar,ANITS 06-Dec-17 1

Chapter 18 Parallel Processing

Module 1: Basics and Background Lecture 4: Memory and Disk Accesses. The Lecture Contains: Memory organisation. Memory hierarchy. Disks.

Review: Performance Latency vs. Throughput. Time (seconds/program) is performance measure Instructions Clock cycles Seconds.

CSC501 Operating Systems Principles. OS Structure

COSC 6385 Computer Architecture. - Memory Hierarchies (I)

Memory Management! Goals of this Lecture!

CIT 668: System Architecture. Computer Systems Architecture

Technology. Giorgio Richelli

The Memory Hierarchy & Cache

CS 61C: Great Ideas in Computer Architecture. The Memory Hierarchy, Fully Associative Caches

Computer-System Organization (cont.)

Assignment 1 due Mon (Feb 4pm

Modern Computer Architecture

Spring 2011 Parallel Computer Architecture Lecture 4: Multi-core. Prof. Onur Mutlu Carnegie Mellon University

Three basic multiprocessing issues

Chapter 2: Computer-System Structures. Hmm this looks like a Computer System?

Uniprocessor Computer Architecture Example: Cray T3E

Computer Architecture. R. Poss

Concepts of Distributed Systems 2006/2007

Advanced Memory Organizations

Multiple Processor Systems. Lecture 15 Multiple Processor Systems. Multiprocessor Hardware (1) Multiprocessors. Multiprocessor Hardware (2)

Parallel Processing. Computer Architecture. Computer Architecture. Outline. Multiple Processor Organization

Memory Management! How the hardware and OS give application pgms:" The illusion of a large contiguous address space" Protection against each other"

CISC 662 Graduate Computer Architecture Lecture 16 - Cache and virtual memory review

CSE Opera+ng System Principles

Memory Management. Goals of this Lecture. Motivation for Memory Hierarchy

CS370 Operating Systems

Chapter Seven. Memories: Review. Exploiting Memory Hierarchy CACHE MEMORY AND VIRTUAL MEMORY

Memory hierarchy review. ECE 154B Dmitri Strukov

Performance COE 403. Computer Architecture Prof. Muhamed Mudawar. Computer Engineering Department King Fahd University of Petroleum and Minerals

Caches and Memory Hierarchy: Review. UCSB CS240A, Winter 2016

Page 1. Review: Address Segmentation " Review: Address Segmentation " Review: Address Segmentation "

CS162 Operating Systems and Systems Programming Lecture 13. Caches and TLBs. Page 1

Computer Organization & Assembly Language Programming. CSE 2312 Lecture 2 Introduction to Computers

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

The Memory Hierarchy & Cache Review of Memory Hierarchy & Cache Basics (from 350):

CS6453. Data-Intensive Systems: Rachit Agarwal. Technology trends, Emerging challenges & opportuni=es

Convergence of Parallel Architecture

Ian Foster, CS554: Data-Intensive Computing

PERFORMANCE MEASUREMENT

Memory Hierarchy. Maurizio Palesi. Maurizio Palesi 1

Computer Architecture A Quantitative Approach, Fifth Edition. Chapter 2. Memory Hierarchy Design. Copyright 2012, Elsevier Inc. All rights reserved.

Chapter 5. Large and Fast: Exploiting Memory Hierarchy

Administrivia. CMSC 411 Computer Systems Architecture Lecture 8 Basic Pipelining, cont., & Memory Hierarchy. SPEC92 benchmarks

Multiprocessing and Scalability. A.R. Hurson Computer Science and Engineering The Pennsylvania State University

Caches and Memory Hierarchy: Review. UCSB CS240A, Fall 2017

TDP3471 Distributed and Parallel Computing

CS152 Computer Architecture and Engineering Lecture 17: Cache System

CS162 Operating Systems and Systems Programming Lecture 10 Caches and TLBs"

LECTURE 5: MEMORY HIERARCHY DESIGN

EEC 483 Computer Organization

The Sluice Gate Theory: Have we found a solution for memory wall?

TDT 4260 lecture 3 spring semester 2015

Cache Memories. From Bryant and O Hallaron, Computer Systems. A Programmer s Perspective. Chapter 6.

Distributed Systems. Overview. Distributed Systems September A distributed system is a piece of software that ensures that:

Multiprocessors and Thread Level Parallelism Chapter 4, Appendix H CS448. The Greed for Speed

Chapter 5. Large and Fast: Exploiting Memory Hierarchy

Shared Memory and Distributed Multiprocessing. Bhanu Kapoor, Ph.D. The Saylor Foundation

ECE331: Hardware Organization and Design

Chapter 6 Caches. Computer System. Alpha Chip Photo. Topics. Memory Hierarchy Locality of Reference SRAM Caches Direct Mapped Associative

Memory Hierarchy, Fully Associative Caches. Instructor: Nick Riasanovsky

Donn Morrison Department of Computer Science. TDT4255 Memory hierarchies

Outline Marquette University

Lecture 24: Memory, VM, Multiproc

SMD149 - Operating Systems - Multiprocessing

Overview. SMD149 - Operating Systems - Multiprocessing. Multiprocessing architecture. Introduction SISD. Flynn s taxonomy

Cache Memory and Performance

Chapter 5. Large and Fast: Exploiting Memory Hierarchy

Locality. CS429: Computer Organization and Architecture. Locality Example 2. Locality Example

The Memory System. Components of the Memory System. Problems with the Memory System. A Solution

Lecture 2: Memory Systems

Transcription:

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 2 Page 1

Future Computing: Human-centered Service A new IT booming is coming They are connected to form `smart space Devices become smaller and powerful Grids link `smart spaces to support `global smartness A device is an entry of the cyber world X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 2

What Is Computer Science? Computer science is laying the foundations and developments the real search paradigms and scientific methods for the exploration of the world of information and intellectual processes that are not directly governed by physical laws. By Juris Hartimanis, Turing Award Lecture Such people (computer scientists) are especially good at dealing with situations where different rules apply in different cases; they are individuals who can rapidly change levels of abstraction, simultaneously seeing things in the large and in the small. By Donald Knuth, Turing Award Lecture X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 3

What Is an OS? An OS is a program that manages various computer resources A program that acts as an interface between users and bare hardware Resources: CPU(s), memory, file systems, I/0, etc. OS: software or hardware? X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 4

End User Programmer Application Programs Utilities Operating System Operating System Designer Computer Hardware Figure 1 Layers and views of a computer system X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 5

Evolution of Operating Systems Systems with single CPU Multitasking, multiprogramming Systems with many CPUs Parallel processing and multiprocessors Networking and distributed systems X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 6

Technology Impacts CPU Technology getting faster and less expensive, Moore s law used to be time-sharing (overhead for context switching) Now space-sharing: systems with multiple CPUs Multi-core, many-core architecture Memory Technology (memory wall) Unbalanced technology advance X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 7

Processor-memory performance gap Processor performance increases rapidly Uni-processor: ~52% until 2004, ~25% since then New trend: multi-core/manycore architecture Intel TeraFlops chip, 2007 Aggregate processor performance much higher Memory: ~9% per year Processor-memory speed gap keeps increasing Performance 100,000 10,000 1,000 100 10 1 25% Source: Intel Multi-core/many-core processor Uni-rocessor 1980 1985 1990 1995 2000 2005 2010 Year Memory 52% 20% 60% 9% Source: OCZ X.Sun (IIT) CS546 Lecture 2 Page 8

Memory Hierarchy Multiple levels of memory hierarchy Level closer to the CPU is faster to access Cache memories work well if spatial and temporal locality exists among data accesses X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 9

Memory Hierarchy Deeper levels of cache memory Large memories are slow, fast memories are small. processor datapath Registers control On chip Cache Second level cache (SRAM) Main memory (DRAM) Secondary storage (Disk) Tertiary storage (Disk/Tape) Speed (ns): 1ns 10ns 100ns 10 ms 10 sec Size (bytes): 32KB 1-2MB 1-8GB 20-200GB TB X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 10

Registers L1 Cache L2 Main Memory remote memory Disk Cache remote disk Magnetic Disk Magnetic Tape Optical Disk Contemporary memory hierarchy X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 11

The Principle of Locality The Principle of Locality: Programs access a relatively small portion of the address space at any instant of time. Two Different Types of Locality: Temporal Locality (Locality in Time): If an item is referenced, it will tend to be referenced again soon (e.g., loops, reuse) Spatial Locality (Locality in Space): If an item is referenced, items whose addresses are close by tend to be referenced soon (e.g., straight line code, array access) Cache Block or Cache Line Last 20 years, HW relied on locality for speed X.Sun (IIT) CS546 Lecture 2 Page 12

Technology Impacts (cont d) Disk (I/O wall) large capacity, slow access time was the most expensive item in computers file system file storage Storage is one of those technologies that we tend to take for granted. And yet, if we look at the true status of things today, storage is king. One can even argue that servers, which have become commodities, are now becoming peripheral to storage devices. --Michael Vizard X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 13

I/O Bottleneck Bryant and O Hallaron, Computer Systems: A Programmer s Perspective, Prentice-Hall 2003 X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 14

Technology Impacts (cont d) Power Consumption (power wall) Moore s law Green computing Networking (local area networks) Speed increases faster than computing speed diskless workstations memory/disk sharing rather than CPU sharing Remote data access X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 15

What Are We Doing with the Total System Silicon? Silicon Area Distribution Routers 3% Processors 3% Random 8% Routers 33% Power Distribution Random 2% Memory 9% Memory 86% Processors 56% X.Sun (IIT) CS546 Lecture 2 Page 16 Courtesy of Peter K ogge, U N D

Latency Lags Bandwidth (last ~20 years) 10000 CPU high, Memory low ( Memory Wall ) 1000 Relative BW 100 Improve ment 10 1 Memory Processor Network Disk (Latency improvement = Bandwidth improvement) 1 10 100 Relative Latency Improvement Performance Milestones Processor: 286, 386, 486, Pentium, Pentium Pro, Pentium 4 (21x,2250x) Ethernet: 10Mb, 100Mb, 1000Mb, 10000 Mb/s (16x,1000x) Memory Module: 16bit plain DRAM, Page Mode DRAM, 32b, 64b, SDRAM, DDR SDRAM (4x,120x) Disk : 3600, 5400, 7200, 10000, 15000 RPM (8x, 143x) X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 17

Networking (Distributed Systems) A distributed system is a collection of processors that do not share memory or a clock. Each processor has its own local memory. The processors in the system are connected through a communication network. A distributed system provides user access to various system resources. Access to a shared resource allows: - Computation speed-up - Increased data availability - Enhanced reliability X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 18

Parallel Processing Parallel Processing Several working entities work together toward a common goal Parallel Processing A kind of information processing that emphasizes the concurrent manipulation of data elements belonging to one or more processes solving a single problem Parallel Computer A computer designed for parallel processing X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 19

Multiprocessors: Shared-Memory Multiprocessors Uniform Memory Access (UMA) NonUniform Memory Access(NUMA) X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 20

Multiprocessors: Distributed-Memory Multiprocessors Note: NO HARDWARE SUPPORT FOR REMOTE MEMORY ADDRESSING X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 21

Homogeneous Multicomputer Systems a) 2D-mesh b) Hypercube 1-9 X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 22

Hardware Concepts Parallel and Distributed Systems tightly coupled loosely coupled Multiprocessors (fast hw network) Multicomputers (slow hw network) Shared-Memory Multiprocessors Distributed-Memory Multiprocessors Homogeneous Multicomputers Heterogeneous Multicomputers UMA NUMA Network of Workstation Workstation Cluster PC Cluster Distributed Systems X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 23

Software Concepts User applications Operating system Hardware Virtual machine interface Physical machine interface Operating system: Interface between users and hardware Implements a virtual machine that is easier to program than raw hardware Primary functions: Services: file system, virtual memory, networking, CPU scheduling, Coordination: concurrency, memory protection, security, networking, X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 24

Uniprocessor Operating Systems Microkernel architecture Small kernel user-level servers implement additional functionality X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 25

Multiprocessor Operating Systems Like a uniprocessor operating system Manage multiple CPUs transparently to the user Each processor has its own hardware cache Maintain consistency of cached data Scalability issues Shared variable versus message passing X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 26

Multicomputer Operating Systems More complex than multiprocessor OS Because communication has to be through explicit message passing 1.14 X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 27

Network Operating System 1-19 X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 28

Network Operating System Employs a client-server model Minimal OS kernel Additional functionality as user processes 1-20 X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 29

Network-Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by Remote logging into the appropriate remote machine. Transferring data from remote machines to local machines, via the File Transfer Protocol (FTP) mechanism. X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 30

Distributed Operating System Users not aware of multiplicity of machines. Manages resources in a distributed system Seamlessly and transparently to the user Looks to the user like a centralized OS But operates on multiple independent CPUs Provides transparency Location, migration, concurrency, replication, Presents users with a virtual uniprocessor X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 31

Middleware-based Systems General structure of a distributed system as middleware. 1-22 X.Sun (IIT) CS550: Advanced OS Lecture 2 Page 32