De flesta programs prestanda påverkas av mängden tillgängligt minne. I en traditionell applikation, som har en fast arbetsset storlek, ökar minnet har en fördelaktig effekt fram till dess att applikationens arbetsset möts. I närvaro av sophämtning blir detta förhållande mer komplicerat. Samtidigt öka storleken på programmets hög minskar frekvensen av samlingar, samla en hög med minne sidad till bakgrundsbutiken är mycket dyrt. Vi visar först att det finns en optimal högstorlek för ett antal applikationer som körs på en maskin med en specifik konfiguration. Vi inför sedan ett system som på ett anpassningsbart sätt finner denna fina högstorlek. I detta schema spårar vi minnesanvändning och antal sidfel vid ett programs fasgränser. Med hjälp av denna information väljer systemet den mjuka högstorleken. Genom att anpassa sig dynamiskt är vårt system oberoende av den underliggande huvudsakliga minnesstorlek, kodoptimering och sophämtningsalgoritm. Vi presenterar flera experiment om verkliga tillämpningar för att visa effektiviteten i vår strategi. Våra resultat visar att programnivå högstyrning ger upp till en faktor på 7,8 total upphastighet jämfört med att använda den bästa möjliga fasta högstorlek som styrs av den virtuella maskinen på identiska sopsamlare.
Page-level Adaptive Memory Manager försöker upptäcka den optimala högstorleken för ett antal applikationer som körs på en maskin, dra nytta av programmets fasbeteende REF.
Program-level adaptive memory management
{'venue': "ISMM '06", 'journal': None, 'mag_field_of_study': ['Computer Science']}