দ্বিতীয় কম্পিউট প্রেসার অরিজিন ট্রায়ালের ঘোষণা

কেনেথ ক্রিশ্চিয়ানসেন
Kenneth Christiansen
Arnaud (Arno) Mandy

গত বছর ধরে, ইন্টেল কম্পিউট প্রেসার এপিআই-তে গুগল এবং অন্যান্য পক্ষের সাথে সহযোগিতা করছে। Chrome 115-এ, আপনি এই নতুন API পরীক্ষা করতে সাহায্য করার জন্য একটি অরিজিন ট্রায়ালের জন্য নিবন্ধন করতে পারেন, এবং এই পোস্টটি ব্যাখ্যা করে যে APIটি সমাধান করার জন্য ডিজাইন করা হয়েছে এবং কীভাবে এটি ব্যবহার করতে হয় তা দেখায়।

সমস্যাটি

ওয়েব একটি মূল অ্যাপ্লিকেশন প্ল্যাটফর্ম হয়ে উঠছে, নতুন ক্ষমতার সাথে ভিডিও কনফারেন্সিংয়ের মতো অ্যাপ্লিকেশন তৈরি করা শুধু সম্ভব নয়, ব্যবহারকারীদের জন্য একটি আনন্দদায়ক অভিজ্ঞতা। ওয়েব-ভিত্তিক অভিজ্ঞতাগুলি তাত্ক্ষণিকভাবে লোড হয়, সেগুলি যে কোনও জায়গা থেকে অ্যাক্সেসযোগ্য এবং কোনও আপ-ফ্রন্ট ইনস্টলেশনের প্রয়োজন নেই৷

ব্যবহারকারীরা দ্রুত লোডিং এবং প্রতিক্রিয়াশীল অ্যাপ্লিকেশন চান। তারা তাদের ব্যাটারি লাইফ থেকে যতটা সম্ভব পেতে চায়, এবং নীরব ডিভাইস যা স্পর্শ করার জন্য গরম নয়। মসৃণ অ্যানিমেশন এবং ব্যাকগ্রাউন্ড ভিডিও ব্লারিং অনেক প্রক্রিয়াকরণ শক্তি ব্যবহার করে, হার্ডওয়্যারকে তার সীমাতে ঠেলে দেয় এবং ব্যাটারি নিষ্কাশন করে বলে উন্নত অভিজ্ঞতা তৈরি করার সময় এই জিনিসগুলি অর্জন করা কখনও কখনও কঠিন হতে পারে।

উপরন্তু, ওয়েব অ্যাপ্লিকেশন অ্যাক্সেস করার জন্য বিভিন্ন ধরনের ডিভাইস ব্যবহার করা হচ্ছে। একটি পাঁচ বছরের পুরানো ল্যাপটপ একটি ব্র্যান্ড নতুন ডেস্কটপ কম্পিউটার থেকে খুব আলাদা ক্ষমতা থাকবে, এমনকি একই ব্রাউজার সংস্করণ চালানোর সময়ও।

বিকাশকারীরা প্রায়শই সর্বনিম্ন সাধারণ ডিনোমিনেটরের জন্য বিকাশ বেছে নেয়, এমন কিছু বৈশিষ্ট্য ব্যবহার করা এড়িয়ে যায় যা পুরানো বা কম সক্ষম ডিভাইসগুলিকে ট্যাক্স করবে। যাইহোক, যদি এমন ব্যবহারকারীদের জন্য অভিজ্ঞতা অপ্টিমাইজ করা সম্ভব হয় যাদের সক্ষম সরঞ্জাম রয়েছে এবং তারা এটি থেকে উপকৃত হওয়ার জন্য সঠিক পরিবেশে রয়েছে, তাহলে কেন এটি করবেন না? উদাহরণ স্বরূপ, আপনার ফোন থেকে একটি ভিডিও কলে যোগদান করার সময়, শুধুমাত্র বর্তমান স্পিকার দেখাই সম্ভবত সেরা অভিজ্ঞতা। একটি ডেস্কটপে যাইহোক, কলে থাকা প্রত্যেককে দেখতে ভাল লাগবে এবং হার্ডওয়্যারটি সাধারণত কাজ করে। এটি অর্জনের জন্য, ব্যবহারকারীদের গোপনীয়তা ত্যাগ না করেই আপনার লাইভ হার্ডওয়্যার টেলিমেট্রির প্রয়োজন, যা একটি মসৃণ ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করার জন্য কাজগুলি নির্ধারণের জন্য এবং ধীরে ধীরে বৈশিষ্ট্যগুলি চালু এবং বন্ধ করার জন্য ব্যবহার করা যেতে পারে। এখানেই কম্পিউট প্রেসার API সাহায্য করতে পারে।

