Computer System Architectures Computer System Software

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Multiple Processor Systems
Threads, SMP, and Microkernels
Distributed Systems CS
SE-292 High Performance Computing
Multiprocessors— Large vs. Small Scale Multiprocessors— Large vs. Small Scale.
Lecture 6: Multicore Systems
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Background Computer System Architectures Computer System Software.
Computer Systems/Operating Systems - Class 8
1 Threads, SMP, and Microkernels Chapter 4. 2 Process: Some Info. Motivation for threads! Two fundamental aspects of a “process”: Resource ownership Scheduling.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
Lecture 37: Chapter 7: Multiprocessors Today’s topic –Introduction to multiprocessors –Parallelism in software –Memory organization –Cache coherence 1.
DISTRIBUTED COMPUTING
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 1: Introduction.
Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E.
Parallel Processing – Page 1 of 63CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Symmetric Multiprocessors & Clusters Reading:
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Operating System 4 THREADS, SMP AND MICROKERNELS
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Data Warehousing 1 Lecture-24 Need for Speed: Parallelism Virtual University of Pakistan Ahsan Abdullah Assoc. Prof. & Head Center for Agro-Informatics.
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Operating Systems. Definition An operating system is a collection of programs that manage the resources of the system, and provides a interface between.
Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR
Types of Operating Systems
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Operating Systems CSE 411 Multi-processor Operating Systems Multi-processor Operating Systems Dec Lecture 30 Instructor: Bhuvan Urgaonkar.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
1 Threads, SMP, and Microkernels Chapter 4. 2 Process Resource ownership: process includes a virtual address space to hold the process image (fig 3.16)
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Copyright © 2011 Curt Hill MIMD Multiple Instructions Multiple Data.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
PARALLEL PROCESSOR- TAXONOMY. CH18 Parallel Processing {Multi-processor, Multi-computer} Multiple Processor Organizations Symmetric Multiprocessors Cache.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
Operating System 4 THREADS, SMP AND MICROKERNELS.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Outline Why this subject? What is High Performance Computing?
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 1.
1.1 Sandeep TayalCSE Department MAIT 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E.
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
Background Computer System Architectures Computer System Software.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level)
Page 1 2P13 Week 1. Page 2 Page 3 Page 4 Page 5.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Applied Operating System Concepts
Threads, SMP, and Microkernels
Chapter 17 Parallel Processing
Symmetric Multiprocessing (SMP)
Operating System Concepts
Lecture 4- Threads, SMP, and Microkernels
Operating System 4 THREADS, SMP AND MICROKERNELS
Introduction to Operating Systems
Multithreaded Programming
Operating Systems (CS 340 D)
Database System Architectures
Operating System Concepts
Presentation transcript:

Computer System Architectures Computer System Software Background Computer System Architectures Computer System Software

Computer System Architectures Centralized (Tightly Coupled) Distributed (Loosely Coupled)

Centralized v Distributed Centralized systems consist of a single computer Possibly multiple processors Shared memory A distributed system consists of multiple independent computers that “appear to its user as a single coherent system” Tanenbaum, p. 2 Defer discussion of distributed systems

Centralized Architectures with Multiple Processors (Tightly Coupled) All processors share same physical memory. Processes (or threads) running on separate processors can communicate and synchronize by reading and writing variables in the shared memory. SMP: shared memory multiprocessor/ symmetric multiprocessor

Symmetric Multiprocessor (SMP) A stand-alone computer system with the following characteristics: two or more similar processors of comparable capability processors share the same main memory and are interconnected by a bus or other internal connection scheme processors share access to I/O devices all processors can perform the same functions the system is controlled by an integrated operating system that supports interaction between processors and their programs

Organization of a Symmetric Multiprocessor

Drawbacks Scalability based on adding processors. Memory and interconnection network become bottlenecks. Caching improves bandwidth and access times (latency) up to a point but introduces consistency problems. Shared memory multiprocessors are not practical if large numbers of processors are desired.

