Informatici hebben een manier gevonden om singlethreaded programma's als webbrowsers toch op meer dan één thread te laten draaien. Hiertoe scheiden ze de werklast in een rekenintensieve stap en een stap voor geheugenmanagement.
Hoewel vrijwel elke pc die in de winkels wordt verkocht over meer dan één core danwel thread beschikt, kan de meest gebruikte software, zoals webbrowsers en tekstverwerkers, nauwelijks multithreaded worden geprogrammeerd. Dat stellen de informatici van North Carolina State University. De werklast van deze lineaire programma's is moeilijk te splitsen en op die manier over verschillende, al dan niet virtuele cores te verdelen.
De onderzoekers van de Amerikaanse universiteit zeggen erin te zijn geslaagd om de rekenintensieve stap van bijvoorbeeld een browser te scheiden van de geheugenmanagementstap. Door dit laatste proces in een aparte thread te laten draaien, zou software als browsers of tekstverwerkers tot twintig procent sneller kunnen zijn. De informatici ontwikkelden hun geheugenmanagement zodanig dat deze transparant met de doelsoftware kan samenwerken, zodat geen aanpassingen in de broncode nodig zijn.
Zij noemen het proces, waarbij een aparte thread voor dynamisch geheugenmanagement wordt gecreëerd, een memory management thread. De aparte thread is een mmt-server, die het daadwerkelijke geheugenmanagement voor zijn rekening neemt. De mmt-client is een deel van de hoofdthread en fungeert als geheugenallocator voor het programma. De mmt werkt samen met twee bestaande geheugenallocators: de malloc-versie van Doug Lea en PHKmalloc. Bij gebruik van PHKmalloc kunnen de veiligheidsfeatures daarvan bovendien zonder prestatieverlies worden uitgevoerd, terwijl dat zonder aparte geheugenmanagementthread in een prestatiedip van 21 procent zou resulteren.
