Selv om systemer med flerkjernede prosessorer nærmest har blitt allemannseie, er det fortsatt mye programvare som ikke er i stand til å utnytte mer enn én kjerne om gangen.
Nå har forskere ved North Carolina State University (NCSU) kommet fram til en metode som kan gi en betydelig forbedring i ytelsen til programvare som kjøres på systemer med flere prosessorkjerner.
Forskerne har kommet fram til at ved å skille ut den dynamiske minnehåndteringen, som er blant mest ytelseskrevende operasjonene i mange C/C++-applikasjoner, i en egen tråd, kan programvaren kjøres omtrent 20 prosent raskere på et system med en firekjernet Intel Core 2-prosessor.
Den separate tråden, som forskerne kaller Memory Management Thread (MMT), kjøres på en annen kjerne enn resten av programvaren. Dette gjør det mulig for hovedtråden til applikasjonen å utføre andre oppgaver mens minnehåndteringen utføres.
Forskerne har testet to mye brukte minnetilordnere, PHKmalloc og Doug Leas malloc (dlmalloc), som i snitt ga en ytelsesøkning på 19 prosent, uten at verken applikasjonen eller malloc-bibliotekene ble modifisert eller var oppmerksomme på parallelliseringsordningen.

For å oppnå dette har forskerne tatt i bruk en klient-server-tilnærming for MMT. MMT-funksjonaliteten er delt i opp i en klientdel og en serverdel. MMT-klienten befinner seg i hovedtråden til applikasjonen og opptrer overfor applikasjonen som et minnehåndteringsbibliotek som kan motta vanlige forespørsler om tilordning og fraordning av minne. I en annen tråd finnes MMT-serveren, som generere kallene til minnehåndteringsbibliotekets rutiner for tilordningen og fraordningen av minne.
Klienten og serveren kommuniserer og synkroniserer for å koordinere hvilke forespørsler som skal sendes til biblioteket.
Flere detaljer om metoden er tilgjengelig i dette dokumentet.
Til InformationWeek sier Yan Solihin, førsteamanuensis ved NCSU, MMT-teknikken har blitt innkapslet i et bibliotek. For å bruke det, trenger utvikleren bare å lenke til det fra sitt program.
Forskningen viser også at ytelsestapet som vanligvis oppstår med bruk av sikkerhetsfunksjonaliteten i PHKmalloc kan reduseres fra i snitt 21 prosent til bare 1 prosent.