Abstract
The needs for run-time data storage in modern wired and wireless network applications are increasing. Additionally, the nature of these applications is very dynamic, resulting in heavy reliance to dynamic memory allocation. The most significant problem in dynamic memory allocation is fragmentation, which can cause the system to run out of memory and crash, if it is left unchecked. The available dynamic memory allocation solutions are provided by the real time Operating Systems used in embedded or general-purpose systems. These state-of-the-art dynamic memory allocators are designed to satisfy the run-time memory requests of a wide range of applications. Contrary to most applications, network applications need to allocate too many different memory sizes (e.g. hundreds different sizes for packets) and have an extremely dynamic allocation and de-allocation behavior (e.g. unpredictable web-browsing activity). Therefore, the performance and the de-fragmentation efficiency of these allocators is limited. In this paper, we analyze all the important issues of fragmentation and the ways to reduce it in network applications, while keeping the performance of the dynamic memory allocator unaffected or even improving it. We propose highly customized dynamic memory allocators, which can be configured for specific network needs. We assess the effectiveness of the proposed approach in two representative real-life case studies of wired and wireless network applications. Finally, we show very significant reduction in memory fragmentation and increase in performance compared to state-of-the-art dynamic memory allocators utilized by real-time Operating Systems.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Atienza, D., Mamagkakis, S., Catthoor, F., et al.: Dynamic Memory Management Design Methodology for Reduced Memory Footprint in Multimedia and Wireless Network Applications. In: Proc. of IEEE/ACM DATE 2004 (2004)
Atienza, D., Mamagkakis, S., et al.: Modular Construction and Power Modelling of Dyn. Mem. Managers for Embedded Systems. In: Proc. of LNCS PATMOS 2004 (2004)
Williamson, C.: A Tutorial on Internet Traffic Measurement. In: Proc. of IEEE Internet Computing 5(6) (2001)
Kotz, D., et al.: Analysis of a campus-wide wireless network. Dartmouth CS Technical Report TR2002-432
Wilson, P.R., et al.: Dynamic storage allocation, a survey and critical review. In: Int. Workshop on Mem. Manag., UK (1995)
Johnstone, M., et al.: The Memory Fragmentation Problem: Solved? In: Proc. of Intnl. Symposium on Memory Management 1998 (1998)
Berger, E.D., et al.: Composing high-performance memory allocators. In: Proc. of ACM SIGPLAN PLDI, USA (2001)
Dyn. Allocation in uClinux RTOS, http://linuxdevices.com/articles/AT7777470166.html
Dyn. Allocation in Enea OSE RTOS, http://www.realtime-info.be/magazine/01q3/2001q3_p047.pdf
Dyn. Allocation in MS Windows CE, http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcecoreos5/html/wce50conheaps.asp
Dyn. Allocation in MS Windows XP, http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngenlib/html/heap3.asp
Attardi, G., et al.: A customizable memory management framework for c++. Software Practice and Experience (1998)
Bacon, D., et al.: A Real-time Garbage Collector with Low Overhead and Consistent Utilization. In: Proc. of SIGPLAN 2003 (2003)
Shreedhar, M., et al.: Efficient Fair Queuing using Deficit Round Robin. In: Proc. of SIGCOMM 1995 (1995)
Gerharz, M., et al.: A Practical View on Quality-of-Service Support in Wireless Ad Hoc Networks. In: Proc. of IEEE ASWN 2003 (2003)
Infineon Easyport, http://www.itc-electronics.com/CD/infineon%2010063/cd1/html/pov33433-9542.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mamagkakis, S. et al. (2005). Reducing Memory Fragmentation with Performance-Optimized Dynamic Memory Allocators in Network Applications. In: Braun, T., Carle, G., Koucheryavy, Y., Tsaoussidis, V. (eds) Wired/Wireless Internet Communications. WWIC 2005. Lecture Notes in Computer Science, vol 3510. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11424505_34
Download citation
DOI: https://doi.org/10.1007/11424505_34
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25899-5
Online ISBN: 978-3-540-32104-0
eBook Packages: Computer ScienceComputer Science (R0)