Video: FPGA Hello world или как программировать ПЛИС. Vivado, Spartan7 (Kasım 2024)
Sunucu hesaplamasında gördüğüm en ilginç eğilimlerden biri, standart CPU'lardan uzaklaşmaya ve grafik yongalarında (GPU'lar) ve sahada programlanabilir kapı dizileri (FPGA'lar) olarak bilinen yeniden yapılandırılabilir işlemcilere daha fazla işlem yapmaya doğru ilerlemektir. Bu fenomen genellikle heterojen hesaplama olarak adlandırılır.
Buradaki konsept yeni değil - GPU'lar ve diğer hızlandırıcılar, yüksek performanslı bilgi işlem (HPC) veya süper bilgisayarlarda yıllardır yaygın bir şekilde yaygınlaşmıştır. Ancak son zamanlarda Intel’in, FPGA’larda donanım yönergeleri olarak kullanabilecekleri belirli algoritmalara sahip büyük hiper ölçekli bulut bilişim sağlayıcılarını hedef alan geleneksel CPU’nun yanı sıra FPGA’ları içerecek şekilde bazı sunucu çip paketlerini nasıl özelleştirdiğini de duyduk. Bu, daha genel CPU talimatlarında yazılım olarak çalıştırılmasından çok daha hızlı olmalıdır.
Bu, Intel'in yakın zamanda FPGA yapımcısı Altera'yı satın alma planının ana itici güçüydü. Intel CEO'su Brian Krzanich, bulut iş yüklerinin yüzde 30'unu, on yılın sonunda bir çeşit FPGA hızlandırması beklediğini söyledi. Microsoft, Bing arama gibi bulut hizmetlerinin çoğuna güç sağlamak için zaten Altera FPGA'ları kullanıyor.
Daha tipik kurumsal bilgisayar işlemlerinde FPGA'ları (veya bu konuda GPU'ları) kullanan çoğu şirket için büyük bir engel var: Yazılımın CPU ile birlikte bu çiplerde aynı anda çalışmasını sağlamak çok zor. (Kurumsal iş yükleri ve hatta HPC için her zaman bazı CPU'lara ihtiyacınız olacak; ağ gibi donanım uygulamalarında sadece FPGA kullanabilirsiniz.) GPU hesaplama için Nvidia'nın CUDA'sı ve Khronos gibi şeyler gördük. Her şeyi kolaylaştıran Group'un OpenCL standardı ve kesinlikle çok sayıda HPC ve makine öğrenmesi algoritması GPU kullanıyor. Şimdi Altera gibi FPGA üreticileri OpenCL'i de destekliyor, ancak daha genel kurumsal bilgi işlem durumunda çok zor olduğu kanıtlandı.
Son zamanlarda, bunu kolaylaştırmayı ümit eden birkaç şirketle konuştum.
Bitfusion TechCrunch Disrupt'da ilk gördüğüm bir başlangıç; Teknolojisi, bir uygulamayı CPU'dan GPU'ya veya FPGA'ya her platform için yeniden yazmadan taşımanıza izin vermeyi amaçlamaktadır. CEO Subbu Rama'nın açıkladığı gibi, paket şimdi yazılım geliştiricileri tarafından kullanılan ortak açık kaynaklı kütüphaneleri arayarak ve içlerindeki işlevleri GPU veya FPGA'dan faydalanabilecek işlevlerle değiştirerek çalışıyor. Açıkladığı gibi, büyük şirketler kodlarını yeniden yazabilirler, ancak orta ölçekli şirketler yapamaz. Uygulamalar bilimsel bilgi işlem, risk analizi ve yüksek frekanslı ticaret gibi finansal uygulamaları ve petrol ve gaz sensörü verileriyle çalışmak gibi veri analizlerini içerir.
Sonunda, bunun bu tür kütüphaneleri çağıran herhangi bir dille çalışabileceğini söyledi. Kütüphanelerin değiştirilmesinin FPGA'lar veya GPU'lar için özel kod yazmak kadar verimli olamayabileceğini, ancak çok daha kolay olduğunu belirtti.
Bitfusion ürünlerini üç farklı modelde sunmayı planlıyor - zaten kendi hızlandırıcıları olan şirketler için saf yazılım; cihazlara önceden kurulmuş; veya Rackspace ile ortaklık kurarak bulutta dağıtılan uygulamalar için. Şirket, diğer işlemcilerle de çalışabileceğini söylese de, başlangıçta bu Altera FPGA'ları kullanacak. Rama, ilk müşterilerin bunu şimdi kullandığını, önümüzdeki birkaç ay içinde halka açık olmasının planlandığını söylüyor.
SRC biraz farklı bir yaklaşım izliyor. 1999'dan beri devlet kurumları için "yeniden yapılandırılabilir sunucular" yaratıyor ve şimdi yüksek ölçekli veri merkezleri ve Web işlemlerine yönelik bir çözüm üretiyor. Saturn 1 sunucusu olarak adlandırılan HP'nin Moonshot kasasına takılan bir kartuş ve SRC, geleneksel mikroişlemci tasarımlarından 100 kat daha hızlı olan bilgisayar performansı sağlayabileceğini iddia ediyor. (Şirket ayrıca, genellikle daha büyük müşterileri için daha büyük rafa monte ve tam boyutlu sistemler de satmaktadır.)
CEO Jon Huppenthal'a göre, bunu farklı kılan, kodu FPGA mimarisinde çalışan silikon bir tasarıma dönüştüren Carte olarak bilinen özel bir derleyici. SRC'nin, 90'lı yıllarda süper bilgisayar öncüsü Seymour Cray ve Jim Guzy tarafından kurulduğundan beri, başlangıçta ticari müşteriler için derleyiciyi oluşturmak için yıllarını harcadığını söyledi. SRC'nin yaklaşımındaki bir fark, Carte'nin jenerik sistemler için değil, daha çok performans ve tutarlılık sağlayan SRC mimarisine bağlı olduğunu söyledi. Satürn 1, iki tane Altera FPGA kullanır; biri kullanıcı kodunu çalıştırır; sistemi bir Intel işlemciyle birlikte hızla çalıştırmaya devam eden. Halen, şirketin 12. nesil yeniden yapılandırılabilir işlemcilerinde bulunduğunu da sözlerine ekledi.
Bu, daha çok büyük hesaplama merkezlerine yönelik daha pahalı bir çözüm, ancak daha önceki yaklaşımlardan daha erişilebilir durumda.
Daha yaygın görevler için FPGA'ları veya yeniden yapılandırılabilir işlemcileri kullanma fikri yeni değildir. Bununla birlikte, donanım tasarımcıları veya askeri uygulamalar dışındaki daha geleneksel müşteriler için bir olasılık haline gelmesi uzun zaman aldı. Bu yeni yaklaşımlar, bu teknolojinin başlangıcının daha yaygın şekilde kullanılmasına neden olabilir - ancak fiyat / performans iyileştirmeleri, satıcı talepleriyle gerçekten eşleşirse ve teknolojinin kullanımı daha kolay hale gelirse. Yeni yaklaşımlar bu yönde bir adımdır.