De nye instansene i AWS-nettskyen er utstyrt med mellom 1 og 8 FPGA-er fra Xilinx. Bildet vil en modul for prototyping med den nye eldre FPGA-en Virtex UltraScale XCVU440 fra Xilinx. (Bilde: Business Wire)

Nå skal Amazon tilby felt-programmerbare brikker som en tjeneste

Kan gi en voldsom ytelsesøkning til visse typer arbeidsoppgaver.

Amazon introduserte i går en rekke nye tjenester i tilknytning til selskapet AWS-nettsky. Den mest oppsiktsvekkende av disse er nok den nye EC2 F1-instansen, hvor kundene ikke bare velge å prosessere dataene ved hjelp av CPU- eller GPU, men også kan ta i bruk maskinvare som kan spesialtilpasses til arbeidsoppgaven.

I et blogginnlegg skriver Jeff Barr i Amazon at en CPU kan sammenlignes med et multiverktøy, eller kanskje en sveitsisk lommekniv. Den kan brukes til mange oppgaver, og fungerer ganske godt. Men den vil trolig ikke være det foretrukne valget for noen av dem.

Verktøy som lagd for å utføre én bestemt oppgave, vil nesten alltid fungere bedre, til den ene oppgaven. 

Slik er det også innen databehandling. I noen tilfeller, i forbindelse med noen enkelte typer oppgaver, kan det være en fordel å ta i bruk skreddersydd maskinvare (ASIC). Ifølge Barr kan man oppnå utrolig ytelse på denne måten. Ulempen er at utviklingssyklusene gjerne måles i kvartaler eller år.

Oracles framtid utvikles i Norge: Kjemper mot nanosekunder

FPGA

Det er her FPGA-er (Field Programmable Gate Array) kommer inn. For de er betydelig mer fleksible. I utgangspunktet ikke er de lagd for bare å kunne utføre én bestemt oppgave. Hvordan en FPGA skal fungere, blir gjerne først bestemt etter at den har blitt montert i systemet hvor den skal brukes, altså «ute i felten».

Barr skriver at FPGA-er har et fast antall logiske porter som kan programmeres, eller egentlig kobles sammen, til å danne logiske funksjoner som AND, OR, XOR og NOT, eller lagringselementer som flip-flopper og skiftregistre. De kan også programmeres til å tilby en svært høy grad av parallellitet, samt ha en svært stor, eller liten, bredde på datastiene. 

I tillegg kan FPGA-ene programmeres om ved behov.

– Riktig programmert har FPGA-er potensial til å tilby 30 ganger så ytelse til former for genomikk, seismisk analyse, finansiell risikoanalyse, big data-søk, samt til krypteringsalgoritmer og -applikasjoner, skriver Barr.

Et godt eksempel på hva som er mulig, er det konkurrenten Microsoft som har kommet med. Microsoft har tatt i bruk FPGA-er i Azure-nettskyen. I første rekke ikke for å la kundene bruke dem direkte, men for å akselerere selskapets løsninger som er basert på kunstig intelligens, inkludert prosessering av språk, bildegjenkjenning og søk.

Les også: Dette skal bli Intels framtid etter pc-en

Wikipedia-oversettelse på et øyeblikk 

Under et arrangement i desember fortalte Microsofts Doug Burger at mens oversettelsen av romanen «Krig og fred» tar 19,9 sekunder med server med 24 kjerner, tar det bare 2,6 sekunder med en server som er utstyrt med et slikt kort, med blant annet fire Altera FPGA-ene, som Microsoft har satt i bruk. 

Men teknologien lar seg også skalere godt. Burger demonstrerte også at samtlige av de drøy 5,2 millioner artiklene som finnes i den engelske utgaven av Wikipedia, kunne oversettes til spansk i løpet av under et tidels sekund. Men da tok Burger i bruk store deler av den samlede FPGA-regnekraften som på det tidspunktet fantes i Azure, tilsvarende 1 exaops, altså en trillion (1018) operasjoner i sekundet. Flere detaljer om denne demonstrasjonen er tilgjengelige her.

Amazon skal altså tilby lignende teknologi direkte som en tjeneste til kunder, i første omgang som en «developer preview» som bare er tilgjengelig i Northern Virginia-regionen til selskapet. Men den skal rulles bredt ut tidlig på nyåret. Kundene kan bruke dem selv, eller sette dem sammen og selge dem for gjenbruk i AWS Marketplace. 

F1-instansene kan bestå av mellom 1 og 8 Xilinx UltraScale+ VU9P FPGA-er, som er koblet til en dedikert server med blant annet Xeon E5-prosessorer og opptil 976 gibibyte(!) med minne. 

Leste du denne? Amazon har et digert forsprang til konkurrentene i nettskyen

Utvikling

FPGA-prosjekt i verktøyet Vivado 2016 fra Xilinx. Koden som vises til høyre i brukergrensesnittet beskriver en enkelt, åttebits teller.
FPGA-prosjekt i verktøyet Vivado 2016 fra Xilinx. Koden som vises til høyre i brukergrensesnittet beskriver en enkelt, åttebits teller. Illustrasjon: Amazon

I blogginnlegget til Barr kan man lese hvordan man kan komme i gang med testingen. FPGA-koden kan skrives i enten Verilog eller VHDL (VHSIC Hardware Description Language). 

– Selv om disse språkene omtales som å bruke C-lignende syntaks, betyr ikke dette at du kan ta eksisterende kode og omkompilere det for å bruke det på en FPGA. I stedet må du begynne med å skaffe det en god forståelse av FPGA-programmeringsmodellen, lære boolsk algebra og begynne å lære om ting som forplantningsforsinkelse og klokkesignalflanker, skriver Barr.

Les også: Fri eller «open source» maskinvare – er det en ny revolusjon vi er vitne til?

Kommentarer (2)

Kommentarer (2)
Til toppen