ابزار آمار مگااسکیل
شما میتوانید از ابزار Megascale Stats برای تجزیه و تحلیل عملکرد ارتباط بین برشهای بارهای کاری که چندین برش TPU را در بر میگیرند و در سراسر شبکه مرکز داده (DCN) ارتباط برقرار میکنند، استفاده کنید.
تمام معیارهای نمایش داده شده در ابزار Megascale Stats بر اساس هر TPU تولید میشوند.
پلتفرمهای پشتیبانیشده
ابزار Megascale Stats فقط در TPU ها پشتیبانی میشود.
اصطلاحات مربوط به گروهها
این ابزار معیارهای مربوط به ارتباط بین برشهای TPU را نمایش میدهد که شامل عملیات زیر است:
-
send: میزبان را برای شروع دسترسی مستقیم به حافظه (DMA) متوقف میکند و یک بافر پر در اختیار میزبان قرار میدهد تا انتقال داده را آغاز کند. -
send-done: به میزبان علامت میدهد که انتقال دادهها تکمیل شده است. -
recv: یک بافر خالی برای میزبان فراهم میکند تا با دادههای منتقلشده پر شود. -
recv-done: به میزبان علامت میدهد که دادهها دریافت شدهاند.
یک مجموعه (collective) توسط یک عملیات send operation) آغاز شده و توسط عملیات تطبیقی recv-done تکمیل میشود. ارسال واقعی دادهها پس از تکمیل عملیات ارسال (send operation) رخ میدهد. عملیات send-done پس از ارسال دادهها انجام میشود. به همین ترتیب، دادهها پس از تکمیل عملیات recv operation) دریافت میشوند. عملیات recv-done پس از دریافت دادهها انجام میشود.
اجزای رابط
این ابزار جدولی با ستونهای زیر نمایش میدهد که برای هر عملیات جمعیِ نمایهشده، یک ردیف در نظر گرفته شده است:
- نام جمعی DCN: توسط XLA تعیین شده است.
- نام عملیات بازیابی: نام عملیات
recv-doneدر TPU. این یک روش آسان برای جستجوی Trace Viewer برای عملیات TPU جمعی مربوطه فراهم میکند. - نام عملیات ارسال: نام عملیات
sendTPU. - زمان سکون: به عنوان زمان مستقل شبکهای که گروه برای انتقال دادهها در اختیار دارد تعریف میشود. این معیاری از زمانی است که گروه برای ارسال و دریافت دادهها در اختیار دارد، به استثنای عملیات
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>
- مدت زمان توقف (Stall Duration): مدت زمانی که گروه 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 را در تعداد هستهها ضرب کنید (مثلاً ۸ هسته به ازای هر میزبان TPU نسخه ۴). اگر این مقدار بیشتر از حداکثر پهنای باند شبکه TPU باشد، ممکن است نشاندهنده ازدحام شبکه باشد. سعی کنید مکانیزم شاردینگ را تغییر دهید تا پهنای باند مورد نیاز کاهش یابد. - یک نسخه پشتیبان از HLO ایجاد کنید تا مشکلات کامپایلر را بررسی کنید. تقسیمبندی عملیات
sendوrecv-doneمیتواند امکان برنامهریزی عملیات HLO با همپوشانی بیشتر را فراهم کند و زمان توقف TPU را کاهش دهد. - مدت زمان عملیات
recv-doneرا در Trace Viewer برای مجموع با حداکثر توقف کل تجمیع شده بررسی کنید. مدت زمان انتقال بالا میتواند نشاندهندهی گلوگاه پهنای باند باشد زیرا عملیاتrecv-doneمعمولاً در شبکه مسدود میشوند. - اگر مدت زمان عملیات
recv-doneدر مقایسه با زمان slack خیلی زیاد نباشد، ممکن است نشاندهندهی مشکل سختافزاری باشد.