Parallel ComputersUniprocessor SystemsSlide 3Slide 4MultiprocessorsSlide 6Slide 7Slide 8Slide 9MultiProcessorsSlide 11Slide 12Applications of Parallel Computers1966 Flynn’s ClassificationSlide 15Multiprocessor Systems Flynn’s ClassificationWhy Multiprocessors?Parallel Processing IntroMajor MIMD StylesSlide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Multiprocessor SystemsSlide 31Multiprocessor Systems System TopologiesSlide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44Slide 45Slide 46Slide 47Slide 48Slide 49Slide 50Architecture DetailsSlide 52Slide 53Slide 54Slide 55Slide 56Cluster ComputersSlide 58Slide 59Slide 60Slide 61Slide 62Slide 63Specialized ProcessorsVector ProcessorsSlide 66Slide 67Massively Parallel ComputersMassively Parallel ComputerSlide 70Parallel ComputersParallel ComputersProf. Sin-Min LeeProf. Sin-Min LeeDepartment of Computer Department of Computer ScienceScienceUniprocessor SystemsUniprocessor SystemsImprove performance:Improve performance:Allowing multiple, simultaneous memory Allowing multiple, simultaneous memory accessaccess- requires multiple address, data, and control buses - requires multiple address, data, and control buses (one set for each simultaneous memory access)(one set for each simultaneous memory access)- The memory chip has to be able to handle multiple- The memory chip has to be able to handle multiple transfers simultaneouslytransfers simultaneouslyUniprocessor SystemsUniprocessor SystemsMultiport Memory:Multiport Memory:Has two sets of address, data, and control pins to Has two sets of address, data, and control pins to allow simultaneous data transfers to occurallow simultaneous data transfers to occurCPU and DMA controller can transfer data CPU and DMA controller can transfer data concurrentlyconcurrentlyA system with more than one CPU could handle A system with more than one CPU could handle simultaneous requests from two different simultaneous requests from two different processorsprocessorsUniprocessor SystemsUniprocessor SystemsMultiport Memory (cont.):Multiport Memory (cont.):CanCan- Multiport memory can handle two requests to read Multiport memory can handle two requests to read data from the same location at the same timedata from the same location at the same timeCannotCannot- Process two simultaneous requests to write data to Process two simultaneous requests to write data to the same memory locationthe same memory location- Requests to read from and write to the same - Requests to read from and write to the same memory location simultaneouslymemory location simultaneouslyMultiprocessorsMultiprocessorsI/O PortDeviceDeviceControllerCPUBusMemoryCPUCPUMultiprocessorsMultiprocessorsSystems designed to have 2 to 8 CPUsSystems designed to have 2 to 8 CPUsThe CPUs all share the other parts of the The CPUs all share the other parts of the computercomputerMemoryMemoryDiskDiskSystem BusSystem BusetcetcCPUs communicate via Memory and the CPUs communicate via Memory and the System Bus System BusMultiProcessorsMultiProcessorsEach CPU shares memory, disks, etcEach CPU shares memory, disks, etcCheaper than clustersCheaper than clustersNot as good performance as clustersNot as good performance as clustersOften used forOften used forSmall ServersSmall ServersHigh-end WorkstationsHigh-end WorkstationsMultiProcessorsMultiProcessorsOS automatically shares work among OS automatically shares work among available CPUsavailable CPUsOn a workstation…On a workstation…One CPU can be running an engineering One CPU can be running an engineering design programdesign programAnother CPU can be doing complex graphics Another CPU can be doing complex graphics formattingformattingApplications of Parallel Applications of Parallel ComputersComputersTraditionally: government labs, Traditionally: government labs, numerically intensive applicationsnumerically intensive applicationsResearch InstitutionsResearch InstitutionsRecent Growth in Industrial ApplicationsRecent Growth in Industrial Applications236 of the top 500236 of the top 500Financial analysis, drug design and Financial analysis, drug design and analysis, oil exploration, aerospace and analysis, oil exploration, aerospace and automotive automotive1966 Flynn’s Classification1966 Flynn’s ClassificationMultiprocessor SystemsMultiprocessor SystemsFlynn’s ClassificationFlynn’s ClassificationSingle instruction multiple data (SIMD):Single instruction multiple data (SIMD):MainMemoryControlUnitProcessorProcessorProcessorMemoryMemoryMemoryCommunicationsNetwork• Executes a single instruction on multiple data values Executes a single instruction on multiple data values simultaneously using many processorssimultaneously using many processors• Since only one instruction is processed at any given time, it Since only one instruction is processed at any given time, it is not necessary for each processor to fetch and decode the is not necessary for each processor to fetch and decode the instructioninstruction• This task is handled by a single control unit that sends the This task is handled by a single control unit that sends the control signals to each processor.control signals to each processor.• Example: Array processorExample: Array processorWhy Multiprocessors?Why Multiprocessors?1.1.Microprocessors as the fastest CPUsMicroprocessors as the fastest CPUs•Collecting several much easier than Collecting several much easier than redesigning 1redesigning 12.2.Complexity of current microprocessorsComplexity of current microprocessors•Do we have enough ideas to sustain Do we have enough ideas to sustain 1.5X/yr?1.5X/yr?•Can we deliver such complexity on Can we deliver such complexity on schedule?schedule?3.3.Slow (but steady) improvement in parallel Slow (but steady) improvement in parallel software (scientific apps, databases, OS)software (scientific apps, databases, OS)4.4.Emergence of embedded and server markets driving Emergence of embedded and server markets driving microprocessors in addition to desktopsmicroprocessors in addition to desktops•Embedded functional parallelism, Embedded functional parallelism, producer/consumer modelproducer/consumer model•Server figure of merit is tasks per hour vs. latencyServer figure of merit is tasks per hour vs. latencyParallel Processing IntroParallel Processing IntroLong term goal of
View Full Document