Penetrasi FPGA ke dalam pusat data tidak dapat dihindari

Penetrasi FPGA ke dalam pusat data tidak dapat dihindari
Anda tidak perlu menjadi perancang chip untuk memprogram FPGA, sama seperti Anda tidak perlu menjadi programmer C++ untuk menulis kode di Java. Namun, dalam kedua kasus ini mungkin akan berguna.

Tujuan komersialisasi teknologi Java dan FPGA adalah untuk menyangkal klaim terakhir. Kabar baik bagi FPGA - menggunakan lapisan abstraksi dan perangkat yang tepat, dalam 35 tahun terakhir sejak penemuan perangkat logika yang dapat diprogram, membuat algoritme dan aliran data untuk FPGA alih-alih CPU, DSP, GPU, atau bentuk ASIC khusus lainnya telah menjadi hal yang penting. semakin umum, lebih mudah.

Ketepatan waktu yang luar biasa dalam penciptaannya terbukti dalam kenyataan bahwa ketika CPU tidak lagi menjadi satu-satunya modul komputasi pusat data yang melakukan banyak tugas - karena berbagai alasan - FPGA mencapai efektivitasnya, menawarkan kecepatan, latensi rendah, dan kemampuan jaringan. dan memori - kemampuan komputasi heterogen dari SoC FPGA modern, yang hampir merupakan sistem komputasi lengkap. Namun, FPGA juga berhasil digabungkan dengan perangkat lain dalam sistem hybrid, dan menurut kami, FPGA baru mulai menemukan tempat yang tepat dalam hierarki komputasi.

Itu sebabnya kami menyelenggarakan konferensi The Next FPGA Platform di San Jose pada tanggal 22 Januari. Tentu saja, salah satu pemasok FPGA utama di dunia dan pelopor di bidang ini adalah Xilinx. Ivo Bolsens, wakil presiden senior dan chief technology officer di Xilinx, berbicara di konferensi tersebut dan menyampaikan pemikirannya hari ini tentang bagaimana Xilinx membantu menciptakan sistem komputasi yang dapat diubah untuk pusat data.

Arsitek sistem dan pemrogram memerlukan banyak waktu untuk menghasilkan pusat data heterogen, yang akan menampilkan berbagai jenis kekuatan komputer yang memecahkan masalah dalam komputasi, penyimpanan, dan jaringan. Hal ini tampaknya perlu karena semakin sulitnya mengikuti Hukum Moore menggunakan berbagai perangkat CMOS. Untuk saat ini, bahasa kami masih berpusat pada CPU, dan kami masih berbicara tentang “akselerasi aplikasi”, yang berarti membuat program berjalan lebih baik daripada apa yang dapat dilakukan hanya dengan CPU. Seiring berjalannya waktu, pusat data akan menjadi kumpulan kekuatan komputasi, penyimpanan data, dan protokol yang menyatukan semuanya, dan kita akan kembali ke istilah seperti “komputasi” dan “aplikasi”. Komputasi hibrid akan menjadi hal biasa seperti layanan cloud saat ini yang berjalan di desktop atau mesin virtual, dan pada titik tertentu kita hanya akan menggunakan kata "komputasi" untuk menjelaskan cara kerjanya. Pada titik tertentu - dan kemungkinan besar FPGA akan membantu mengantarkan era ini - kita akan menyebutnya lagi pemrosesan data.

Penerapan FPGA di pusat data memerlukan perubahan pola pikir. “Saat memikirkan cara untuk mempercepat aplikasi saat ini, Anda harus memahami dasar-dasar cara aplikasi tersebut dijalankan, sumber daya apa yang digunakan, di mana waktu dihabiskan,” jelas Bolsens. – Anda perlu mempelajari masalah umum yang ingin Anda pecahkan. Banyak aplikasi yang berjalan di pusat data saat ini berskala besar dan mengonsumsi sumber daya dalam jumlah besar. Ambil contoh pembelajaran mesin, yang menggunakan node komputasi dalam jumlah besar. Namun ketika kita berbicara tentang akselerasi, kita tidak hanya perlu memikirkan tentang mempercepat komputasi, tetapi juga tentang mempercepat infrastruktur.”

Misalnya, dalam jenis operasi pembelajaran mesin yang dipelajari Bolsens dalam praktiknya, sekitar 50% waktunya dihabiskan untuk mentransfer data bolak-balik antara daya komputasi yang tersebar, dan hanya separuh sisanya dihabiskan untuk penghitungan itu sendiri.

