Module 3 Distributed Multiprocessor Architectures.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

I/O Organization popo.
Chapter 8-1 : Multiple Processor Systems Multiple Processor Systems Multiple Processor Systems Multiprocessor Hardware Multiprocessor Hardware UMA Multiprocessors.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Processor support devices Part 1:Interrupts and shared memory dr.ir. A.C. Verschueren.
CSCI 8150 Advanced Computer Architecture Hwang, Chapter 1 Parallel Computer Models 1.2 Multiprocessors and Multicomputers.
1: Operating Systems Overview
OPERATING SYSTEM OVERVIEW
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
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.
Computer System Overview Chapter 1. Basic computer structure CPU Memory memory bus I/O bus diskNet interface.
Lecture 12 Today’s topics –CPU basics Registers ALU Control Unit –The bus –Clocks –Input/output subsystem 1.
CS-334: Computer Architecture
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Interconnection Structures
Computer System Architectures Computer System Software
Input/OUTPUT [I/O Module structure].
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
1 Computer System Overview Chapter 1. 2 n An Operating System makes the computing power available to users by controlling the hardware n Let us review.
Computer System Overview Chapter 1. Operating System Exploits the hardware resources of one or more processors Provides a set of services to system users.
COMPUTER ORGANIZATIONS CSNB123 NSMS2013 Ver.1Systems and Networking1.
THE COMPUTER SYSTEM. Lecture Objectives Computer functions – Instruction fetch & execute – Interrupt Handling – I/O functions Interconnections Computer.
ECE 456 Computer Architecture
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Top Level View of Computer Function and Interconnection.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
Chapter 1: Introduction. 1.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 1: Introduction What Operating Systems Do Computer-System.
CSCI 232© 2005 JW Ryder1 Parallel Processing Large class of techniques used to provide simultaneous data processing tasks Purpose: Increase computational.
Interrupts, Buses Chapter 6.2.5, Introduction to Interrupts Interrupts are a mechanism by which other modules (e.g. I/O) may interrupt normal.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
COMPUTER ORGANIZATIONS CSNB123. COMPUTER ORGANIZATIONS CSNB123 Expected Course Outcome #Course OutcomeCoverage 1Explain the concepts that underlie modern.
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
EEE440 Computer Architecture
Distributed DBMSs- Concept and Design Jing Luo CS 157B Dr. Lee Fall, 2003.
Computer System Architecture Dept. of Info. Of Computer. Chap. 13 Multiprocessors 13-1 Chap. 13 Multiprocessors n 13-1 Characteristics of Multiprocessors.
ECEG-3202 Computer Architecture and Organization Chapter 3 Top Level View of Computer Function and Interconnection.
Chapter 4 MARIE: An Introduction to a Simple Computer.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
4 Linking the Components Linking The Components A computer is a system with data and instructions flowing between its components in response to processor.
IT3002 Computer Architecture
Group 1 chapter 3 Alex Francisco Mario Palomino Mohammed Ur-Rehman Maria Lopez.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Computer Architecture. Top level of Computer A top level of computer consists of CPU, memory, an I/O components, with one or more modules of each type.
1 load [2], [9] Transfer contents of memory location 9 to memory location 2. Illegal instruction.
Overview Parallel Processing Pipelining
Process Management Process Concept Why only the global variables?
Multiprocessor Introduction and Characteristics of Multiprocessor
ECEG-3202 Computer Architecture and Organization
MICROPROCESSOR MEMORY ORGANIZATION
William Stallings Computer Organization and Architecture
Presentation transcript:

Module 3 Distributed Multiprocessor Architectures

Syllabi(Chapter 7 KHAB) (7.1.1 and 7.1.2) Loosely coupled and tightly coupled architectures Cluster computing as an application of loosely coupled architecture. Examples –CM* and Hadoop.

