80 likes | 194 Vues
Dive into the realm of parallel architectures to understand how building parallel machines can improve speed, cost, accuracy, and solve crucial problems. Learn about the requirements, examples, and pitfalls associated with designing these advanced systems.
E N D
Parallel Architectures • Why build parallel machines? • To help build even bigger parallel machines • To help solve important problems • Speed – more trials, less time • Cost • Larger problems • Accuracy • Must understand typical problems
Introduction • A parallel computer is “a collection of processing elements that communicate and cooperate to solve large problems fast” Speedup(p processors)=performance (p processors)/performance (1 processor) Speedup(p processors)=time(p processors)/time(1 processor)
Can run a single parallel application • Speed up the application • Can run multiple independent applications in multiprogramming environment • High throughput • Combination of the two
Numeric Symbolic Combinatorial Applications ---> Requirements • Processing • Communication • Memory • I/O • Synchronization • Architect must provide all of the above
Requirements ---> Examples • Relaxation - near-neighbor communication • Multigrid - 1, 2, 4, 8, ... communication • Numeric comp - Floating point • Symbolic - Tags, branches • Database - I/O • Data parallel - Barrier synchronicity • Dictionary - Memory, I/O
Communication requirements ---> Example • Relaxation • So, let’s build a special machine! • But ... pitfalls!
Specialized machines: Pitfalls • Faster algorithms appear … with different communication requirements • Cost effectiveness • Economies of scale • Simpler hardware & software mechanisms • More flexible • May even be faster! • e.g. Specialized support for synchronization across multiple processors