Mesaj gönder

Haberler

March 11, 2021

Etki Alanına Özgü Bellek

Alana özgü bilgi işlem tüm öfke olabilir, ancak gerçek problemden kaçınıyor.

Daha büyük endişe, işlemci performansını düşüren, daha fazla güç tüketen ve en çok yonga alanını kaplayan anılardır.Anılar, mevcut yazılımın tercih ettiği katı yapılardan kurtulmalıdır.Algoritmalar ve bellek birlikte tasarlandığında, performanstaki gelişmeler önemlidir ve işleme optimize edilebilir.

Alana özgü işleme, John Hennessy ve David Patterson'un 2018 Turing dersi "Bilgisayar Mimarisi için Yeni Bir Altın Çağ" tarafından popüler hale getirildi.Ancak işlemciler on yıllardır bellek tarafından kısıtlandı.Bellek ve bellek hiyerarşilerini yeniden düşünmeden işlemeyi değiştirmek, Amdahl Yasasını görmezden gelir; bu, bir sistemin belirli parçaları iyileştirildiğinde olası hızlanma arasında matematiksel bir ilişki sağlar.Temel olarak, sisteme bir bütün olarak bakmak yerine sistemin yalnızca bir parçasına konsantre olursanız, azalan getiri elde edeceğinizi söylüyor.

Öyleyse neden darboğaza odaklanmayalım?Synopsys'in ürün pazarlama direktörü Prasad Saggurti, "Alana özgü bellek yalnızca yeni bir terim, ancak mimarlar bu tür optimizasyonları uzun zamandır yapıyorlar" diyor."Ve eğer yapmamışlarsa, bir hileyi kaçırıyorlar çünkü çoğu insan bunu yapıyor."

Diğerleri de aynı fikirde."Video hafızalarını - yerleşik vardiya kayıtlarına sahip DRAM'ı hatırlıyor musunuz?"Arteris IP'de çalışan ve sistem mimarı Michael Frank'e soruyor."Belki GDDR [1-5], özel önbellek etiketi hafızaları veya TTL günlerindeki ilişkili anılar?Bunların çoğu, işlevsellikleri çok özel olduğu için gerçekten hayatta kalamadı.Benzersiz bir cihazı hedeflediler.Yeterince geniş bir etki alanına ihtiyacınız var ve yüksek hacimli ve büyük ölçekli üretim avantajına sahip bugünün DRAM'ının düşük maliyetiyle savaşıyorsunuz. "

Bazen bundan daha derine iner.Synopsys 'Saggurti, "Bir şeyi ROM'a bağlayabilirsiniz," diyor.“Bugün gördüğümüz şey, günümüzde daha fazla insanın hafızada ince ayar yapması.Örneğin, bir Fourier dönüşümü veya bir Z dönüşümü ile, insanlar kodu, katsayıları belirli bir sırayla saklayabileceğiniz şekilde yazarlar.Bir matris çarpımı yaptığınızda, katsayıları belirli bir sırayla saklayabilirsiniz, böylece onu okumak daha hızlı olur.Verileri tek bir bellekte saklayamazsınız, bunun yerine üç veya dört farklı belleğe koyabilirsiniz, böylece bir şeyleri birden çok veri yolu üzerinden okuyabilirsiniz.Son zamanlarda bu tür şeyler oluyor. "

Değişim zordur.Rambus arkadaşı ve seçkin mucit Steven Woo, "Zor olan, geçmişte insanların bilgisayar sistemleri hakkında düşünmek için güzel ve soyut bir modele sahip olmalarıdır" diyor.“Hafızayı gerçekten düşünmek zorunda kalmadılar.Ücretsiz olarak geldi ve programlama modeli bunu öyle yaptı ki, belleğe referanslar yaptığınızda, sadece oldu.Ne yaptığın konusunda asla açık olmak zorunda kalmadın. "

Genel bellek performansında ilerleme kaydediliyor.Arteris'ten Frank, "Günümüzün bellek denetleyicileri ve gelişmiş arabirim standartları, gelişmiş silikon teknolojisinden elde edebileceğiniz şeyleri önemli ölçüde geliştirdi" diyor."Bu, derin kuyrukları ve gelişmiş zamanlayıcıları etkinleştirdi.Yüksek bant genişliğine sahip bellek (HBM) gibi gelişmiş bellek teknolojileri ve yığınlanmış kalıp, sadece on yıl önce ulaşılmasının imkansız olduğunu düşündüğümüz bant genişliklerini destekliyor.Yine de ucuza gelmiyor.10 nm'nin altındaki teknolojiler de büyük önbellekleri mümkün kılıyor, bu yüzden belki bu zavallı adamın alana özgü belleği olarak adlandırabiliriz. "

