Megascale Stats Tool

Veri merkezi ağı (DCN) üzerinden iletişim kuran birden fazla TPU dilimini kapsayan iş yüklerinin dilimler arası iletişim performansını analiz etmek için Megascale Stats aracını kullanabilirsiniz.

Megascale İstatistikleri aracında gösterilen tüm metrikler TPU başına oluşturulur.

Desteklenen Platformlar

Megascale Stats aracı yalnızca TPU'larda desteklenir.

Araç, TPU dilimleri arasındaki iletişimle ilgili metrikleri gösterir. Bu metrikler aşağıdaki işlemleri içerir:

  • send: Doğrudan bellek erişimini (DMA) başlatmak için ana bilgisayarı kesintiye uğratır ve veri aktarımını başlatmak için ana bilgisayara dolu bir arabellek sağlar.
  • send-done: Veri aktarımının tamamlandığını ana makineye bildirir.
  • recv: Ana makinenin aktarılan verilerle doldurması için boş bir arabellek sağlar.
  • recv-done: Verilerin alındığını ana makineye bildirir.

Toplu işlem, send işlemiyle başlatılır ve eşleşen recv-done işlemiyle tamamlanır. Verilerin gerçek gönderimi, gönderme işlemi tamamlandıktan sonra gerçekleşir. send-done işlemi, veriler gönderildikten sonra gerçekleşir. Benzer şekilde, veriler recv işlemi tamamlandıktan sonra alınır. recv-done işlemi, veriler alındıktan sonra gerçekleşir.

Arayüz Bileşenleri

Araç, aşağıdaki sütunları içeren bir tablo gösterir. Tabloda, profili çıkarılan her toplu işlem için bir satır bulunur:

  • DCN toplu adı: XLA tarafından atanır.
  • Recv op name: TPU recv-done işlemi adı. Bu sayede, Trace Viewer'da ilgili toplu TPU işlemlerini kolayca arayabilirsiniz.
  • İşlem adını gönder: TPU send işlem adı.
  • Boşta kalma süresi: Topluluğun verileri iletmesi gereken, ağdan bağımsız süre olarak tanımlanır. send, send-done, recv veya recv-done işlemleri hariç olmak üzere, topluluğun veri göndermek ve almak için kullanabileceği sürenin ölçüsüdür. Boş zamanı artırmak, TPU'nun bir kolektif için durdurulma olasılığını azaltır. Örneğin, aşağıdaki zaman çizelgesi verildiğinde:

boş zamanı gösteren zaman çizelgesi

Slack time is calculated in this example as:

Slack time = t<sub>1</sub> + t<sub>2</sub> + t<sub>3</sub>
  • Gözlemlenen süre: Her kolektif için gözlemlenen süre. Veri gönderme ve alma süresi dahil olmak üzere send işleminin başlangıcı ile ilgili recv-done işlemin sonu arasındaki aralık olarak hesaplanır. Örneğin, aşağıdaki zaman çizelgesi verildiğinde:

Gözlemlenen süreyi gösteren zaman çizelgesi

Observed duration is calculated as:

Observed duration = t<sub>send</sub> + t<sub>1</sub> + t<sub>send-done</sub> + t<sub>2</sub> + t<sub>recv</sub> + t<sub>3</sub> + t<sub>recv-done</sub>
  • Duraklama Süresi: Toplu duraklamanın TPU'yu durdurduğu süre. Bu, verilerin iletilmesi için harcanan süre hariç olmak üzere, toplu işlemlerin send, send-done, recv ve recv-done işlemlerinde harcadığı toplam süredir. Örneğin, aşağıdaki zaman çizelgesi verildiğinde:

Duraklama süresini gösteren zaman çizelgesi

Stall duration is calculated in this example as:

Stall duration = t<sub>send</sub> + t<sub>send-done</sub> + t<sub>recv</sub> + t<sub>recv-done</sub>
  • Oluşumlar: Bir profil süresi boyunca bir kolektifin başlatılma ve tamamlanma sayısı. Bu metriğe dahil edilebilmesi için send işlemi ve eşleşen recv-done işleminin profil süresi içinde gerçekleşmesi gerekir.
  • Toplam duraklama süresi: Bir kolektifin profil süresi boyunca TPU'yu duraklattığı toplam süre. Toplam toplama duraklaması şu şekilde hesaplanır:
    • Toplam duraklatma süresi = duraklatma süresi * oluşum sayısı
  • İletilen veri boyutu: XLA işlem şekline göre hesaplanan, toplu işlem için ağ üzerinden iletilen veri miktarı.
  • Gerekli bant genişliği: Verilerin, sağlanan boşluk içinde iletilmesi için gereken bant genişliği. Bu metriği kullanarak profil süresi boyunca ağ bant genişliği için yarışan kolektiflerin sayısını görebilirsiniz. Gerekli bant genişliği şu şekilde hesaplanır:
    • Gerekli bant genişliği = iletilen veri boyutu / boşluk süresi

Büyük Ölçekli İstatistik Aracı Verilerini Analiz Etme

Araçta sunulan verileri analiz etmek için:

  1. Tabloyu Aggregated Total Stall sütununa göre azalan düzende sıralayın.
  2. En yüksek Aggregated Total Stall değerine sahip DCN toplu adını belirleyin. Diğerlerine kıyasla önemli ölçüde yüksek bir değer, darboğaz olduğunu gösterebilir.
  3. DCN kolektifinin Required Bandwidth değerini çekirdek sayısıyla çarpın (ör. v4 TPU ana makinesi başına 8). Bu değer, TPU'nun maksimum ağ bant genişliğinden büyükse ağ tıkanıklığı olabilir. Gerekli bant genişliğini azaltmak için parçalama mekanizmasını değiştirmeyi deneyin.
  4. Derleyici sorunlarını kontrol etmek için bir HLO dökümü oluşturun. send ve recv-done işlemlerini genişletmek, daha fazla çakışan HLO işleminin planlanmasına ve TPU'nun bekleme süresinin azaltılmasına olanak tanıyabilir.
  5. En yüksek toplam duraklama süresine sahip topluluk için İz Görüntüleyici'de recv-done işlemlerinin süresini kontrol edin. Yüksek aktarım süresi, recv-done işlemleri genellikle ağda engellendiğinden bant genişliği darboğazını gösterebilir.
  6. recv-done işlemlerinin süresi, boş zamanla karşılaştırıldığında aşırı yüksek değilse donanım sorunu olabilir.