เครื่องมือสถิติ 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
- แบนด์วิดท์ที่จำเป็น: แบนด์วิดท์ที่จำเป็นในการส่งข้อมูลภายใน
ช่วงเวลาที่กำหนด คุณสามารถใช้เมตริกนี้เพื่อดูจำนวนกลุ่ม
ที่แข่งขันกันเพื่อใช้แบนด์วิดท์ของเครือข่ายในระยะเวลาของโปรไฟล์ ระบบจะคำนวณแบนด์วิดท์ที่จำเป็นดังนี้
- แบนด์วิดท์ที่ต้องการ = ขนาดข้อมูลที่ส่ง / เวลาว่าง
การวิเคราะห์ข้อมูลเครื่องมือสถิติขนาดใหญ่
วิธีวิเคราะห์ข้อมูลที่แสดงในเครื่องมือ
- จัดเรียงตารางตาม
Aggregated Total Stallในลำดับจากมากไปน้อย - ระบุชื่อกลุ่ม DCN ที่มี
Aggregated Total Stallสูงสุด ค่าที่สูงกว่าค่าอื่นๆ อย่างมากอาจบ่งบอกถึงคอขวด - คูณ
Required Bandwidthของกลุ่ม DCN ด้วยจำนวน คอร์ (เช่น 8 ต่อโฮสต์ TPU v4) หากค่านี้มากกว่าแบนด์วิดท์เครือข่ายสูงสุดของ TPU แสดงว่าเครือข่ายอาจหนาแน่น ลองเปลี่ยนกลไกการแบ่งข้อมูลเพื่อลดแบนด์วิดท์ที่จำเป็น - สร้างการทิ้งข้อมูล HLO เพื่อตรวจสอบปัญหาของคอมไพเลอร์ การขยายการดำเนินการ
sendและrecv-doneจะช่วยให้กำหนดเวลาการดำเนินการ HLO ที่ทับซ้อนกันได้มากขึ้น และลดเวลาที่ TPU หยุดทำงาน - ตรวจสอบระยะเวลาของ
recv-doneการดำเนินการใน Trace Viewer สำหรับ การรวบรวมที่มีการหยุดทำงานทั้งหมดสูงสุดที่รวบรวมแล้ว ระยะเวลาในการโอนที่สูง อาจบ่งบอกถึงปัญหาคอขวดของแบนด์วิดท์ เนื่องจากโดยปกติแล้วrecv-doneจะถูกบล็อกในเครือข่าย - หากระยะเวลาของการดำเนินการ
recv-doneไม่สูงเกินไปเมื่อเทียบกับเวลาว่าง แสดงว่าอาจเป็นปัญหาเกี่ยวกับฮาร์ดแวร์