ابزار آمار مگااسکیل

شما می‌توانید از ابزار 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 جمعی مربوطه فراهم می‌کند.
  • نام عملیات ارسال: نام عملیات send TPU.
  • زمان سکون: به عنوان زمان مستقل شبکه‌ای که گروه برای انتقال داده‌ها در اختیار دارد تعریف می‌شود. این معیاری از زمانی است که گروه برای ارسال و دریافت داده‌ها در اختیار دارد، به استثنای عملیات 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 محاسبه می‌شود.
  • پهنای باند مورد نیاز: پهنای باند مورد نیاز برای انتقال داده‌ها در محدوده‌ی زمانی ارائه شده. می‌توانید از این معیار برای مشاهده‌ی تعداد گروه‌هایی که در طول مدت زمان پروفایل برای پهنای باند شبکه رقابت می‌کنند، استفاده کنید. پهنای باند مورد نیاز به صورت زیر محاسبه می‌شود:
    • پهنای باند مورد نیاز = اندازه داده منتقل شده / زمان سکون

تحلیل داده‌های ابزار آمار مگااسکیل

برای تجزیه و تحلیل داده‌های ارائه شده در ابزار:

  1. جدول را بر اساس Aggregated Total Stall به ترتیب نزولی مرتب کنید.
  2. نام جمعی DCN را که بالاترین مقدار Aggregated Total Stall دارد، مشخص کنید. مقدار بسیار بالای آن در مقایسه با سایرین ممکن است نشان‌دهنده‌ی وجود یک گلوگاه باشد.
  3. Required Bandwidth مجموعه DCN را در تعداد هسته‌ها ضرب کنید (مثلاً ۸ هسته به ازای هر میزبان TPU نسخه ۴). اگر این مقدار بیشتر از حداکثر پهنای باند شبکه TPU باشد، ممکن است نشان‌دهنده ازدحام شبکه باشد. سعی کنید مکانیزم شاردینگ را تغییر دهید تا پهنای باند مورد نیاز کاهش یابد.
  4. یک نسخه پشتیبان از HLO ایجاد کنید تا مشکلات کامپایلر را بررسی کنید. تقسیم‌بندی عملیات send و recv-done می‌تواند امکان برنامه‌ریزی عملیات HLO با همپوشانی بیشتر را فراهم کند و زمان توقف TPU را کاهش دهد.
  5. مدت زمان عملیات recv-done را در Trace Viewer برای مجموع با حداکثر توقف کل تجمیع شده بررسی کنید. مدت زمان انتقال بالا می‌تواند نشان‌دهنده‌ی گلوگاه پهنای باند باشد زیرا عملیات recv-done معمولاً در شبکه مسدود می‌شوند.
  6. اگر مدت زمان عملیات recv-done در مقایسه با زمان slack خیلی زیاد نباشد، ممکن است نشان‌دهنده‌ی مشکل سخت‌افزاری باشد.