Skylake Sunucu Mimarisini İnceleyelim

Jaime Lannister

Kulüpler Sorumlusu
1 Ara 2020
3,036
276
Casterly Rock
Merhaba TurkHackTeam üyeleri önceki konumuzda Skylake Sunucu Yapılandırmasını incelemiştik şimdi de Skylake Sunucu Mimarisini inceleyeceğiz.

qludCv.png

YHOrwJ.gif

qludCv.png


images


Scheduler & 512-SIMD Eklemesi

Zamanlayıcının kendisi %50 oranında artırıldı; 97 adede kadar giriş (Broadwell'de 64'ten) iki iş parçacığı arasında rekabetçi bir şekilde paylaşılıyor. Skylake, birleşik bir tasarımla devam ediyor; bu, her biri farklı µOP'ler içeren bölünmüş bir tasarım kullanan AMD'nin Zen'i gibi tasarımların aksine. Zamanlayıcı, tamsayılar ve vektörler için iki kayıt dosyası içerir. İşlenen verilerinin depolandığı bu kayıt dosyalarındadır. Skylake'de tamsayı kayıt dosyası da 160 girişten 180'e biraz yükseltildi.

Bu, 512 bitlik bir SIMD x86 komut seti uzantısı olan AVX-512'yi içeren ilk uygulamadır. AVX-512 işlemleri her portta gerçekleşebilir. 512 bit genişliğindeki FMA SIMD işlemleri için Intel, iki farklı mekanizma yolu sundu:

Basit uygulamada, giriş seviyesi ve orta seviye Xeon sunucularında kullanılan varyantlar, AVX-512 Bağlantı Noktası 0'ı sigortalar ve 512 bitlik bir FMA birimi oluşturmak için Bağlantı Noktası 1. Bu iki bağlantı noktası 256 genişliğinde olduğundan, zamanlayıcı tarafından bağlantı noktası 0'a gönderilen bir AVX-512 seçeneği her iki bağlantı noktasında da yürütülür. İlişkisiz işlemlerin hala paralel olarak yürütülebileceğini unutmayın. Örneğin, bir AVX-512 işlemi ve bir Int ALU işlemi paralel olarak yürütülebilir - AVX-512, port 0'da gönderilir ve AVX ünitesini port 1'de de kullanır ve Int ALU işlemi, port 1'de bağımsız olarak paralel olarak yürütülür.

Üst düzey ve en yüksek performanslı Xeon'larda Intel, yukarıda açıkladığım birleşik Port0-1 işlemlerine ek olarak ikinci bir özel 512 bit genişliğinde AVX-512 FMA birimi ekledi. Özel birim Port 5'te bulunur.

Fiziksel olarak Intel, çekirdeğe 768 KiB L2 önbellek ve ikinci AVX-512 VPU'yu ekledi.

images


Bellek Alt Sistemi

Skylake'in bellek alt sistemi, yüklerden ve mağaza taleplerinden ve siparişten sorumludur. Haswell'den beri, her döngüde iki bellek okuması (2 ve 3 numaralı bağlantı noktalarında) ve bir bellekte yazma (4 numaralı bağlantı noktasında) sürdürmek mümkündür. Her bellek işlemi, 512 bit'e kadar herhangi bir kayıt boyutunda olabilir. Skylake bellek alt sistemi iyileştirildi. Depolama arabelleği, Broadwell'den 42 giriş artarak toplam 128 uçuş sırasında eşzamanlı bellek işlemi veya tüm µOP'lerin kabaca %60'ı için 56'ya çıkarıldı. Sayfaya bölünmüş yükleme cezasını azaltmak için özel dikkat gösterildi; daha önce sayfalara bölünmüş yüklemeleri içeren senaryoların gerçekte olduğundan daha nadir olduğu düşünülüyordu. Bu, Skylake'te sayfa bölme yüklerinin artık diğer bölme yüklerine eşit hale getirilmesiyle ele alındı.

Skylake'deki L2 ila L1 bant genişliği, her iki yönde de döngü başına 64 baytta Haswell ile aynıdır. Her döngüde bir işlemin yapılabileceğini unutmayın; yani, L1, L1'den veri alabilir veya her döngüde Yükleme/Depolama arabelleklerine veri gönderebilir, ancak her ikisini birden yapamaz. L2$'dan L3$'a gecikme de 4 döngü/satırdan 2 döngü/satıra yükseltildi.

Orta seviye önbellek (MLC) ve son seviye önbellek (LLC) yeniden dengelendi. Geleneksel olarak Intel, LLC'de 2.5 MiB olan L1'lerle birlikte çoğaltılan 256 KiB L2 önbelleğe sahipti. Yani, Skylake'den önce 256 KiB L2 önbellek, çekirdek başına toplam 2,25 mebibayt etkin önbellek için aslında 512 KiB alan kaplıyordu. Skylake'de Intel, L2'yi ikiye katladı ve etkin kapasiteyi 1 MiB'ye dört katına çıkardı ve LLC'yi 1.375 MiB'ye düşürdü. LLC de artık kapsayıcı değildir, yani L2, L3'te olabilir veya olmayabilir (hiçbir garanti verilmez); nerede saklanacağı, yürütülmekte olan uygulamanın belirli erişim modeline, erişilen kodun ve verilerin boyutuna ve çekirdekler arası paylaşım davranışına bağlı olacaktır. Kapsayıcı bir L3'e sahip olmak, önbellek tutarlılığının uygulanmasını önemli ölçüde kolaylaştırır. Gözetleme, verilerin yerleşik olup olmadığını ve hangi çekirdekte olduğunu bilmek için yalnızca L3 önbellek etiketlerinin kontrol edilmesini gerektirir. Ayrıca, veri aktarımını biraz daha verimli hale getirir.