Ancak bunların tümü küçük artımlı değişikliklere örnektir.Arm's Araştırma ve Geliştirme grubunun kıdemli baş araştırma mühendisi Matt Horsnell, "Hesaplamanın esasen veriyi takip ettiği bellek alt sistemlerini tasarlamak, mimarların alışkın olduğu birçok ilkenin önemli ölçüde yeniden düşünülmesini gerektiriyor" diyor Arm'ın Araştırma ve Geliştirme grubunun baş araştırma mühendisi Matt Horsnell."Günümüzün veriler üzerindeki tipik işlem listesinden, eşzamanlılığı ve hesaplama birimleri ile veri öğeleri arasındaki göreceli mesafelerin bazı kavramlarını kapsayan genişletilmiş bir forma kadar programlama soyutlamasını geliştirme fırsatı var.Bu tür soyutlamalar, gerekli dönüşümlerin, algoritmalar hızla gelişirken alana özgü bellekleri daha optimum şekilde hedeflemesini sağlayabilir. "

Sürücü koltuğundaki veri merkezleri
Veri merkezleri, günümüzde birçok teknoloji trendinin itici gücüdür.Mobiveil CEO'su Ravi Thummarukudy, "Bilgi işlem için en hızlı büyüyen uygulamalardan biri, yazılım uygulamalarının daha fazla bellek kapasitesi, daha düşük gecikmeyle bant genişliği istediği veri merkezleridir," diyor.“En son endüstri standardı Compute Express Link'in (CXL) ortaya çıkmasıyla, sistem mimarları gerekli olan belleği DDRn DIMMS'deki ana bellek ile CXL tabanlı DDRn veya daha yeni kalıcı bellekler arasında sıralayabilir.Bu bellek katmanlarının gecikme süresi ve ekonomik özellikleri farklıdır ve bu, mimarlara anıları gereksinimlerine göre karıştırıp eşleştirme seçenekleri sunar. "

Bu, eski bellek mimarilerinin bir devamıdır.Synopsys'de ana uygulama mühendisi olan Tim Kogel, "Birçok OEM ve sistem evi, silikonu belirli iş yüklerine göre özelleştirmek için kendi SoC'lerini tasarlıyor" diyor.“Performans ve güç kazanımları için en büyük fırsat, destekleyici ara bağlantı mimarisiyle birlikte bellek hiyerarşisinin uzmanlaşmasıdır.

Gücü düşünün.Arun Iyengar, "Mevcut mimarilerde, yapay zeka iş yükleri için enerjinin% 90'ı veri hareketi tarafından tüketiliyor, ağırlıkları ve etkinleştirmeleri harici bellek, yonga üzerindeki önbellekler ve son olarak bilgi işlem öğesinin kendisine aktarıyor (bkz. Şekil 1)" diyor Arun Iyengar , Untether AI CEO'su."Yalnızca çıkarım hızlandırma ihtiyaçlarına odaklanarak ve güç verimliliğini en üst düzeye çıkararak eşi görülmemiş bir hesaplama performansı sağlayabiliriz."

Bellek optimizasyonu, tasarımın tüm yönlerine (donanım, yazılım ve araçlar) dokunan sistem düzeyinde bir sorundur.Kogel, "Belleği optimize etme stratejileri çeşitlidir ve uygulama alanına bağlıdır" diye ekliyor."En iyi strateji, yonga dışı bellek erişiminden tamamen kaçınmaktır.Etki alanına özgü mimariler için bu, genellikle önbellek veya uygulama tarafından yönetilen bellek biçiminde kullanılabilir yonga üzerinde bellek artırılarak sağlanabilir.Özellikle derin öğrenme hızlandırıcıları alanında, mevcut yonga üstü bellek, sinir ağı uygulamasının hedef donanıma nasıl derlendiğini de etkileyen belirleyici bir tasarım parametresidir - örneğin, evrişim operatörünün döşenmesi. "

