Tidak dapat dielakkan penembusan FPGA ke dalam pusat data

Tidak dapat dielakkan penembusan FPGA ke dalam pusat data
Anda tidak perlu menjadi pereka bentuk cip untuk memprogramkan FPGA, sama seperti anda tidak perlu menjadi pengaturcara C++ untuk menulis kod dalam Java. Walau bagaimanapun, dalam kedua-dua kes ia mungkin berguna.

Matlamat mengkomersialkan kedua-dua teknologi Java dan FPGA adalah untuk menafikan dakwaan yang terakhir. Berita baik untuk FPGA - menggunakan lapisan abstraksi dan set alat yang betul, dalam tempoh 35 tahun yang lalu sejak penciptaan peranti logik boleh atur cara, mencipta algoritma dan aliran data untuk FPGA dan bukannya CPU, DSP, GPU atau sebarang bentuk ASIC tersuai yang lain telah menjadi semakin biasa.lebih mudah.

Ketepatan masa yang menakjubkan dalam penciptaan mereka terbukti dalam fakta bahawa hanya apabila CPU tidak lagi boleh kekal sebagai satu-satunya modul pengkomputeran pusat data untuk melaksanakan banyak tugas - atas pelbagai sebab - FPGA mencapai keberkesanannya, menawarkan kelajuan, kependaman rendah, keupayaan rangkaian. dan memori - keupayaan pengkomputeran heterogen SoC FPGA moden, yang hampir merupakan sistem pengkomputeran lengkap. Walau bagaimanapun, FPGA juga berjaya digabungkan dengan peranti lain dalam sistem hibrid, dan, pada pendapat kami, mereka baru mula mencari tempat yang sepatutnya dalam hierarki pengkomputeran.

Itulah sebabnya kami menganjurkan persidangan The Next FPGA Platform di San Jose pada 22 Januari. Sememangnya, salah satu pembekal FPGA utama di dunia dan perintis dalam bidang ini ialah Xilinx. Ivo Bolsens, naib presiden kanan dan ketua pegawai teknologi di Xilinx, bercakap pada persidangan itu dan memberi kami pemikirannya hari ini tentang cara Xilinx membantu mencipta sistem pengkomputeran yang boleh diubah untuk pusat data.

Arkitek sistem dan pengaturcara mengambil banyak masa untuk menghasilkan pusat data heterogen, yang akan menampilkan pelbagai jenis kuasa komputer yang menyelesaikan masalah dalam pengkomputeran, penyimpanan dan rangkaian. Ini nampaknya perlu kerana hakikat bahawa semakin sukar untuk mengikuti Undang-undang Moore menggunakan pelbagai peranti CMOS. Buat masa ini, bahasa kami masih berpusatkan CPU, dan kami masih bercakap tentang "pecutan aplikasi," yang bermaksud menjadikan program berjalan lebih baik daripada apa yang boleh dilakukan pada CPU sahaja. Lama kelamaan, pusat data akan menjadi koleksi kuasa pengkomputeran, storan data dan protokol yang menggabungkan segala-galanya, dan kami akan kembali kepada istilah seperti "pengkomputeran" dan "aplikasi." Pengkomputeran hibrid akan menjadi seperti biasa seperti perkhidmatan awan hari ini yang berjalan pada desktop atau mesin maya, dan pada satu ketika kita hanya akan menggunakan perkataan "pengkomputeran" untuk menerangkan cara ia berfungsi. Pada satu ketika - dan kemungkinan FPGA akan membantu memasuki era ini - kami akan memanggilnya pemprosesan data sekali lagi.

Mengguna pakai FPGA di pusat data memerlukan perubahan dalam pemikiran. "Apabila memikirkan cara untuk mempercepatkan aplikasi hari ini, anda perlu turun ke asas bagaimana ia dijalankan, apakah sumber yang digunakan, di mana masa dibelanjakan," jelas Bolsens. – Anda perlu mengkaji masalah umum yang anda cuba selesaikan. Banyak aplikasi yang berjalan di pusat data hari ini berskala untuk menggunakan sejumlah besar sumber. Ambil pembelajaran mesin, sebagai contoh, yang menggunakan sejumlah besar nod pengkomputeran. Tetapi apabila kita bercakap tentang pecutan, kita perlu memikirkan bukan sahaja tentang mempercepatkan pengkomputeran, tetapi juga tentang mempercepatkan infrastruktur.

Sebagai contoh, dalam jenis operasi pembelajaran mesin yang Bolsens belajar secara praktikal, kira-kira 50% daripada masa dibelanjakan untuk memindahkan data berulang-alik antara kuasa pengkomputeran yang tersebar, dan hanya separuh masa yang tinggal dibelanjakan untuk pengiraan itu sendiri.

