Hårdvaruacceleration av algoritmer genom funktionell programmering

Om en funktion eller ett program går för långsamt på en dator kan man snabba upp den genom att implementera delar av programmet på speciell rekonfigurerbar hårdvara. Sådan hårdvara (kallad Field Programmable Gate Array, FPGA, på Engelska) kan programmeras och omprogrammeras om och om igen, för att implementera många olika kretsar, och snabba upp många olika program. Oftast är det en viss del av programmet som väljs ut för att implementeras på FPGA. Det senaste årtiondet har FPGAer blivit allt mer sofistikerade, och nu inkluderar de inte bara den programmerbara logiken utan även extra resurser för att snabba upp vanligt förekommande beräkningar. Tilläggsresurserna kan var så enkla som kretsar som snabbar upp carry-signalerna i en adderare. Eller så kan de vara riktiga processorer som sitter bland den rekonfigurerbara logiken. Sådana turbo-FPGAer är svårprogrammerade, speciellt då algoritmen som skall snabbas upp är dataintensiv. Detta projekt har för avsikt att utveckla nya metoder för att programmera FPGAer, baserade på moderna domänspecifika programspråk, och på smarta sätt att söka efter bra kretsar som skall placeras på FPGA. För att verifiera våra metoder för programmering av FPGAer skall vi applicera dem på kretsar som behövs för att kryptera data och skydda den från obehöriga som vill stjäla den. Ett stort resultat inom kryptografi (från 2009) indikerar att det faktiskt är möjligt att göra beräkningar med krypterad data utan att först dekryptera den. Om man kan göra den nya krypteringsmetoden tillräckligt snabb så kommer den att ha ett stort genomslag, då den möjliggör säkra beräkningar i molnet (Eng. cloud computing). Nackdelen med den nya sortens kryptering är att den kräver att man konstruerar gigantiska kretsar som en del av beräkningen. Vi kommer att utveckla nya metoder för att designa och implementera sådana stora kretsar. Om vi lyckas i forskningen kommer vi att bidra till ett enormt steg framåt inom datasäkerhet.

Startdatum 2012-01-01
Slutdatum Projektet är avslutat: 2014-12-31

Sidansvarig Publicerad: lö 18 sep 2021.