Mitrionics bygger inte bussar utan processorer. Konfigurerbara processorer är inget nytt, men Mitrionics har tagit konceptet till en extrempunkt.
Stefan Möhl |
– Varje element har exakt den ordlängd den behöver. Om det är en aritmetisk enhet du inte använder – så finns den inte. Allt är perfekt balanserat.
Mitrionics verktyg skapar en processor som är exakt skräddarsydd till programmet som ska köras.
Företaget föddes 2000, dog sommaren 2010, och återuppstod i november 2011 med en pengainjektion som räcker till ytterligare två års verksamhet utan vinst.
Ingen FPGA-kunskap behövs
Mitrionics affärsmodell är att sälja FPGA-moduler utrustade med deras anpassningsbara processor – Mitrion Virtual Processor eller ”MVP”. Säljargumentet är den unika FPGA-programmeringsmodellen som Mitrionprocessorn gör möjlig.
Projekt i elektronik eller inbyggda system förutsätter oftast att det finns kunskap om hårdvarukonstruktion inom företaget.
– Men med vårt system kan man köra algoritmer på en FPGA utan att ha någon som helst hårdvarubakgrund, säger Stefan Möhl.
– Projektet blir ren mjukvarukonstruktion eftersom algoritmen körs i Mitrionprocessorn. Men resultatet blir ändå effektivt i samma storleksordning som hårdvarukonstruktion för hand.
Ryska Rosta levererar Mitrionics senaste FPGA-kort på PCI Express |
Mitrion-C – som Mitrionics programspråk heter – har däremot stuvats om till ett så kallat dataflödesspråk, samma språkfamilj som Labviewspråket G tillhör.
Mycket snabbare än CPU
Mitrionics ville låta C-programmerare känna igen sig. Samtidigt skulle språket matcha hur en FPGA fungerar så att programmeraren kunde uttrycka den parallellism FPGA:er är kapabla till.
Problemet med C är att det är notoriskt svårt att parallellisera.
– Ur parallelliseringssynpunkt är C rentav dåligt, säger Stefan Möhl.
I C utförs instruktioner en efter en i den ordning de är listade i programmet. I dataflödesspråk är en instruktion redo att utföras när alla dess indata beräknats. Om flera instruktioner är redo samtidigt kan de utföras parallellt – möjligheterna till parallellism är uttryckliga.
Programmeraren måste lära sig ett nytt sätt att tänka i form av dataflödesprogrammering. Men Mitrionics tar bort alla frågeställningar kring timing, fan-out, balansering av vippor och andra fysiska parametrar som hårdvaruprogrammerare måste tampas med – de ligger inbakade i de byggblock som Mitrionprocessorn byggs av.
Skillnaden mellan handoptimerad hårdvarukonstruktion och en algoritm som körs i Mitrionprocessorn brukar bli ungefär en faktor två.
Resultatet av Mitrionics kompilering – som använder ytterligare några optimerande innovationer – är mycket imponerande. Om man kan tro på Mitrionics siffror så är i ett väloptimerat Mitrion-C-program de flesta FPGA-grindar meningsfullt aktiva under hela beräkningen. Parallellismen är alltså i det närmaste total.
I en typisk CPU – dit hör även Microblaze, Nios och andra mjuka FPGA-kärnor – är det tvärtom bara en bråkdel av alla resurser på chipet som används samtidigt.
Högfrekvenshandel och DNA
Den extrema parallellismen är förklaringen till att Mitrionics kan vara mer än tio gånger snabbare än Intel:s, AMD:s och IBM:s snabbaste CPU:er, trots det handikapp det innebär att som en FPGA ha mindre effektiv grindyta och klockhastighet.
De lönsammaste kunderna för Mitrionics finns just nu inom högfrekvenshandel och DNA-matchning. Snabba gränssnitt och flexibla datatyper är två av förklaringarna.
I den kapprustning som pågår mellan börshandlarna är läget typiskt sådant att den dator som för tillfället fattar de snabbaste besluten tar hem samtliga affärer – det delas inte ut någon silvermedalj. Mitrionics har FPGA-kort med snabba Ethernetgränssnitt med korta fördröjningar.
– Där finns inget Linux emellan som ska titta på paketen utan de går direkt in och ut, säger Stefan Möhl.
Flyttal – där vinner grafikkretsar
En annan fördel som visat sig viktig är anpassningsbarheten vad gäller formatet på data.
Penningbelopp motsvaras i datorer av en datatyp som heter BCD (binary coded decimal). Konventionella flyttal – som är inbyggda i CPU:er – kan inte exakt representera tio öre – hur otroligt det än låter.
Mitrionics processor kan skräddarsys för BCD-tal medan konventionella CPU:er måste gå omvägar för att hantera dem.
På samma sätt kan Mitrionics processor skräddarsys för den tvåbitarslogik som krävs för den genetiska koden i arvsmassan och dess fyra symboler A, C,
T och G. Det är en viktig orsak till intresset från bioinformatikvärlden.
– En traditionell processor är en 64-bitare och extremt ineffektiv på 2-bitarslogik – jättestora delar av kislet gör ingen nytta alls.
Mitrionics säger sig vara snabbare än GPU:er och CPU:er på alla beräkningar utom flyttal – där har framförallt GPU:er en fördel.
Kunder inom inbyggda system har Stefan Möhl svårt att räkna upp – robotik, bildanalys på ett löpande band och bildavkodning är några exempel.
– Det är kanske 4–5 kunder som byggt något inom embedded. Det är delvis vårt fel eftersom vi fokuserat mycket på superdatorberäkningar.