β€œDi sinilah saya rasa FPGA boleh membantu, kerana kami boleh memastikan kedua-dua aspek pengiraan dan komunikasi aplikasi dioptimumkan. Dan kita boleh melakukan ini pada peringkat infrastruktur keseluruhan, dan pada peringkat cip. Ini adalah salah satu kelebihan hebat FPGA, membolehkan anda mencipta rangkaian komunikasi untuk keperluan aplikasi tertentu. Berdasarkan corak biasa pergerakan data dalam beban kerja AI, saya tidak nampak keperluan untuk seni bina berasaskan suis yang kompleks. Anda boleh membina rangkaian dengan aliran data yang besar. Perkara yang sama berlaku untuk tugas latihan rangkaian saraf - anda boleh membina rangkaian mesh dengan saiz paket yang menyesuaikan diri dengan tugas tertentu. Menggunakan FPGA, protokol pemindahan data dan topologi litar boleh diskalakan dengan sangat tepat dan disesuaikan dengan aplikasi tertentu. Dan dalam kes pembelajaran mesin, jelas juga bahawa kami tidak memerlukan nombor titik terapung berketepatan dua kali, dan kami juga boleh melaraskannya."

Perbezaan antara FPGA dan CPU atau ASIC tersuai ialah yang terakhir diprogramkan di kilang, dan selepas itu anda tidak boleh mengubah fikiran anda lagi tentang jenis data yang dikira atau elemen yang dikira, atau tentang sifat data mengalir melalui peranti. FPGA membolehkan anda mengubah fikiran anda jika keadaan operasi berubah.

Pada masa lalu, kelebihan ini datang dengan kos, apabila pengaturcaraan FPGA bukan untuk mereka yang lemah. Keperluannya adalah untuk membuka penyusun FPGA untuk mengintegrasikan dengan lebih baik dengan alat yang digunakan oleh pengaturcara untuk menulis aplikasi selari CPU dalam C, C++ atau Python, dan untuk menyumber luar beberapa kerja ke perpustakaan yang mempercepatkan prosedur pada FPGA. Inilah yang dilakukan oleh timbunan pembelajaran mesin Vitis, menjanakan platform ML seperti Caffe dan TensorFlow, dengan perpustakaan untuk menjalankan model AI konvensional atau menambahkan keupayaan FPGA pada tugas seperti transcoding video, pengecaman objek video dan analisis data. , pengurusan risiko kewangan dan mana-mana pertiga -perpustakaan parti.

Konsep ini tidak jauh berbeza daripada projek CUDA Nvidia, yang dilancarkan sedekad yang lalu, yang memuatkan pengkomputeran selari kepada pemecut GPU, atau dari kit alat ROCm AMD, atau daripada janji projek OneAPI Intel, yang sepatutnya dijalankan pada CPU, GPU dan FPGA yang berbeza.

Satu-satunya persoalan ialah bagaimana semua alatan ini akan disambungkan bersama supaya mana-mana orang boleh memprogramkan satu set kuasa pengkomputeran mengikut budi bicara mereka. Ini penting kerana FPGA telah menjadi lebih kompleks, jauh lebih kompleks daripada mana-mana CPU yang tersedia. Ia dihasilkan menggunakan proses pembuatan yang paling maju dan teknologi pembungkusan cip yang paling moden. Dan mereka akan menemui niche mereka, kerana kita tidak lagi boleh membuang masa, wang, tenaga dan kecerdasan - semua ini adalah sumber yang terlalu mahal.

"FPGA menawarkan kelebihan teknologi," kata Bolsens. – Dan ini bukan sekadar pengiklanan biasa tentang kebolehsuaian dan kebolehkonfigurasian semula. Dalam semua aplikasi penting - pembelajaran mesin, analisis graf, perdagangan berkelajuan tinggi, dsb. - mereka mempunyai keupayaan untuk menyesuaikan diri dengan tugas tertentu bukan sahaja laluan pengedaran data, tetapi juga seni bina memori - bagaimana data bergerak dalam cip. FPGA juga mempunyai lebih banyak memori yang dibina ke dalamnya daripada peranti lain. Ia juga harus diambil kira bahawa jika tugasan tidak sesuai dengan satu FPGA, anda boleh menskalakannya merentasi berbilang cip tanpa menghadapi kelemahan yang menanti anda apabila menskalakan tugas merentasi berbilang CPU atau GPU.”

Sumber: www.habr.com

Tambah komen