Title :
Real-time performance of dynamic memory allocation algorithms
Author_Institution :
INSA/IRISA, Rennes, France
Abstract :
Dynamic memory management is an important aspect of modern software engineering techniques. However developers of real-time systems avoid using it because they fear that the worst-case execution time of the dynamic memory allocation routines is not bounded or is bounded with an excessively large bound. The degree to which this concern is valid is quantified in this paper by giving detailed average and worst-case measurements of the timing performance of a comprehensive panel of dynamic memory allocators. For each allocator we compare its worst-case behavior obtained analytically with the worst timing behavior observed by executing real and synthetic workloads, and with its average timing performance. The results provide a guideline to developers of real-time systems to choose whether to use dynamic memory management or not, and which dynamic allocation algorithm should be preferred from the viewpoint of predictability.
Keywords :
real-time systems; storage allocation; storage management; timing; average timing performance; dynamic memory allocation algorithms; dynamic memory allocators; dynamic memory management; predictability; real workloads; real-time performance; real-time systems; software engineering; synthetic workloads; worst-case execution time; worst-case timing performance; Costs; Engineering management; Guidelines; Heuristic algorithms; Memory management; Performance analysis; Real time systems; Safety; Software engineering; Timing;
Conference_Titel :
Real-Time Systems, 2002. Proceedings. 14th Euromicro Conference on
Print_ISBN :
0-7695-1665-3
DOI :
10.1109/EMRTS.2002.1019184