মেগাস্কেল স্ট্যাটস টুল

ডেটা সেন্টার নেটওয়ার্ক (DCN) জুড়ে যোগাযোগকারী একাধিক TPU স্লাইস বিস্তৃত ওয়ার্কলোডের আন্তঃ-স্লাইস যোগাযোগ কর্মক্ষমতা বিশ্লেষণ করতে আপনি মেগাস্কেল স্ট্যাটস টুল ব্যবহার করতে পারেন।

মেগাস্কেল স্ট্যাটস টুলে প্রদর্শিত সমস্ত মেট্রিক্স প্রতি-টিপিইউ ভিত্তিতে তৈরি করা হয়।

সমর্থিত প্ল্যাটফর্মগুলি

মেগাস্কেল স্ট্যাটস টুলটি শুধুমাত্র TPU গুলিতে সমর্থিত।

এই টুলটি TPU স্লাইসের মধ্যে যোগাযোগের সাথে সম্পর্কিত মেট্রিক্স প্রদর্শন করে, যার মধ্যে নিম্নলিখিত ক্রিয়াকলাপগুলি অন্তর্ভুক্ত থাকে:

  • send : হোস্টকে বাধা দেয় ডাইরেক্ট মেমোরি অ্যাক্সেস (DMA) শুরু করতে এবং ডেটা স্থানান্তর শুরু করার জন্য হোস্টকে একটি পূর্ণ বাফার প্রদান করে।
  • send-done : হোস্টকে সংকেত দেয় যে ডেটা স্থানান্তর সম্পন্ন হয়েছে।
  • recv : হোস্টকে স্থানান্তরিত ডেটা পূরণ করার জন্য একটি খালি বাফার প্রদান করে।
  • recv-done : হোস্টকে সংকেত দেয় যে ডেটা গৃহীত হয়েছে।

একটি সমষ্টিগত একটি send অপারেশন দ্বারা শুরু হয় এবং ম্যাচিং recv-done অপারেশন দ্বারা সম্পন্ন হয়। প্রেরণ অপারেশন সম্পন্ন হওয়ার পরে ডেটার প্রকৃত প্রেরণ ঘটে। send-done অপারেশনটি ডেটা প্রেরণের পরে ঘটে। একইভাবে, recv অপারেশন সম্পন্ন হওয়ার পরে ডেটা গ্রহণ করা হয়। recv-done অপারেশনটি ডেটা প্রাপ্তির পরে ঘটে।

ইন্টারফেস উপাদান

টুলটি নিম্নলিখিত কলামগুলির সাথে একটি টেবিল প্রদর্শন করে, প্রতিটি প্রোফাইলযুক্ত যৌথ ক্রিয়াকলাপের জন্য একটি সারি সহ:

  • DCN যৌথ নাম: XLA দ্বারা নির্ধারিত।
  • Recv op নাম: TPU recv-done অপারেশনের নাম। এটি সংশ্লিষ্ট সম্মিলিত TPU অপারেশনগুলির জন্য ট্রেস ভিউয়ার অনুসন্ধান করার একটি সহজ উপায় প্রদান করে।
  • সেন্ড অপশনের নাম: 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. সর্বোচ্চ Aggregated Total Stall সহ DCN সমষ্টিগত নামটি সনাক্ত করুন। অন্যদের তুলনায় উল্লেখযোগ্যভাবে উচ্চ মান একটি বাধা নির্দেশ করতে পারে।
  3. DCN কালেক্টিভের Required Bandwidth কোরের সংখ্যা দিয়ে গুণ করুন (যেমন, প্রতি v4 TPU হোস্টে 8)। যদি এই মান TPU-এর সর্বাধিক নেটওয়ার্ক ব্যান্ডউইথের চেয়ে বেশি হয়, তাহলে এটি নেটওয়ার্ক কনজেশন নির্দেশ করতে পারে। প্রয়োজনীয় ব্যান্ডউইথ কমাতে শার্ডিং মেকানিজম পরিবর্তন করার চেষ্টা করুন।
  4. কম্পাইলার সমস্যাগুলি পরীক্ষা করার জন্য একটি HLO ডাম্প তৈরি করুন। send এবং recv-done অপারেশনগুলিকে ফ্যান আউট করার মাধ্যমে আরও ওভারল্যাপিং HLO অপারেশনগুলির সময়সূচী তৈরি করা সম্ভব এবং TPU স্টল সময় কমানো সম্ভব।
  5. সর্বাধিক সমষ্টিগত মোট স্টল সহ সমষ্টিগতের জন্য ট্রেস ভিউয়ারে recv-done অপারেশনের সময়কাল পরীক্ষা করুন। উচ্চ স্থানান্তর সময়কাল ব্যান্ডউইথ বাধা নির্দেশ করতে পারে কারণ recv-done অপারেশনগুলি সাধারণত নেটওয়ার্কে ব্লক করা থাকে।
  6. যদি recv-done অপারেশনের সময়কাল স্ল্যাক টাইমের তুলনায় অত্যধিক বেশি না হয়, তাহলে এটি হার্ডওয়্যার সমস্যার ইঙ্গিত দিতে পারে।