Aggregates: using design patterns to create implicitly paralleldata structures in C++
Hudak, D.E.
Baughman, N.
Hodges, G.
Dept. of Comput. Sci., Ohio Northern Univ., Ada, OH;
This paper appears in: Aerospace and Electronics Conference, 1997. NAECON 1997., Proceedings of the IEEE 1997 National
Publication Date: 14-18 Jul 1997
Volume: 1,
On page(s): 239-246 vol.1
Meeting Date: 07/14/1997 - 07/17/1997
Location: Dayton, OH, USA
ISBN: 0-7803-3725-5
References Cited: 9
INSPEC Accession Number: 5780860
Digital Object Identifier: 10.1109/NAECON.1997.618085
Current Version Published: 2002-08-06
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
Index
Terms
Available to subscribers and IEEE members.
References
Available to subscribers and IEEE members.
Citing Documents
Available to subscribers and IEEE members.