Manycore probleem voor programmeurs
De meest gebruikte programmeertalen van dit moment, Java, C/C++ en C#, maken allemaal gebruik van hetzelfde threadmodel. Voor ontwikkelaars is dat dé methode om de parallelle rekenkracht van multicoreprocessors uit te nutten. Dat doen zij door meerdere executiestromen naast elkaar op te starten. Volgens Paul Klint, hoofd van de onderzoeksafdeling Software Engineering bij het Centrum Wiskunde & Informatica (CWI), voldoet dit model in de praktijk echter niet.
Het gaat mis bij de synchronisatie van de threads, daar waar die verschillende executiestromen weer bij elkaar moeten komen. “Als je op safe speelt, dan werkt het niet. Doe je dat niet, dan gaat het fout. Dit soort modellen waarin programmeurs expliciet hun parallelle code moeten specificeren, zijn een doodlopende weg; ze zijn te moeilijk.”