Koti Etukäteen ajattelu Voivatko fpgas- tai uudelleenkonfiguroitavat prosessorit mennä valtavirtaan?

Voivatko fpgas- tai uudelleenkonfiguroitavat prosessorit mennä valtavirtaan?

Video: Обзоры отладок с FPGA :: SP701 (Marraskuu 2024)

Video: Обзоры отладок с FPGA :: SP701 (Marraskuu 2024)
Anonim

Yksi mielenkiintoisimmista suuntauksista, joita olen nähnyt palvelinlaskennassa, on siirtyminen pois tavallisista prosessoreista ja kohti prosessoinnin lisäämistä grafiikkapiireillä (GPU) ja uudelleenkonfiguroitavilla prosessoreilla, joita kutsutaan kenttäohjelmoitaviksi porttiryhmiksi (FPGA). Tätä ilmiötä kutsutaan usein heterogeeniseksi laskentaan.

Käsite tässä ei ole uusi - GPU: t ja muut kiihdyttimet ovat olleet yhä yleisempiä korkean suorituskyvyn tietojenkäsittelyssä (HPC) tai supertietokoneissa vuosien ajan. Mutta viime aikoina olemme kuulleet enemmän siitä, kuinka Intel on räätälöinyt jotkut palvelin sirupaketit sisällyttämään FPGA: t perinteisen CPU: n lisäksi, ja se on suunnattu pääasiassa suurille hyperscale pilvipalveluntarjoajille, joilla on erityiset algoritmit, joita ne voivat käyttää FPGA: n laitteisto-ohjeina. Tämän pitäisi olla paljon nopeampaa kuin niiden suorittaminen ohjelmistona yleisemmille prosessorin ohjeille.

Tämä oli avaintekijä Intelin äskettäiselle suunnitelmalle ostaa FPGA-valmistaja Altera. Intelin toimitusjohtaja Brian Krzanich kertoi odottavansa, että jopa 30 prosentilla pilvikuormituksista tapahtuu jonkinlainen FPGA-kiihtyvyys vuosikymmenen loppuun mennessä. Microsoft käyttää jo Altera FPGA -sovelluksia monien pilvipalveluiden, kuten Bing-haun, virrantuottamiseen.

Useimmille yrityksille, jotka käyttävät FPGA: ta - tai GPU: ita - käyttäneillä yrityksillä on ollut yksi iso este tyypillisissä yrityslaskentatapauksissa: ohjelmistojen tekeminen toimimaan samanaikaisesti näillä siruilla CPU: n rinnalla on vain vaikeaa. (Yritysten työmäärissä ja jopa HPC: ssä tarvitset aina joitain suorittimia; muun tyyppisissä sovelluksissa, kuten verkottumisessa, laitteistoyritykset voivat käyttää vain FPGA: ta.) GPU-laskentaan olemme nähneet asioita, kuten Nvidian CUDA ja Khronos Ryhmän OpenCL-standardi, joka helpottaa asioita, ja olemme varmasti nähneet paljon HPC: tä ja koneoppimisalgoritmeja käyttävän GPU: ta. Nyt FPGA-valmistajat, kuten Altera, tukevat myös OpenCL: ää, mutta yleisemmässä yrityslaskentatapauksessa se on osoittautunut liian vaikeaksi.

Viime aikoina olen keskustellut muutaman yrityksen kanssa, jotka haluavat helpottaa tätä.

Bitfusion on käynnistys, jonka näin ensimmäisen kerran TechCrunch Disruptissa; Sen tekniikan tarkoituksena on antaa sinun siirtää sovellus CPU: lta GPU: lle tai FPGA: lle kirjoittamatta sitä jokaiselle alustalle. Kuten toimitusjohtaja Subbu Rama selitti, paketti toimii nyt etsimällä yleisiä avoimen lähdekoodin kirjastoja, joita ohjelmistokehittäjät käyttävät, ja korvaamalla niissä olevat toiminnot toiminnoilla, jotka voivat hyödyntää GPU: ta tai FPGA: ta. Kuten hän selitti, suuret yritykset saattavat pystyä kirjoittamaan koodinsa uudelleen, mutta keskisuuret yritykset eivät. Sovelluksia ovat tieteellinen laskenta, taloudelliset sovellukset, kuten riskianalyysi ja korkeataajuuskauppa, sekä data-analytiikka, kuten öljy- ja kaasutunnistintietojen käsittely.