Gözetlemeyi azaltmak için hangi mekanizmanın kullanıldığı şu anda bilinmiyor. Geçmişte Intel, NCID (kapsayıcı olmayan önbellek, kapsayıcı dizin mimarisi) gibi araştırdıkları birkaç ek seçeneği tartışmıştı. Skylake'te veya ilgili bir türevde bir NCID kullanılıyor olabilir. Bu değişiklikler ayrıca, çeşitli önbelleklere veri yerleştirmek için optimize edilmiş yazılımın yeni değişiklikler için revize edilmesi gerektiği anlamına gelir, özellikle verilerin paylaşılmadığı durumlarda, toplam kapasite toplam 2.375 MiB için L2+L3 olarak değerlendirilebilir.

images


Yeni Teknolojiler

Memory Protection Extension (MPX)

Memory Protection Extension (Bellek Koruma Uzantısı) (MPX), donanım düzeyinde sınır denetimi uygulaması sunan yeni bir x86 uzantısıdır. Bu uzantı, bir uygulamanın ayrılmış bellek alanları için bellek sınırlarını tanımlamasına olanak tanır. İşlemciler daha sonra, erişimlerin sınır dışı olmadığından emin olmak için devam eden tüm bellek erişimlerini bu sınırlara göre kontrol edebilir. Arabellek dışında sınır işaretli bir arabelleğe erişen bir program bir istisna üretecektir.

Key Protection Technology (KPT)

Key Protection Technology (Anahtar Koruma Teknolojisi) (KPT), çalışma zamanında donanımdaki hassas özel anahtarların güvenliğini sağlamaya yardımcı olmak için tasarlanmıştır. KPT, QuickAssist Teknolojisi (QAT) donanım şifreleme hızlandırıcılarını, Intel'in mevcut Platform Güven Teknolojisini (PTT) kullanarak özel anahtarların çalışma zamanı depolamasıyla zenginleştirir ve böylece yüksek verimli donanım güvenliği hızlandırmasına olanak tanır. QAT hızlandırıcıların tümü, Intel'in PTT'sini uygulayan Yakınsanmış Güvenlik Yönetilebilirlik Motoru (CSME) ile birlikte Intel'in yeni Lewisburg yonga setine entegre edilmiştir. CSME, x86 yazılımı ve basit donanım araştırmaları tarafından görülmeyen özel bir donanım bağlantısı aracılığıyla bağlanır.

images


Mesh Mimarisi

Önceki nesillerde Intel, kalıba çekirdek ekliyor ve bunları bir halka mimarisi aracılığıyla birbirine bağlıyordu. Yakın zamana kadar bu yeterliydi. Her nesilde, eklenen çekirdekler erişim gecikmesini artırırken çekirdek başına kullanılabilir bant genişliğini düşürdü. Intel, kalıbı her biri kendi halkasında ikiye bölerek bu sorunu azalttı. Bu, atlama mesafesini azalttı ve ek bant genişliği ekledi, ancak halka mimarisinin artan temel verimsizliklerini çözmedi.

Bu, Skylake sunucu işlemcilerinde uygulanan yeni ağ mimarisiyle tamamen ele alındı. Ağ, iletişimin doğru düğüme en kısa yoldan ulaşmasını sağlayan dikey ve yatay yönlerde giden 2 boyutlu yarım halka dizisinden oluşur. Yeni ağ mimarisi, çeşitli darboğazları ortadan kaldırmak için yönlendirme kaynakları için modüler bir tasarım uygular. Diğer bir deyişle, ağ mimarisi artık önbelleğe alma aracısını, ev aracısını ve IO alt sistemini tüm çekirdeklere dağıtılmış ağ ara bağlantısı üzerinde bütünleştirir.

Artık her çekirdeğin kendi ilişkili LLC diliminin yanı sıra gözetleme filtresi ve Önbelleğe Alma ve Ana Aracı (CHA) vardır. İki bellek denetleyicisi, Ultra Path Interconnect (UPI) düğümleri ve PCIe gibi ek düğümler de ağ üzerinde bağımsız düğümler değildir ve artık ağdaki diğer herhangi bir düğüm/çekirdeğe benzer şekilde davranırlar. Bu, çekirdekten çekirdeğe ve çekirdekten belleğe gecikmeden beklenen performans artışına ek olarak, G/Ç performansında önemli bir artış olması gerektiği anlamına gelir. LLC dilimlerinin her birinde bulunan CHA artık belirli LLC bankasına, bellek denetleyicisine veya G/Ç alt sistemine erişilen adresleri eşler. Bu, yönlendirmenin gerçekleşmesi için gerekli bilgileri sağlar.

images


8BfzfS111434df5fdd155e.md.png

zcIPpR.gif
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.