Adaptation in natural and artificial systems
Adaptation in natural and artificial systems
The memory fragmentation problem: solved?
Proceedings of the 1st international symposium on Memory management
Marmot: an optimizing compiler for Java
Software—Practice & Experience
Small memory software: patterns for systems with limited memory
Small memory software: patterns for systems with limited memory
On the external storage fragmentation produced by first-fit and best-fit allocation strategies
Communications of the ACM
Genetic Algorithms in Search, Optimization and Machine Learning
Genetic Algorithms in Search, Optimization and Machine Learning
IEEE Software
Generating Software Test Data by Evolution
IEEE Transactions on Software Engineering
Dynamic Storage Allocation: A Survey and Critical Review
IWMM '95 Proceedings of the International Workshop on Memory Management
An Architecture for Distributing the Computation of Software Clustering Algorithms
WICSA '01 Proceedings of the Working IEEE/IFIP Conference on Software Architecture
Journal of Systems and Software
Search-based software engineering: Trends, techniques and applications
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
In this paper we present an approach for improving memory efficiency using genetic algorithms. More precisely, we improve the internal memory fragmentation by finding the optimal configuration of a segregated free lists data structure. We have used trace instrumentation to generate the workload of memory allocations and deallocations from significant scenarios.The genetic algorithm used the workload as input to generate the optimal configuration among the huge number of potential solutions by evolving an initial population (a set of potential solutions). In practice, memory configurations are created on the empirical evidence based on the fact that the system works. However, a more scientific and rational approach is possible by using genetic algorithms. The approach we have used was fast and effective in providing the configuration parameters for the segregated free lists. The result is based on the use of heuristics and provides an excellent choice when a brute force approach is not feasible. Moreover, the use of genetic algorithms shows that the software engineering discipline can benefit from different research areas where complexity, adaptation and evolution are involved.