Introduction. Distributed Systems. Introduction. Introduction. Instructor Brian Mitchell - Brian

Size: px
Start display at page:

Download "Introduction. Distributed Systems. Introduction. Introduction. Instructor Brian Mitchell - Brian"

Transcription

1 Distributed 1 Directory 1 Cache Directory 2 Cache N Directory N Interconnection Network... Cache N N Instructor Brian Mitchell - Brian bmitchel@mcs.drexel.edu Course Information CS721 - Tuesday 6-9 M Online Information lease check course web page several times per week. The web page will be my primary mechanism for communicating: Special and Emergency Information (posted by 12:00 noon on day of the class) Syllabus Assignments Exam Information Solutions to roblems Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 1 Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 2 Course Objective Investigate distributed systems with an emphasis on distributed operating systems Review research in the area of distributed systems and distributed systems architecture Textbook None required Distributed Operating by Tannenbaum is optional Selected research papers Additional References References to additional material will be provided as the material is reviewed Homework s, rojects, Exams Assignments & rogramming rojects: Homework's involving the design and implementation of small programs to illustrate distributed systems concepts will be regularly assigned(consult web page). Based on difficulty, you will have 1-2 weeks to complete each assignment. For this course you may develop programming solutions using the Java, C or C++ programming language Midterm and Final: There will be no scheduled exams for this course, however, this may change. Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 3 Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 4 1

2 Outline of Topics Grading The following distribution will be used to determine your final grade in this course: 85%: rogramming roject 15%: Research aper resentation olicies All homework and programming assignments are individual efforts, unless specifically stated otherwise in the assignment definition. You may use your colleagues for advice, however, all assignments must be your original work Late assignments will be penalized 10% per week. Makeup exams will take the form of an oral exam or an alternative test (in-class or take-home). Distributed systems Distributed systems architecture Data communications RC Group Communications Scalability Fault Tolerance (Reliability, Availability) Clustering Distributed Synchronization Distributed Shared Cache Coherence Distributed File Distributed Components EJB, CORBA, DCOM Brian Mitchell - Distributed 5 Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 6 Teaching Approach We will first cover material pertinent to a distributed systems subject area in lecture When appropriate we will review one or more research papers related to a subject area Whenever possible online copies of the research papers will be provided You may be required to go to the library and photocopy a copy of some papers that I will place on reserve Distributed systems are useful because they offer: Scalability, Reliability, Flexibility/Expandability Distributed system designers must overcome many complex challenges Maintaining distributed time Fault tolerance (Reliability and Availability) Efficient scalability More capacity Correct operation Managing consistency among distributed devices Good performance Generally we want a distributed system to appear as one large non-distributed system from the users perspective Sometimes we want distributed systems to be act as parallel machines to run parallel algorithms Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 7 Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 8 2

3 Distributed Distributed Why distributed systems? Since the early days of computers engineers have been able to dramatically improve the price/performance of computer systems How: Advances in hardware technology Software that takes advantage of, and requires powerful hardware Can this trend continue? We are now starting to see the limits of the laws of physics effect the performance of microprocessor designs Not able to send signals to all areas of a chip in a single clock cycle Must add buffers to chips Question: How can engineers continue to scale up hardware designs? Answer: Add multiple processors to computer system designs and allow the processors to work together to improve the overall computing capacity of the computer How: Leverage advances in hardware and network design to enable independent processors to efficiently work together Today most distributed system have very few processors (< 64, but typically < 16) The future distributed systems will have thousands of processors Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 9 Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 10 Flavors of Distributed Challenges roprietary Multiple processors connected together using a proprietary bus, network or backplane Networked Use general purpose computers that communicate using standard network technologies Non-proprietary networked distributed systems are now possible by having commercially available high bandwidth LAN and WAN s 1Gbit/sec or better Consider how the Internet can enable a distributed system Example: The Berkley SETI project In the Operating (CS720) course we discussed a rationale for an OS Directly interfacing user programs with hardware is COMLEX Building programs for specific computer architectures is not portable If every program included code to interface with the computer hardware Redundancy Inconsistent quality Inefficient use of resources DESIRE => Shield programmers from the complexity of the hardware OS is a layer that sits on top of the hardware OS provides an interface or virtual macninethat is easy to understand and program Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 11 Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 12 3

4 Challenges The challenges for a distributed system are consistent with that of a centralized (nondistributed) system However, distributed systems are more complex then centralized systems Coordination Issues Synchronization Issues Communication Issues Heterogeneity Issues Desire is to have a distributed system architecture and a distributed operating system to handle and abstract these complex tasks Goal: Have systems software (the OS ) handle the complex tasks and provide the user (and programmers) with a simple interface to the distributed system Definition of a Distributed System A distributed system is a collection of independent computers that appear to the users of the system as a single computer Fundamental aspects of the distributed system definition Computers are autonomous (independent) Users think of the system as a single computer Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 13 Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 14 Distributed System Example Consider a office where each user has their own computer In addition to each users personal workstation there may be an additional pool of processors that are dynamically assigned to users on an as-needed basis rovides additional processing power on demand Commands can be executed as follows: On the users personal computer On another computer available on the network In parallel on multiple processors that are available on the network Key oint: Enable users to dynamically grow their capacity and execute commands in the most appropriate mode to ensure maximal efficiency and performance Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 15 Distributed Applications There are some applications that inherently lead themselves to be supported by a distributed system Inventory Example Consider a company with many stores Each store keeps a real-time accounting of their current inventory eriodically all of the individual stores inventory needs to be interrogated by the central branch Solution: Make a distributed system where the complete system looks like a single computer to application programs. However each store has its own computer to store and manage its own data for fast access Also allow an individual store to check on the inventory of another store Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 16 4

