The real-time behavior of dynamic memory management in C++
- 19 November 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
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.Keywords
This publication has 23 references indexed in Scilit:
- Uniprocessor garbage collection techniquesPublished by Springer Nature ,2005
- Program representation and translation for predictable real-time systemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Performance of a hardware-assisted real-time garbage collectorPublished by Association for Computing Machinery (ACM) ,1994
- Compiling real-time programs into schedulable codePublished by Association for Computing Machinery (ACM) ,1993
- Reducing the latency of a real-time garbage collectorACM Letters on Programming Languages and Systems, 1992
- Replication-based incremental copying collectionPublished by Springer Nature ,1992
- Scheduling processes with release times, deadlines, precedence and exclusion relationsIEEE Transactions on Software Engineering, 1990
- Calculating the maximum execution time of real-time programsReal-Time Systems, 1989
- Reference count garbage collectionSoftware: Practice and Experience, 1984
- List processing in real time on a serial computerCommunications of the ACM, 1978