Video: The Future of Computing (Heterogeneous Architecture – CPUs, GPUs, FPGAs, ASICs, ...) (Nobyembre 2024)
Ang isa sa mga pinaka-kagiliw-giliw na mga uso na nakita ko sa server ng computing ay ang paglayo mula sa mga karaniwang mga CPU at patungo sa paggawa ng mas maraming pagproseso sa mga graphics chips (GPU) at mga naka-configure na mga prosesor na kilala bilang mga patlang na programmable gate arrays (FPGAs). Ang kababalaghan na ito ay madalas na tinutukoy bilang heterogenous computing.
Ang konsepto dito ay hindi bago - Ang mga GPU at iba pang mga accelerator ay naging pangkaraniwan sa mga high-performance computing (HPC) o mga supercomputers sa loob ng maraming taon. Ngunit kani-kanina lamang, naririnig namin ang higit pa tungkol sa kung paano na-customize ng Intel ang ilang mga pakete ng server upang isama ang mga FPGA bilang karagdagan sa tradisyonal na CPU, na naglalayong pangunahin sa mga malalaking tagapagbigay ng kompyuter sa hyperscale cloud na may mga tukoy na algorithm na maaari nilang patakbuhin bilang mga tagubilin sa hardware sa FPGAs. Ito ay dapat na mas mabilis kaysa sa pagpapatupad ng mga ito bilang software sa mas pangkalahatang mga tagubilin sa CPU.
Ito ay isang pangunahing driver ng kamakailan-lamang na plano upang makuha ang tagagawa ng FPGA na si Altera. Sinabi ng Intel CEO na si Brian Krzanich na inaasahan niya ng hanggang sa 30 porsyento ng mga cloud workload na magkaroon ng ilang uri ng pagbilis ng FPGA sa pagtatapos ng dekada. Gumagamit na ang Microsoft ng Altera FPGAs upang mabigyan ng kapangyarihan ang maraming mga serbisyo sa ulap tulad ng paghahanap sa Bing.
Nagkaroon ng isang malaking balakid sa karamihan ng mga kumpanya na gumagamit ng FPGAs - o para sa bagay na GPU-sa mas karaniwang mga kaso ng kumpanya sa computing: ang paggawa ng software nang sabay-sabay sa mga chips na ito kasama ang CPU ay mahirap lamang. (Para sa mga corporate workloads at kahit HPC, kakailanganin mo palaging ilang mga CPU; sa iba pang mga uri ng aplikasyon, tulad ng networking, mga kumpanya ng hardware ay maaaring gumamit lamang ng isang FPGA.) Para sa pag-compute ng GPU, nakita namin ang mga bagay tulad ng Nvidia's CUDA at Khronos Open standard ng grupo, na ginagawang mas madali ang mga bagay, at tiyak na nakakita kami ng maraming HPC at mga algorithm ng pag-aaral ng machine na gumagamit ng mga GPU. Ngayon ang mga gumagawa ng FPGA tulad ng Altera ay sumusuporta sa OpenCL na rin, ngunit sa mas pangkalahatang kaso ng computing ng korporasyon, napatunayan na napakahirap.
Kamakailan lamang, nakipag-usap ako sa isang pares ng mga kumpanya na umaasang mapadali ito.
Ang Bitfusion ay isang startup na una kong nakita sa TechCrunch Disrupt; ang teknolohiya nito ay naglalayong pahintulutan kang ilipat ang isang application mula sa CPU sa isang GPU o FPGA nang hindi muling isulat ito para sa bawat platform. Tulad ng ipinaliwanag ng CEO Subbu Rama, ang package ngayon ay gumagana sa pamamagitan ng paghahanap ng mga karaniwang bukas na mapagkukunan na aklatan na ginagamit ng mga developer ng software at pinapalitan ang mga function sa loob ng mga ito gamit ang mga pag-andar na maaaring samantalahin ang GPU o FPGA. Tulad ng ipinaliwanag niya, ang mga malalaking kumpanya ay maaaring gumawa ng isang pagsulat muli ng kanilang code, ngunit ang mga kumpanya ng mid-market ay hindi magagawa. Kasama sa mga aplikasyon ang pang-agham na computing, mga aplikasyon sa pananalapi tulad ng pagsusuri sa peligro at pangangalakal ng high-frequency, at mga analytics ng data tulad ng pagtatrabaho sa data ng sensor ng langis at gas.
Nang maglaon, sinabi niya na maaaring magtrabaho sa anumang wika na tumatawag sa gayong mga aklatan. Nabanggit niya na ang pagpapalit ng mga aklatan ay maaaring hindi masyadong mabisa tulad ng pagsulat ng pasadyang code para sa mga FPGA o GPU, ngunit mas madali.
Plano ng Bitfusion na mag-alok ng mga produkto nito sa tatlong magkakaibang mga modelo - bilang purong software para sa mga kumpanya na mayroon nang kanilang sariling mga accelerator; pre-install sa mga kagamitan; o para sa mga application na na-deploy sa cloud, sa pamamagitan ng isang pakikipagtulungan sa Rackspace. Sa una, gagamitin nito ang Altera FPGAs, kahit na sinabi ng kumpanya na maaari ring magtrabaho kasama ang iba pang mga processors. Sinabi ni Rama na ang mga paunang customer ay gumagamit nito ngayon, na may kakayahang magamit ng publiko sa susunod na ilang buwan.
Ang SRC ay kumukuha ng medyo naiibang pamamaraan. Lumilikha ito ng "mga muling mai-configure na server" para sa mga ahensya ng gobyerno mula pa noong 1999, at ngayon ay gumagawa ng isang solusyon na naglalayong hyperscale data center at mga operasyon sa Web. Tinatawag na server ng Saturn 1, ito ay isang kartutso na nakakabit sa Moonshot chassis ng HP, at inaangkin ng SRC na maaari itong magbigay ng pagganap ng computer na karaniwang 100 beses nang mas mabilis kaysa sa tradisyonal na disenyo ng microprocessor. (Nagbebenta din ang kumpanya ng mas malaking rack-mount at full-size system, karaniwang para sa mga mas malalaking customer nito.)
Ang pagkakaiba nito ay isang espesyal na tagatala na kilala bilang Carte, na nag-convert ng code sa isang disenyo ng silikon na maaaring tumakbo sa arkitektura ng FPGA, ayon sa CEO Jon Huppenthal. Sinabi niya sa akin na ang SRC ay gumugol ng maraming taon sa paglikha ng tagatala, una para sa mga customer ng negosyo, dahil ang firm ay itinatag ng supercomputer pioneer na Seymour Cray at Jim Guzy noong 90s. Ang isang pagkakaiba sa diskarte ng SRC, aniya, ay ang Carte ay hindi inilaan para sa mga pangkaraniwang sistema, ngunit sa halip ay nakatali sa partikular na arkitektura ng SRC, na nagbibigay ito ng higit na pagganap at pagkakapareho. Ang Saturn 1 ay gumagamit ng dalawang Altera FPGAs - isa na nagpapatakbo ng code ng gumagamit; ang iba pang nagpapanatili ng system nang mabilis, kasama ang isang Intel processor. Sa kasalukuyan, idinagdag niya, ang kumpanya ay nasa ika-12 na henerasyon ng mga na-configure na processors.
Ito ay isang mas mahal na solusyon, na naglalayong halos lahat sa mga malalaking sentro ng computing, ngunit mas naa-access pa ito kaysa sa mga naunang diskarte.
Ang ideya ng paggamit ng FPGA o reconfigurable processors para sa higit pang mga pangunahing gawain ay hindi bago. Gayunpaman, matagal na para sa ito upang maging kahit na isang posibilidad para sa mas tradisyunal na mga customer sa labas ng mga taga-disenyo ng hardware o aplikasyon ng militar. Ang mga bagong pamamaraang ito ay maaaring manguna sa pagsisimula ng teknolohiyang ito na nagiging mas karaniwang ginagamit - ngunit kung ang mga pagpapabuti ng presyo / pagganap ay talagang tumutugma sa mga paghahabol sa vendor at ang teknolohiya ay nagiging mas madaling gamitin. Ang mga bagong diskarte ay isang hakbang sa direksyon na iyon.