Jerker Bengtsson forskar i effektiva sätt att göra signalbehandling i multikärnor. I sin avhandling har han tittat på processorer där kärnorna har lokalt minne och är kopplade till varandra i en array, som exempelvis Cavium Octeon, Picochip PCxxx, Tilera Tile och Ambric AM2000.
Idéerna har testats på basbandsbearbetningen i mobilradiobasstationer, det så kallade "fysiska lagret" där signalbehandlingen görs. Men arbetet kan också användas i andra tillämpningar, som till exempel de signalbehandlingsplattformar för radarsystem som SAAB Microwave Systems utvecklar.
Jerker Bengtsson
Radiobasstationstillverkaren Ericsson har varit industriell partner.
– Jag har haft ganska täta kontakter med en viss forskningsgrupp som är kopplad till Ericssons produktutveckling och som utreder och studerar nya hårdvaruteknologier och utvecklingsverktyg för mjukvara.
Jerker Bengtsson metod är att bygga en modell av programvaran och multikärnan. Modellen specificeras så noggrannt att den kan användas för att optimera hur programvaran i signalprocessorn ska fördelas mellan kärnorna.
– Framförallt vill jag fånga kommunikationskostnaderna så noga som möjligt eftersom de mer eller mindre bestämmer kostnaden för olika "kornigheter" av parallellisering.
Därefter använder han en iterativ metod för att räkna ut hur den optimala arbetsfördelningen ser ut. Programmeraren är involverad i optimeringen.
– Min uppfattning är att det helt klart kommer att behövas en större grad av interaktion mellan programmeraren och kompilatorer och kodgeneratorer för verkligt prestandaeffektiv användning av manycores.
– De experiment som jag gjort hittills visar på att mitt verktyg klarar av att tidigt identifiera vilka parallella mappningar som motsvarar olika krav bäst. Men det krävs en del vidareutveckling och mer experiment för att kunna garantera att vi alltid kan identifiera en bättre lösning.
Jerker Bengtssons metod har begränsat sig till att göra optimeringen offline, metoden kan alltså inte dynamiskt anpassa sig till aktuella trafikmönster.
– Nej. Men nu vill jag gå vidare. Vi kommer bland annat att titta på kombinationer av statiska och dynamiska lösningar för parallel resursallokering. Det finns en mängd intressanta idéer att spinna vidare på.
Vad planerar Ericsson när det gäller plattformar och verktyg i basstationer?
– Hur Ericsson resonerar kring kommersiella manycores som ett framtida teknologival kan jag inte uttala mig om.
– Min personliga gissning är att för ett företag som Ericsson så är det av flera skäl ett väldigt stort steg att ta, att byta hårdvaruteknologi och programmeringsmodeller. Den enorma mängd av komplex källkod som finns kommer inte att direkt kunna kompileras och köras effektivt på en manycore, utan måste till stora delar skrivas om.
– När manycore-teknologin och marknaden för denna mognat, så kommer den här typen av programmerings och verktygslösningar att behövas. Det är jag helt övertygad om.