Applicaties 20 procent sneller op multicore processor

Vertrekpunt voor de wetenschappers was de constatering dat toepassingen in moderne programmeertalen nogal wat tijd besteden aan geheugenbeheer. In C/C++ wordt gemiddeld zo’n 30 procent van de tijd besteed aan het opzoeken van opslagadressen, ophalen van gegevens, vrijmaken van geheugenlocaties, zoeken naar vrije adressen en wegschrijven van gegevens. De vraag die ze zich stelden was of daar tijdwinst was te boeken.
Het antwoord vonden de wetenschappers in wat ze zelf een memory management thread noemen. Dat is een aparte routine die de dynamische geheugenallocatieprocessen afvangt en uitvoert op een aparte kern. De kern(en) waarop de toepassing in kwestie draait, wordt daardoor ontlast.
Dat klinkt eenvoudiger dan het is. Om echt winst te boeken moesten de wetenschappers een aantal barrières nemen in het ontwerp van een aparte routine en met name op het vlak van synchronisatie, en de overhead die dat kan uitlokken. Bovendien wilden ze een oplossing construeren waarvoor ingrepen in de broncode of toevoegingen aan de applicaties niet nodig zouden zijn.
Met een client/server-constructie slaagden ze er na enig onderzoek en testen in het geheugenbeheer van toepassingen daadwerkelijk op efficiënte wijze in een aparte thread te laten uitvoeren. Daarmee valt de tijd, die applicaties nodig hebben voor de verwerking, met gemiddeld 20 procent te bekorten. Dit geldt ook voor sterk sequentieel opgezette applicaties die zich van nature niet lenen voor parallellisatie, zoals webbrowsers en tekstverwerkers.
Belangrijker is wellicht dat het verbijzonderen van de geheugenbeheerprocessen meer ruimte biedt voor de beveiliging ervan. Beveiligingschecks leveren gewoonlijk een erg hoge overhead op; bij gebruik van een aparte management memory thread op een aparte kern verdwijnt die overhead grotendeels, constateren de onderzoekers.
Het onderzoek 'MMT: Exploiting Fine-Grained Parallelism in Dynamic Memory Management' van Devesh Tiwari, Sanghoon Lee, James Tuck en Yan Solihin is online gepubliceerd. Het wordt op 21 april gepresenteerd tijdens het IEEE International Parallel and Distributed Processing Symposium in Atlanta, Verengide Staten. Voor zover bekend zijn er geen vastomlijnde plannen voor marktintroductie van de techniek.
Reacties
Om een reactie achter te laten is een account vereist.
Inloggen Word abonnee