Title :
Thalweg: A framework for programming 1,000 machines with 1,000 cores
Author :
Beberg, Adam L. ; Pande, Vijay S.
Author_Institution :
Dept. of Comput. Sci., Stanford Univ., Stanford, CA, USA
Abstract :
While modern large-scale computing tasks have grown to span many machines, each with many cores, traditional programming models have not kept up with these advancements, resulting in difficulty exploiting these computing resources with only modest programmer effort. Thalweg seeks to address this breakdown in several ways. It provides a model for designing algorithms that have the potential to scale to multiple cores and machines, with subsequent optimization by software engineers. Based on this concept, Thalweg presents an API for handling these algorithms, for transferring data to and from nodes and coprocessors, and for verifying the correct operation of the hardware. Finally, Thalweg presents a set of concepts and a laboratory framework for pedagogical use that will educate the next generation of software engineers to operate in a world in which multi-core and distributed computing are everywhere.
Keywords :
application program interfaces; computer science education; coprocessors; multiprocessing systems; programming; software engineering; API; Thalweg; coprocessors; distributed computing; laboratory framework; machine programming; modern large-scale computing tasks; multicore computing; pedagogical usage; software engineers; Algorithm design and analysis; Coprocessors; Design engineering; Design optimization; Electric breakdown; Hardware; Laboratories; Large-scale systems; Programming profession; Software algorithms;
Conference_Titel :
Parallel & Distributed Processing, 2009. IPDPS 2009. IEEE International Symposium on
Conference_Location :
Rome
Print_ISBN :
978-1-4244-3751-1
Electronic_ISBN :
1530-2075
DOI :
10.1109/IPDPS.2009.5161139