“Di sinilah menurut saya FPGA dapat membantu, karena kami dapat memastikan bahwa aspek komputasi dan komunikasi aplikasi dioptimalkan. Dan kita dapat melakukan hal ini pada tingkat infrastruktur secara keseluruhan, dan pada tingkat chip. Ini adalah salah satu keuntungan besar FPGA, memungkinkan Anda membuat jaringan komunikasi untuk kebutuhan aplikasi tertentu. Berdasarkan pola khas pergerakan data dalam beban kerja AI, saya tidak melihat perlunya arsitektur berbasis saklar yang kompleks. Anda dapat membangun jaringan dengan aliran data yang besar. Hal yang sama berlaku untuk tugas pelatihan jaringan saraf - Anda dapat membangun jaringan mesh dengan ukuran paket yang beradaptasi dengan tugas tertentu. Dengan menggunakan FPGA, protokol transfer data dan topologi sirkuit dapat diskalakan dengan sangat tepat dan disesuaikan dengan aplikasi tertentu. Dan dalam hal pembelajaran mesin, jelas juga bahwa kita tidak memerlukan angka floating point presisi ganda, dan kita dapat menyesuaikannya juga.”

Perbedaan antara FPGA dan CPU atau ASIC khusus adalah bahwa ASIC khusus diprogram di pabrik, dan setelah itu Anda tidak dapat lagi berubah pikiran tentang jenis data yang dihitung atau elemen yang dihitung, atau tentang sifat data. mengalir melalui perangkat. FPGA memungkinkan Anda berubah pikiran jika kondisi pengoperasian berubah.

Di masa lalu, keuntungan ini harus dibayar mahal, ketika pemrograman FPGA tidak diperuntukkan bagi orang yang lemah hati. Kebutuhannya adalah membuka kompiler FPGA agar lebih terintegrasi dengan alat yang digunakan pemrogram untuk menulis aplikasi paralel CPU dalam C, C++, atau Python, dan untuk melakukan outsourcing beberapa pekerjaan ke perpustakaan yang mempercepat prosedur pada FPGA. Inilah yang dilakukan oleh tumpukan pembelajaran mesin Vitis, yang mendukung platform ML seperti Caffe dan TensorFlow, dengan perpustakaan untuk menjalankan model AI konvensional atau menambahkan kemampuan FPGA ke tugas-tugas seperti transcoding video, pengenalan objek video, dan analisis data. , manajemen risiko keuangan, dan pihak ketiga lainnya. -perpustakaan pesta.

Konsep ini tidak jauh berbeda dengan proyek CUDA Nvidia, yang diluncurkan satu dekade lalu, yang memindahkan komputasi paralel ke akselerator GPU, atau dari toolkit ROCm AMD, atau dari janji proyek OneAPI Intel, yang harus berjalan pada CPU, GPU, dan FPGA yang berbeda.

Satu-satunya pertanyaan adalah bagaimana semua alat ini akan dihubungkan bersama sehingga setiap orang dapat memprogram serangkaian kekuatan komputasi sesuai kebijaksanaannya. Hal ini penting karena FPGA menjadi lebih kompleks, jauh lebih kompleks dibandingkan CPU mana pun yang tersedia. Mereka diproduksi menggunakan proses manufaktur paling canggih dan teknologi pengemasan chip paling modern. Dan mereka akan menemukan tempatnya, karena kita tidak dapat lagi membuang waktu, uang, energi, dan kecerdasan - semua ini adalah sumber daya yang terlalu mahal.

“FPGA menawarkan keunggulan teknologi,” kata Bolsens. – Dan ini bukan sekadar iklan biasa tentang kemampuan beradaptasi dan konfigurasi ulang. Dalam semua aplikasi penting - pembelajaran mesin, analisis grafik, perdagangan berkecepatan tinggi, dll. - mereka memiliki kemampuan untuk beradaptasi dengan tugas tertentu tidak hanya jalur distribusi data, tetapi juga arsitektur memori - bagaimana data berpindah di dalam chip. FPGA juga memiliki lebih banyak memori yang terpasang di dalamnya dibandingkan perangkat lain. Perlu juga diingat bahwa jika suatu tugas tidak sesuai dengan satu FPGA, Anda dapat menskalakannya di beberapa chip tanpa menghadapi kerugian yang menanti Anda saat menskalakan tugas di beberapa CPU atau GPU.”

Sumber: www.habr.com

Tambah komentar