Video: Timothy Ansell - Xilinx Series 7 FPGAs Now Have a Fully Open Source Toolchain! (November 2024)
Een van de meest interessante trends die ik heb gezien in servercomputing, is de overstap van standaard CPU's naar meer verwerking op grafische chips (GPU's) en herconfigureerbare processors die bekend staan als field programmable gate arrays (FPGA's). Dit fenomeen wordt vaak heterogeen computergebruik genoemd.
Het concept hier is niet nieuw - GPU's en andere versnellers komen al jaren steeds vaker voor bij high-performance computing (HPC) of supercomputers. Maar de laatste tijd hebben we meer gehoord over hoe Intel sommige serverchippakketten heeft aangepast om naast de traditionele CPU ook FPGA's op te nemen, voornamelijk gericht op grote hyperscale cloud computing-providers die specifieke algoritmen hebben die ze kunnen uitvoeren als hardware-instructies op de FPGA's. Dit zou veel sneller moeten zijn dan ze als software uitvoeren op de meer algemene CPU-instructies.
Dit was een belangrijke drijfveer van het recente plan van Intel om FPGA-maker Altera te verwerven. Intel CEO Brian Krzanich zei dat hij verwacht dat tot 30 procent van de cloud-workloads tegen het einde van het decennium een soort FPGA-versnelling zal hebben. Microsoft gebruikt Altera FPGA's al voor veel van haar cloudservices, zoals Bing Search.
Er is een groot obstakel voor de meeste bedrijven die FPGA's gebruiken - of wat dat betreft GPU's - in meer typische bedrijfscomputers: het gelijktijdig laten werken van de software op deze chips naast de CPU is gewoon moeilijk. (Voor zakelijke workloads en zelfs HPC hebt u altijd enkele CPU's nodig; in andere soorten toepassingen, zoals netwerken, kunnen hardwarebedrijven gewoon een FPGA gebruiken.) Voor GPU-computing hebben we dingen gezien zoals Nvidia's CUDA en de Khronos Group's OpenCL-standaard, die dingen eenvoudiger maken, en we hebben zeker gezien dat veel HPC en machine-learning algoritmen GPU's gebruiken. Nu ondersteunen FPGA-makers zoals Altera ook OpenCL, maar in het meer algemene geval van bedrijfscomputing is het te moeilijk gebleken.
De laatste tijd heb ik met een aantal bedrijven gesproken die dit gemakkelijker willen maken.
Bitfusion is een startup die ik voor het eerst zag bij TechCrunch Disrupt; de technologie is erop gericht u een toepassing van de CPU naar een GPU of FPGA te laten verplaatsen zonder deze voor elk platform te herschrijven. Zoals CEO Subbu Rama heeft uitgelegd, werkt het pakket nu door te zoeken naar gemeenschappelijke open-source bibliotheken die worden gebruikt door softwareontwikkelaars en de functies daarin te vervangen door functies die kunnen profiteren van de GPU of FPGA. Zoals hij heeft uitgelegd, kunnen grote bedrijven misschien hun code herschrijven, maar middelgrote bedrijven niet. Toepassingen zijn onder meer wetenschappelijk computergebruik, financiële toepassingen zoals risicoanalyse en hoogfrequente handel en gegevensanalyses zoals het werken met olie- en gassensorgegevens.
Uiteindelijk zei hij dat dit zou kunnen werken met elke taal die dergelijke bibliotheken aanroept. Hij merkte op dat het vervangen van de bibliotheken misschien niet zo efficiënt is als het schrijven van aangepaste code voor FPGA's of GPU's, maar het is veel eenvoudiger.
Bitfusion is van plan zijn producten in drie verschillende modellen aan te bieden - als pure software voor bedrijven die al hun eigen versnellers hebben; vooraf geïnstalleerd op apparaten; of voor toepassingen die in de cloud worden geïmplementeerd, via een partnerschap met Rackspace. In eerste instantie zal dit Altera FPGA's gebruiken, hoewel het bedrijf zegt dat het ook met andere processors zou kunnen werken. Rama zegt dat initiële klanten dit nu gebruiken, met openbare beschikbaarheid gepland in de komende maanden.
SRC hanteert een enigszins andere benadering. Sinds 1999 maakt het "herconfigureerbare servers" voor overheidsinstanties en maakt het nu een oplossing voor datacenters met hyperscale schaal en webactiviteiten. Dit wordt de Saturn 1-server genoemd en is een cartridge die op HP's Moonshot-chassis kan worden aangesloten en SRC beweert dat het computerprestaties kan leveren die doorgaans 100 keer sneller zijn dan die van traditionele microprocessorontwerpen. (Het bedrijf verkoopt ook grotere rack-gemonteerde en full-size systemen, meestal voor zijn grotere klanten.)
Wat dit anders maakt, is een speciale compiler die bekend staat als Carte, die de code omzet in een siliconenontwerp dat op FPGA-architectuur kan draaien, volgens CEO Jon Huppenthal. Hij vertelde me dat SRC jarenlang de compiler heeft gemaakt, aanvankelijk voor zakelijke klanten, sinds het bedrijf werd opgericht door pionier van supercomputer Seymour Cray en Jim Guzy in de jaren 90. Een verschil in de aanpak van SRC, zei hij, is dat Carte niet bedoeld is voor generieke systemen, maar eerder specifiek is gekoppeld aan de architectuur van SRC, wat zorgt voor meer prestaties en consistentie. De Saturn 1 gebruikt twee Altera FPGA's - een die gebruikerscode uitvoert; de andere die ervoor zorgt dat het systeem snel blijft werken, samen met één Intel-processor. Momenteel voegde hij eraan toe dat het bedrijf deel uitmaakt van de 12e generatie van herconfigureerbare processors.
Dit is een duurdere oplossing, meestal gericht op vrij grote computercentra, maar het is nog steeds toegankelijker dan eerdere benaderingen.
Het idee om FPGA's of herconfigureerbare processors te gebruiken voor meer reguliere taken is niet nieuw. Het heeft echter lang geduurd voordat dit zelfs een mogelijkheid werd voor meer traditionele klanten buiten hardwareontwerpers of militaire applicaties. Deze nieuwe benaderingen kunnen erop wijzen dat de start van deze technologie steeds vaker wordt gebruikt, maar alleen als de prijs / prestatieverbeteringen echt overeenkomen met claims van leveranciers en de technologie gemakkelijker te gebruiken wordt. De nieuwe benaderingen zijn een stap in die richting.