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.