Birçok tasarım bundan daha ileriye gitmek istiyor.Arm's Horsnell, "Alana özgü bellek kavramları, uzamsal hesaplama alanında araştırılıyor," diyor."Örnek olarak, DSP'ler, genellikle doğrudan yazılımda yönetilen, bant genişliği gereksinimleri ve özel uygulamaların erişim modelleri için geleneksel paylaşımlı bellek sistemlerine göre daha uygun olabilecek bir dağıtılmış bellek havuzu sağlama eğilimindedir.Sabit işlevli ASIC'lerle verimlilik açığını kapatmak için, bu işlemciler genellikle belirli erişim kalıpları (N-arabellekleme, FIFO'lar, hat arabellekleri, sıkıştırma vb.) İçin doğrudan destek sağlayarak bir tür bellek uzmanlığı sunar.Bu sistemlerdeki düzenlemenin önemli bir yönü ve bunları tasarlamadaki zorluk, aynı anda eşzamanlılığı en üst düzeye çıkarırken iletişim ve senkronizasyon ek yüklerini en aza indirebilen veri erişimleri için doğru ayrıntı düzeyini belirlemektir.Yazılım karmaşıklığı ekleyen programlama, tutarlılık, senkronizasyon ve çeviri gibi diğer zorluklar devam etmektedir.Bununla birlikte, ileriye yönelik olası bir yol, uygulamaların veri akışını daha açık hale getirerek derleyicilerin özelleştirilmiş bellek erişim modellerini tanımlamasına ve bunları donanımla daha etkili bir şekilde eşleştirmesine olanak tanıyan alana özgü dillere (DSL'ler) güvenmektir. "

Aynı zamanda anıların kendilerine daha yakından bakmanın da yararı vardır.Synopsys'in kıdemli ürün pazarlama müdürü Anand Thiruvengadam, "Hiper özelleştirme, anılar söz konusu olduğunda gördüğümüz trend," diyor.Bu, farklı son uygulamalar için amaca yönelik oluşturulmuş bellekler anlamına gelir.AI gibi belirli bir son uygulamada bile, eğitim veya çıkarım yapma, sunucularda çıkarım yapma veya uzak uçta çıkarım yapma gibi farklı bellek ihtiyaçları vardır.Bu uygulamaların her birinin farklı gereksinimleri vardır ve bu, hafızaları özelleştirmeniz gerektiği anlamına gelir.Bu özelleştirme, artık anıları emtia veya hazır ürünler olarak göremeyeceğiniz anlamına gelir.Belirli bir uygulama için inşa etmelisiniz.Gizli sos burada devreye giriyor. "

Çoğu durumda bellek ve ara bağlantı birbirine sıkı sıkıya bağlıdır."Uygulama iş yüklerinin veri erişim gereksinimlerini karşılamak için bellek ve ara bağlantı teknolojilerini birleştirme söz konusu olduğunda her şey olur - örneğin, veri akışı uygulamalarında yerellikten yararlanmak için işlemeyi yerel bellekle birleştiren çoklu kümeleme düzeyi veya çok büyük çoklu CNN hızlandırıcılarının özellik haritalarını arabelleğe almak için bankalı / çok portlu çip üzerinde SRAM'ler ve veri merkezi iş yüklerinin ılık çalışma kümesini azaltmak için gelişmiş tutarlılık protokolleri ile derin önbellek hiyerarşileri. "

Küçük değişiklikler büyük sonuçlar verebilir.Frank, "Apple'ın M1 ile gerçekleştirdiği küçük mucizeye bir bakın," diyor."Akıllı önbelleğe alma stratejisi ve çok büyük, çok seviyeli bir önbellek hiyerarşisi kullanarak, birden çok heterojen yöneticiye iyi hizmet veren bir bellek alt sisteminin nasıl tasarlanacağını buldular."

Çoğu zaman olduğu gibi, yazılım eylemsizlik çıpasıdır.Saggurti, "Genellikle olan şey, yerinde bir algoritmadır ve onu optimize etmenin, belleği optimize etmenin bir yolunu görüyoruz, böylece algoritma çok daha iyi uygulanır" diyor.“Kapak tarafında, bu farklı bellek türlerine sahibiz.Bu yeni tür anılardan yararlanmak için algoritmanızı değiştirebilir misiniz?Geçmişte, TCAM'leri kullanmak çoğunlukla IP adreslerini aramak için bir ağ etki alanı yapısıydı.Daha yakın zamanlarda, eğitim motorları TCAM'leri kullanmaya başlıyor ve bu çok farklı bir yaklaşım.Bunun, mevcut bellek türlerine göre değişmesi için yazılıma veya bellenime ihtiyacı vardır.Ancak çoğu zaman, yazılım sabit kalır ve sonuçta ortaya çıkan uygulamayı daha iyi hale getirmek için bellek değişir. "

Verimlilik farkındalığı
Bu günlerde yapay zekaya çok fazla zaman ve para yatırılıyor.Özel yongalar, iş hacmi ile sınırlandırılır ve bu da bellek ve ara bağlantıya dikkat çeker.

Kogel, "Tarihsel olarak bellek ve ara bağlantı mimarileri, statik hesap tablolarına veya çatı hattı performans modeli gibi basit analitik modellere dayalı olarak tasarlandı" diyor."Son teknoloji uygulamalar için bu oldukça karmaşık hale geliyor.Örneğin, bir CNN'deki her katmanın bellek gereksinimlerini tahmin etmek, döşeme ve katman füzyonu gibi derleyici optimizasyonunun dikkate alınmasını gerektirir.Bu statik yöntemler, çeşitli IP alt sistemleri ve dinamik uygulama senaryoları ile SoC düzeyindeki iş yüklerinin tahmini ve optimizasyonu için mantıksız şekilde karmaşık ve yanlış hale gelir.Öte yandan, uygulamayı donanım öykünmesi veya bir prototip oluşturma sistemi üzerinde çalıştırmak, bellek tasarımında herhangi bir köklü değişiklik veya büyük bir optimizasyon yapmak için geliştirme sürecinde çok geç. "

Bu, hedeflenen iş yüklerine odaklanır.Frank, "Verimli bellek alt sistemlerinin anahtarı, iş yükünüzün bilgisidir" diyor."Nasıl davrandığını anlamak, hatta belki onu bellek hiyerarşinizin sınırlandırmasıyla daha uyumlu hale getirecek şekilde şekillendirmek, mimariye meydan okunan yer burasıdır.Etki alanına özgü hızlandırıcılar, ayarlanmış bellek sistemleri gerektirir ve 'empedans' üretilen kitlesel, sayfa düzenlenmiş, çoklu erişim DRAM ve motorun erişim modeliyle eşleşen dönüşüm motorunu oluşturma sanatı, sistem davranışı, modelleme araçları ve çok sayıda iş yükü hakkında içgörü gerektirir. oynamak için.Bazen genel sistemi iyileştirebilmek için iş yükünün verileri işleme şeklini değiştirmek gerekir.GPU'larda "doğrudan" görüntülemeden karo tabanlı işlemeye geçiş buna iyi bir örnektir. "

Her şey modelleme ve simülasyona bağlı.Kogel, "Uygulama iş yükünü modellemek için sanal prototip oluşturma araçlarının kullanımını, ara bağlantı ve bellek mimarisinin doğru işlem düzeyinde modelleriyle birlikte öneriyoruz" diyor.“Bu nicel 'mimari önce' yaklaşımı, erken değiş tokuş analizine izin vererek güvenilir bir uygulama spesifikasyonu sağlar.Ek modelleme ve simülasyon çabası pahasına, fayda, eksik performans ve güç hedefleri riskinin azalması veya yalnızca güvenli tarafta olması için donanımı aşırı tasarlamanın maliyetinin azalmasıdır.Moore Yasasının getirilerinin azaldığı çağda, fırsat daha optimize ve farklılaştırılmış bir ürünle ortaya çıkmaktır. "

Bu, algoritmik değişikliklerin etkisinin de görülmesini sağlar.Thiruvengadam, "Geri dönüp algoritmaları yeniden tasarlama ihtiyacı var" diyor.Geleneksel eski bellek mimarileri için yeniden tasarlanabilirler veya yeni mimariler, yeni bellek stilleri, yeni bellek çeşitleri için yeniden tasarlanabilirler.Performans ölçeklendirme, maliyet ölçeklendirme ve ayrıca farklı uygulamalar için ödünleşmeleri dengeleyebilmek için bu sürekli itici güç var.MRAM'lerin ve FeRAM'lerin sürekli gelişimini görmenizin nedeni esasen budur.Tüm değişkenler olmasa da, en azından birkaç değişken için tatlı bir nokta bulmaya çalışıyorlar.Bellek mimarileriyle birlikte algoritmaları yeniden tasarlama ihtiyacı kesinlikle önemli hale geliyor. "

Denge gereklidir.Frank, "Hesaplama yoğunluğu kavramı ve ilgili işlemlerin türü hakkında düşünmeniz gerekiyor" diyor.“Bazı algoritmaların doyumsuz bant genişliği gereksinimleri vardır, diğerleri ise yalnızca nispeten küçük miktarlarda veri taşır, ancak üzerinde binlerce işlem gerçekleştirir.Bellek içi işlem, talimat bant genişliğinin veri bant genişliğine göre küçük olduğu ve birçok öğenin aynı tarif kullanılarak işlendiği SIMD tipi işlem için iyi çalışabilir.Ancak veri akışında veya düzensiz veri akışında sıralı bağımlılıklar oluşur oluşmaz, alana özgü belleğin faydası azalır. "

Özel hafıza
Mimari değişiklikler büyük sonuçlar doğurabilirken, hatıraları optimize etmek de kazanç sağlayabilir.Horsnell, "Günümüz hızlandırıcılarının gücünün ve alanının büyük bir kısmı bellekte kullanılıyor" diyor."Dolayısıyla, yeni bellek teknolojileriyle elde edilen herhangi bir gecikme / yoğunluk / enerji iyileştirmesinin çarpıcı bir etkisi olabilir."

Özel anılar büyük bir iş haline geliyor.Saggurti, "Bellek içi hesaplama, belleğe yakın hesaplama, tümü sıfıra yazılabilen özel bellekler - belirli işlem türleri için optimize edilmiş bellekler gibi şeyler görmeye başlarsınız" diyor."Pek çok müşterinin bize MRAM, daha da fazla SRAM özelleştirmesi, TCAM'ler ve TCAM'lerde belirli ayarlamalar hakkında soru sorduğunu görüyoruz."

Yine de zorluklar devam ediyor.Frank, "Hafıza kalıbı üzerinde işlemenin 'ideal' bir mimari olacağı özel bellek tasarımlarıyla ilgili birçok tartışma yaptım," diyor.“Yüksek bant genişliği, düşük gecikme vb. Sağlardı. Hafıza sürecinin hangi mantığın entegre edilebileceğini sınırlaması dışında her şey doğruydu - üç veya dört metal katman, düşük güç, ancak yavaş transistörler.Bu, hesaplama motoru için verimsizlik anlamına geliyordu.Saat hızından ve devre karmaşıklığından ödün vermek, aniden hesaplama motorunun entegrasyonunu artık o kadar da iyi bir seçim olmaktan çıkardı. "

Ancak bu değişikliklerin bazıları gerekli hale gelecektir.Saggurti, "İnsanlar çip üzerine flaş getirmek ve onu gömülü bir flaş yapmak istiyor" diyor."O zaman soru, 'Bu mümkün mü?'28nm'de gömülü flaş yapabilirsiniz, ancak insanlar 22nm'de MRAM gibi şeyler düşünmeye başlıyor. ”

Yine de soruna bakmanın başka yolları da var.Saggurti, "Bir yonga plakası ve kalıp boyunca ve hatta zaman içinde işlem değişkenliği bellek tasarımını sınırlar" diye ekliyor.“Bir bellek, basit bir SRAM tasarladığınızda, bit hücresinin bir yöne - yavaş - ve çevrenin diğer tarafa - hızlı gittiği durum için tasarlama eğilimindesiniz.Bunun için tasarlarsanız ve silikonunuzun çoğu tipikse, masada çok fazla performans ve güç bırakmış olursunuz.İşlem aralığında nerede olduğunuzu anlarsanız ve çip tasarımcısının bu bilgilere göre hareket etmesini sağlarsanız, zamanlamayı buna göre ayarlayabilirsiniz.Tasarımınız daha optimal olabilir ve en kötü durum için tasarım yapmanız gerekmez. "

Sonuç
Bellek her zaman bir tasarım değiş tokuşu olsa da, bant genişliği, güç ve alan açısından performans sınırlayıcı olmasına rağmen hiçbir zaman işlemeyle aynı düzeyde ilgi görmemiştir.Yapay zeka, insanların zorunlu olarak bellek mimarilerini yeniden düşünmesine neden oluyor, ancak bu ekstra dikkatle, tasarım ekipleri eski bellek sistemleri için optimize edilmiş bazı yazılım ve algoritmaları da yeniden düşünebilir.Her 18 ayda bir performans kazanımlarının ücretsiz gelmediği bir dünyada, ürünlerin meta haline gelmesini engellemenin tek yolu daha aşırı önlemler haline geliyor. (Brian Bailey'den)

İletişim bilgileri