Acasă Gândire înainte Pot fi procesoarele fpgas sau reconfigurabile să meargă mainstream?

Pot fi procesoarele fpgas sau reconfigurabile să meargă mainstream?

Video: Machine Learning on FPGAs: Neural Networks (Octombrie 2024)

Video: Machine Learning on FPGAs: Neural Networks (Octombrie 2024)
Anonim

Una dintre cele mai interesante tendințe pe care le-am văzut în calcularea serverului este îndepărtarea de procesoarele standard și de a face mai multe procesări pe cipuri grafice (GPU-uri) și procesoare reconfigurabile, cunoscute sub numele de gatere programabile de câmp (FPGA). Acest fenomen este adesea denumit calcul eterogen.

Conceptul de aici nu este nou - GPU-urile și alte acceleratoare sunt din ce în ce mai frecvente în computere de înaltă performanță (HPC) sau supercomputere. Dar, în ultimul timp, am auzit mai multe despre modul în care Intel a personalizat unele pachete de cipuri de server pentru a include FPGA în plus față de procesorul tradițional, care se adresează în principal furnizorilor de computere cloud hyperscale mari care au algoritmi specifici pe care le pot folosi ca instrucțiuni hardware pe FPGA. Acest lucru ar trebui să fie mult mai rapid decât executarea lor ca software pe instrucțiuni mai generale ale procesorului.

Acesta a fost un factor cheie al planului recent al Intel de a achiziționa producătorul FPGA Altera. CEO-ul Intel, Brian Krzanich, a spus că se așteaptă ca până la 30 la sută din volumul de lucru cloud să aibă un fel de accelerare FPGA până la sfârșitul deceniului. Microsoft utilizează deja FPGA Altera pentru a alimenta multe dintre serviciile sale cloud, cum ar fi căutarea Bing.

A existat un mare obstacol pentru majoritatea companiilor care folosesc FPGA-sau, în acest sens, GPU-urile - în cazuri de calcul corporativ mai tipice: a face software-ul să funcționeze simultan pe aceste cipuri alături de procesor. (Pentru sarcini de lucru corporative și chiar HPC, veți avea întotdeauna nevoie de anumite procesoare; în alte tipuri de aplicații, cum ar fi rețelele, companiile de hardware pot utiliza doar un FPGA.) Pentru calcularea GPU, am văzut lucruri precum CUDA și Khronos de la Nvidia. Standardul OpenCL al grupului, care facilitează lucrurile și, cu siguranță, am văzut că o mulțime de algoritmi HPC și de învățare automată folosesc GPU-uri. Acum, producătorii de FPGA, precum Altera, acceptă și OpenCL, dar în cazul de calcul corporativ mai general, este dovedit prea dificil.

În ultimul timp am vorbit cu câteva companii care speră să faciliteze acest lucru.

Bitfusion este o pornire pe care am văzut-o prima dată la TechCrunch Disrupt; tehnologia sa are ca scop să vă permită să mutați o aplicație de la procesor la GPU sau FPGA fără a o rescrie pentru fiecare platformă. După cum a explicat CEO Subbu Rama, pachetul funcționează acum căutând bibliotecile comune open-source utilizate de dezvoltatorii de software și înlocuind funcțiile din cadrul acestora cu funcții care pot profita de GPU sau FPGA. După cum a explicat el, s-ar putea ca marile companii să poată face o rescriere a codului lor, dar companiile intermediare nu pot. Aplicațiile includ calcul științific, aplicații financiare, cum ar fi analiza riscurilor și tranzacționarea de înaltă frecvență, și analize de date, cum ar fi lucrul cu datele senzorilor de petrol și gaz.

În cele din urmă, el a spus că acest lucru ar putea funcționa cu orice limbă care apelează astfel de biblioteci. El a menționat că înlocuirea bibliotecilor este posibil să nu fie la fel de eficientă ca scrierea codului personalizat pentru FPGA sau GPU, dar este mult mai ușor.

Bitfusion intenționează să ofere produsele sale în trei modele diferite - ca software pur pentru companiile care au deja propriile lor acceleratoare; preinstalat pe aparate; sau pentru aplicațiile desfășurate în cloud, printr-un parteneriat cu Rackspace. Inițial, aceasta va folosi FPGA Altera, deși compania spune că ar putea lucra și cu alte procesoare. Rama spune că clienții inițiali folosesc acest lucru acum, cu disponibilitatea publică planificată în următoarele două luni.

SRC adoptă o abordare oarecum diferită. Începând cu 1999 creează „servere reconfigurabile” pentru agențiile guvernamentale și creează acum o soluție care vizează centre de date hiperscale și operațiuni web. Denumit serverul Saturn 1, este un cartuș care se conectează la șasiul HP Moonshot, iar SRC susține că poate oferi performanță computerului, care este de obicei de 100 de ori mai rapidă decât cea a modelelor tradiționale de microprocesor. (Compania vinde, de asemenea, sisteme mai mari montate pe cremalieră și cu dimensiuni complete, de obicei pentru clienții săi mai mari.)

Ceea ce face acest lucru diferit este un compilator special cunoscut sub numele de Carte, care transformă codul într-un design de siliciu care poate rula pe arhitectura FPGA, potrivit CEO-ului Jon Huppenthal. El mi-a spus că SRC a petrecut ani buni creând compilatorul, inițial pentru clienții de afaceri, de când firma a fost fondată de pionierul supercomputerului Seymour Cray și Jim Guzy în anii 90. O diferență în abordarea SRC, a spus el, este că Carte nu este destinată sistemelor generice, ci este mai degrabă legată de arhitectura SRC, ceea ce îi conferă mai multă performanță și consecvență. Saturn 1 folosește două FPGA Altera - unul care rulează codul de utilizator; celălalt care menține sistemul funcționează rapid, împreună cu un procesor Intel. În prezent, a adăugat el, compania se află la cea de-a 12-a generație de procesoare reconfigurabile.

Aceasta este o soluție mai scumpă, destinată mai ales centrelor de calcul destul de mari, dar este încă mai accesibilă decât abordările anterioare.

Ideea de a folosi FPGA sau procesoare reconfigurabile pentru sarcini mai generale nu este una nouă. Cu toate acestea, a durat mult timp pentru ca acest lucru să devină chiar o posibilitate pentru clienții mai tradiționali în afara proiectanților de hardware sau aplicațiilor militare. Aceste noi abordări pot să prezinte începutul acestei tehnologii să fie mai frecvent utilizat, dar numai dacă îmbunătățirea prețului / performanței se potrivește cu cerințele furnizorilor și tehnologia devine mai ușor de utilizat. Noile abordări reprezintă un pas în această direcție.

Pot fi procesoarele fpgas sau reconfigurabile să meargă mainstream?