5 Advantages of Distributed Economics Many microprocessors that cooperatively work together offer better price/performance then a single large mainframe computer Speed A distributed system may have more total computing power then a mainframe Inherent Distribution Some applications involve spatially separated machines Reliability If one machine crashes, the system as a whole can still survive Incremental Growth Computing power can be added in small increments Advantages of Distributed over Isolated C s Data Sharing We desire to allow many users access a common data base Device Sharing Allow many users to share expensive peripherals like color laser printers Communication Make human-to-human communications easier (e.g., ) Flexibility Spread the workload over the available machines in the most cost effective ways The popularity of LAN, WAN, MAN and the Internet networks now makes distributed systems using standard C hardware possible Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 17 Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 18 Disadvantages of Distributed Although distributed systems have many advantages, there are significant disadvantages Most are attributed to the relative youth of distributed system Software Little software exists at present for distributed systems The network can saturate or cause other problems Bandwidth forces design decisions Network reliability is an issue Security Managing security on a distributed system is complex New technologies such as Kerberous, LDA, ondemand and KI are now becoming commercially available Distributed System Hardware Distributed systems consist of multiple CU s There are many different ways that distributed systems can be organized Especially relevant on how the CU s are interconnected and how they communicate Classification SISD: Single CU, Single data stream. Examples: Traditional C s, Mainframes SIMD: Single CU, Multiple data stream Useful in systems that repeat the same calculation multiple times (e.g., matrix multiplication) Examples: Supercomputers, Vector processors MISD: Multiple CU s, Single data stream No known systems exist MIMD: Multiple CU s, Multiple data streams MIMD is widely utilized in distributed systems Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 19 Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 20 5