Some Basics…. Whenever working on projects, it seems as though several people coordinating together makes for a better solution then one person trying to piece things together on their own. This is similar to the concept of multiprocessing. Multiprocessing is n number of p processors working and operating concurrently. A multiprocessing system refers to a system configuration that contains more than one main control processor unit (CPU).

Why use a multiprocessing system? First of all, a multiprocessing system is used to increase overall system performance in work being accomplished, also referred to as throughput. By working together problems can be divided up among processor for faster completion, also called “divide and conqueror”. Another reason for using multiprocessing systems is to increase system availability.

Introduction Key attributes of “multiprocessors”:- – Single computer that includes multiple processors – Processors may communicate at various levels Message passing or shared memory Multiprocessor and Multicomputer systems – Multiple computer system consist of several autonomous computers which may or may not communicate with each other. – Multiprocessor system is controlled by single operating system which provides mechanism for interactions among processors Architectural models – Tightly coupled multiprocessor – Loosely coupled multiprocessor

Tightly coupled multiprocessor(Basics) Communicate via shared memory. Complete connectivity between processor and memory. This Connectivity accomplished by any interconnection network. Drawback-: Performance degradation due to memory conflicts

Tightly Coupled Architecture(Details) A tightly coupled multiprocessor system may be used in cases where speed is more of a concern. Models:- – Without private cache – With private cache

Architecture(Without Private Cache) This model consists of p number of processors, l memory modules, and d I/O channels. Everything is then connected using a P/M interconnection network (PMIN). The PMIN is a switch that can connect every processor to every memory module. A memory module can satisfy only one processors request in a given memory cycle. This conflict is arbitrated by the PMIN.

However, in this system the best way to prevent these types of conflicts is to make l equal to p (i.e. memory modules equal to the number of processors). Another way of eliminating this conflict is to use unmapped local memory (ULM)(Reserved Memory Area For Each Processor) By adding the ULM we are able to reduce the amount of traffic to the PMIN and thereby reducing conflicts to and from memory.

Tightly coupled multiprocessor contd. 10 Interrupt signal Interconnection network (ISIN) 0 p-1 Processors.. Input/Output Interconnection network (IOPIN) d Processor Memory Interconnection network (PMIN) 0 l Input Output channels disks Shared Memory Modules Unmapped Local Memory Mapped Local Memory

Problem In this type of system architecture the memory references made by the processors is usually main memory. Memory reference common to all processor will cause conflicts. PMIN will surely resolve this conflicts but it will cause delay in operation,which increases instruction cycle time,which decreases throughput.. 

Solution Delay can be reduced by having cache for each processor which will hold memory reference for each processor. But cache coherance problem should be taken care of. Refer to diagram.

Tightly coupled multiprocessor contd. 13 Interrupt signal Interconnection network (ISIN) 0 p-1 Processors.. Input/Output Interconnection network (IOPIN) d Processor Memory Interconnection network (PMIN) 0 l Input Output channels disks Shared Memory Modules Unmapped Local Memory Mapped Local Memory Private Caches

ISIN permits each processor to interupt to each processor. ISIN also used by failong processor to broadcast message. IOPIN permits processor to communicate with IO channel.

Tightly coupled multiprocessor contd. Processor types – Homogeneous, if all processors perform same function – Heterogeneous, if processors perform different functions Note: Two functionally same processor may differ along other parameters like I/O, memory size, etc, i.e. they are asymmetric 15

Loosely Coupled Architecture Each processor has its own set of I/O devices and memory where it accesses most of its instructions and data Computer Module: Processor, I/O interface and memory Local memory (LM) Input/Output (I/O) Channel and Arbiter Switch (CAS) Processor (P)

Loosely coupled multiprocessor contd. Inter-process communicate over different module happens by exchange of messages, using message transfer system (MTS) Distributed system, degree of coupling is loose Degree of memory conflicts is less 17 LMI/O CAS P Message Transfer System (MTS) LMI/O CAS P Computer Module 0 Computer Module N-1 …………..