কম্পিউট প্রেসার এপিআই কি?

কম্পিউট প্রেসার এপিআই উচ্চ-স্তরের স্টেট অফার করে যা সিস্টেমে চাপের প্রতিনিধিত্ব করে। এই উচ্চ-স্তরের রাজ্যগুলি গোপনীয়তার মধ্যে একটি ভাল ভারসাম্য নিশ্চিত করে (খুব বেশি নির্দিষ্ট তথ্য ভাগ করে না যা একজন ব্যবহারকারীকে সনাক্ত করতে পারে) এবং তথ্য যা বিকাশকারীরা সহজেই যুক্তি দিতে পারে। অতিরিক্তভাবে, এটি বাস্তবায়নকে সঠিক অন্তর্নিহিত হার্ডওয়্যার মেট্রিক্স ব্যবহার করার অনুমতি দেয় যাতে ব্যবহারকারীরা তাদের কাছে উপলব্ধ সমস্ত প্রক্রিয়াকরণ শক্তির সুবিধা নিতে পারে যতক্ষণ না সিস্টেমটি নিয়ন্ত্রণযোগ্য চাপের মধ্যে না থাকে।

উদাহরণস্বরূপ, আধুনিক সিপিইউগুলি বেশিরভাগ পরিস্থিতিতে 100% ব্যবহারে সূক্ষ্মভাবে চালানোর জন্য ডিজাইন করা হয়েছে, একটি একক কোরে বা সমস্ত কোর জুড়ে, তাই একটি API যা 80% ব্যবহারকে সমালোচনামূলক হিসাবে হার্ডকোড করে তার ফলে বিকাশকারীরা হার্ডওয়্যারের ক্ষমতা কম ব্যবহার করতে পারে এবং একটি সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা প্রদান করে। অন্যদিকে, একটি সিস্টেমে সঠিক শীতলতা নাও থাকতে পারে, বা গ্রীষ্মের মতো পরিবেষ্টিত তাপমাত্রা খুব বেশি হতে পারে এবং উচ্চ CPU ব্যবহারে পৌঁছানোর আগেই সিস্টেমটি থ্রটলিং হতে পারে। বর্তমান API বিশ্বব্যাপী CPU চাপের উপর কাজ করে, কিন্তু আমরা মূল থ্রেড এবং কর্মীদের জুড়ে প্রতি পৃষ্ঠায় CPU চাপ সক্ষম করার সাথে পরীক্ষা করার পরিকল্পনা করছি।

গণনা চাপের নিম্নলিখিত অবস্থা রয়েছে:

  • নামমাত্র: বর্তমান কাজের চাপ ন্যূনতম চাপ সৃষ্টি করছে, যা শক্তি সংরক্ষণের জন্য সিস্টেমটিকে কম ঘড়ির ফ্রিকোয়েন্সিতে চালানোর অনুমতি দেয়।
  • ফেয়ার: সিস্টেম ঠিকঠাক করছে; সবকিছু মসৃণ, এবং এটি সমস্যা ছাড়াই অতিরিক্ত কাজ নিতে পারে।
  • গুরুতর: সিস্টেমে কিছু গুরুতর চাপ রয়েছে, তবে এটি পরিচালনাযোগ্য, এবং সিস্টেমটি ভাল করছে, তবে তার সীমার কাছাকাছি হতে পারে:
    • ঘড়ির গতি (AC বা DC পাওয়ারের উপর নির্ভর করে) ধারাবাহিকভাবে বেশি।
    • থার্মাল উচ্চ কিন্তু এখনও পরিচালনাযোগ্য এবং থ্রটলিং সৃষ্টি করে না।

