Springer Verlag, Lecture Notes in Computer Science, p. 223-232
DOI: 10.1007/11557654_28
Full text: Download
Recent advances in processor technology such as Simultane- ous Multithreading (SMT) and Chip Multiprocessing (CMP) enable par- allel processing on a single die. These processors are used as building blocks of shared-memory multiprocessor systems, or clusters of multiprocessors. New programming languages and tools are necessary due to the complex- ities introduced by systems with multigrain, multilevel execution capa- bilities. This paper introduces Factory, an object-oriented parallel pro- gramming substrate which allows programmers to express multigrain par- allelism, but alleviates them from having to manage it. Factory is written in C++ without introducing any extensions to the language. Because it leverages existing C++ constructs to express arbitrarily nested parallel computations, it is highly portable and does not require extra compiler support. Moreover, Factory offers programmability and performance com- parable to already established multithreading substrates.