PALLAS: Mapping Applications onto Manycore
Purchase on Springer.com
$29.95 / €24.95 / £19.95 *
* Final gross prices may vary according to local VAT.
Parallel programming using the current state-of-the-art in software engineering techniques is hard. Expertise in parallel programming is necessary to deliver good performance in applications; however, it is very common that domain experts lack the requisite expertise in parallel programming. In order to drive the computer science research toward effectively using the available parallel hardware platforms, it is very important to make parallel programming systematical and productive. We believe that the key to designing parallel programs in a systematical way is software architecture, and the key to improve the productivity of developing parallel programs is software frameworks. The basis of both is design patterns and a pattern language.
We illustrate how we can use design patterns to architect a wide variety of real applications, including image recognition, speech recognition, optical ?ow computation, video background subtraction, compressed sensing MRI, computational finance, video games, and machine translation. By exploring software architectures of our applications, we achieved 10x-140x speedups in each of the applications. We illustrate how we can develop parallel programs productively using application frameworks and programming frameworks. We achieve 50%-100% of the performance while using four times fewer lines of code compared to hand-optimized code.
Supplementary Material (0)
About this Chapter
- PALLAS: Mapping Applications onto Manycore
- Book Title
- Multiprocessor System-on-Chip
- Book Subtitle
- Hardware Design and Tool Integration
- pp 89-113
- Print ISBN
- Online ISBN
- Springer New York
- Copyright Holder
- Springer Science+Business Media, LLC
- Additional Links
- Programming Framework
- Design Pattern
- Pattern Language
- Industry Sectors
- eBook Packages
To view the rest of this content please follow the download PDF link above.