Video: FPGA Hello world или как программировать ПЛИС. Vivado, Spartan7 (Desember 2024)
Salah satu tren paling menarik yang saya lihat dalam komputasi server adalah beralih dari CPU standar dan menuju melakukan lebih banyak pemrosesan pada chip grafis (GPU) dan prosesor yang dapat dikonfigurasi ulang yang dikenal sebagai field programmable gate arrays (FPGAs). Fenomena ini sering disebut sebagai komputasi heterogen.
Konsep di sini bukanlah hal baru - GPU dan akselerator lainnya semakin umum dalam komputasi kinerja tinggi (HPC) atau superkomputer selama bertahun-tahun. Tetapi akhir-akhir ini, kami telah mendengar lebih banyak tentang bagaimana Intel telah menyesuaikan beberapa paket chip server untuk menyertakan FPGA di samping CPU tradisional, yang ditujukan terutama untuk penyedia komputasi awan hyperscale besar yang memiliki algoritme spesifik yang dapat mereka jalankan sebagai instruksi perangkat keras pada FPGA. Ini harus lebih cepat daripada mengeksekusi mereka sebagai perangkat lunak pada instruksi CPU yang lebih umum.
Ini adalah pendorong utama rencana terbaru Intel untuk mengakuisisi pembuat FPGA Altera. CEO Intel, Brian Krzanich mengatakan dia memperkirakan hingga 30 persen dari beban kerja cloud memiliki semacam akselerasi FPGA pada akhir dekade ini. Microsoft sudah menggunakan Altera FPGA untuk menggerakkan banyak layanan cloud-nya seperti pencarian Bing.
Ada satu kendala besar bagi sebagian besar perusahaan yang menggunakan FPGA - atau dalam hal ini GPU - dalam kasus-kasus komputasi korporat yang lebih khas: membuat perangkat lunak bekerja bersamaan pada chip-chip ini di samping CPU terasa sulit. (Untuk beban kerja korporat dan bahkan HPC, Anda akan selalu memerlukan beberapa CPU; dalam aplikasi jenis lain, seperti jaringan, perusahaan perangkat keras mungkin hanya menggunakan FPGA.) Untuk komputasi GPU, kami telah melihat hal-hal seperti Nvidia's CUDA dan Khronos Standar OpenCL Group, yang mempermudah, dan kami telah melihat banyak algoritma HPC dan pembelajaran mesin menggunakan GPU. Sekarang pembuat FPGA seperti Altera mendukung OpenCL juga, tetapi dalam kasus komputasi korporasi yang lebih umum, itu terbukti terlalu sulit.
Akhir-akhir ini, saya telah berbicara dengan beberapa perusahaan yang berharap untuk membuat ini lebih mudah.
Bitfusion adalah startup yang pertama kali saya lihat di TechCrunch Disrupt; teknologinya ditujukan untuk memungkinkan Anda memindahkan aplikasi dari CPU ke GPU atau FPGA tanpa menulis ulang untuk setiap platform. Seperti yang dijelaskan oleh CEO Subbu Rama, paket tersebut sekarang berfungsi dengan mencari pustaka open-source yang umum digunakan oleh pengembang perangkat lunak dan mengganti fungsi di dalamnya dengan fungsi yang dapat memanfaatkan GPU atau FPGA. Saat ia menjelaskan, perusahaan besar mungkin dapat melakukan penulisan ulang kode mereka, tetapi perusahaan menengah tidak bisa melakukannya. Aplikasi termasuk komputasi ilmiah, aplikasi keuangan seperti analisis risiko dan perdagangan frekuensi tinggi, dan analisis data seperti bekerja dengan data sensor minyak dan gas.
Akhirnya, dia mengatakan ini bisa bekerja dengan bahasa apa pun yang memanggil perpustakaan tersebut. Dia mencatat bahwa mengganti perpustakaan mungkin tidak seefisien menulis kode khusus untuk FPGA atau GPU, tetapi jauh lebih mudah.
Bitfusion berencana untuk menawarkan produknya dalam tiga model berbeda - sebagai perangkat lunak murni untuk perusahaan yang sudah memiliki akselerator sendiri; pra-instal pada peralatan; atau untuk aplikasi yang digunakan di cloud, melalui kemitraan dengan Rackspace. Awalnya, ini akan menggunakan FPGA Altera, meskipun perusahaan mengatakan itu bisa bekerja dengan prosesor lain juga. Rama mengatakan pelanggan awal menggunakan ini sekarang, dengan ketersediaan publik direncanakan dalam beberapa bulan ke depan.
SRC mengambil pendekatan yang agak berbeda. Ini telah menciptakan "server yang dapat dikonfigurasi ulang" untuk lembaga pemerintah sejak 1999, dan sekarang membuat solusi yang ditujukan untuk pusat data hyperscale dan operasi Web. Disebut server Saturn 1, ini adalah kartrid yang dihubungkan ke sasis Moonshot HP, dan SRC mengklaim dapat memberikan kinerja komputer yang biasanya 100 kali lebih cepat daripada desain mikroprosesor tradisional. (Perusahaan juga menjual sistem yang dipasang di rak yang lebih besar dan ukuran penuh, biasanya untuk pelanggan yang lebih besar.)
Apa yang membuatnya berbeda adalah kompiler khusus yang dikenal sebagai Carte, yang mengubah kode menjadi desain silikon yang dapat berjalan pada arsitektur FPGA, menurut CEO Jon Huppenthal. Dia memberi tahu saya bahwa SRC telah menghabiskan bertahun-tahun menciptakan compiler, awalnya untuk pelanggan bisnis, sejak perusahaan itu didirikan oleh perintis superkomputer Seymour Cray dan Jim Guzy pada tahun 90-an. Satu perbedaan dalam pendekatan SRC, katanya, adalah bahwa Carte tidak dimaksudkan untuk sistem generik, tetapi lebih terkait dengan arsitektur SRC, yang memberikannya lebih banyak kinerja dan konsistensi. Saturn 1 menggunakan dua FPGA Altera - satu yang menjalankan kode pengguna; yang lain yang membuat sistem berjalan cepat, bersama dengan satu prosesor Intel. Saat ini, tambahnya, perusahaan ini adalah generasi ke-12 dari prosesor yang dapat dikonfigurasi ulang.
Ini adalah solusi yang lebih mahal, sebagian besar ditujukan pada pusat komputasi yang agak besar, tetapi masih lebih mudah diakses daripada pendekatan sebelumnya.
Gagasan menggunakan FPGA atau prosesor yang dapat dikonfigurasi ulang untuk tugas-tugas yang lebih umum bukanlah yang baru. Namun, perlu waktu lama untuk ini menjadi kemungkinan bahkan bagi pelanggan yang lebih tradisional di luar perancang perangkat keras atau aplikasi militer. Pendekatan baru ini dapat menunjukkan awal dari teknologi ini menjadi lebih umum digunakan - tetapi hanya jika peningkatan harga / kinerja benar-benar cocok dengan klaim vendor dan teknologi menjadi lebih mudah digunakan. Pendekatan baru adalah langkah ke arah itu.