MASKINVARE

Hvorfor gjøre beregningene i CPU-en når du kan bruke minnet?

IBM har funnet ut hvordan.

IBM-forskerne vil i første omgang ta i bruk «computational memory» som en co-prosessor i tradisjonelle datamaskiner.
IBM-forskerne vil i første omgang ta i bruk «computational memory» som en co-prosessor i tradisjonelle datamaskiner. Bilde: IBM Research
Harald BrombachHarald BrombachNyhetsleder
31. okt. 2017 - 05:00

Forskere ved IBM Research i Zürich har demonstrert hvordan faseskiftminne (PCM – Phase Change Memory) kan brukes til å gjøre beregninger, i stedet for at dette overlates til datamaskinens prosessorer. Forskerne mener at både ytelsen og energieffektiviteten vil være rundt 200 ganger bedre enn ved å bruke tradisjonell arkitektur.

Von Neumann

Det fleste datamaskiner har siden 1950-tall vært basert på det som kalles for von Neumann-arkitekturen, som blant annet innebærer systemet har en egen enhet som utfører matematiske og logiske funksjoner, mens instruksjoner og data er lagret i et separat arbeidsminne. 

Men arkitekturen utgjør en flaskehals dersom ikke arbeidsminnet er i stand til å levere og motta dataene like raskt som prosessorene har behov for dem. Dette problemet har blitt redusert ved å bruke flere nivåer av relativt små mellomlagre, cacheminne, som sitter nærmere prosessoren og gjerne er basert på raskere minneteknologi enn arbeids- eller systemminnet. 

Bedre hadde det vært om det hadde vært mulig å utføre beregningene i selve systemminnet. Da hadde man kunnet unngå denne omfattende flyttingen av dataene. 

Materialet i faseskiftminne kan skifte mellom å lede og isolere elektrisitet ved at det under oppvarming kan veksle mellom en krystallinsk og en amorf fase. I faseskiftminne gjøres det ved å utsette materialet for ulike spenningspulser. De to ulike fasene kan brukes til å representere verdiene 0 og 1.

Les også: Morgendagens datamaskiner kan få optisk systemminne

Mer enn bare 0 og 1

Som ren minneenhet tar man bare i bruk de to helt avgrensede fasene til faseskiftminnet. Men krystalliseringsgraden til materialet avhenger hvilken temperatur det varmes opp til. Denne tilstandsdynamikken kan ifølge IBM-forskerne brukes til mer enn bare å lagre data.

En skjematisk illustrasjon av «in-memory computing»-algoritmen. <i>Foto:  IBM Research</i>
En skjematisk illustrasjon av «in-memory computing»-algoritmen. Foto:  IBM Research

I en rapport om forskningen skriver forskerne at avhengig av operasjonen som skal utføres, vil et egnet, elektrisk signal tilføres til en stor samling med minneenheter med memristiske egenskaper. Ledningsevnen til enheten utvikles i henhold til det elektriske signalet, og resultatet av operasjonen kan mottas ved å lese av ledningsevne på et passende tidspunkt. 

IBM-forskerne har demonstrert effekten av dette gjennom to eksempler. 

Turing-tegning

I det ene eksemplet ble det brukt simulerte data. Én million virkårlige binærprosesser ble organisert i en 2D-matrise med 1000 ganger 1000 svart/hvitt-piksler som viste en profiltegning av Alan Turing. Forskerne fikk pikslene til å skru seg av og på med samme takt, men sørget samtidig for at de svarte pikslene blinket på en svakt korrelert måte. Dette innebar at når en svart piksel blinket, var sannsynligheten en anelse høyere for at også en annen svart piksel ville blinke, enn en hvit.

Deretter overførte forskerne dette til et sett bestående av en million PCM-enheter. Det ble tatt i bruk en enkel læringsalgoritme, som førte til at PCM-matrisen lærte, slik at PCM-enhetene som korresponderte til de korrelerte prosessene, gikk over i en tilstand med høy ledningsevne. Et kart over ledningsevne til PCM-ene gjenskapte da tegningen av Turing. 

Systemet med PCM-er kunne finne ut hvilke av pikslene på enheten til venstre som var svarte ved å registrere svak korrelasjon mellom blinkingen til de svarte pikslene. Verdien k den midtre delen av bildet er en tidskonstant. <i>Foto:  IBM Research</i>
Systemet med PCM-er kunne finne ut hvilke av pikslene på enheten til venstre som var svarte ved å registrere svak korrelasjon mellom blinkingen til de svarte pikslene. Verdien k den midtre delen av bildet er en tidskonstant. Foto:  IBM Research

Værstasjoner

I det andre eksemplet ble det brukt virkelige nedbørsdata hentet fra 270 værstasjoner i USA, over en periode på seks måneder. Hver time oppga hver værstasjon verdien 1 dersom det hadde regnet den forrige timen, og 0 dersom det ikke hadde gjort det. Andre analyser viste at det eksisterte flere korrelaterte grupper blant værstasjonene, og at én av disse var dominerende. Det var også en sterk, geografisk korrelasjon blant nedbørsdataene.

For å detektere den dominerende gruppen ved hjelp av «computational memory», som forskerne kaller den nye tilnærmingen, ble det brukt fire PCM-er per værstasjon. Dette for å øke nøyaktigheten. 

245 av værstasjonene ble klassifisert identisk som klassifisering gjort med klassisk k-means. Tolv stasjoner som med k-means var blitt klassifisert som korrelerte, ble klassifisert som ikke-korrelerte av PCM-systemet. Tilsvarende ble 13 værstasjoner som ikke ble klassifisert som korrelerte med k-means, klassifisert som korrelerte av PCM-systemet. 

Mange bruksområder

Forskeren Abu Sebastian ved IBM Research. <i>Foto:  IBM Research</i>
Forskeren Abu Sebastian ved IBM Research. Foto:  IBM Research

– Forskningen vår viser at vi kan bruke «computational memory» til å finne tidsrelaterte korrelasjoner mellom hendelsesrelaterte datastrømmer, forteller Abu Sebastian, hovedforfatter av den vitenskapelige rapporten, i et videoopptak. Han mener dette kan brukes innen mange ulike felt, inkludert tingenes internett, biovitenskap og sosiale medier, men også mye annet.

«Computational memory», eller «in-memory computing», kommer nok uansett ikke til å erstatte von Neumann-arkitekturen. Men ifølge Sebastian ønsker forskerne å utvikle en co-prosessor eller akselerator som kan utføre oppgaver innen maskinlæring og dyp læring. Dette vil være mye enklere å lage enn en komplett datamaskin basert på tilnærmingen. 

Les også: En slik datamaskin har du antagelig aldri sett før

Del
Kommentarer:
Du kan kommentere under fullt navn eller med kallenavn. Bruk BankID for automatisk oppretting av brukerkonto.