1 / 5

Summary

Summary. Background Why do we need parallel processing? Applications Introduction in algorithms and applications Methodology to develop efficient parallel (distributed-memory) algorithms 

garin
Download Presentation

Summary

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. Summary • Background • Why do we need parallel processing? Applications • Introduction in algorithms and applications • Methodology to develop efficient parallel (distributed-memory) algorithms  • Understand various forms of overhead (communication, load imbalance, search overhead, synchronization) and various distributions (blockwise, cyclic) • Understand correctness problems (e.g. message ordering)

  2. Summary • Parallel machines and architectures • Processor organizations, topologies, criteria • Types of parallel machines • arrays/vectors, shared-memory, distributed memory • Routing • Flynn’s taxonomy • What are cluster computers? • What networks do real machines (like the Blue Gene) use? • Speedup, efficiency (+ their implications), Amdahl’s law

  3. Summary • Programming methods, languages, and environments • Different forms of message passing • naming, explicit/implicit receive, synchronous/asynchronous sending • Select statement • SR primitives (not syntax) • Master/worker model, search overhead (TSP) • MPI: message passing primitives, collective communication • Java parallel programming model and primitives • HPF: problems with automatic parallelization; division of work between programmer and HPF compiler; alignment/distribution primitives; performance implications

  4. Summary • Applications • N-body problems: load balancing and communication (locality) optimizations, costzones, performance comparison • Search algorithm (TDS): use asynchronous communication + clever (transposition-driven) scheduling • Bioinformatics (repeats detection): combine many forms of parallelism • Grid computing • What are grids? Why do we need them? • Application-level tools for grid programming and execution • Why is parallel computing on grids feasible? • Ibis: goals, applications, design, programming vs. deployment, communication primitives, divide&conquer parallelism, performance behavior on a grid

  5. Summary • Multimedia content analysis on Grids • What is Multimedia Content Analysis (MMCA) ? Imaging applications, feature vectors, low-level patterns • Why parallel computing in MMCA - and how? Need for speed and transparency • Software Platform: Parallel-Horus. Task/data parallelism, Separable Recursive Filtering, Lazy Parallelization • Example – Parallel Image Processing on Clusters • Grids and their specific problems. Promise and problems of the grid • Towards a Software Platform for MMCA on Grids. Problems with wide-area servers • Large-scale MMCA applications on Grids (TRECVID, object recognition)

More Related