NUMA: Non-Uniform Memory Access UMA: Uniform Memory Access One physical address space A memory module is attached to a specific CPU (or small set of CPUs) = node A processor can access any memory location transparently, but can access its own local memory faster. NUMA machines address the scalability issues of SMPs UMA: Uniform Memory Access Based on processor access time to system memory. All processors can directly access any address in the same amount of time. Symmetric Multiprocessors are UMA machines.

Multicore Computers Combine two or more complete processors (cores) on a single piece of silicon (die) In addition, multicore chips also include L2 cache and in some cases L3 cache In December, 2009 Intel introduced a 48-core processor which it calls a "single-chip cloud computer" (SCC) http://www.dailytech.com/article.aspx?newsid=16951

Computer System Software Operating Systems Middleware

System Software The operating system itself Compilers, interpreters, language run-time systems, various utilities Middleware (Distributed Systems) Runs on top of the OS Connects applications running on separate machines Communication packages, web servers, …

Operating Systems General purpose operating systems Real time operating systems Embedded systems

General Purpose Operating Systems Manage a diverse set of applications with varying and unpredictable requirements Implement resource-sharing policies for CPU time, memory, disk storage, and other system resources Provide high-level abstractions of system resources; e.g., virtual memory, files

Kernel The part of the OS that is always in memory Monolithic kernels versus microkernels Monolithic: all OS code is in a single program, which is the kernel. Microkernels: kernel contains minimal functionality; other functions provided by servers executing in user space Hybrid kernels: a mixture of the two approaches

Kernel Architectures Traditional: UNIX/Linux, Windows, Mac … Typically monolithic Non-traditional: Pure microkernels Extensible operating systems Virtual machine monitors Non-traditional kernels experiment with various approaches to improving the performance of traditional systems.

System Architecture and the OS Shared memory architectures have one or more CPUs Multiprocessor OS is more complex Master-slave operating systems SMP operating systems Distributed systems run a local OS and typically various kinds of middleware to support distributed applications

Effect of Architecture on OS SMP Multicore Distributed system

Symmetric Multiprocessor OS A multiprocessor OS must provide all the functionality of a multiprogramming system for multiple processors, not just one. Key design issues: Simultaneous concurrent processes or threads kernel routines need to be reentrant to allow several processors to execute the same kernel code simultaneously Scheduling any processor may perform scheduling, which complicates the task of enforcing a scheduling policy Synchronization with multiple active processes having potential access to shared address spaces or shared I/O resources, care must be taken to provide effective synchronization Memory management If pages are shared, processors must coordinate to ensure consistency and correct page replacements Reliability and fault tolerance the OS should provide graceful degradation in the face of processor failure

Design Issues for Multiprocessors True simultaneous execution Scheduling every processor can perform scheduling activities Synchronization Sharing memory Fault tolerance Should the OS be designed to handle failures

Multicore Issues - 1 Traditionally, operating systems multiplexed many sequential processes onto 1 or a few processors. With multicore chips a high degree of parallelism will be available even in small devices. The operating system must be able to harness this parallelism

Multicore Issues Kinds of parallelism Instruction level parallelism Support for multiprogramming on each core Users must be able to parallelize programs (multithreading) & OS must be able to schedule related threads in an intelligent manner.

Amdahl’s Law Speedup = time to run on 1 processor time on N parallel processors = 1 (1-f) + f / N where f is the amount of code that can be parallelized, with no overhead Not all code benefits from parallelization but certain categories of applications; e.g., games, database apps, JVM (it’s multithreaded); can take advantage of multiple cores.

SMP & Multicore Multicore issues echo those of SMP Multicore is SMP Multicore computers are faster and require less power than SMP with processors on separate chips. Faster because signals don’t travel as far

Some Multicore Resources Increased interest in new operating systems to utilize multicore technology: Barrelfish – Microsoft research/Eth Zurich http://www.barrelfish.org/#publications Article from MIT News: http://web.mit.edu/newsoffice/2011/multicore-series-2-0224.html Tesselation: a many-core OS (Berkeley) http://tessellation.cs.berkeley.edu/#

Distributed Systems Distributed systems do not have shared memory; communication is via messages. A distributed operating system would manage all computers in the network as if they were individual processors in a SMP i.e., user would be able to run parallelized programs without significant modification There’s no general purpose distributed OS – instead, middleware supports various distributed applications.