6 MIMD Architectures MIMD Architectures come in several flavors Design alternatives Bus or Switched (Interconnectivity) Loosely or Tightly coupled (Bandwidth) Tightly Coupled MIMD arallel and Distributed Computers Loosely Coupled Tightly Coupled Multiprocessors Tightly coupled multiprocessors traditionally share a single memory among many CU s is connected to the CU s either using a bus or a switching fabric Shared Multiprocessors (Shared BUS Switched Multicomputers (rivate BUS Switched Interconnection Network (BUS or Switch) Cache 1 Cache Cache N N Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 21 Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 22 Loosely Coupled Multicomputers Loosely Coupled Multicomputers Loosely coupled multicomputers traditionally network together a collection of CU s that each contain a private memory Interconnection between the CU s is accomplished by either a standard or proprietary (high-speed backplane) network May use a shared media(bus) or a switching mechanism (ATM) Loosely coupled multicomputers typically are connected with low bandwidth when compared to their tightly coupled counterparts ATM Switch Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 23 Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 24 6

7 BUS-Based Interconnectivity Bus based distributed systems are typically useful with a relatively low number of CU s (< 64) Bus based interconnectivity may be accomplished by using: Standard LAN technology (10,16,100Mbit/Sec) Low speed dialup or leased line connectivity (33Kbit - T1) roprietary network (> 1Gbit/Sec) The bus is shared among all processors in the distributed system May lead to congestion because only one processor at a time can use the bus Need a mechanism to manage and allocate processors the bus Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 25 Switched Interconnectivity Switching technology is used to build large distributed systems Switching technology scales well because multiple processors can concurrently communicate over the communication channel Switching supports very high bandwidth Switch M M M M CROSSBAR Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 26 S S S S M M M M 2 X 2 SWITCH Distributed Software Network Operating Software is very critical to a distributed system The image that a system presents to its users and how they think about the system is largely determined by the operating system software Like hardware there are several classifications of distributed operating systems Network Operating Distributed Operating Multiprocessor Timesharing Operating Without a distributed operating system the user is responsible for managing the distributed environment Very complex, this is what an OS is suppose to handle Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 27 Operating system must manage individual workstations, file servers and the network connection between them File servers are used as to contain a repository of data that can be shared among the workstations connected to the network Each machine may run the same or different operating system Clients and servers must agree on the data exchange format (network protocol) Network operating systems are most commonly found in traditional LAN environments Windows NT Netware Unix Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 28 7

8 True Distributed The operating system provides the illusion that all of the distributed processors in the distributed environment act as a single timesharing system Virtual uni-processor Must be a single global interprocess communication mechanism Any process can talk to any other process, irregardless of where the processes are running Consistent process management policies are required Consistent file system image The file system must look the same everywhere even though individual files are based on different computers Multiprocessor Timesharing Single run queue that coordinates processes that are executing on distributed processes Good when central coordination is required Good when processes are highly compute bound Shared Interconnection Network (BUS or Switch) Cache 1 1 Cache 2 2 Centralized Run Queue... Cache N N Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 29 Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 30 Comparing Distributed Operating Does it look like a virtual uniprocessor Do all processors run the same OS How many copies of the OS are there How is communication achieved Are agreed upon network protocols required How many run queues are there Does the sharing have well-defined semantics Network OS NO YES YES NO YES YES N N 1 Shared Files & Messages Messages Shared YES YES YES N N 1 Usually NO Distributed OS YES Multiprocessor OS YES Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 31 Caches Uniprocessor computers utilized cache memories to speedup execution The same holds true in distributed systems Although cache memory offers significant performance improvements, the use of caches in distributed systems can cause problems Must make sure that a consistent view of memory is provided to all processors in the system Need cache coherence protocols Bus snooping Directory based Single and distributed directories We will talk about cache coherence in detail later in the term Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 32 8

9 Design Issues for Distributed There are many design issues that are important when considering how to achieve a single system image in a distributed environment Transparency System designers fool users into thinking a collection of computers is a single timesharing system Flexibility System should be able to be logically configured in a flexible manner Reliability System should be able to tolerate one or more failures in the distributed environment Scalability System should scale well and limit the amount of central control Fundamental roperties of Distributed No machine has complete information about the global distributed systems state Individual machines make decisions based only on local information Failure of one machine does not ruin the algorithm There is no implicit assumption that a global clock exists Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 33 Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 34 References Distributed Operating, Andrew Tannenbaum, rentice Hall Advanced Computer Architecture - arallelism, Scalability & rogrammability, Kai Hwang, McGraw Hill Computer Architecture and Organization, Hayes, McGraw Hill Brian Mitchell (bmitchel@mcs.drexel.edu) - Distributed 35 9

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

06-Dec-17. Credits:4. Notes by Pritee Parwekar,ANITS 06-Dec-17 1 Credits:4 1 Understand the Distributed Systems and the challenges involved in Design of the Distributed Systems. Understand how communication is created and synchronized in Distributed systems Design and

More information

Introduction. Operating Systems. Introduction. Introduction. Introduction

Introduction. Operating Systems. Introduction. Introduction. Introduction Operating Systems User OS Kernel & Device Drivers Interface Programs Instructor Brian Mitchell - Brian bmitchel@mcs.drexel.edu www.mcs.drexel.edu/~bmitchel TA - To Be Announced Course Information MCS720

More information

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science.

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science. Distributed Operating Systems Spring 2008 Prashant Shenoy UMass Computer Science http://lass.cs.umass.edu/~shenoy/courses/677 Lecture 1, page 1 Course Syllabus CMPSCI 677: Distributed Operating Systems

More information

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

Distributed Operating Systems Fall Prashant Shenoy UMass Computer Science.   CS677: Distributed OS Distributed Operating Systems Fall 2009 Prashant Shenoy UMass http://lass.cs.umass.edu/~shenoy/courses/677 1 Course Syllabus CMPSCI 677: Distributed Operating Systems Instructor: Prashant Shenoy Email:

More information

Computer Organization. Chapter 16

Computer Organization. Chapter 16 William Stallings Computer Organization and Architecture t Chapter 16 Parallel Processing Multiple Processor Organization Single instruction, single data stream - SISD Single instruction, multiple data

More information

Distributed and Operating Systems Spring Prashant Shenoy UMass Computer Science.

Distributed and Operating Systems Spring Prashant Shenoy UMass Computer Science. Distributed and Operating Systems Spring 2019 Prashant Shenoy UMass http://lass.cs.umass.edu/~shenoy/courses/677!1 Course Syllabus COMPSCI 677: Distributed and Operating Systems Course web page: http://lass.cs.umass.edu/~shenoy/courses/677

More information

Chapter 18 Parallel Processing

Chapter 18 Parallel Processing Chapter 18 Parallel Processing Multiple Processor Organization Single instruction, single data stream - SISD Single instruction, multiple data stream - SIMD Multiple instruction, single data stream - MISD

More information

Organisasi Sistem Komputer

Organisasi Sistem Komputer LOGO Organisasi Sistem Komputer OSK 14 Parallel Processing Pendidikan Teknik Elektronika FT UNY Multiple Processor Organization Single instruction, single data stream - SISD Single instruction, multiple

More information

Distributed OS and Algorithms

Distributed OS and Algorithms Distributed OS and Algorithms Fundamental concepts OS definition in general: OS is a collection of software modules to an extended machine for the users viewpoint, and it is a resource manager from the

More information

Crossbar switch. Chapter 2: Concepts and Architectures. Traditional Computer Architecture. Computer System Architectures. Flynn Architectures (2)

Crossbar switch. Chapter 2: Concepts and Architectures. Traditional Computer Architecture. Computer System Architectures. Flynn Architectures (2) Chapter 2: Concepts and Architectures Computer System Architectures Disk(s) CPU I/O Memory Traditional Computer Architecture Flynn, 1966+1972 classification of computer systems in terms of instruction

More information

Lecture 9: MIMD Architectures

Lecture 9: MIMD Architectures Lecture 9: MIMD Architectures Introduction and classification Symmetric multiprocessors NUMA architecture Clusters Zebo Peng, IDA, LiTH 1 Introduction A set of general purpose processors is connected together.

More information

Lecture 9: MIMD Architectures

Lecture 9: MIMD Architectures Lecture 9: MIMD Architectures Introduction and classification Symmetric multiprocessors NUMA architecture Clusters Zebo Peng, IDA, LiTH 1 Introduction MIMD: a set of general purpose processors is connected

More information

Client Server & Distributed System. A Basic Introduction

Client Server & Distributed System. A Basic Introduction Client Server & Distributed System A Basic Introduction 1 Client Server Architecture A network architecture in which each computer or process on the network is either a client or a server. Source: http://webopedia.lycos.com

More information

Lecture 1: January 22

Lecture 1: January 22 CMPSCI 677 Distributed and Operating Systems Spring 2018 Lecture 1: January 22 Lecturer: Prashant Shenoy Scribe: Bin Wang 1.1 Introduction to the course The lecture started by outlining the administrative

More information

Lecture 1: January 23

Lecture 1: January 23 CMPSCI 677 Distributed and Operating Systems Spring 2019 Lecture 1: January 23 Lecturer: Prashant Shenoy Scribe: Jonathan Westin (2019), Bin Wang (2018) 1.1 Introduction to the course The lecture started

More information

Lecture 9: MIMD Architecture

Lecture 9: MIMD Architecture Lecture 9: MIMD Architecture Introduction and classification Symmetric multiprocessors NUMA architecture Cluster machines Zebo Peng, IDA, LiTH 1 Introduction MIMD: a set of general purpose processors is

More information

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

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology Distributed Systems Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology Chapter 1: Introduction Distributed Systems Hardware & software Transparency Scalability Distributed

More information

Distributed Operating System Shilpa Yadav; Tanushree & Yashika Arora

Distributed Operating System Shilpa Yadav; Tanushree & Yashika Arora Distributed Operating System Shilpa Yadav; Tanushree & Yashika Arora A Distributed operating system is software over collection of communicating, networked, independent and with physically separate computational

More information

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture. Lecture 9: Multiprocessors

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture. Lecture 9: Multiprocessors Computer and Information Sciences College / Computer Science Department CS 207 D Computer Architecture Lecture 9: Multiprocessors Challenges of Parallel Processing First challenge is % of program inherently

More information

CSCI 4717 Computer Architecture

CSCI 4717 Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Symmetric Multiprocessors & Clusters Reading: Stallings, Sections 18.1 through 18.4 Classifications of Parallel Processing M. Flynn classified types of parallel

More information

Parallel Processors. Session 1 Introduction

Parallel Processors. Session 1 Introduction Parallel Processors Session 1 Introduction Applications of Parallel Processors Structural Analysis Weather Forecasting Petroleum Exploration Fusion Energy Research Medical Diagnosis Aerodynamics Simulations

More information

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

Distributed Systems LEEC (2006/07 2º Sem.) Distributed Systems LEEC (2006/07 2º Sem.) Introduction João Paulo Carvalho Universidade Técnica de Lisboa / Instituto Superior Técnico Outline Definition of a Distributed System Goals Connecting Users

More information

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

Distributed Systems. Overview. Distributed Systems September A distributed system is a piece of software that ensures that: Distributed Systems Overview Distributed Systems September 2002 1 Distributed System: Definition A distributed system is a piece of software that ensures that: A collection of independent computers that

More information

Lecture 24: Virtual Memory, Multiprocessors

Lecture 24: Virtual Memory, Multiprocessors Lecture 24: Virtual Memory, Multiprocessors Today s topics: Virtual memory Multiprocessors, cache coherence 1 Virtual Memory Processes deal with virtual memory they have the illusion that a very large

More information

10 Parallel Organizations: Multiprocessor / Multicore / Multicomputer Systems

10 Parallel Organizations: Multiprocessor / Multicore / Multicomputer Systems 1 License: http://creativecommons.org/licenses/by-nc-nd/3.0/ 10 Parallel Organizations: Multiprocessor / Multicore / Multicomputer Systems To enhance system performance and, in some cases, to increase

More information

Multiprocessors & Thread Level Parallelism

Multiprocessors & Thread Level Parallelism Multiprocessors & Thread Level Parallelism COE 403 Computer Architecture Prof. Muhamed Mudawar Computer Engineering Department King Fahd University of Petroleum and Minerals Presentation Outline Introduction

More information

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

Parallel Processing. Computer Architecture. Computer Architecture. Outline. Multiple Processor Organization Computer Architecture Computer Architecture Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr nizamettinaydin@gmail.com Parallel Processing http://www.yildiz.edu.tr/~naydin 1 2 Outline Multiple Processor

More information

Non-uniform memory access machine or (NUMA) is a system where the memory access time to any region of memory is not the same for all processors.

Non-uniform memory access machine or (NUMA) is a system where the memory access time to any region of memory is not the same for all processors. CS 320 Ch. 17 Parallel Processing Multiple Processor Organization The author makes the statement: "Processors execute programs by executing machine instructions in a sequence one at a time." He also says

More information

Processor Architecture and Interconnect

Processor Architecture and Interconnect Processor Architecture and Interconnect What is Parallelism? Parallel processing is a term used to denote simultaneous computation in CPU for the purpose of measuring its computation speeds. Parallel Processing

More information

Dr. Joe Zhang PDC-3: Parallel Platforms

Dr. Joe Zhang PDC-3: Parallel Platforms CSC630/CSC730: arallel & Distributed Computing arallel Computing latforms Chapter 2 (2.3) 1 Content Communication models of Logical organization (a programmer s view) Control structure Communication model

More information

Chapter 18. Parallel Processing. Yonsei University

Chapter 18. Parallel Processing. Yonsei University Chapter 18 Parallel Processing Contents Multiple Processor Organizations Symmetric Multiprocessors Cache Coherence and the MESI Protocol Clusters Nonuniform Memory Access Vector Computation 18-2 Types

More information

Distributed Systems. 01. Introduction. Paul Krzyzanowski. Rutgers University. Fall 2013

Distributed Systems. 01. Introduction. Paul Krzyzanowski. Rutgers University. Fall 2013 Distributed Systems 01. Introduction Paul Krzyzanowski Rutgers University Fall 2013 September 9, 2013 CS 417 - Paul Krzyzanowski 1 What can we do now that we could not do before? 2 Technology advances

More information

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture. Lecture 9: Multiprocessors

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture. Lecture 9: Multiprocessors Computer and Information Sciences College / Computer Science Department CS 207 D Computer Architecture Lecture 9: Multiprocessors Challenges of Parallel Processing First challenge is % of program inherently

More information

Module 2 Fundamental Architectures and Models of Distributed Systems

Module 2 Fundamental Architectures and Models of Distributed Systems Module 2 Fundamental Architectures and Models of Distributed Systems Raouf Boutaba 1 Module Goal To gain a good understanding of the challenges related to heterogeneity, openness, security, scalability,

More information

First, the need for parallel processing and the limitations of uniprocessors are introduced.

First, the need for parallel processing and the limitations of uniprocessors are introduced. ECE568: Introduction to Parallel Processing Spring Semester 2015 Professor Ahmed Louri A-Introduction: The need to solve ever more complex problems continues to outpace the ability of today's most powerful

More information

Distributed Systems Conclusions & Exam. Brian Nielsen

Distributed Systems Conclusions & Exam. Brian Nielsen Distributed Systems Conclusions & Exam Brian Nielsen bnielsen@cs.aau.dk Definition A distributed system is the one in which hardware and software components at networked computers communicate and coordinate

More information

Three basic multiprocessing issues

Three basic multiprocessing issues Three basic multiprocessing issues 1. artitioning. The sequential program must be partitioned into subprogram units or tasks. This is done either by the programmer or by the compiler. 2. Scheduling. Associated

More information

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems Distributed Systems Outline Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems What Is A Distributed System? A collection of independent computers that appears

More information

Why Multiprocessors?

Why Multiprocessors? Why Multiprocessors? Motivation: Go beyond the performance offered by a single processor Without requiring specialized processors Without the complexity of too much multiple issue Opportunity: Software

More information

Lecture Topics. Announcements. Today: Advanced Scheduling (Stallings, chapter ) Next: Deadlock (Stallings, chapter

Lecture Topics. Announcements. Today: Advanced Scheduling (Stallings, chapter ) Next: Deadlock (Stallings, chapter Lecture Topics Today: Advanced Scheduling (Stallings, chapter 10.1-10.4) Next: Deadlock (Stallings, chapter 6.1-6.6) 1 Announcements Exam #2 returned today Self-Study Exercise #10 Project #8 (due 11/16)

More information

Distributed Systems. Lecture 4 Othon Michail COMP 212 1/27

Distributed Systems. Lecture 4 Othon Michail COMP 212 1/27 Distributed Systems COMP 212 Lecture 4 Othon Michail 1/27 What is a Distributed System? A distributed system is: A collection of independent computers that appears to its users as a single coherent system

More information

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Course Goals and Content n Distributed systems and their: n Basic concepts n Main issues, problems, and solutions n Structured and

More information

Parallel Computer Architectures. Lectured by: Phạm Trần Vũ Prepared by: Thoại Nam

Parallel Computer Architectures. Lectured by: Phạm Trần Vũ Prepared by: Thoại Nam Parallel Computer Architectures Lectured by: Phạm Trần Vũ Prepared by: Thoại Nam Outline Flynn s Taxonomy Classification of Parallel Computers Based on Architectures Flynn s Taxonomy Based on notions of

More information

Chapter 11. Introduction to Multiprocessors

Chapter 11. Introduction to Multiprocessors Chapter 11 Introduction to Multiprocessors 11.1 Introduction A multiple processor system consists of two or more processors that are connected in a manner that allows them to share the simultaneous (parallel)

More information

3/24/2014 BIT 325 PARALLEL PROCESSING ASSESSMENT. Lecture Notes:

3/24/2014 BIT 325 PARALLEL PROCESSING ASSESSMENT. Lecture Notes: BIT 325 PARALLEL PROCESSING ASSESSMENT CA 40% TESTS 30% PRESENTATIONS 10% EXAM 60% CLASS TIME TABLE SYLLUBUS & RECOMMENDED BOOKS Parallel processing Overview Clarification of parallel machines Some General

More information

Parallel Architectures

Parallel Architectures Parallel Architectures Instructor: Tsung-Che Chiang tcchiang@ieee.org Department of Science and Information Engineering National Taiwan Normal University Introduction In the roughly three decades between

More information

CPS104 Computer Organization and Programming Lecture 20: Superscalar processors, Multiprocessors. Robert Wagner

CPS104 Computer Organization and Programming Lecture 20: Superscalar processors, Multiprocessors. Robert Wagner CS104 Computer Organization and rogramming Lecture 20: Superscalar processors, Multiprocessors Robert Wagner Faster and faster rocessors So much to do, so little time... How can we make computers that

More information

Chap. 4 Multiprocessors and Thread-Level Parallelism

Chap. 4 Multiprocessors and Thread-Level Parallelism Chap. 4 Multiprocessors and Thread-Level Parallelism Uniprocessor performance Performance (vs. VAX-11/780) 10000 1000 100 10 From Hennessy and Patterson, Computer Architecture: A Quantitative Approach,

More information

MULTIPROCESSORS AND THREAD-LEVEL. B649 Parallel Architectures and Programming

MULTIPROCESSORS AND THREAD-LEVEL. B649 Parallel Architectures and Programming MULTIPROCESSORS AND THREAD-LEVEL PARALLELISM B649 Parallel Architectures and Programming Motivation behind Multiprocessors Limitations of ILP (as already discussed) Growing interest in servers and server-performance

More information

MULTIPROCESSORS AND THREAD-LEVEL PARALLELISM. B649 Parallel Architectures and Programming

MULTIPROCESSORS AND THREAD-LEVEL PARALLELISM. B649 Parallel Architectures and Programming MULTIPROCESSORS AND THREAD-LEVEL PARALLELISM B649 Parallel Architectures and Programming Motivation behind Multiprocessors Limitations of ILP (as already discussed) Growing interest in servers and server-performance

More information

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Dr. Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Spring 2016 Course Goals: Look under the hood Help you learn what happens under the hood of computer systems

More information

Chapter 9 Multiprocessors

Chapter 9 Multiprocessors ECE200 Computer Organization Chapter 9 Multiprocessors David H. lbonesi and the University of Rochester Henk Corporaal, TU Eindhoven, Netherlands Jari Nurmi, Tampere University of Technology, Finland University

More information

Introduction to Parallel Processing

Introduction to Parallel Processing Babylon University College of Information Technology Software Department Introduction to Parallel Processing By Single processor supercomputers have achieved great speeds and have been pushing hardware

More information

CMPE 511 TERM PAPER. Distributed Shared Memory Architecture. Seda Demirağ

CMPE 511 TERM PAPER. Distributed Shared Memory Architecture. Seda Demirağ CMPE 511 TERM PAPER Distributed Shared Memory Architecture by Seda Demirağ 2005701688 1. INTRODUCTION: Despite the advances in processor design, users still demand more and more performance. Eventually,

More information

Distributed Operating System

Distributed Operating System Distributed Operating System Mahesh Goyani Assistant Professor, L D College of Engineering Ahmedabad, Gujarat, INDIA E-Mail: mgoyani@gmail.com Web Site: www.maheshgoyani.in A.Y: 2015-2016 Last Updated

More information

Concepts of Distributed Systems 2006/2007

Concepts of Distributed Systems 2006/2007 Concepts of Distributed Systems 2006/2007 Introduction & overview Johan Lukkien 1 Introduction & overview Communication Distributed OS & Processes Synchronization Security Consistency & replication Programme

More information

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN SUBJECT: (IT 4.1.3) ADVANCED OPERATING SYSTEM CLASS: 4/4 B.Tech. I SEMESTER, A.Y.2017-18 INSTRUCTOR: CHALLA

More information

Multiprocessors - Flynn s Taxonomy (1966)

Multiprocessors - Flynn s Taxonomy (1966) Multiprocessors - Flynn s Taxonomy (1966) Single Instruction stream, Single Data stream (SISD) Conventional uniprocessor Although ILP is exploited Single Program Counter -> Single Instruction stream The

More information

SMD149 - Operating Systems - Multiprocessing

SMD149 - Operating Systems - Multiprocessing SMD149 - Operating Systems - Multiprocessing Roland Parviainen December 1, 2005 1 / 55 Overview Introduction Multiprocessor systems Multiprocessor, operating system and memory organizations 2 / 55 Introduction

More information

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

Overview. SMD149 - Operating Systems - Multiprocessing. Multiprocessing architecture. Introduction SISD. Flynn s taxonomy Overview SMD149 - Operating Systems - Multiprocessing Roland Parviainen Multiprocessor systems Multiprocessor, operating system and memory organizations December 1, 2005 1/55 2/55 Multiprocessor system

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/58 Definition Distributed Systems Distributed System is

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/60 Definition Distributed Systems Distributed System is

More information

Distributed Systems Conclusions & Exam. Brian Nielsen

Distributed Systems Conclusions & Exam. Brian Nielsen Distributed Systems Conclusions & Exam Brian Nielsen bnielsen@cs.aau.dk Study Regulations Purpose: That the student obtains knowledge about concepts in distributed systems, knowledge about their construction,

More information

Introduction. Chapter 1

Introduction. Chapter 1 Introduction Chapter 1 Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system. Definition of a Distributed

More information

Introduction to Multiprocessors (Part I) Prof. Cristina Silvano Politecnico di Milano

Introduction to Multiprocessors (Part I) Prof. Cristina Silvano Politecnico di Milano Introduction to Multiprocessors (Part I) Prof. Cristina Silvano Politecnico di Milano Outline Key issues to design multiprocessors Interconnection network Centralized shared-memory architectures Distributed

More information

Computer parallelism Flynn s categories

Computer parallelism Flynn s categories 04 Multi-processors 04.01-04.02 Taxonomy and communication Parallelism Taxonomy Communication alessandro bogliolo isti information science and technology institute 1/9 Computer parallelism Flynn s categories

More information

Distributed Systems

Distributed Systems 95-702 Distributed Systems Course administration and a brief introduction to the material. Instructors: Michael McCarthy & Joe Mertz Week 1: Five (optional, dated) videos are also available 1 Course Web

More information

CSE 5306 Distributed Systems. Course Introduction

CSE 5306 Distributed Systems. Course Introduction CSE 5306 Distributed Systems Course Introduction 1 Instructor and TA Dr. Donggang Liu @ CSE Web: http://ranger.uta.edu/~dliu Email: dliu@uta.edu Phone: 817-2720741 Office: ERB 555 Office hours: Tus/Ths

More information

Computer Architecture Lecture 27: Multiprocessors. Prof. Onur Mutlu Carnegie Mellon University Spring 2015, 4/6/2015

Computer Architecture Lecture 27: Multiprocessors. Prof. Onur Mutlu Carnegie Mellon University Spring 2015, 4/6/2015 18-447 Computer Architecture Lecture 27: Multiprocessors Prof. Onur Mutlu Carnegie Mellon University Spring 2015, 4/6/2015 Assignments Lab 7 out Due April 17 HW 6 Due Friday (April 10) Midterm II April

More information

TDP3471 Distributed and Parallel Computing

TDP3471 Distributed and Parallel Computing TDP3471 Distributed and Parallel Computing Lecture 1 Dr. Ian Chai ianchai@mmu.edu.my FIT Building: Room BR1024 Office : 03-8312-5379 Schedule for Dr. Ian (including consultation hours) available at http://pesona.mmu.edu.my/~ianchai/schedule.pdf

More information

Lecture 24: Memory, VM, Multiproc

Lecture 24: Memory, VM, Multiproc Lecture 24: Memory, VM, Multiproc Today s topics: Security wrap-up Off-chip Memory Virtual memory Multiprocessors, cache coherence 1 Spectre: Variant 1 x is controlled by attacker Thanks to bpred, x can

More information

CS 454/654 Distributed Systems. Course Objective

CS 454/654 Distributed Systems. Course Objective CS454/654 Distributed Systems M. Tamer Özsu DC 3350 tozsu@uwaterloo.ca Course Objective This course provides an introduction to the fundamentals of distributed computer systems, assuming the availability

More information

Three parallel-programming models

Three parallel-programming models Three parallel-programming models Shared-memory programming is like using a bulletin board where you can communicate with colleagues. essage-passing is like communicating via e-mail or telephone calls.

More information

Multicores, Multiprocessors, and Clusters

Multicores, Multiprocessors, and Clusters 1 / 12 Multicores, Multiprocessors, and Clusters P. A. Wilsey Univ of Cincinnati 2 / 12 Classification of Parallelism Classification from Textbook Software Sequential Concurrent Serial Some problem written

More information

Module 5 Introduction to Parallel Processing Systems

Module 5 Introduction to Parallel Processing Systems Module 5 Introduction to Parallel Processing Systems 1. What is the difference between pipelining and parallelism? In general, parallelism is simply multiple operations being done at the same time.this

More information

Lecture 7: Parallel Processing

Lecture 7: Parallel Processing Lecture 7: Parallel Processing Introduction and motivation Architecture classification Performance evaluation Interconnection network Zebo Peng, IDA, LiTH 1 Performance Improvement Reduction of instruction

More information

DISTRIBUTED COMPUTING

DISTRIBUTED COMPUTING DISTRIBUTED COMPUTING By Sunita Mahajan & Seema Shah Presented By Prof. S.J. Soni, Asst. Professor, CE Dept., SPCE, Visnagar CHAPTER-1 BASIC DISTRIBUTED SYSTEM CONCEPTS What is a distributed system? Tanenbaum

More information

anced computer architecture CONTENTS AND THE TASK OF THE COMPUTER DESIGNER The Task of the Computer Designer

anced computer architecture CONTENTS AND THE TASK OF THE COMPUTER DESIGNER The Task of the Computer Designer Contents advanced anced computer architecture i FOR m.tech (jntu - hyderabad & kakinada) i year i semester (COMMON TO ECE, DECE, DECS, VLSI & EMBEDDED SYSTEMS) CONTENTS UNIT - I [CH. H. - 1] ] [FUNDAMENTALS

More information

EITF20: Computer Architecture Part 5.2.1: IO and MultiProcessor

EITF20: Computer Architecture Part 5.2.1: IO and MultiProcessor EITF20: Computer Architecture Part 5.2.1: IO and MultiProcessor Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration I/O MultiProcessor Summary 2 Virtual memory benifits Using physical memory efficiently

More information

FACULTY OF SCIENCE AND HUMANITIES

FACULTY OF SCIENCE AND HUMANITIES FACULTY OF SCIENCE AND HUMANITIES DEPARTMENT OF COMPUTER APPLICATIONS LESSON PLAN(CICP) Course Code : MC3E2 Course Title : Distributed Operating System Semester : V Course Time : Dec Mar 205 Day Hour Timing

More information

CS650 Computer Architecture. Lecture 10 Introduction to Multiprocessors and PC Clustering

CS650 Computer Architecture. Lecture 10 Introduction to Multiprocessors and PC Clustering CS650 Computer Architecture Lecture 10 Introduction to Multiprocessors and PC Clustering Andrew Sohn Computer Science Department New Jersey Institute of Technology Lecture 10: Intro to Multiprocessors/Clustering

More information

Fundamentals of Computer Design

Fundamentals of Computer Design Fundamentals of Computer Design Computer Architecture J. Daniel García Sánchez (coordinator) David Expósito Singh Francisco Javier García Blas ARCOS Group Computer Science and Engineering Department University

More information

! Readings! ! Room-level, on-chip! vs.!

! Readings! ! Room-level, on-chip! vs.! 1! 2! Suggested Readings!! Readings!! H&P: Chapter 7 especially 7.1-7.8!! (Over next 2 weeks)!! Introduction to Parallel Computing!! https://computing.llnl.gov/tutorials/parallel_comp/!! POSIX Threads

More information

Computer Systems Architecture

Computer Systems Architecture Computer Systems Architecture Lecture 23 Mahadevan Gomathisankaran April 27, 2010 04/27/2010 Lecture 23 CSCE 4610/5610 1 Reminder ABET Feedback: http://www.cse.unt.edu/exitsurvey.cgi?csce+4610+001 Student

More information

An Introduction to the Amoeba Distributed Operating System Apan Qasem Computer Science Department Florida State University

An Introduction to the Amoeba Distributed Operating System Apan Qasem Computer Science Department Florida State University An Introduction to the Amoeba Distributed Operating System Apan Qasem Computer Science Department Florida State University qasem@cs.fsu.edu Abstract The Amoeba Operating System has been in use in academia,

More information

CSC 453 Operating Systems

CSC 453 Operating Systems CSC 453 Operating Systems Lecture 1: An Introduction What Is an Operating System? An operating system is the software that serves as an interface between the user (or his/her software applications) and

More information

Introduction Distributed Systems

Introduction Distributed Systems Introduction Distributed Systems Today Welcome Distributed systems definition, goals and challenges What is a distributed system? Very broad definition Collection of components, located at networked computers,

More information

Overview. Processor organizations Types of parallel machines. Real machines

Overview. Processor organizations Types of parallel machines. Real machines Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500, clusters, DAS Programming methods, languages, and environments

More information

Introduction CHAPTER. Practice Exercises. 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are:

Introduction CHAPTER. Practice Exercises. 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are: 1 CHAPTER Introduction Practice Exercises 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are: To provide an environment for a computer user to execute programs

More information

Computer Systems Architecture

Computer Systems Architecture Computer Systems Architecture Lecture 24 Mahadevan Gomathisankaran April 29, 2010 04/29/2010 Lecture 24 CSCE 4610/5610 1 Reminder ABET Feedback: http://www.cse.unt.edu/exitsurvey.cgi?csce+4610+001 Student

More information

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio) Introduction to Distributed Systems INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio) August 28, 2018 Outline Definition of a distributed system Goals of a distributed system Implications of distributed

More information

Lecture 7: Parallel Processing

Lecture 7: Parallel Processing Lecture 7: Parallel Processing Introduction and motivation Architecture classification Performance evaluation Interconnection network Zebo Peng, IDA, LiTH 1 Performance Improvement Reduction of instruction

More information

PARALLEL COMPUTER ARCHITECTURES

PARALLEL COMPUTER ARCHITECTURES 8 ARALLEL COMUTER ARCHITECTURES 1 CU Shared memory (a) (b) Figure 8-1. (a) A multiprocessor with 16 CUs sharing a common memory. (b) An image partitioned into 16 sections, each being analyzed by a different

More information

Online Course Evaluation. What we will do in the last week?

Online Course Evaluation. What we will do in the last week? Online Course Evaluation Please fill in the online form The link will expire on April 30 (next Monday) So far 10 students have filled in the online form Thank you if you completed it. 1 What we will do

More information

Academic Course Description. EM2101 Computer Architecture

Academic Course Description. EM2101 Computer Architecture Academic Course Description SRM University Faculty of Engineering and Technology Department of Electronics and Communication Engineering EM2101 Computer Architecture Third Semester, 2015-2016 (Odd Semester)

More information

Lecture notes for CS Chapter 4 11/27/18

Lecture notes for CS Chapter 4 11/27/18 Chapter 5: Thread-Level arallelism art 1 Introduction What is a parallel or multiprocessor system? Why parallel architecture? erformance potential Flynn classification Communication models Architectures

More information

Comp. Org II, Spring

Comp. Org II, Spring Lecture 11 Parallel Processor Architectures Flynn s taxonomy from 1972 Parallel Processing & computers 8th edition: Ch 17 & 18 Earlier editions contain only Parallel Processing (Sta09 Fig 17.1) 2 Parallel

More information

When and Where? Course Information. Expected Background ECE 486/586. Computer Architecture. Lecture # 1. Spring Portland State University

When and Where? Course Information. Expected Background ECE 486/586. Computer Architecture. Lecture # 1. Spring Portland State University When and Where? ECE 486/586 Computer Architecture Lecture # 1 Spring 2015 Portland State University When: Tuesdays and Thursdays 7:00-8:50 PM Where: Willow Creek Center (WCC) 312 Office hours: Tuesday

More information

Computer Architecture

Computer Architecture Computer Architecture Chapter 7 Parallel Processing 1 Parallelism Instruction-level parallelism (Ch.6) pipeline superscalar latency issues hazards Processor-level parallelism (Ch.7) array/vector of processors

More information

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

Spring 2011 Parallel Computer Architecture Lecture 4: Multi-core. Prof. Onur Mutlu Carnegie Mellon University 18-742 Spring 2011 Parallel Computer Architecture Lecture 4: Multi-core Prof. Onur Mutlu Carnegie Mellon University Research Project Project proposal due: Jan 31 Project topics Does everyone have a topic?

More information