Loosely coupled multiprocessor contd. Inter module communication – Channel arbiter and switch (CAS) – Arbiter decide when requests from two or more computer module collide in accessing a physical segment of MTS – Also responsible for delaying other request until servicing request is completed. 18

Message Transfer System (MTS) – Time based or shared memory – The latter case can be implemented with set of memory modules and processor-memory interconnection network or multiported main memory. – MTS determines the performance of multiprocessor system.

For LCS,that use single time shared bus,performance limited by,essage arrival rate on bus,message length and bus capacity. For LCS with shared memory,limiting factor is memory conflict problem imposed by processor memory interconnection network.

Cm* Architecture Project at Carnegie Melon University Now what is computer module? Computer module consists of processor,Slocal,local memory and I/O. Slocal similar to CAS in loosely coupled arch. P LM S I/O

Cluster of computer Modules Map Bus Intercluster Bus … P LM S I/O Cm 1 K MAP P LM S I/O Cm 10

Role Of Slocal Receives and interprets requests for access to P's local and foreign to local memory and the I / O S allows a local P to access external resources Cm To make interpretation of local and external applications software provide: A translation of local addresses

Address Translation

It uses 4 high order bits along with 1 pSW bit and then they access map table. Map Table determines whether memory is local or not. If memory non local control is given to Kmap via map bus. CM coonected to kmap via map bus. Kmap responsible for routing data between slocals.

Kmap Components AP Link Intercluster Bus 1 Map Bus K BUS Intercluster Bus 2 P MAP SERVICE RETURN RUN OUT SEND PORT 2 SEND PORT 1 Cm …

Request for non local memory arrives at kbus via map bus. Linc manages communication Between Kmap and another kmap. Pmap ->mapping processor which response to request between kbus and linc.

Kmap can simultanously handle 8 processor request. Pmap uses the concept of queue to handle request.

Service req signaled to kbus whenver req for non local memort ref. Such computer module called master Cm. Kmap fetches virtual address via map bus and allocates context for pmap. It places the virtual address in pmap run queue. Pmap performs virtual address to physical address translation.

Using physical address it can initiate memory acces in any cm. Kmap services the out req by sending physical memoryof memory req via map bus. When destination cm completes memory access it sends return signal to kmap.

Intracluster Communication Cm Master initiates a memory access nonlocal Master Cm virtual address issued by KBUS KBUS activates a context (creating specific data structure transition) that the PMAP RUN queue PMAP treats context and do address translation PMAP OUT queue a request for memory cycle Cm Slave of the current cluster Map Bus K BUS P MAP OUT K MAP Cm … RUN SlaveMaster

KBUS send physical address to Cm Slave by Map Bus There is the local slave Cm local memory access cycle. KBUS "allow" the result of memory access operation to be provided by Master Cm Cm Master takes the data, complete and continuous operation during execution Map Bus K BUS P MAP K MAP OUT Cm … RUN SlaveMaster

Intracluster communication Cm Map Bus K MAP Master Cm … Master Intercluster Bus K MAP Slave Map Bus Cm … Slave 5 1.Cm Master sends a transfer request to KMAP Master 2.Master prepares KMAP message / request package encode intercluster 3.Intercluster message is transmitted on the bus intercluster routing algorithms 4.Slave KMAP decode incoming requests and sends to the cluster or localMemory cycle request is sent to Cm Slave

Cm Map Bus K MAP Master Cm … Master K/U R/W Cm # Page Offset R/W Cm # Page Offset Cop Segment Offset Intercluster Bus K MAP Slave Map Bus Cm … Slave Cm Slave Slave transmits the result to KMAP 6.Slave ready KMAP message intercluster (ie context reactivation) 7.KMAP Slave Master transmits the result to KMAP 8.KMAP Master receives and interprets the message received 9.The result is sent to the Master Cm