Er is een nieuwe programmeertaal die speciaal ontworpen is om het maximale uit multicore processores te halen. Als deze taal aanslaat kan het zorgen voor krachtiger software voor computers met een processor met meerdere kernen. Programma's geschreven met deze taal werken daar namelijk veel efficiënter op. Dat meldt Technology Review.

Valkuilen ontwijken

De overstap van veel processorfabrikanten naar een systeem met twee, vier of nog meer kernen per processor is een ware uitdaging voor softwareontwikkelaars. Omdat de meeste programmeertalen zijn ontworpen voor cpu's met slechts één kern kan het lastig zijn om taken op te delen en die parallel naar verschillende kernen te sturen. Dat kan namelijk fouten veroorzaken op de manier waarop kernen het gedeelde geheugen in de cpu benaderen.

Dat is de reden dat Tucker Taft, cto van softwarebedrijf SofCheck de nieuwe programmeertaal Parallel Specification and Implementation Language (ParaSail) ontwikkelde. Die taal is gemaakt voor het schrijven van software voor processors met meerdere kernen. Programmeurs zouden hiermee de valkuilen bij het programmeren voor multicores eenvoudig kunnen ontwijken.

Automatisch splitsen

Voor een programmeur zal ParaSail nog het meeste lijken op een aangepaste versie van Java of C#. Het verschil is met name dat het een programma automatisch splitst in duizenden kleinere taken die over de kernen verspreid worden: pico-threading. Daardoor wordt het aantal taken dat parallel uitgevoerd wordt altijd gemaximaliseerd, ongeacht het aantal kernen.

ParaSail doet ook aan automatische debugging zodat de code veiliger wordt. “Alles wordt parallel gedaan, behalve wanneer je aangeeft dat het anders moet", stelt Taft. Dat is ook in de toekomst handig. De verwachting is namelijk dat er dan nog meer kernen op één enkele processor komen. Intel speculeert zelfs al over duizend kernen.

Gebaseerd op supercomputers

De parallelle programmeertaal gebruikt ook een aantal trucs die gebaseerd zijn op programmeertalen voor supercomputers van eind jaren '80 en begin jaren '90. Dat waren machines met veel individuele computerchips die in één netwerk draaiden. “Het ontwerp van de taal is in essentie compleet", aldus Taft.

De eerste versie van de compiler voor de programmeertaal komt volgende maand uit. De taal zal werken op Windows, Mac en Linux. Ondanks de voordelen is het maar de vraag of de taal snel populair zal worden. Zo stelt Denis Nicole van de Dependable Systems and Software Engineering Group op de Universiteit van Southhampton dat Taft zeker een bewezen track record in het ontwikkelen van programmeertalen heeft maar dat "slechts bedrijven met de grootte van Sun" zo'n nieuwe taal echt kunnen pushen.