এই মুহুর্তে আপনি যদি আরও কাজ যোগ করেন তবে সিস্টেমটি একটি জটিল অবস্থায় যেতে পারে।

  • সমালোচনামূলক: সিস্টেমটি এখন তার সীমাতে পৌঁছতে চলেছে, কিন্তু এটি এখনও সীমায় পৌঁছেনি। ক্রিটিকাল এর মানে এই নয় যে সিস্টেমটি সক্রিয়ভাবে থ্রোটল করা হচ্ছে, কিন্তু এই অবস্থাটি দীর্ঘ সময়ের জন্য টেকসই নয় এবং কাজের চাপ একই থাকলে থ্রটলিং হতে পারে। এই সংকেতটি ওয়েব অ্যাপ্লিকেশনটির কাজের চাপ কমানোর জন্য শেষ কল।

কম্পিউট প্রেসার এপিআই সক্ষম করুন

ডিফল্টরূপে, কম্পিউট প্রেসার এপিআই ক্রোমে সক্ষম করা হয় না, তবে কার্যকারিতাটি স্পষ্টভাবে সক্ষম করে এটি Chrome 115-এ পরীক্ষা করা যেতে পারে। আপনি enable-experimental-web-platform-features পতাকা সক্ষম করে স্থানীয়ভাবে এটি সক্রিয় করতে পারেন।

আপনার অ্যাপে সমস্ত দর্শকদের জন্য এটি সক্ষম করতে, একটি মূল ট্রায়াল বর্তমানে চলছে এবং Chrome 118 (জুলাই 18, 2023) এ শেষ হবে। ট্রায়ালে অংশগ্রহণ করতে, সাইন আপ করুন এবং HTML বা HTTP হেডারে অরিজিন ট্রায়াল টোকেন সহ একটি মেটা উপাদান অন্তর্ভুক্ত করুন৷ আরও তথ্যের জন্য, মূল ট্রায়াল পোস্ট দিয়ে শুরু করুন দেখুন।

গণনা চাপ পর্যবেক্ষণ করুন

নিম্নোক্ত কোড স্নিপেটটি ব্যাখ্যা করে যে কীভাবে গণনা চাপের পরিবর্তনগুলি নিরীক্ষণ এবং কাজ করতে হয়:

// The `records` parameter is a sequence of records between two
// consecutive callbacks. Currently it contains ten entries, but
// this is an implementation detail.
function callback(records) {
  const lastRecord = records.pop();
  console.log(`Current pressure ${lastRecord.state}`);
  if (lastRecord.state === 'critical') {
    // Reduce workers load by 4.
  } else if (lastRecord.state === 'serious') {
    // Reduce workers load by 2.
  } else {
    // Do not reduce.
  }
}

const observer = new PressureObserver(callback, {
  // Sample rate in Hertz.
  sampleRate: 1,
});
observer.observe('cpu');

নিম্নলিখিত কোড স্নিপেটটি ব্যাখ্যা করে কিভাবে একটি আইফ্রেম থেকে কম্পিউট প্রেসার API ব্যবহার করতে হয়:

<iframe src="https://mysite.com/" allow="compute-pressure">
  <script>
    // Use Compute Pressure API.
  </script>
</iframe>

প্ল্যাটফর্ম সমর্থন

Compute Pressure API Chrome 115 এ Linux, ChromeOS, macOS এবং Windows এ উপলব্ধ।

ডেমো

কিছু কৃত্রিম চাপের উপর ভিত্তি করে গণনা চাপের অবস্থা কীভাবে পরিবর্তিত হয় তা দেখতে নীচে এমবেড করা ডেমো চেষ্টা করুন।

যদি আপনার ব্রাউজার API সমর্থন না করে, নীচের ভিডিওটি ডেমোর একটি রেকর্ডিং দেখায়৷

প্রতিক্রিয়া

এই পর্যায়ে বিকাশকারীর প্রতিক্রিয়া সত্যিই গুরুত্বপূর্ণ, তাই অনুগ্রহ করে পরামর্শ এবং প্রশ্ন সহ গিটহাবে সমস্যাগুলি ফাইল করুন

স্বীকৃতি

নায়কের ছবিটি আনস্প্ল্যাশে রবার্ট আনাশ তৈরি করেছিলেন। এই নিবন্ধটি রাচেল অ্যান্ড্রু এবং টমাস স্টেইনার দ্বারা পর্যালোচনা করা হয়েছে।