211service.com
Nieuwe taal voor parallel programmeren
Er is een nieuwe programmeertaal ontworpen om het maximale uit de nieuwste multicore-computerprocessors te halen. Als het in de smaak valt bij programmeurs, zou het voor veel computers krachtigere software kunnen bieden.
In de afgelopen jaren, toen ze tegen de fysieke limieten van miniaturisatie aanliepen, zijn microchipmakers overgestapt van het vergroten van de kracht van processorkernen - het deel van een chip dat gegevens en instructies verwerkt - naar het toevoegen van meer kernen aan een enkele chip . De i3- en i7-processors van Intel hebben bijvoorbeeld respectievelijk twee en vier cores.
Dit vormt een uitdaging voor programmeurs. Aangezien de meeste programmeertalen zijn ontworpen voor single-core chips, kan het lastig zijn om taken op te splitsen en ze parallel naar elke core te sturen. Als een codeur niet voorzichtig is, kan dit fouten veroorzaken in de manier waarop elke kern in de chip toegang krijgt tot de gedeelde geheugengedeelten.
Tucker Taft , de chief technology officer en voorzitter van het in Boston gevestigde softwarebedrijf SofCheck , ontwierp de nieuwe taal, genaamd Parallelle specificatie en implementatietaal (ParaSail)—specifiek voor het schrijven van software voor multicore-processors. De taal is bedoeld om de valkuilen te vermijden die typisch optreden bij het werken met multicore-chips.
Voor een programmeur ziet ParaSail eruit als een aangepaste vorm van Java of C#, twee leidende talen. Het verschil is dat het een programma automatisch opsplitst in duizenden kleinere taken die vervolgens over kernen kunnen worden verspreid - een truc genaamd pico-threading, die het aantal taken maximaliseert dat parallel wordt uitgevoerd, ongeacht het aantal kernen. ParaSail doet de foutopsporing ook automatisch, wat de code veiliger maakt. Alles gebeurt standaard parallel, tenzij je het anders vertelt, zegt Taft.
De komende tien jaar zal het aantal cores op computerchips naar verwachting nog verder toenemen. Er zijn nu enkele machines met tientallen of honderden kernen, zegt Taft.
ParaSail gebruikt een aantal andere trucs, waarvan sommige gebaseerd zijn op talen die aan het eind van de jaren tachtig en het begin van de jaren negentig zijn ontwikkeld voor supercomputers - machines waarop veel afzonderlijke computerchips met elkaar zijn verbonden. Het ontwerp van de taal zelf is in wezen compleet, zegt Taft, die woensdag details van de taal presenteerde op de O'Reilly Open Source-conventie . De eerste versie van de compiler zal in de komende maand of zo worden uitgebracht. De taal werkt op Windows-, Mac- en Linux-computers.
Microsoft en Intel steken $ 20 miljoen in het aanpassen van bestaande talen voor multicore-processors, dus het is moeilijk te zeggen of ParaSail algemeen zal worden toegepast. Er zijn veel mensen die het probleem oplossen, bestaande talen gebruiken en proberen ze beter te maken in het omgaan met parallelle verwerking, zegt Taft.
Taft heeft al een bewezen staat van dienst in de wereld van computertaalontwikkeling, zegt Denis Nicole van de Dependable Systems and Software Engineering Group aan de Southampton University. Maar hij voegt eraan toe dat er meestal bedrijven ter grootte van Sun nodig zijn om nieuwe talen op de community te pushen.