Abstract
Memory allocation has a major influence on multiuser systems, cloud-based services, virtual machines, and other computer systems. Memory allocation is a process that assigns physical or virtual memory space to programs and services as efficiently and quickly as possible. Economical memory allocation management needs allocation strategies with minimum wastage. In this paper, we introduce a new memory allocation algorithm based on sequential fits and zoning for on-demand (online) cloud services. The memory is divided into multiple zones, where a subgroup of relative request sizes compete in reverse order. We use simulation to compare our new mechanism with existing memory allocation methods that have been deployed using Amazon Elastic Compute Cloud as a test bed. The proposed algorithm is more efficient, and the average saving for the normalized revenue loss is about 7% better than best-fit and 15% better than first-fit memory allocation. In addition, we show that proposed algorithm is robust and faster and has a fairness index that is superior to that of existing techniques.























Similar content being viewed by others
Notes
Real user request data have not been publicly released by cloud service providers yet [42].
References
Maguluri S, Srikant R, Ying L (2012) Stochastic models of load balancing and scheduling in cloud computing clusters. In: IEEE INFOCOM, Hong Kong, pp 702–710
Manvi SS, Shyam GK (2014) Resource management for Infrastructure as a Service (IaaS) in cloud computing: a survey. J Netw Comput Appl 41:424–440
Madni S, Abd Latiff M, Coulibaly Y, Abdulhamid S (2016) Resource scheduling for Infrastructure as a Service (IaaS) in cloud computing. J Netw Comput Appl 68:173–200
Ben-Yehuda OA, Ben-Yehuda M, Schuster A, Tsafrir D (2014) The rise of RaaS: the resource-as-a-service cloud. Commun ACM 57(7):76–84
Barham P, Dragovic B, Fraser K, Hand S, Harris T, Ho A, Neugebauer R, Pratt I, Warfield A (2003) Xen and the art of virtualization. In: Proceedings of the 19th ACM Symposium on Operating Systems Principles and Practice, pp 164–177
Kivity A, Kamay Y, Laor D, Lublin U, Liguori A (2007) KVM: The Linux virtual machine monitor. In: Proceedings of the Linux Symposium, pp 225–230
Waldspurger CA (2002) Memory resource management in VMware ESX Server. In: Proceedings of the 2002 Symposium on Operating Systems Design and Implementation
Ding Y, Xu H, Li P, Ding J (2016) Review of virtual memory optimization in cloud environment. In: International Conference on Intelligent Networking and Collaborative Systems, pp 53–58
Costea S, Barbu M, Muraru C, Rughinis R (2013) Resource allocation heuristics for the miriaPOD platform. In: Networking in Education and Research, 2013 RoEduNet International Conference 12th Edition, vol 1, no 6, pp 26–28
Weinstock C, Wulf W (1988) QuickFit: an efficient algorithm for heap storage allocation. ACM SIGPLAN 23(10):141–144
Albers S, Mitzenmacher M (1998) Average-case analyses of first fit and random fit bin packing. In: Proceedings of the 9th Annual ACM-SIAM Symposium on Discrete Algorithms. Society for Industrial and Applied Mathematics, Philadelphia, pp 290–299
Bays C (1977) A comparison of next-fit, first-fit, and best-fit. Commun ACM 20(3):191–192
Knowlton K (1965) A fast storage allocator. Commun ACM 8(10):623–625
Younis M (2012) Memory allocation technique for segregated free list based on genetic algorithm. J Al-Nahrain Univ 15(2):161–168
Sun X, Wang J, Chen X (2007) An improvement of TLSF algorithm. In: 15th IEEE-NPSS Real-Time Conference, vol 1, no 5, 29 April–4 May 2007
Masmano M, Ripoll I, Crespo A, Real J (2004) TLSF: a new dynamic memory allocator for real-time systems. In: 16th Euromicro Conference on Real-Time Systems, 30 June–2 July, pp 79–88
Peterson J, Norman T (1977) Buddy systems. Commun ACM 20(6):421–431
Ferreira T, Matias R, Macedo A, Araujo L (2011) An experimental study on memory allocators in multicore and multithreaded applications. In: International Conference on Parallel and Distributed Computing Applications and Technologies, Gwangju, pp 92–98
Elias D, Matias R, Fernandes Ma, Borges L (2014) Experimental and theoretical analyses of memory allocation algorithms. In: 29th Annual ACM Symposium on Applied Computing (SAC’14), New York, NY, USA, pp 1545–1546
Chung Y, Moon S (2000) Memory allocation with lazy fits. In: International Symposium on Memory Management, Minneapolis, Minnesota, pp 65–70
Wilson PR, Johnstone MS, Neely M, Boles D (1995) Dynamic storage allocation: a survey and critical review. In: International Workshop on Memory Management, vol 986, Kinross, Scotland. Springer, Berlin, pp 1–116
Johnstone MS, Wilson PR (1997) The memory fragmentation problem solved? In: Proceedings of the First International Symposium on Memory Management, pp 26–36
Hasan Y, Chang M (2005) A study of best-fit memory allocators. Comput Lang Syst Struct 31(1):35–48
Risco-Martin JL, Colemenar JM, Atienza D, Hidalgo JI (2011) Simulation of high-performance memory allocators. Microprocess Microsyst 35(8):755–765
Park H, Choi J, Lee D, Noh SH (2015) iBuddy: inverse buddy for enhancing memory allocation/deallocation performance on multi-core systems. IEEE Trans Comput 64(3):720–732
GitHub (2015) Writing your own memory allocator. https://github.com/0x65/apmalloc
Selman AH, Aburas A, Selman S (2014) Intelligent memory allocation based on fuzzy logic. Southeast Eur J Soft Comput 3(1):18–25
Liao X, Jin H, vol Yu S, Zhang Y (2015) A novel memory allocation scheme for memory energy reduction in virtualization environment. J Comput Syst Sci 81(1):3–15
Elias D, Matias R, Fernandes M, Borges L (2014) Experimental and theoretical analyses of memory allocation algorithms. In: Proceedings of the 29th Annual ACM Symposium on Applied Computing, Gyeongju, Korea, March 24–28, pp 1545–1546
Ben-Yehuda OA, Posener E, Ben-Yehuda M, Schuster A, Mualem A (2014) Ginseng: market-driven memory allocation. In: Proceedings of the 10th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, Salt Lake City, UT, USA, March 1–2, pp 41–52
Korf R (2002) A new algorithm for optimal bin packing. In: 18th National Conference on Artificial intelligence, Menlo Park, CA, USA, pp 731–736
Alyatama A (2014) Dynamic spectrum allocation in orthogonal frequency-division multiplexing optical networks. J Eng Res 2(3):109–129
Kolhar M, Abd El-atty SM, Rahmath M (2016) Storage allocation scheme for virtual instances of cloud computing. Neural Comput Appl
Amazon Web Services (2015) Instance types matrix, Amazon EC2 instances. http://aws.amazon.com/ec2/instance-types
Wikipedia (2014) Amazon Elastic Compute Cloud. http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud
Winston W (1991) Operations research: applications and algorithms, 2nd edn. PWS-KENT, Boston
Gera A, Xia C (2011) Learning curves and stochastic models for pricing and provisioning cloud computing services. Serv Sci 3(1):99–109
Khazaei H, Miic J, Miic V, Mohammadi N (2013) Modeling the performance of heterogeneous IaaS cloud centers. In: IEEE 33rd International Conference on Distributed Computing Systems Workshops (ICDCSW), pp 232–237
Khazaei H (2013) Performance modeling of cloud computing centers. Ph.D thesis, University of Manitoba Winnipeg, Manitoba, Canada
Jain R, Chiu M, Hawe W (1984) A quantitative measure of fairness and discrimination for resource allocation in shared computer systems. DEC Research Report TR-301
Shore J (1975) On the external storage fragmentation produced by first-fit and best-fit allocation strategies. Commun ACM 18:433–440
Mashayekhy L, Nejad M, Grosu D, Vasilakos AV (2016) An online mechanism for resource allocation and pricing in clouds. IEEE Trans Comput 65(4):1172–1184
Lea J, Alyatama A (1995) Bandwidth quantization and states reduction in the broadband ISDN. IEEE/ACM Trans Netw 3(3):352–360
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Al-Yatama, A., Ahmad, I. & Al-Dabbous, N. Memory allocation algorithm for cloud services. J Supercomput 73, 5006–5033 (2017). https://doi.org/10.1007/s11227-017-2069-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-017-2069-8