DocumentCode :
1705013
Title :
Aggregates: using design patterns to create implicitly parallel data structures in C++
Author :
Hudak, David E. ; Baughman, Nathan ; Hodges, Greg
Author_Institution :
Dept. of Comput. Sci., Ohio Northern Univ., Ada, OH, USA
Volume :
1
fYear :
1997
Firstpage :
239
Abstract :
Small-scale parallel platforms have become prevalent in the marketplace. These machines feature globally shared address spaces, complex kernels and an emphasis on throughput-based parallelism. These new platforms require new tools for concurrent programming. Programs written for these new platforms must be efficient, portable and adaptable to differing machine conditions. In addition, programming environments for these new platforms should integrate concurrency into the design process in order to exploit the multiple processors for speedup when sufficient workloads arise. This functionality can be effectively embedded at the framework/API level. Efficient design of these features can be facilitated using object-oriented design techniques known as design patterns. To illustrate these concepts, we developed a framework called aggregates. Aggregates are a suggested replacement for arrays, linked lists, or other structures for holding large collections of C++ objects. Aggregates use run-time partitioning to support concurrent application of a member function to all objects in the aggregate. Experimental results on a single-processor Windows NT system and a multiprocessor Silicon Graphics Power Challenge have demonstrated a single program using aggregates performed comparably to traditional arrays and linked lists in a single processor environment while providing speedup in a multiple processor environment
Keywords :
C language; data structures; object-oriented methods; parallel algorithms; C++; adaptable; concurrent application; cost effective parallel computing; design patterns; design process; multiple processor environment; multiple processors; object-oriented design; parallel data structures; partitioning algorithm; portable; programming environments; run-time partitioning; shared address spaces; single processor environment; small-scale parallel platforms; symmetric multiprocessing; Aggregates; Computer languages; Computer science; Concurrent computing; Data structures; Graphics; Kernel; Parallel processing; Programming environments; Silicon;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Aerospace and Electronics Conference, 1997. NAECON 1997., Proceedings of the IEEE 1997 National
Conference_Location :
Dayton, OH
Print_ISBN :
0-7803-3725-5
Type :
conf
DOI :
10.1109/NAECON.1997.618085
Filename :
618085
Link To Document :
بازگشت