Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Parallel Computers Prof. Sin-Min Lee Department of Computer Science CS147 Lecture 19
  2. 2. Uniprocessor Systems <ul><li>Improve performance: </li></ul><ul><li>Allowing multiple, simultaneous memory access </li></ul><ul><li>- requires multiple address, data, and control buses </li></ul><ul><li> (one set for each simultaneous memory access) </li></ul><ul><li>- The memory chip has to be able to handle multiple </li></ul><ul><li> transfers simultaneously </li></ul>
  3. 3. Uniprocessor Systems <ul><li>Multiport Memory: </li></ul><ul><li>Has two sets of address, data, and control pins to allow simultaneous data transfers to occur </li></ul><ul><li>CPU and DMA controller can transfer data concurrently </li></ul><ul><li>A system with more than one CPU could handle simultaneous requests from two different processors </li></ul>
  4. 4. Uniprocessor Systems <ul><li>Multiport Memory (cont.): </li></ul><ul><li>Can </li></ul><ul><li>Multiport memory can handle two requests to read data from the same location at the same time </li></ul><ul><li>Cannot </li></ul><ul><li>Process two simultaneous requests to write data to the same memory location </li></ul><ul><li>- Requests to read from and write to the same memory location simultaneously </li></ul>
  5. 5. Multiprocessors I/O Port Device CPU Bus Memory Device Controller CPU CPU
  6. 6. Multiprocessors <ul><li>Systems designed to have 2 to 8 CPUs </li></ul><ul><li>The CPUs all share the other parts of the computer </li></ul><ul><ul><li>Memory </li></ul></ul><ul><ul><li>Disk </li></ul></ul><ul><ul><li>System Bus </li></ul></ul><ul><ul><li>etc </li></ul></ul><ul><li>CPUs communicate via Memory and the System Bus </li></ul>
  7. 7. MultiProcessors <ul><li>Each CPU shares memory, disks, etc </li></ul><ul><ul><li>Cheaper than clusters </li></ul></ul><ul><ul><li>Not as good performance as clusters </li></ul></ul><ul><li>Often used for </li></ul><ul><ul><li>Small Servers </li></ul></ul><ul><ul><li>High-end Workstations </li></ul></ul>
  8. 8. MultiProcessors <ul><li>OS automatically shares work among available CPUs </li></ul><ul><ul><li>On a workstation… </li></ul></ul><ul><ul><ul><li>One CPU can be running an engineering design program </li></ul></ul></ul><ul><ul><ul><li>Another CPU can be doing complex graphics formatting </li></ul></ul></ul>
  9. 9. Applications of Parallel Computers <ul><li>Traditionally: government labs, numerically intensive applications </li></ul><ul><li>Research Institutions </li></ul><ul><li>Recent Growth in Industrial Applications </li></ul><ul><ul><li>236 of the top 500 </li></ul></ul><ul><ul><li>Financial analysis, drug design and analysis, oil exploration, aerospace and automotive </li></ul></ul>
  10. 10. Multiprocessor Systems Flynn’s Classification <ul><li>Single instruction multiple data (SIMD): </li></ul>Main Memory Control Unit Processor Processor Processor Memory Memory Memory Communications Network <ul><li>Executes a single instruction on multiple data values simultaneously using many processors </li></ul><ul><li>Since only one instruction is processed at any given time, it is not necessary for each processor to fetch and decode the instruction </li></ul><ul><li>This task is handled by a single control unit that sends the control signals to each processor. </li></ul><ul><li>Example: Array processor </li></ul>
  11. 11. Why Multiprocessors? <ul><li>Microprocessors as the fastest CPUs </li></ul><ul><ul><li>Collecting several much easier than redesigning 1 </li></ul></ul><ul><li>Complexity of current microprocessors </li></ul><ul><ul><li>Do we have enough ideas to sustain 1.5X/yr? </li></ul></ul><ul><ul><li>Can we deliver such complexity on schedule? </li></ul></ul><ul><li>Slow (but steady) improvement in parallel software (scientific apps, databases, OS) </li></ul><ul><li>Emergence of embedded and server markets driving microprocessors in addition to desktops </li></ul><ul><ul><li>Embedded functional parallelism, producer/consumer model </li></ul></ul><ul><ul><li>Server figure of merit is tasks per hour vs. latency </li></ul></ul>
  12. 12. Parallel Processing Intro <ul><li>Long term goal of the field: scale number processors to size of budget, desired performance </li></ul><ul><li>Machines today: Sun Enterprise 10000 (8/00) </li></ul><ul><ul><li>64 400 MHz UltraSPARC® II CPUs,64 GB SDRAM memory, 868 18GB disk,tape </li></ul></ul><ul><ul><li>$4,720,800 total </li></ul></ul><ul><ul><li>64 CPUs 15%,64 GB DRAM 11%, disks 55%, cabinet 16% ($10,800 per processor or ~0.2% per processor) </li></ul></ul><ul><ul><li>Minimal E10K - 1 CPU, 1 GB DRAM, 0 disks, tape ~$286,700 </li></ul></ul><ul><ul><li>$10,800 (4%) per CPU, plus $39,600 board/4 CPUs (~8%/CPU) </li></ul></ul><ul><li>Machines today: Dell Workstation 220 (2/01) </li></ul><ul><ul><li>866 MHz Intel Pentium® III (in Minitower) </li></ul></ul><ul><ul><li>0.125 GB RDRAM memory, 1 10GB disk, 12X CD, 17” monitor, nVIDIA GeForce 2 GTS,32MB DDR Graphics card, 1yr service </li></ul></ul><ul><ul><li>$1,600; for extra processor, add $350 (~20%) </li></ul></ul>
  13. 13. Major MIMD Styles <ul><li>Centralized shared memory (&quot;Uniform Memory Access&quot; time or &quot;Shared Memory Processor&quot;) </li></ul><ul><li>Decentralized memory (memory module with CPU) </li></ul><ul><ul><li>get more memory bandwidth, lower memory latency </li></ul></ul><ul><ul><li>Drawback: Longer communication latency </li></ul></ul><ul><ul><li>Drawback: Software model more complex </li></ul></ul>
  14. 14. Organization of Multiprocessor Systems <ul><li>Three different ways to organize/classify systems: </li></ul><ul><li>Flynn’s Classification </li></ul><ul><li>System Topologies </li></ul><ul><li>MIMD System Architectures </li></ul>
  15. 15. Multiprocessor Systems Flynn’s Classification <ul><li>Flynn’s Classification: </li></ul><ul><li>Based on the flow of instructions and data processing </li></ul><ul><li>A computer is classified by: </li></ul><ul><li>- whether it processes a single instruction at a time or multiple instructions simultaneously </li></ul><ul><li>- whether it operates on one more multiple data sets </li></ul>
  16. 16. Multiprocessor Systems Flynn’s Classification <ul><li>Four Categories of Flynn’s Classification: </li></ul><ul><li>SISD Single instruction single data </li></ul><ul><li>SIMD Single instruction multiple data </li></ul><ul><li>MISD Multiple instruction single data ** </li></ul><ul><li>MIMD Multiple instruction multiple data </li></ul><ul><li>** The MISD classification is not practical to implement. </li></ul><ul><li>In fact, no significant MISD computers have ever been build. </li></ul><ul><li>It is included only for completeness. </li></ul>
  17. 17. From the beginning of time, computer scientists have been challenging computers with larger and larger problems. Eventually, computer processors were combined together in parallel to work on the same task together. This is parallel processing. Types Of Parallel Processing SISD – Single Instruction stream, Single Data stream MISD – Multiple Instruction stream, Single Data stream SIMD – Single Instruction stream, Multiple Data stream MIMD – Multiple Instruction stream, Multiple Data stream
  18. 18. SISD One piece of data is sent to one processor. Ex: To multiply one hundred numbers by the number three, each number would be sent and calculated until all one hundred results were calculated. Data Multiply CPU
  19. 19. MISD One piece of data is broken up and sent to many processor. Ex: A database is broken up into sections of records and sent to several different processor, each of which searches the section for a specific key. Data Search CPU CPU CPU CPU
  20. 20. SIMD Multiple processors execute the same instruction of separate data. Ex: A SIMD machine with 100 processors could multiply 100 numbers, each by the number three, at the same time. Multiply CPU CPU CPU CPU Data Data Data Data
  21. 21. MIMD Multiple processors execute different instruction of separate data. This is the most complex form of parallel processing. It is used on complex simulations like modeling the growth of cities. Multiply CPU CPU CPU CPU Data Data Data Data Search Add Subtract
  22. 22. The Granddaddy of Parallel Processing MIMD
  23. 23. MIMD computers usually have a different program running on every processor. This makes for a very complex programming environment. What processor? Doing which task? At what time? What’s doing what when?
  24. 24. Memory latency The time between issuing a memory fetch and receiving the response. Simply put, if execution proceeds before the memory request responds, unexpected results will occur. What values are being used? Not the ones requested!
  25. 25. A similar problem can occur with instruction executions themselves. Synchronization The need to enforce the ordering of instruction executions according to their data dependencies. Instruction b must occur before instruction a.
  26. 26. Despite potential problems, MIMD can prove larger than life. MIMD Successes IBM Deep Blue – Computer beats professional chess player. Some may not consider this to be a fair example, because Deep Blue was built to beat Kasparov alone. It “knew” his play style so it could counter is projected moves. Still, Deep Blue’s win marked a major victory for computing.
  27. 27. IBM’s latest, a supercomputer that models nuclear explosions. IBM Poughkeepsie built the world’s fastest supercomputer for the U. S. Department of Energy. It’s job was to model nuclear explosions.
  28. 28. MIMD – it’s the most complex, fastest, flexible parallel paradigm. It’s beat a world class chess player at his own game. It models things that few people understand. It is parallel processing at its finest.
  29. 29. Multiprocessor Systems Flynn’s Classification <ul><li>Single instruction single data (SISD): </li></ul><ul><li>Consists of a single CPU executing individual instructions on individual data values </li></ul>
  30. 30. Multiprocessor Systems Flynn’s Classification <ul><li>Multiple instruction Multiple data (MIMD): </li></ul><ul><li>Executes different instructions simultaneously </li></ul><ul><li>Each processor must include its own control unit </li></ul><ul><li>The processors can be assigned to parts of the same task or to completely separate tasks </li></ul><ul><li>Example: Multiprocessors, multicomputers </li></ul>
  31. 31. Popular Flynn Categories <ul><li>SISD (Single Instruction Single Data) </li></ul><ul><ul><li>Uniprocessors </li></ul></ul><ul><li>MISD (Multiple Instruction Single Data) </li></ul><ul><ul><li>???; multiple processors on a single data stream </li></ul></ul><ul><li>SIMD (Single Instruction Multiple Data) </li></ul><ul><ul><li>Examples: Illiac-IV, CM-2 </li></ul></ul><ul><ul><ul><li>Simple programming model </li></ul></ul></ul><ul><ul><ul><li>Low overhead </li></ul></ul></ul><ul><ul><ul><li>Flexibility </li></ul></ul></ul><ul><ul><ul><li>All custom integrated circuits </li></ul></ul></ul><ul><ul><li>(Phrase reused by Intel marketing for media instructions ~ vector) </li></ul></ul><ul><li>MIMD (Multiple Instruction Multiple Data) </li></ul><ul><ul><li>Examples: Sun Enterprise 5000, Cray T3D, SGI Origin </li></ul></ul><ul><ul><ul><li>Flexible </li></ul></ul></ul><ul><ul><ul><li>Use off-the-shelf micros </li></ul></ul></ul><ul><li>MIMD current winner: Concentrate on major design emphasis <= 128 processor MIMD machines </li></ul>
  32. 32. Multiprocessor Systems <ul><li>System Topologies: </li></ul><ul><li>The topology of a multiprocessor system refers to the pattern of connections between its processors </li></ul><ul><li>Quantified by standard metrics: </li></ul><ul><ul><li>Diameter The maximum distance between two processors in the computer system </li></ul></ul><ul><ul><li>Bandwidth The capacity of a communications link multiplied by the number of such links in the system (best case) </li></ul></ul><ul><ul><li>Bisectional Bandwidth The total bandwidth of the links connecting the two halves of the processor split so that the number of links between the two halves is minimized (worst case) </li></ul></ul>
  33. 33. Multiprocessor Systems System Topologies <ul><li>Six Categories of System Topologies: </li></ul><ul><li>Shared bus </li></ul><ul><li>Ring </li></ul><ul><li>Tree </li></ul><ul><li>Mesh </li></ul><ul><li>Hypercube </li></ul><ul><li>Completely Connected </li></ul>
  34. 35. Multiprocessor Systems System Topologies <ul><li>Shared bus: </li></ul><ul><li>The simplest topology </li></ul><ul><li>Processors communicate with each other exclusively via this bus </li></ul><ul><li>Can handle only one data transmission at a time </li></ul><ul><li>Can be easily expanded by connecting additional processors to the shared bus, along with the necessary bus arbitration circuitry </li></ul>Shared Bus Global Memory M P M P M P
  35. 37. Multiprocessor Systems System Topologies <ul><li>Ring: </li></ul><ul><li>Uses direct dedicated connections between processors </li></ul><ul><li>Allows all communication links to be active simultaneously </li></ul><ul><li>A piece of data may have to travel through several processors to reach its final destination </li></ul><ul><li>All processors must have two communication links </li></ul>P P P P P P
  36. 38. Multiprocessor Systems System Topologies <ul><li>Tree topology: </li></ul><ul><li>Uses direct connections between processors </li></ul><ul><li>Each processor has three connections </li></ul><ul><li>Its primary advantage is its relatively low diameter </li></ul><ul><li>Example: DADO Computer </li></ul>P P P P P P P
  37. 42. Multiprocessor Systems System Topologies <ul><li>Mesh topology: </li></ul><ul><li>Every processor connects to the processors above, below, left, and right </li></ul><ul><li>Left to right and top to bottom wraparound connections may or may not be present </li></ul>P P P P P P P P P
  38. 45. Multiprocessor Systems System Topologies <ul><li>Hypercube: </li></ul><ul><li>Multidimensional mesh </li></ul><ul><li>Has n processors, each with log n connections </li></ul>
  39. 48. Multiprocessor Systems System Topologies <ul><li>Completely Connected: </li></ul><ul><li>Every processor has n-1 </li></ul><ul><li>connections, one to each </li></ul><ul><li>of the other processors </li></ul><ul><li>The complexity of the </li></ul><ul><li>processors increases as </li></ul><ul><li>the system grows </li></ul><ul><li>Offers maximum </li></ul><ul><li>communication capabilities </li></ul>
  40. 49. Architecture Details <ul><li>Computers  MPPs </li></ul>World’s simplest computer (processor/memory) Standard computer (add cache,disk) Network P M P M C D P M C D P M C D P M C D
  41. 50. A Supercomputer at $5.2 million Virginia Tech 1,100 node Macs. G5 supercomputer
  42. 51. The Virginia Polytechnic Institute and State University has built a supercomputer comprised of a cluster of 1,100 dual-processor Macintosh G5 computers. Based on preliminary benchmarks, Big Mac is capable of 8.1 teraflops per second. The Mac supercomputer still is being fine tuned, and the full extent of its computing power will not be known until November. But the 8.1 teraflops figure would make the Big Mac the world's fourth fastest supercomputer
  43. 52. Big Mac's cost relative to similar machines is as noteworthy as its performance. The Apple supercomputer was constructed for just over US$5 million, and the cluster was assembled in about four weeks. In contrast, the world's leading supercomputers cost well over $100 million to build and require several years to construct. The Earth Simulator, which clocked in at 38.5 teraflops in 2002, reportedly cost up to $250 million.
  44. 53. Srinidhi Varadarajan, Ph.D. Dr. Srinidhi Varadarajan is an Assistant Professor of Computer Science at Virginia Tech. He was honored with the NSF Career Award in 2002 for &quot;Weaving a Code Tapestry: A Compiler Directed Framework for Scalable Network Emulation.&quot; He has focused his research on building a distributed network emulation system that can scale to emulate hundreds of thousands of virtual nodes. October 28 2003 Time:  7:30pm - 9:00pm Location:  Santa Clara Ballroom
  45. 54. Parallel Computers <ul><li>Two common types </li></ul><ul><ul><li>Cluster </li></ul></ul><ul><ul><li>Multi-Processor </li></ul></ul>
  46. 55. Cluster Computers
  47. 56. Clusters on the Rise Using clusters of small machines to build a supercomputer is not a new concept. Another of the world's top machines, housed at the Lawrence Livermore National Laboratory, was constructed from 2,304 Xeon processors. The machine was build by Utah-based Linux Networx. Clustering technology has meant that traditional big-iron leaders like Cray (Nasdaq: CRAY) and IBM have new competition from makers of smaller machines. Dell (Nasdaq: DELL) , among other companies, has sold high-powered computing clusters to research institutions.
  48. 57. Cluster Computers <ul><li>Each computer in a cluster is a complete computer by itself </li></ul><ul><ul><li>CPU </li></ul></ul><ul><ul><li>Memory </li></ul></ul><ul><ul><li>Disk </li></ul></ul><ul><ul><li>etc </li></ul></ul><ul><li>Computers communicate with each other via some interconnection bus </li></ul>
  49. 58. Cluster Computers <ul><li>Typically used where one computer does not have enough capacity to do the expected work </li></ul><ul><ul><li>Large Servers </li></ul></ul><ul><li>Cheaper than building one GIANT computer </li></ul>
  50. 59. Although not new, supercomputing clustering technology still is impressive. It works by farming out chunks of data to individual machines, adding that clustering works better for some types of computing problems than others. For example, a cluster would not be ideal to compete against IBM's Deep Blue supercomputer in a chess match; in this case, all the data must be available to one processor at the same moment -- the machine operates much in the same way as the human brain handles tasks. However, a cluster would be ideal for the processing of seismic data for oil exploration, because that computing job can be divided into many smaller tasks.
  51. 60. Cluster Computers <ul><li>Need to break up work among the computers in the cluster </li></ul><ul><li>Example: Microsoft.com Search Engine </li></ul><ul><ul><li>6 computers running SQL Server </li></ul></ul><ul><ul><ul><li>Each has a copy of the MS Knowledge Base </li></ul></ul></ul><ul><ul><li>Search requests come to one computer </li></ul></ul><ul><ul><ul><li>Sends request to one of the 6 </li></ul></ul></ul><ul><ul><ul><li>Attempts to keep all 6 busy </li></ul></ul></ul>
  52. 61. The Virginia Tech Mac supercomputer should be fully functional and in use by January 2004. It will be used for research into nanoscale electronics, quantum chemistry, computational chemistry, aerodynamics, molecular statics, computational acoustics and the molecular modeling of proteins.
  53. 62. Specialized Processors <ul><li>Vector Processors </li></ul><ul><li>Massively Parallel Computers </li></ul>
  54. 63. Vector Processors For (I=0;I<n;I++) { array1[I] = array2[I] + array3[I] } This is an array (vector) operation
  55. 64. Vector Processors <ul><li>Special instructions to operate on vectors (arrays) </li></ul><ul><ul><li>Vector instruction specifies </li></ul></ul><ul><ul><ul><li>Starting addresses of all 3 arrays </li></ul></ul></ul><ul><ul><ul><li>Loop count </li></ul></ul></ul><ul><ul><li>Saves For Loop overhead </li></ul></ul><ul><ul><li>Can more efficiently access memory </li></ul></ul><ul><li>Also Known as SIMD Computers </li></ul><ul><ul><li>S ingle I nstruction M ultiple D ata </li></ul></ul>
  56. 65. Vector Processors <ul><li>Until the 1990s, the world’s fastest supercomputers were implemented as vector processors </li></ul><ul><li>Now, Vector Processors are typically special peripheral devices that can be installed on a “regular” computer </li></ul>
  57. 66. Massively Parallel Computers <ul><li>IBM ASCI Purple </li></ul><ul><ul><li>Cluster of 196 computers </li></ul></ul><ul><ul><li>Each computer has </li></ul></ul><ul><ul><ul><li>64 CPUs </li></ul></ul></ul><ul><ul><ul><li>256 Gigabytes of RAM </li></ul></ul></ul><ul><ul><ul><li>10,000 GB of Disk </li></ul></ul></ul>
  58. 67. Massively Parallel Computer <ul><li>How will ASCI Purple be used? </li></ul><ul><ul><li>Simulation of molecular dynamics </li></ul></ul><ul><ul><ul><li>Research into repairing damaged DNA </li></ul></ul></ul><ul><ul><li>Analysis of seismic waves </li></ul></ul><ul><ul><ul><li>Earthquake research </li></ul></ul></ul><ul><ul><li>Simulation of star evolution </li></ul></ul><ul><ul><li>Simulation of Weapons of Mass Destruction </li></ul></ul>
  59. 68. According to the article, the supercomputer, powered by 2,200 IBM G5 processors, has been initially rated at computing 7.41 trillion operations per second. The final number could be much higher, according to school officials, but if not, it would rank as the #4 fastest supercomputing cluster in the world. Japan's US$250M Earth Simulator, which is currently the world's fastest computer Lawrence Livermore's US$10-15M cluster system, which is made up of 2,304 Intel Xeon processors. IBM recently installed &quot;Pacific Blue&quot; at the Lawrence Livermore Laboratories for $94 million
  60. 69. &quot;We are demonstrating that you can build a very high performance machine for a fifth to a tenth of the cost of what supercomputers now cost,&quot; said Hassan Aref, the dean of the School of Engineering at Virginia Tech in Blacksburg 1998 a group called distributed.net linked thousands of computers of all kinds around the world via the Internet, and cracked a 56-bit DES-II code in 40 days. It had previously been thought that such heavyweight ciphers would take hundreds of years to crack even on fast computers. One version of the Distributed.net program ran as a screen saver that kicked in, and began cracking code, whenever the machine was idle for more than a few minutes. Distributed.net bills itself as the &quot;Fastest Computer on Earth&quot;, even though their hardware bill is effectively zero.
  61. 70. The idea is straightforward. You set up an arbitrary number of PCs, network them, typically using fast Ethernet, and then send them problems that can be divided up among the machines' processors. One machine acts as a server that syncs up all the rest, called clients. Beowulf specs software like the Message Passing Interface written under the Linux operating system, that allows the machines to communicate while working on the problem. And since Linux, brainchild of computer science student Linus Torvalds, is free, it keeps the cost down
  62. 71. Modeling the trajectories of tens of millions of charged particles, each interacting with the others through electro-magnetic forces, requires heavy-duty number crunching. To harness supercomputing power at a desktop price, UCLA’s Dr. Viktor K. Decyk and his colleagues have created their own super-fast, parallel processing “supercomputer” using a cluster of Power Macintosh computers.
  63. 72. SYDNEY - 22 January 2001                                                                                  Apple's G4 Cubes used for cell mutation detection and genotyping analysis
  64. 73. World's fastest&quot; Macintosh cluster Tuesday, May 15, 2001 @ 8:45am Researchers at the Grupo de Lasers e Plasmas (GoLP) in Portugal have created what they bill as the world's fastest Macintosh-based cluster . Consisting of 16 dual-processor Power Mac G4/450s, the cluster delivers more than 50 GigaFlops of peak power and took just one day to set up.
  65. 74. Apple Computer purchased a big Cray supercomputer in the mid-1980s. In fact, Steve Jobs was Cray's first and only walk-in customer. He arrived unannounced (so the story goes) at Cray headquarters in Mendota Heights, Minnesota and asked to speak to someone about buying a Cray. They nearly threw him out. It's only slightly less eccentric than someone walking into NASA Johnson Space Center and inquiring how to purchase a shuttle orbiter. Later, Cray president John Rollwagen phoned Seymour and told him that Apple had just purchased a Cray that would be used in designing the next Macintosh. Seymour thought for a bit, and replied that that seemed reasonable, since he was using a Macintosh to design the next Cray!
  66. 75. Parallel Computer Architectures <ul><li>MPP – Massively Parallel Processors </li></ul><ul><ul><li>Top of the top500 list consists of mostly mpps but clusters are “rising” </li></ul></ul>2002 <ul><li>Clusters are there! </li></ul><ul><ul><li>Earth Simulator: Old-old style making news again </li></ul></ul><ul><ul><li>ASCI Machines: Big companies, special purpose </li></ul></ul><ul><ul><li>Beowulf Clusters: Popping up everywhere </li></ul></ul><ul><li>Software </li></ul><ul><ul><li>Embarassingly parallel or sacrifice a grad student </li></ul></ul><ul><ul><li>MATLAB*p (our little homegrown project) </li></ul></ul>2003
  67. 77. Performance Trends
  68. 78. Extrapolations
  69. 79. Beowulf Clusters
  70. 80. Current Beowulfs (2)