Lopulta hän sanoi, että tämä voisi toimia minkä tahansa kielen kanssa, joka kutsuu tällaisia ​​kirjastoja. Hän totesi, että kirjastojen korvaaminen ei ehkä ole yhtä tehokasta kuin mukautetun koodin kirjoittaminen FPGA- tai GPU-moduuleille, mutta se on paljon helpompaa.

Bitfusion aikoo tarjota tuotteitaan kolmessa eri mallissa - puhtaana ohjelmistona yrityksille, joilla on jo omat kiihdyttimet; esiasennettu laitteisiin; tai pilvessä käyttöön otetuille sovelluksille yhteistyössä Rackspace-palvelun kanssa. Aluksi tämä käyttää Altera FPGA -sovelluksia, vaikka yrityksen mukaan se voisi toimia myös muiden prosessorien kanssa. Rama sanoo, että ensimmäiset asiakkaat käyttävät tätä nyt, ja julkinen saatavuus on suunniteltu parin seuraavan kuukauden aikana.

SRC on käyttänyt hieman erilaista lähestymistapaa. Se on luonut "uudelleenkonfiguroitavia palvelimia" valtion virastoille vuodesta 1999 lähtien, ja se on nyt tekemässä ratkaisua, joka on tarkoitettu hyperakaalaisiin tietokeskuksiin ja verkkotoimintoihin. Nimeltään Saturn 1 -palvelin, se on patruuna, joka kytketään HP: n Moonshot-runkoon. SRC väittää pystyvän tarjoamaan tietokoneen suorituskyvyn, joka on tyypillisesti 100 kertaa nopeampi kuin perinteisten mikroprosessorisuunnittelujen. (Yhtiö myy myös suurempia telineeseen kiinnitettäviä ja täysikokoisia järjestelmiä, tyypillisesti suurille asiakkailleen.)

Mikä tekee tästä eron, on erityinen kääntäjä, joka tunnetaan nimellä Carte ja joka muuntaa koodin piisuunnitelmaksi, joka voi toimia FPGA-arkkitehtuurilla, toimitusjohtaja Jon Huppenthalin mukaan. Hän kertoi minulle, että SRC on viettänyt vuosia kääntäjän luomista, alun perin yritysasiakkaille, siitä lähtien kun super-tietokoneiden pioneerit Seymour Cray ja Jim Guzy perustivat yrityksen 90-luvulla. Yksi ero SRC: n lähestymistavassa, hän sanoi, on, että Carte ei ole tarkoitettu geneerisiin järjestelmiin, vaan se on sidottu nimenomaan SRC: n arkkitehtuuriin, joka antaa sille enemmän suorituskykyä ja johdonmukaisuutta. Saturnus 1 käyttää kahta Altera FPGA: ta - yksi, joka suorittaa käyttäjäkoodin; toinen, joka pitää järjestelmän nopeasti käynnissä yhdessä yhden Intel-prosessorin kanssa. Hän lisäsi, että yritys on tällä hetkellä 12. sukupolvella uudelleenkonfiguroitavia prosessoreita.

Tämä on kalliimpi ratkaisu, joka on suunnattu lähinnä melko suurille laskentakeskuksille, mutta se on silti helpommin saatavissa kuin aikaisemmat lähestymistavat.

Idea FPGA-tiedostojen tai uudelleenkonfiguroitavien prosessorien käytöstä useampiin valtavirran tehtäviin ei ole uusi. On kuitenkin kulunut kauan, että tästä on tullut mahdollisuus jopa perinteisemmille asiakkaille laitteistojen suunnittelijoiden tai sotilassovellusten ulkopuolella. Nämä uudet lähestymistavat saattavat olettaa, että tämän tekniikan yleistyminen alkaa, mutta vain, jos hinnan / suorituskyvyn parannukset todella vastaavat myyjän vaatimuksia ja tekniikan helpompi käyttää. Uudet lähestymistavat ovat askel tähän suuntaan.

Voivatko fpgas- tai uudelleenkonfiguroitavat prosessorit mennä valtavirtaan?