Med en parallellvariant av C, en egenutvecklad kompilator och ett instickskort med en rejäl FPGA-krets kan uppstartsföretaget Mitrion i Lund göra en vanlig pc 20 gånger snabbare.
Mitrion grundades 2000 av Stefan Möhl och Pontus Borg, då under namnet Flow Computing. Med en parallell datorarkitektur implementerad i en FPGA kan de snabba upp beräkningar på en vanlig pc ungefär 20 gånger. |
På uppstartsföretaget Mitrion tror man det. Bolagets produkt - en pc-accelerator med samma namn - har kommit i bruk hos den första kunden och nyligen visats för pressen.
- Visionen är att Mitrion ska finnas på hyllan i alla pc-butiker, så att alla som behöver förstärka sin pc bara ska kunna köpa den och sätta in den i sin dator, säger Stefan Möhl, som tillsammans med Pontus Borg grundade företaget för tre år sedan.
Strategin går ut på att börja med ett antal pilotkunder och bygga färdiga system för ett tillämpningsområde i taget, samtidigt som man jobbar på att få själva produkten i ett mer kommersiellt tilltalande skick.
- Vi har börjat inom bioteknik, det är en hetare bransch än IT och telekom och där finns stora behov av snabbare beräkningar. Vår första kund sysslar med proteinanalys, berättar Anders Dellson.
- Fast om vi märker ett jättetryck från någon annan bransch så kanske vi provar där också, säger Stefan Möhl.
Han har en bakgrund som lingvist och filosof - inte direkt det första man gissar på för en företagsgrundare i elektroniksvängen. Men han är en hejare på programmering, precis som partnern Pontus Borg, som tidigare bland annat jobbat på C Technologies.
Ny arkitektur för varje behov
Från början var deras plan att ta fram ett nytt högnivåspråk för hårdvarukonstruktion, på Lunds tekniska högskola. Under arbetets gång föddes idén till en ny typ av parallell datorarkitektur som anpassar sig dynamiskt efter tilllämpningsprogrammets behov. Att implementera idén i en FPGA var naturligt - en FPGA är ju omprogrammerbar vilket är precis vad som krävs när datorarkitekturen förändras vid varje kompilering.
FPGA:n sitter på ett PCI-kort och jobbar mot pc:ns huvudprocessor ungefär som en grafikprocessor. Men kommunikationen är inte särskilt intensiv. Allt beräkningsarbete görs i FPGA:n, och pc-processorn behöver bara blandas in när data ska hämtas från omvärlden eller visas på skärmen.
Mitrion jämför sig gärna med så kallade Linuxkluster, alltså ett antal sammankopplade pc:ar som kan nå en viss grad av parallellism och därmed få ökad prestanda. Men Mitrions lösning är dels betydligt billigare - "vår lösning kostar så-där 110 000 kronor" säger Anders Dellson - och dels är parallellismen långt mer utvecklad. Exakt vilka element som arbetar parallellt vill företaget dock inte berätta - det hör till de patenterade företagshemligheterna.
Den FPGA man använder är en Virtex II från Xilinx som klockas i runt 100 MHz - en trettiondedel av de 3 GHz som Pentium 4 körs i. Eftersom Mitrion gör sina beräkningar 20 gånger snabbare än Pentium 4 blir parallellismen ungefär 600-faldig.
Det gör i sin tur att varje frekvensökning i FPGA-kretsarna ökar Mitrions prestanda med en hävstångseffekt på 600 gånger. Och att ta rygg på FPGA-utvecklingen ingår i strategin. Några egna halvledare tänker man inte ta fram.
- Vi tror att Xilinx och Altera kommer att vilja samarbeta med oss. Om vi lyckas kommer vi ju att skapa nya marknader för deras största kretsar.
- Vi använder de största FPGA-kretsarna som finns att köpa. Men vi vill gärna ha ännu större och snabbare kretsar, säger Stefan Möhl.
Bättre kompilator nödvändig
Innan produkten är kommersiellt gångbar måste kompilatorn rensas från buggar och göras betydligt mer användarvänlig. Dessutom måste flera bibliotekselement skrivas om från grunden, utifrån algoritmer anpassade till parallellism.
Kompileringen tar inte mer än några minuter. Men utdata från kompilatorn är VHDL-kod som på sedvanligt vis måste gå genom verktyg för syntes, placering och ledningsdragning. Detta kan ta ett par timmar, så att ändra i ett program är ganska omständligt.
- Men det går att verifiera att ändringen fungerar redan efter kompileringen, säger Anders Dellson.
Språket man använder är en egenutvecklad parallellvariant av C. Det är framtaget för uppgiften, och har inget släktskap med hårdvaruspråket man inspirerades av.
- På sikt kan vi mycket väl göra språket allmänt tillgängligt, publicera det i en referensmanual eller så, säger Stefan Möhl
Mitrion hör till den mycket begränsade skara företag som lyckats få riskkapital under det senaste året. Teknoseed, ägt av Teknikbrostiftelsen i Lund, har anslagit 3miljoner kronor, och konsultföretaget Carlstedt Research & Technology i Göteborg har gått in med en halv miljon, samt bidragit i produktutvecklingen och med kundprojekt.
Adam Edström