Computerworld News Service: Dataloger ved University of Illinois har udviklet udvidelser til Java, der har det formål at løse udfordringen ved parallel applikationsudvikling. Og de er klar til at gøre det samme for C++.
Open source-teknologien Deterministic Parallel Java hjælper udviklere med at løse fejl i forbindelse med paralleludvikling, siger Vikre Adve, der er professor i datalogi ved universitet.
Udviklingen af parallelapplikationer er blevet mere og mere fremtrædende med udbredelsen af processorer med adskillige kerner.
"Stort set alle high performance computing-applikationer får i fremtiden brug for at være parallelle. Det, vi her forsøger på, er at gøre det langt lettere at skrive korrekte parallelle applikationer uden parallelle fejl," siger Adve.
Deterministic Parallel Java indeholder et sæt udvidelser i form af en kompiler. Der er også udviklet en runtime og relaterede materialer. Deterministic Parallel Java kan downloades fra University of Illinois' website og er udviklet ved universitets Parallel Computing Research Center.
Næste projekt er C++
Selvom Deterministic Parallel Java først blev offentliggjort i sidste uge, så blev det faktisk udgivet allerede først i juli. Der er planer om at skabe en version til C++ i første halvdel af næste år med navnet Deterministic Parallel C++.
Teknologien garanterer ifølge universitetet "deterministisk semantik" uden runtime-kontrol til generelle objektorienterede programmer. Med deterministisk semantik vil et program, der får et givent input, altid producere det samme output for præcist dette input, forklarer Adve.
Selvom det almindeligvis forventes af sekventielle programmer, så kan det være svært at garantere i parallelle programmer, påpeger han.
I parallelle programmer kører adskillige operationer parallelt og udveksler data, forklarer Adve. Når data udveksles, kan synkronisering ifølge Adve blive et problem, hvis programmørerne ikke er forsigtige. Det vil den nye teknologi tilsyneladende afhjælpe.
Oversat af Thomas Bøndergaard