เครื่องมือสถิติ Megascale

คุณใช้เครื่องมือสถิติ Megascale เพื่อวิเคราะห์ประสิทธิภาพการสื่อสารระหว่าง Slice ของเวิร์กโหลดที่ครอบคลุม TPU Slice หลายรายการซึ่งสื่อสารผ่านเครือข่ายศูนย์ข้อมูล (DCN) ได้

เมตริกทั้งหมดที่แสดงในเครื่องมือสถิติ Megascale จะสร้างขึ้นตาม TPU แต่ละรายการ

แพลตฟอร์มที่รองรับ

เครื่องมือสถิติ Megascale รองรับเฉพาะ TPU

เครื่องมือจะแสดงเมตริกที่เกี่ยวข้องกับการสื่อสารระหว่าง TPU Slice ซึ่งเกี่ยวข้องกับการดำเนินการต่อไปนี้

  • send: ขัดจังหวะโฮสต์เพื่อเริ่มการเข้าถึงหน่วยความจำโดยตรง (DMA) และจัดบัฟเฟอร์ที่เติมแล้วให้กับโฮสต์เพื่อเริ่มการโอนข้อมูล
  • send-done: ส่งสัญญาณให้โฮสต์ทราบว่าการโอนข้อมูลเสร็จสมบูรณ์แล้ว
  • recv: จัดเตรียมบัฟเฟอร์ว่างให้โฮสต์ป้อนข้อมูลที่โอน
  • recv-done: ส่งสัญญาณไปยังโฮสต์ว่าได้รับข้อมูลแล้ว

การรวบรวมจะเริ่มต้นโดยการดำเนินการ send และเสร็จสมบูรณ์โดยการดำเนินการ recv-done ที่ตรงกัน การส่งข้อมูลจริงจะเกิดขึ้นหลังจากที่การดำเนินการส่ง เสร็จสมบูรณ์ การดำเนินการ send-done จะเกิดขึ้นหลังจากส่งข้อมูลแล้ว ในทำนองเดียวกัน ระบบจะได้รับข้อมูลหลังจากที่การดำเนินการ recv เสร็จสมบูรณ์ การดำเนินการ recv-doneจะเกิดขึ้นหลังจากได้รับข้อมูล

คอมโพเนนต์ของอินเทอร์เฟซ

เครื่องมือจะแสดงตารางที่มีคอลัมน์ต่อไปนี้ โดยมี 1 แถวสำหรับการดำเนินการแบบกลุ่มที่สร้างโปรไฟล์แต่ละรายการ

  • ชื่อกลุ่ม DCN: กำหนดโดย XLA
  • ชื่อการดำเนินการ Recv: ชื่อการดำเนินการ recv-done ของ TPU ซึ่งช่วยให้ค้นหาการดำเนินการ TPU แบบกลุ่มที่เกี่ยวข้องใน Trace Viewer ได้อย่างง่ายดาย
  • ส่งชื่อการดำเนินการ: ชื่อการดำเนินการของ TPU send
  • เวลาเผื่อ: กำหนดเป็นเวลาที่เครือข่ายอิสระที่กลุ่มมีเพื่อ ส่งข้อมูล ซึ่งเป็นการวัดเวลาที่กลุ่มมีอยู่ เพื่อส่งและรับข้อมูล โดยไม่รวมการดำเนินการ send, send-done, recv หรือ recv-done การเพิ่มเวลาว่างจะช่วยลดโอกาสที่ TPU จะหยุดทำงานสำหรับคอลเล็กชัน ตัวอย่างเช่น หากมีไทม์ไลน์ต่อไปนี้

ไทม์ไลน์ที่แสดงเวลาว่าง

Slack time is calculated in this example as:

Slack time = t<sub>1</sub> + t<sub>2</sub> + t<sub>3</sub>
  • ระยะเวลาที่สังเกตได้: ระยะเวลาที่สังเกตได้สำหรับแต่ละกลุ่ม โดยจะคำนวณ เป็นช่วงเวลาระหว่างจุดเริ่มต้นของsendการดำเนินการจนถึงจุดสิ้นสุดของrecv-doneการดำเนินการที่เกี่ยวข้อง รวมถึงเวลาที่ใช้ในการส่งและรับข้อมูล ตัวอย่างเช่น หากมีไทม์ไลน์ต่อไปนี้

