NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Back to Results
Inflated speedups in parallel simulations via malloc()Discrete-event simulation programs make heavy use of dynamic memory allocation in order to support simulation's very dynamic space requirements. When programming in C one is likely to use the malloc() routine. However, a parallel simulation which uses the standard Unix System V malloc() implementation may achieve an overly optimistic speedup, possibly superlinear. An alternate implementation provided on some (but not all systems) can avoid the speedup anomaly, but at the price of significantly reduced available free space. This is especially severe on most parallel architectures, which tend not to support virtual memory. It is shown how a simply implemented user-constructed interface to malloc() can both avoid artificially inflated speedups, and make efficient use of the dynamic memory space. The interface simply catches blocks on the basis of their size. The problem is demonstrated empirically, and the effectiveness of the solution is shown both empirically and analytically.
Document ID
19910002084
Acquisition Source
Legacy CDMS
Document Type
Contractor Report (CR)
Authors
Nicol, David M.
(College of William and Mary Williamsburg, VA., United States)
Date Acquired
September 6, 2013
Publication Date
September 1, 1990
Subject Category
Computer Programming And Software
Report/Patent Number
ICASE-90-63
NASA-CR-182104
AD-A227736
NAS 1.26:182104
Report Number: ICASE-90-63
Report Number: NASA-CR-182104
Report Number: AD-A227736
Report Number: NAS 1.26:182104
Accession Number
91N11397
Funding Number(s)
CONTRACT_GRANT: NSF ASC-88-19373
CONTRACT_GRANT: NAG1-1060
CONTRACT_GRANT: NAS1-18605
Distribution Limits
Public
Copyright
Work of the US Gov. Public Use Permitted.
No Preview Available