The real-time behavior of dynamic memory management in C++

Abstract
Dynamic memory management is an important aspect of modern software engineering techniques based on object-oriented methodologies. Additionally, dynamic management of memory serves important roles in improving the flexibility and functionality of large software systems. However, developers of current real-time systems avoid the use of dynamic memory because they fear that the worst-case time and space requirements of typical dynamic memory managers are insufficiently bounded. The degree to which these concerns are valid is quantified by detailed measurements of several real-world workloads. A special hardware-assisted real-time garbage collection system has been designed to facilitate reliable use of dynamic memory in hard real-time systems. By analyzing the dynamic memory use of application software, the real-time developer can prove compliance with time and space constraints. Analysis techniques are presented and the real-time performance of the hardware-assisted garbage collection system is compared to that of the traditional allocators.

This publication has 23 references indexed in Scilit: