|
||||||||||||||||||||||
|
||||||||||||||||||||||
ABSTRACT
The current shift from sequential to multicore and manycore processors presents serious challenges to software developers. A significant part of the industrial and research communities believes that either a) they can squeak by or b) the right compiler, parallel language etc will save them. Such ad hoc responses are likely to prove neither correct nor sustainable. To systematically find and exploit parallelism, and to achieve forward scalability --- that is, designs which efficiently scale to much larger numbers of cores --- will require re-architecting software applications such as EDA. We believe that the key to re-architecting software is the use of design patterns and a pattern language. Furthermore, structural patterns (aka architectural styles) and computational patterns (aka the thirteen dwarfs) are the key high-level design patterns. The patterns are then used to create programming frameworks that can be used to facilitate implementation of the software architecture. This tutorial presents the most recent research results by UC Berkeley and Intel. We will present our working pattern language and give examples on its use in EDA and other application areas. Collaborative Colleagues:
|
||||||||||||||||||||||