Nesne yönelimli bellek mimarisinde sıkıştırma nasıl çalışır?

MIT'den bir mühendis ekibi, verilerle daha verimli çalışmak için nesne yönelimli bir bellek hiyerarşisi geliştirdi. Makalede nasıl çalıştığını anlayacağız.

Nesne yönelimli bellek mimarisinde sıkıştırma nasıl çalışır?
/ PxHere /PD

Bilindiği gibi, modern CPU'ların performansındaki artışa, belleğe erişim sırasındaki gecikmede buna karşılık gelen bir azalma eşlik etmiyor. Göstergelerdeki yıldan yıla değişim farkı 10 kata kadar çıkabilir (PDF, sayfa 3). Sonuç olarak, mevcut kaynakların tam olarak kullanılmasını engelleyen ve veri işlemeyi yavaşlatan bir darboğaz ortaya çıkar.

Performans hasarı, dekompresyon gecikmesi olarak adlandırılan durumdan kaynaklanır. Bazı durumlarda, hazırlık niteliğindeki veri sıkıştırmasının açılması 64 işlemci döngüsüne kadar sürebilir.

Karşılaştırma için: kayan nokta sayılarının toplanması ve çarpılması almak en fazla on döngü. Sorun, belleğin sabit boyuttaki veri bloklarıyla çalışması, uygulamaların ise farklı türde veri içerebilen ve boyutları birbirinden farklı olan nesnelerle çalışmasıdır. Sorunu çözmek için MIT mühendisleri veri işlemeyi optimize eden nesne yönelimli bir bellek hiyerarşisi geliştirdi.

Teknoloji nasıl çalışır?

Çözüm üç teknolojiye dayanıyor: Hotpad'ler, Zippad'ler ve COCO sıkıştırma algoritması.

Hotpad'ler, yüksek hızlı kayıtlı belleğin yazılım kontrollü bir hiyerarşisidir (Çalışma defteri). Bu kayıtlara ped denir ve bunlardan üç tane vardır - L1'den L3'e. Farklı boyutlardaki nesneleri, meta verileri ve işaretçi dizilerini depolarlar.

Temel olarak mimari bir önbellek sistemidir ancak nesnelerle çalışacak şekilde uyarlanmıştır. Nesnenin üzerinde bulunduğu pedin seviyesi, ne sıklıkta kullanıldığına bağlıdır. Seviyelerden birinin "taşması" durumunda sistem, Java veya Go dillerindeki "çöp toplayıcılara" benzer bir mekanizma başlatır. Hangi nesnelerin diğerlerinden daha az kullanıldığını analiz eder ve bunları seviyeler arasında otomatik olarak taşır.

Zippad'ler Hotpad'lerin üzerinde çalışır; hiyerarşinin son iki seviyesine (L3 pedi ve ana bellek) giren veya çıkan verileri arşivler ve arşivden çıkarır. Birinci ve ikinci pedler verileri değişmeden saklar.

Nesne yönelimli bellek mimarisinde sıkıştırma nasıl çalışır?

Zippad'ler, boyutu 128 baytı aşmayan nesneleri sıkıştırır. Daha büyük nesneler parçalara bölünür ve bunlar daha sonra hafızanın farklı alanlarına yerleştirilir. Geliştiricilerin yazdıklarına göre bu yaklaşım, etkin olarak kullanılan belleğin katsayısını artırıyor.

Nesneleri sıkıştırmak için daha sonra tartışacağımız COCO (Nesneler Arası Sıkıştırma) algoritması kullanılır, ancak sistem bunlarla da çalışabilir. Taban-Delta-Anında veya FPC. COCO algoritması bir tür diferansiyel sıkıştırmadır (diferansiyel sıkıştırma). Nesneleri "taban" ile karşılaştırır ve yinelenen bitleri kaldırır - aşağıdaki şemaya bakın:

Nesne yönelimli bellek mimarisinde sıkıştırma nasıl çalışır?

MIT mühendislerine göre nesne yönelimli bellek hiyerarşisi, klasik yaklaşımlara göre %17 daha verimli. Tasarım açısından modern uygulamaların mimarisine çok daha yakındır, dolayısıyla yeni yöntemin potansiyeli vardır.

Büyük veri ve makine öğrenimi algoritmaları ile çalışan şirketlerin teknolojiyi ilk olarak kullanmaya başlaması bekleniyor. Bir başka potansiyel yön ise bulut platformlarıdır. IaaS sağlayıcıları sanallaştırma, veri depolama sistemleri ve bilgi işlem kaynaklarıyla daha verimli çalışabilecek.

Ek kaynaklarımız ve kaynaklarımız:

Nesne yönelimli bellek mimarisinde sıkıştırma nasıl çalışır? “IaaS'yi nasıl geliştiriyoruz”: 1cloud'un çalışmaları hakkında materyaller

Nesne yönelimli bellek mimarisinde sıkıştırma nasıl çalışır? 1cloud bulut mimarisinin gelişimi
Nesne yönelimli bellek mimarisinde sıkıştırma nasıl çalışır? 1cloud'da nesne depolama hizmeti

Nesne yönelimli bellek mimarisinde sıkıştırma nasıl çalışır? HTTPS'ye olası saldırılar ve bunlara karşı nasıl korunulacağı
Nesne yönelimli bellek mimarisinde sıkıştırma nasıl çalışır? Sürekli Teslimat ve Sürekli Entegrasyon yaklaşımları nasıl benzer ve farklıdır?
Nesne yönelimli bellek mimarisinde sıkıştırma nasıl çalışır? İnternetteki bir sunucu nasıl korunur: 1cloud deneyimi

Kaynak: habr.com

Yorum ekle