1 / 26

CS433 Introduction

CS433 Introduction. Laxmikant Kale. Course objectives and outline. See the course outline document for details You will learn about: Parallel architectures Cache-coherent Shared memory, distributed memory, networks Parallel programming models

elina
Download Presentation

CS433 Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS433Introduction Laxmikant Kale

  2. Course objectives and outline • See the course outline document for details • You will learn about: • Parallel architectures • Cache-coherent Shared memory, distributed memory, networks • Parallel programming models • Emphasis on 3: message passing, shared memory, and shared objects • Performance analysis of parallel applications • Commonly needed parallel algorithms/operations • Parallel application case studies • Significant (effort and grade percntage) course project • groups of 5 students • Homeworks/machine problems: • biweekly (sometimes weekly) • Parallel machines: • NCSA Origin 2000, PC/SUN clusters

  3. Resources • Much of the course will be run via the web • Lecture slides, assignments, will be available on the course web page • http://www-courses.cs.uiuc.edu/~cs433 • Projects will coordinate and submit information on the web • Web pages for individual pages will be linked to the course web page • Newsgroup: uiuc.class.cs433 • You are expected to read the newsgroup and web pages regularly

  4. Advent of parallel computing • “Parallel computing is necessary to increase speeds” • cry of the ‘70s • processors kept pace with Moore’s law: • Doubling speeds every 18 months • Now, finally, the time is ripe • uniprocessors are commodities (and proc. speeds shows signs of slowing down) • Highly economical to build parallel machines

  5. Technology Trends The natural building block for multiprocessors is now also about the fastest!

  6. General Technology Trends • Microprocessor performance increases 50% - 100% per year • Transistor count doubles every 3 years • DRAM size quadruples every 3 years • Huge investment per generation is carried by huge commodity market • Not that single-processor performance is plateauing, but that parallelism is a natural way to improve it. 180 160 140 DEC 120 alpha Integer FP 100 IBM HP 9000 80 RS6000 750 60 540 MIPS MIPS 40 M2000 Sun 4 M/120 20 260 0 1987 1988 1989 1990 1991 1992

  7. Technology: A Closer Look Proc $ Interconnect • Basic advance is decreasing feature size ( ) • Circuits become either faster or lower in power • Die size is growing too • Clock rate improves roughly proportional to improvement in  • Number of transistors improves like (or faster) • Performance > 100x per decade; clock rate 10x, rest transistor count • How to use more transistors? • Parallelism in processing • multiple operations per cycle reduces CPI • Locality in data access • avoids latency and reduces CPI • also improves processor utilization • Both need resources, so tradeoff • Fundamental issue is resource distribution, as in uniprocessors

  8. Clock Frequency Growth Rate • 30% per year

  9. Transistor Count Growth Rate • 100 million transistors on chip by early 2000’s A.D. • Transistor count grows much faster than clock rate • - 40% per year, order of magnitude more contribution in 2 decades

  10. Similar Story for Storage • Divergence between memory capacity and speed more pronounced • Capacity increased by 1000x from 1980-95, speed only 2x • Gigabit DRAM by c. 2000, but gap with processor speed much greater • Larger memories are slower, while processors get faster • Need to transfer more data in parallel • Need deeper cache hierarchies • How to organize caches? • Parallelism increases effective size of each level of hierarchy, without increasing access time • Parallelism and locality within memory systems too • New designs fetch many bits within memory chip; follow with fast pipelined transfer across narrower interface • Buffer caches most recently accessed data • Disks too: Parallel disks plus caching

  11. Architectural Trends • Architecture translates technology’s gifts to performance and capability • Resolves the tradeoff between parallelism and locality • Current microprocessor: 1/3 compute, 1/3 cache, 1/3 off-chip connect • Tradeoffs may change with scale and technology advances • Understanding microprocessor architectural trends • Helps build intuition about design issues or parallel machines • Shows fundamental role of parallelism even in “sequential” computers • Four generations of architectural history: tube, transistor, IC, VLSI • Here focus only on VLSI generation • Greatest delineation in VLSI has been in type of parallelism exploited

  12. Architectural Trends • Greatest trend in VLSI generation is increase in parallelism • Up to 1985: bit level parallelism: 4-bit -> 8 bit -> 16-bit • slows after 32 bit • adoption of 64-bit now under way, 128-bit far (not performance issue) • great inflection point when 32-bit micro and cache fit on a chip • Mid 80s to mid 90s: instruction level parallelism • pipelining and simple instruction sets, + compiler advances (RISC) • on-chip caches and functional units => superscalar execution • greater sophistication: out of order execution, speculation, prediction • to deal with control transfer and latency problems

  13. Architectural Trends: Bus-based MPs • Micro on a chip makes it natural to connect many to shared memory • dominates server and enterprise market, moving down to desktop • Faster processors began to saturate bus, then bus technology advanced • today, range of sizes for bus-based systems, desktop to large servers No. of processors in fully configured commercial shared-memory systems

  14. Bus Bandwidth

  15. Economics • Commodity microprocessors not only fast but CHEAP • Development cost is tens of millions of dollars (5-100 typical) • BUT, many more are sold compared to supercomputers • Crucial to take advantage of the investment, and use the commodity building block • Exotic parallel architectures no more than special-purpose • Multiprocessors being pushed by software vendors (e.g. database) as well as hardware vendors • Standardization by Intel makes small, bus-based SMPs commodity • Desktop: few smaller processors versus one larger one? • Multiprocessor on a chip

  16. What to Expect? • Parallel Machine classes: • Cost and usage defines a class! Architecture of a class may change. • Desktops, Engineering workstations, database/web servers, suprtcomputers, • Commodity (home/office) desktop: • less than $10,000 • possible to provide 10-50 processors for that price! • Driver applications: • games, video /signal processing, • possibly “peripheral” AI: speech recognition, natural language understanding (?), smart spaces and agents • New applications?

  17. Engineeering workstations • Price: less than $100,000 (used to be): • new proce level acceptable may be $50,000 • 100+ processors, large memory, • Driver applications: • CAD (Computer aided design) of various sorts • VLSI • Structural and mechanical simulations… • Etc. (many specialized applications)

  18. Commercial Servers • Price range: variable ($10,000 - several hundreds of thousands) • defining characteristic: usage • Database servers, decision support (MIS), web servers, e-commerce • High availability, fault tolerance are main criteria • Trends to watch out for: • Likely emergence of specialized architectures/systems • E.g. Oracle’s “No Native OS” approach • Currently dominated by database servers, and TPC benchmarks • TPC: transactions per second • But this may change to data mining and application servers, with corresponding impact on architecure.

  19. Supercomputers • “Definition”: expensive system?! • Used to be defined by architecture (vector processors, ..) • More than a million US dollars? • Thousands of processors • Driving applications • Grand challenges in science and engineering: • Global weather modeling and forecast • Rational Drug design / molecular simulations • Processing of genetic (genome) information • Rocket simulation • Airplane design (wings and fluid flow..) • Operations research?? Not recognized yet • Other non-traditional applications?

  20. Consider Scientific Supercomputing • Proving ground and driver for innovative architecture and techniques • Market smaller relative to commercial as MPs become mainstream • Dominated by vector machines starting in 70s • Microprocessors have made huge gains in floating-point performance • high clock rates • pipelined floating point units (e.g., multiply-add every cycle) • instruction-level parallelism • effective use of caches (e.g., automatic blocking) • Plus economics • Large-scale multiprocessors replace vector supercomputers • Well under way already

  21. Scientific Computing Demand

  22. Engineering Computing Demand • Large parallel machines a mainstay in many industries • Petroleum (reservoir analysis) • Automotive (crash simulation, drag analysis, combustion efficiency), • Aeronautics (airflow analysis, engine efficiency, structural mechanics, electromagnetism), • Computer-aided design • Pharmaceuticals (molecular modeling) • Visualization • in all of the above • entertainment (films like Toy Story) • architecture (walk-throughs and rendering) • Financial modeling (yield and derivative analysis) • etc.

  23. Applications: Speech and Image Processing • Also CAD, Databases, . . . • 100 processors gets you 10 years, 1000 gets you 20 !

  24. Learning Curve for Parallel Applications • AMBER molecular dynamics simulation program • Starting point was vector code for Cray-1 • 145 MFLOP on Cray90, 406 for final version on 128-processor Paragon, 891 on 128-processor Cray T3D

  25. Raw Uniprocessor Performance: LINPACK

  26. 500 Fastest Computers 350 319 313 u n 284 300 u 239 250 MPP u u PVP n 200 198 n Number of systems SMP u s 187 150 110 106 s n n 100 106 s s 73 50 63 0 s 11/93 11/94 11/95 11/96

More Related