FPGA ve Cloud Computing'i Anlamak
Alana duyarlı programlanabilir kapı dizileri (FPGA), RAM (eski) ve Intel (eski olarak Xilin) ile bağlantılı olarak yapılandırılabilir.Her CLB, LUTs, yüzlerce DSP dilimleri içerir ve çoklu megabaytlar için RAM donanıma (BRAM) ile programlamak için programlanır.
Bulut bilişim soyutları fiziksel altyapıyı API'ler ve web konsolları aracılığıyla erişilebilir olan talep edilen sanal kaynaklar üzerinde özetliyor. Amazon Web Services (AWS), Microsoft Azure, Alibaba Cloud ve Nimbix, FPGA örneklerini, programlanabilir mantık doğrudan yüksek hızlı bir PCI Express otobüsleri üzerinde yapılandıran bir makineye ekleniyor.Bu, fiziksel bir gemiyi hiç kullanmadan otomatik olarak şarj etmeye olanak sağlar.
Bulut FPGA hizmetlerinin mimaride değişiklik olduğunu bilmek önemlidir. Örneğin, AWS F1 örnekleri FPGA'yı bir sağlayıcı tarafından sarmaladı: PCIe, Krishna4 bellek kontrolörleri ve flaş arabirimleri. Azure'un NP serisi, bir Alveo U250 kartı kullanıyor ve Xilinx Runtime (XRT) ile bir OpenCL arayüzü ortaya koyuyor.
Bulut Kaynakları ile FPGA'yı bütünleştirmenin Faydaları
Bulut teslimat modelleri ile FPGA teknolojisi geniş bir operasyonel ve teknik avantajlar yelpazesi verir. En acil fayda, ) FPGA kümeleri üzerinde büyük bir overprovisioning olmadan elde etmek neredeyse imkansızdır. Örneğin, bir gencim başlatıcısı test veya otomatik olarak yapılan bir uygulama uygulamaları ile bir araya getirir, değişken iş yükleri ile donanıma paralellik ile uyum sağlar.
[FONT:0]Cost verimliliği[Dönetici] bir başka büyük sürücüdür. Yüksek uçlu FPGA kurulları (her bir on binlerce dolar) satın almak ve bir sıcaklık kontrollü laboratuvar oluşturmak, takımlar küçük, orta veya büyük bir FPGA-equipped örnek bir saat boyunca bir saat boyunca, özellikle de bakımda ekipman kesintisi ortadan kaldıran bir şekilde, ve nokta örneklerin yanı sıra, hata kontrolü için daha fazla masraflar kesebilir.
[FONT:0)Performance Hızlandırma[[Dönetici:0) Bulut köklerinden FPGA'nın veri işleme mantığı kapısı seviyesinde paralelleştirme yeteneğinden gelir.For workloads like Genomic, deployment, and machine learning inference, FPGAs can offer an order-of-magnitude recovery in latency and throughput with CPUs, often with significantly lower power consumption per operation. As cloud networks goes to improve, move data to and from FPGA-attached storage.
[FONT:0]Flexability ve uzaktan yeniden yapılandırma kabiliyeti[Dönetici:0) Bir video kodundan bir diskoyu bir şekilde indirmeye ve yeni bir miktar akışı yüklemeye kadar otomatikleştirebilmeyi sağlar.Bu çevik ortamlar aynı cihazın gün boyunca farklı uygulama takımlarına hizmet ettiği anlamına gelir. Ayrıca, bir donanım sabitleyicisi ve algoritma güncellemelerini bir donanımla değiştirmeden de sağlar.
Bir başka sık göz ardı edilen avantaj ise şöyledir:0)portability and reproducability[[Dönetici: 1 ). Çünkü bulut FPGA görüntüleri, belirli eserlerde (örneğin Amazon FPGA görüntüleri veya Azure .xclbin dosyaları), sürüm kontrollü, denetimli ve birden çok bölgede dağıtılabilir.
FPGA-Cloud Entegrasyonu Mimarisi
Altta yatan mimariyi anlamak, PCIe uç noktasının, DRAM kontrolörlerinin, DMA motorlarının ve fiziksel flaşın [Dönetici:0) 0) sabit, sağlayıcı tarafından yönetilen FPGA tasarımı, örneğin, DRAM kontrolörleri, DMA motorlarını özel bir mantıka taşımayı başaran bir mantık yönetimidir.[Döneticileri değiştir]
Ev sahibi ve FPGA, bir kullanıcı tasarımı, kabuklu paketler aracılığıyla iletişim kuruyor, eşsiz bir FPGA imajını (örneğin, bir Amazon FPGA Image veya AFI) ve cihazı güvenli bir şekilde yükleme işlemine yükleniyor.AFI oluşturulduktan sonra, bu bölgede herhangi bir uyumlu örnekle kapatılabilir.
Yazılım tarafında, tipik bir entegrasyon, FPGA hızlandırıcılarını nesne depolama (Amazon S3, Azure Blob), mesaj kuyrukları (Amazon Kinesis, Azure Event Hubs), ve konteyner orkestrası platformları (Kubernetler, AWS ECS) Bir S3 kovadan bir veri kümesini okuyabiliyor, işleme için DMA ile FPGA'ye yayınlayın ve sonra bir sunucusuz işlevi yeniden yükleyin.
Microsoft Azure gibi satıcılar, genellikle Alveo U250 hızlandırıcı kartına AMD'den bağlı olarak farklı bir kabuk soyutlama kullanır ve bu modelde, bir PCIe uç noktası içeren bir platformdur, DMA motorları ve hafıza arabirimleri, ancak SmartNIC gibi daha standart bir şekilde yazılır. Geliştiriciler, herhangi bir özel koda doğru paket işlemeyi gerçekleştirir ve cihazı yüklemeye yönelik olarak Vitis aracı kullanarak, cihazı yüklenen bir platform oluşturur. Azure daha fazla soyutlar.
Bulut Kaynakları ile FPGA'yı bütünleştirmek için Adım-Adım Guide
1. Doğru Bulut Sağlayıcısını Seçme ve FPGA Instance
İlk karar, bulut sağlayıcısının teknik ve bütçesel gereksinimlerinizi en iyi şekilde eşleştirdiğidir. Amazon Web Services, AMD Xilinx Virtex UltraScale+ VU9P FPGA'ları yaklaşık 2.6 milyon mantık hücresi ile karşılamaktadır. Bu örnekler, donanım geliştirme, makine öğrenimi hızlandırma ve büyük ölçekli paralel işleme için idealdir. Microsoft Azure, NP serisi gibi FPGA-davırdalı örnekler sunar (Alveo U250 kart kombinasyonlar ile) Bu hedef AI inference ve yüksek performanslı ve yüksek performanslı CPU Cloud, Intel Arria 10 ve Xilinx ile desteklenen 10 ve yüksek çözünürlükte yüksek hesaplamalar sunar.
Seçildiğinde, FPGA mantık yoğunluğu göz önünde bulundurulduğunda, belirli bir FPGA satıcı ekosistemi (AMD Vivado veya Vitis vs. Intel Quartus Prime) mevcut IP veya ekip uzmanlığı nedeniyle. Bazı sağlayıcıların şimdi sungunsuz görüntülerini karşıladıklarını onaylayın[0)
2. FPGA Çevresini Belirlemek ve Yeniden Tanımlama
Bir sağlayıcı seçilirken, bir FPGA örneği, Terraform gibi bulut konsolu veya altyapı aracılığıyla yapılır ve kütüphaneleri desteklersiniz.For AWS için, FPGA yönetim araçlarıyla görünür ([Dönetici:0) ve herhangi bir ek bağımlılık sağlar.
Bulut sağlayıcının saatlik lisans modelini kullanarak veya kendi yüzen lisans yöneticinize yükleyen bir sürüm ayarlayın. Birçok sağlayıcı FPGA aracı için basit bir ücret alma lisansı programı sunar.
3. FPGA Compute Birimleri Tasarımı
Herhangi bir FPGA entegrasyonunun kalbi, C/C++ / OpenCL kodu giriş için bariyeri dramatik bir şekilde daha düşük hale getirmek için Donanım Tanımları (VHDL, Verilog) tam kontrol için veya yüksek çözünürlükte Synthesis (HLS) araçlarına giriş yapmak için, ve devre dışı bırakmak için.
AWS F1 için, bu, bir AXI4-lite kölesinin kontrol kayıtları ve AXI4 hafızalı arayüzü DRAM ile veri değişimi için kullanarak algılama kısıtlamalarına uyması ve bulutta doğru sıfırlama işlemine eklenmeleri içermesi anlamına gelir. modülerlik teşvik edilir: ayrı veri hareketleyicileri, işleme çekirdeği ve kontrol mantığı bağımsız olarak test edilebilir ve yeniden kullanılabilir. ModelSim veya XSim kullanarak simülasyon sentezlemeden önce gereklidir.
4. Hazırlayın, Ambalaj ve Bitstreams'i işe alın
Fonksiyonel ve zamanlama simülasyonları geçtikten sonra, bulutun derleyici hizmetine yükleyebileceğiniz bir dizi HTML'yi kullanarak, FPGA Developer Kit, Vivado projesini saran bir senaryoyu içerir ve bir Design Checkpoint (DCP), ve bulutun derleme hizmetine teslim edebilir. Bu hizmet, HTMLWP'yi basit bir komutla birleştirir ve bir şekilde mantıka bağlı olarak bir şekilde karmaşık hale getirebilir.
Yüklemeden sonra, AFI'nin görünür olduğunu onaylayan sanity testleri çalıştırın ve PCIe bağlantının aktif olduğunu onaylayın.Yazar ve bir kayıtta geri okunan basit bir merhaba dünya çekirdeği her zaman bir kümeye ölçeklendirmeden önce.For Azure için, analog sanatifact is aETHFLT:1).
5. Bulut Data Services ile FPGA Hız Hızlarını Bütünleme
Şimdi donanım erişilebilir, gerçek iş yükleri için bulut hizmetlerine bağlanmak. Tipik bir veri hattı Amazon Kinesis Data Streams beslenme kayıtları gibi bir host uygulama. Ev sahibi uygulama topluları verileri kullanın, FPGA'ya bir DMA transferini başlatın, bir kesme veya anket için bekleyin ve sonra Amazon S3 kova veya DynamoDB tablosuna işlenmiş sonuçları yazar.
Daha düşük gecikme kullanım koşulları için, FPGA, bulut sağlayıcının ağ kartı ile çalışan bir paket işlemcisi olarak hareket edebilir ve genellikle gelişmiş yerleştirme grupları veya bulutWatch veya Azure Monitor üzerinden entegrasyon işlemine doğrudan erişim sağlayan bir ağ arayüzü kartı kullanarak, hızlandırılabilir.
Ayrıca, yeni bir nesne S3'e yüklendiğinde, AFI'ye yüklendiğinde bir F1 işlevinin yeniden yapılandırılması ve ardından örnekleme ile donanım kullanımını en aza indirmek için yapılandırılabilir.
6. Orkestra ve Scaling FPGA Workloads
Üretim seviyesi dağıtımları için, bir Docker konteynerinde ev sahibi uygulamayı kapatın ve Amazon ECS, Kubernetes veya Azure Kubernetes Service. - AFI'ler bölgeye kayıtlı olduğundan, yeni örnekler hemen bir iş kuyruğunu kullanabilir (Amazon SQS, TavşanMQ) görevleri dağıtmak için. kuyruk derinliğini aştığında örnek bir ölçeklendirme politikası uygular ve azalırken, AFI'leri azaltır.
CPU-yalnızca işçilerinin önceden işleme ve işleme işlemine çalıştığı karışık bir dağıtım düşünün, FPGA örnekleri yalnızca hesaplama yoğun çekirdekleri çalıştırır. Bu endişelerin ayrılması her kaynak türünin bağımsız olarak ölçeklendirilmesine izin verir, her iki kaynağın kullanımını ve maliyet verimliliğinin maksimize edilmesi için altyapıyı kullanın. Tüm çöpü tanımlamak için Kod olarak kullanın, bölgeler arasındaki değiştirilebilir, denetim edilebilir dağıtımları etkinleştirin.
Kubernetes gibi gelişmiş orkestrasyon platformları, taleplerin beklemediği zaman otomatik olarak ölçeklenebilir, boş masraflar azaltır.TheurFLT:0)Knative serverless framework, FPGA örneklerini beklemediğinde otomatik olarak ölçeklenebilir, boş maliyetler daha da azaltır.
Anahtar Kullanım Vakaları ve Endüstri Uygulamaları
Finansal hizmetler şirketleri risk hesaplamaları için FPGA-akcelerated bulut örneklerini kullanıyor, Monte Carlo simülasyonları ve yüksek frekanslı ticaret stratejileri, tek haneli mikrosaniye geç kalmış sunucular, firmalar 10 saniye mikrosaniye altında gecikmeli hizmetleri azaltabiliyorlar.
Genomcularda, DNA dizi ve değişken arama, bu boru hatlarının pahalı dizinli hızlandırıcı kartlarını hızlandırmasını sağlar.0)Intel'in FPGA yol haritası, lisanslı ve Azure'un NP örneklerini ölçeklendirmek için özel IP içerir.
Mekanik öğrenme, başka bir asal adaydır. GPUs eğitime hükmedirken, A /B testleri dikte edilebilir bir şekilde takas edilebilir olan bir pre-opted sinir ağ aktivasyon kütüphanesine ev sahipliği yapmaktadır. Vitis AI kütüphanesini AMD'den optimize edilmiş derin öğrenme birimleri (DPU) ile çalışır Bulut FPGA örnekleri, minimum çabayla çalışır.
Diğer uygulamalar, kenarda gerçek zamanlı video transkriptini içerir, bir FPGA örneği bir içerik teslim ağının yayın akışlarını yeniden paketleyebilir; yazılım tanımlı ağ, FPGA'lar özel güvenlik duvarı kuralları ve paket denetimi için kullanılır; ve her domaini ağır paralellik sistemleri (SADA) için kiralama yeteneğinden gelen bilimsel simülasyonlar, deney süresi için FPGA at gücü için tam olarak yararlanmaktadır.
Overcoming Common Challenges
Söz konusu söze rağmen, takımlar birkaç engele yol açıyorlar.ETHFLT:0)Latency[[Döneticileri arasında FPGA, veri kaynakları ile FPGA örneklerini kullanarak şarj edilebilir ve desteklenen depolama hizmetlerinden doğrudan DMA çalıştırarak. Mapping FPGA hafızasını barındırmakta olan kullanıcılar tarafından pahalı kopya işlemlerinden kaçınır.
[FONT:0) Güvenlik) Uçuşta ve geri kalanında verilerin şifrelemesini talep eder. Cloud sağlayıcıları ev sahibi ve FPGA arasında şifreli trafiği şifreleyebilir, ancak özel mantık da AES veya diğer ciphers'i hassas veri işleme için dahil etmelidir. Düzenli penetrasyon testleri ve katı IAM politikalarının yetkisiz erişimin FPGA görüntülerine ve manipüle ettikleri verilere izin vermemektedir. Çünkü FPGA bitleri tersine dönülebilir.
[FONTD:0]cost[DÜT:1], açık bir etiketleme stratejisi gerektirir, bütçe uyarıları ayarlayın ve öngörülebilir iş yükleri için rezerv örneklerini veya rezerv kapasitelerini kullanarak önceden kullanabileceğiniz FPGA görüntülerini kendiniz alır; tasarım ayak izini en aza indirmek için tutar ve böylece giriş büyüklüğüne göre şarj edilebilir bir maliyet azaltır. Bazı sağlayıcılar şimdi sadece FPGA örneklerini sunar.
[FONT=0]complexity[DÜDÜDÜDÜDÜDÜDÜDÜSTR:0)[Üye Olmayanlar (DÜye) ve otomatik olarak inşa edilen boru hatlarına yatırım yapmak, yalnızca kaynak değişikliklerinin yapıldığı zaman tasarıma yatırım yapmak için otomatik olarak yapılır. Birçok sağlayıcı, ortak hızlandırılmış kripto algoritmaların ön-tavuşlarını satın alabilir, herhangi bir özel donanım kodlama Ekibinin yenisini ortadan kaldırır. FPGA gelişimine yatırım yapmak için yeni bir basit, kanıtlanmış bir tasarımla başlamalıdır.
FPGA-Cloud Entegrasyonu için en iyi uygulamalar
Disiplinli bir gelişim akışı, RTL, HLS ve host yazılımları için ayrı şubeler koruyun ve her bir taahhütte tetikleyen CI/CD boru hatları kullanır.A tipik bir boru hattı lint kaynak kodu, run unit simülasyonları, kendi kontrol testi, bir sentez kuru bir şekilde çalışır (eğer sağlayıcı kısmi bir derleme servisi sunarsa), ve sürüm şubesine hizmet ederken son derecenizi üretir.
Ev sahibi uygulamanızı ayrıntılı performans ölçümleri ile optimize edin: veri aktarım, DMA transfer süreleri, çekirdek infaz süreleri ve ev sahibi-FPGA yuvarlak-trip latencies.Bu ölçümler merkezi bir izleme yığınına (Prometheus, Grafana) ve sapmalar için uyarılar ayarlar. Bu görünürlük, donanım/yukanlama sınırı optimize ettiğinde çok önemlidir - verilerin nasıl paketlendiğini veya kontrol kayıtlarının nasıl ayarlandığını veya nasıl ayarlandığınız bir dizinin iki basamaklı ölçümlere nasıl veri olabileceğini optimize eder.
Küçük bir F1 örneği üzerinde algoritmanızı ölçeklendirmeden önce minimum test veri setine baslayın. Profil tasarımı, hafıza genişliği veya saat frekansında şişeleri tanımlayın ve sadece çekirdek performans özelliklerine yatırım yaptığınızda, orkestrasyon ve otomatik satışa yatırım yapmanız gerekir.Özel bir FPGA arayüzünü yakalamayı başaran mimari karar kayıtları, hafıza haritalama veya kuyruk mekanizması seçilir, çünkü bu gelecekteki yardımcı olacaktır.
Bir üretim kesintisi meydana gelene kadar yatırım yapmayı düşünün.Her seferinde FPGA tasarımını veya ev sahibi yazılımı güncelle, otomatik olarak referans örneği üzerinde kümeleme ve geç kalmış bir performans bozulmasını önler.Bu, bir üretim kesintisi meydana gelene kadar engelleyici bir performans kesintisini önler.
FPGA ve Cloud Computing'deki Future Trendleri
Bulut FPGA pazarı hızla gelişiyor. Geliştiriciler otomatik olarak FPGA bitleri ve idam edilen maliyetlerin giderek daha geniş bir kitleye doğru ilerlediğini gösteriyor.Aynı zamanda, hierarchical kabukların büyüyen ekosistemi, geliştiricilerin kendi rollerini güvenli bir şekilde paylaşmasını sağlıyor ve her biri kendi başına bir rolle, böylece artan cihaz kullanımı ve daha düşük maliyetli maliyetlerin artırılmasına olanak sağlıyor.
Sunucusuz bir hesaplama ile entegrasyon da ufukta. Belirli bir tetikleyici için, yakındaki bir FPGA hızlandırıcısına tamamen şeffaf bir şekilde bağlı olarak, yüksek seviyeli mimarilerle uygulama ile uygulama yürütmeyi hayal edin.0AWS'nin sabit zamanlı analitik ve AI hizmetleri [5G kenarı lokasyonları)[TFL:3, FPGA’lar düşük ücretli bir şekilde düşük ücretli, yüksek ücretli işlemle birlikte, yüksek ücretli işlemle birlikte, yüksek ücretli bir gerçek zamanlı olarak uygulama için belge oluşturabilir.
Başka bir eğilim, FPGA aracı zincirler için ([Döneticiler) için tasarımları derlemek için kullanılan ve FPGA'lar üzerinde bulunan özel SoC'ler inşa etmeyi amaçlayan bir diğer eğilimdir.
Son olarak, FPGA'ların ev sahibi ve hızlandırıcı arasındaki yakınlaşma:0)disaggregated memory) (CXL-attached memory) gerçekten de sabitleyici olan akış verileri toplayacak. Cloud sağlayıcıları arasında FPGA-dached memory havuzları ile deneyen bu, birden çok durumda paylaşılabilir.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Bulut bilişim kaynakları ile FPGA'lar, özel donanım hızlandırıcısının artık sabit bir varlık değil, esnek, programlanabilir bir fayda sağlar. Doğru sağlayıcıyı takip ederek, doğru tedarikçiyi ustalaştırma, HLS veya RTL ile işlem birimleri tasarlama ve bulut tabanlı hizmetlerle her şeyi bağlantı kurma konusunda güçlü bir paradigma açıyor - organizasyonlamalar en talep edilen iş yüklerini dramatik bir şekilde hızlandırabilir.