Go to content
SV På svenska

Software Abstractions for Heterogeneous Multi-core Computers

Reference number
RIT10-0033
Start and end dates
110901-170831
Amount granted
19 715 631 SEK
Administrative organization
Chalmers University of Technology
Research area
Information, Communication and Systems Technology

Summary

The shift to multi/many-core computers has caused a major dilemma for the software industry. Software has to deal with parallelism explicitly. Unfortunately, designing parallel software is difficult, labor-intensive, and error-prone. If parallelism cannot be hidden it will reduce productivity of software designers and thereby threaten the entire software industry. This research program aims at mitigating this by aligning to a vision in which parallelism is hidden by encapsulating it in reusable software components. The concepts developed make use of emerging architectural primitives, advances in lock-free data structures and generic algorithms to build reusable and adaptable software components used as building blocks in commonly-used languages (e.g. C++ and Java). This enables software designers to focus on innovating new functionalities rather than adapting software to the moving target of multicore computers that will be more and more heterogeneous. To build such abstractions requires expertise in computer architecture and in software technologies. This program will foster a team of five PhDs that can build such abstractions for given application domains. The program aims at concretely demonstrating the viability of the approach by applying it to three application domains in telecom, vehicular design and modelling, and media processing. Several companies will be involved in the operation and will host the PhD students to apply their insights on their domains.

Popular science description

Paradigmskiftet mot flerkärniga mikroprocessorer har lett till ett dilemma för mjukvaruindustrin. Mjukvara måste numera utvecklas för att explicit utnyttja parallellism. Detta är svårt och tidsödande. Om parallellism inte kan gömmas kommer det att minska produktiviteten hos mjukvarukonstruktörer vilket kan hota hela mjukvaruindustrin. Det föreslagna forskningsprogrammet vill lösa detta problem genom att angöra till en vision i vilken parallellism döljs i återanvändbara mjukvarukomponenter. De koncept som kommer att utvecklas inom programmet utnyttjar egenskaper hos hårdvaran såväl som nya rön kring låsfria datastrukturer och generiska algoritmer för att bygga återanvåndbara och anpassningsbara mjukvarukomponenter som kan integreras i vanliga programspråk (t ex C++ och Java). Detta lämnar mjukvarukonstruktören i fred att fokusera på att skapa nya funktioner istället för att anpassa mjukvaran för kommande generationer av alltmer heterogena flerkärniga processorer. Forskningsprogrammet utbildar fem doktorer som har specialkompetens att bygga abstraktioner som döljer parallellism i givna applikationsdomäner. Forskningsprogrammet syftar till att demonstrera att parallellism verkligen kan döljas så att produktiviteten kan ökas för tre områden: telekommunikation, modellering och konstruktion av fordon och multimedia. Flera mjukvaruföretag kommer att delta i programmet och kommer att vara värdar då doktoranderna tillämpar utvecklade koncept på deras tillämpningar.