ไทม์ไลน์ที่แสดงระยะเวลาที่สังเกต

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>
  • ระยะเวลาหยุดชะงัก: ระยะเวลาที่การสื่อสารแบบกลุ่มหยุดชะงัก TPU นี่คือระยะเวลาทั้งหมดที่ใช้ในการดำเนินการ send, send-done, recv และ recv-done โดยไม่รวมเวลาที่ใช้ในการส่งข้อมูล ตัวอย่างเช่น หากมีไทม์ไลน์ต่อไปนี้

ไทม์ไลน์ที่แสดงระยะเวลาการหยุดชะงัก

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>
  • การเกิดขึ้น: จำนวนครั้งทั้งหมดที่มีการเริ่มต้นและ สิ้นสุดการรวบรวมข้อมูลในระยะเวลาของโปรไฟล์ การดำเนินการ send และการดำเนินการ recv-done ที่ตรงกันต้องเกิดขึ้นภายในระยะเวลาของโปรไฟล์จึงจะรวมอยู่ในเมตริกนี้ได้
  • การหยุดทำงานรวมที่รวบรวมแล้ว: ระยะเวลาทั้งหมดที่กลุ่มหยุดทำงานของ TPU ในระหว่างระยะเวลาของโปรไฟล์ การหยุดทำงานทั้งหมดที่รวบรวมจะคำนวณดังนี้
    • การหยุดทำงานทั้งหมดโดยรวม = ระยะเวลาการหยุดทำงาน * จำนวนครั้ง
  • ขนาดข้อมูลที่ส่ง: ปริมาณข้อมูลที่ส่งผ่านเครือข่ายสำหรับการรวบรวม ซึ่งคำนวณตามรูปร่างการดำเนินการ XLA
  • แบนด์วิดท์ที่จำเป็น: แบนด์วิดท์ที่จำเป็นในการส่งข้อมูลภายใน ช่วงเวลาที่กำหนด คุณสามารถใช้เมตริกนี้เพื่อดูจำนวนกลุ่ม ที่แข่งขันกันเพื่อใช้แบนด์วิดท์ของเครือข่ายในระยะเวลาของโปรไฟล์ ระบบจะคำนวณแบนด์วิดท์ที่จำเป็นดังนี้
    • แบนด์วิดท์ที่ต้องการ = ขนาดข้อมูลที่ส่ง / เวลาว่าง

การวิเคราะห์ข้อมูลเครื่องมือสถิติขนาดใหญ่

วิธีวิเคราะห์ข้อมูลที่แสดงในเครื่องมือ

  1. จัดเรียงตารางตาม Aggregated Total Stall ในลำดับจากมากไปน้อย
  2. ระบุชื่อกลุ่ม DCN ที่มี Aggregated Total Stall สูงสุด ค่าที่สูงกว่าค่าอื่นๆ อย่างมากอาจบ่งบอกถึงคอขวด
  3. คูณ Required Bandwidth ของกลุ่ม DCN ด้วยจำนวน คอร์ (เช่น 8 ต่อโฮสต์ TPU v4) หากค่านี้มากกว่าแบนด์วิดท์เครือข่ายสูงสุดของ TPU แสดงว่าเครือข่ายอาจหนาแน่น ลองเปลี่ยนกลไกการแบ่งข้อมูลเพื่อลดแบนด์วิดท์ที่จำเป็น
  4. สร้างการทิ้งข้อมูล HLO เพื่อตรวจสอบปัญหาของคอมไพเลอร์ การขยายการดำเนินการ send และ recv-done จะช่วยให้กำหนดเวลาการดำเนินการ HLO ที่ทับซ้อนกันได้มากขึ้น และลดเวลาที่ TPU หยุดทำงาน
  5. ตรวจสอบระยะเวลาของrecv-doneการดำเนินการใน Trace Viewer สำหรับ การรวบรวมที่มีการหยุดทำงานทั้งหมดสูงสุดที่รวบรวมแล้ว ระยะเวลาในการโอนที่สูง อาจบ่งบอกถึงปัญหาคอขวดของแบนด์วิดท์ เนื่องจากโดยปกติแล้วrecv-doneจะถูกบล็อกในเครือข่าย
  6. หากระยะเวลาของการดำเนินการ recv-done ไม่สูงเกินไปเมื่อเทียบกับเวลาว่าง แสดงว่าอาจเป็นปัญหาเกี่ยวกับฮาร์ดแวร์