মেগাস্কেল পরিসংখ্যান টুল

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

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

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

TPU: সমর্থিত

GPU: সমর্থিত নয়

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

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

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

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

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

  • DCN যৌথ নাম: XLA দ্বারা নির্ধারিত।
  • Recv op নাম: TPU recv-done অপারেশনের নাম। এটি সংশ্লিষ্ট যৌথ 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 স্টল করার মোট সময়। একত্রিত মোট স্টল হিসাবে গণনা করা হয়:
    • মোট স্টল = স্টলের সময়কাল * ঘটনা
  • ডেটা ট্রান্সমিটেড সাইজ: এক্সএলএ অপারেশন আকৃতির ভিত্তিতে গণনা করা সমষ্টিগত জন্য নেটওয়ার্কের মাধ্যমে যে পরিমাণ ডেটা প্রেরণ করা হয়।
  • প্রয়োজনীয় ব্যান্ডউইথ: প্রদত্ত স্ল্যাকের মধ্যে ডেটা প্রেরণের জন্য প্রয়োজনীয় ব্যান্ডউইথ। প্রোফাইলের সময়কালের সময় নেটওয়ার্ক ব্যান্ডউইথের জন্য প্রতিদ্বন্দ্বিতাকারী সমষ্টির সংখ্যা দেখতে আপনি এই মেট্রিকটি ব্যবহার করতে পারেন। প্রয়োজনীয় ব্যান্ডউইথ হিসাবে গণনা করা হয়:
    • প্রয়োজনীয় ব্যান্ডউইথ = ডেটা ট্রান্সমিটেড সাইজ / স্ল্যাক টাইম

মেগাস্কেল পরিসংখ্যান টুল ডেটা বিশ্লেষণ করা হচ্ছে

টুলে উপস্থাপিত ডেটা বিশ্লেষণ করতে:

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