Speedup
কম্পিউটার আর্কিটেকচারে, স্পিডআপ এমন একটি সংখ্যা যা একই সমস্যা প্রক্রিয়াকরণকারী দুটি সিস্টেমের আপেক্ষিক কর্মক্ষমতা পরিমাপ করে। আরও প্রযুক্তিগতভাবে, এটি বিভিন্ন সম্পদ সহ দুটি অনুরূপ স্থাপত্যের উপর সম্পাদিত একটি কাজ সম্পাদনের গতিতে উন্নতি। স্পিডআপের ধারণাটি আমডাল-এর সূত্র দ্বারা প্রতিষ্ঠিত হয়েছিল, যা বিশেষত সমান্তরাল প্রক্রিয়াকরণের উপর দৃষ্টি নিবদ্ধ করেছিল। যাইহোক, যে কোনও সম্পদ বৃদ্ধির পরে কর্মক্ষমতার উপর প্রভাব দেখানোর জন্য স্পিডআপ আরও সাধারণভাবে ব্যবহার করা যেতে পারে। সংজ্ঞা স্পিডআপকে দুটি ভিন্ন ধরনের পরিমাণের জন্য সংজ্ঞায়িত করা যেতে পারেঃ বিলম্বতা এবং থ্রুপুট। একটি স্থাপত্যের বিলম্বতা হল একটি কাজের সম্পাদন গতির পারস্পরিকঃ যেখানে v হল কাজের সম্পাদন গতি; T হল কাজের সম্পাদন সময়; W হল কাজের সম্পাদন কাজের বোঝা। একটি স্থাপত্যের থ্রুপুট হল একটি কাজের সম্পাদন হারঃ যেখানে ρ হল সম্পাদন ঘনত্ব (উদাহরণস্বরূপ, একটি পাইপলাইন্ড স্থাপত্যের জন্য একটি নির্দেশ পাইপলাইনে পর্যায়গুলির সংখ্যা); এ হল সম্পাদন ক্ষমতা (উদাহরণস্বরূপ, একটি সমান্তরাল স্থাপত্যের জন্য প্রসেসরের সংখ্যা)। লেটেন্সি প্রায়শই এক্সিকিউশন কাজের চাপের প্রতি ইউনিটে সেকেন্ডে পরিমাপ করা হয়। থ্রুপুট প্রায়শই প্রতি সেকেন্ডে এক্সিকিউশন কাজের চাপের এককে পরিমাপ করা হয়। থ্রুপুটের আরেকটি একক হল নির্দেশ প্রতি চক্র (আই. পি. সি) এবং এর পারস্পরিক, নির্দেশ প্রতি চক্র (সি. পি. আই) হল বিলম্বের আরেকটি একক। স্পিডআপ মাত্রাবিহীন এবং প্রতিটি ধরনের পরিমাণের জন্য আলাদাভাবে সংজ্ঞায়িত করা হয় যাতে এটি একটি সামঞ্জস্যপূর্ণ মেট্রিক হয়। বিলম্বের গতি বৃদ্ধি বিলম্বের গতি বৃদ্ধি নিম্নলিখিত সূত্র দ্বারা সংজ্ঞায়িত করা হয়ঃ যেখানে স্ল্যাটেন্সি হল স্থাপত্য 1-এর সাপেক্ষে স্থাপত্য 2-এর বিলম্বের গতি বৃদ্ধি; এল1 হল স্থাপত্য 1-এর বিলম্বতা; এল2 হল স্থাপত্য 2-এর বিলম্বতা। আমডাল-এর সূত্র বা গুস্তাফসনের সূত্র থেকে বিলম্বের গতি বৃদ্ধির পূর্বাভাস দেওয়া যেতে পারে। থ্রুপুট-এ স্পিডআপ থ্রুপুট-এ স্পিডআপ সূত্র দ্বারা সংজ্ঞায়িত করা হয়ঃ যেখানে স্ট্রুপুট হল স্থাপত্য 1-এর সাপেক্ষে স্থাপত্য 2-এর থ্রুপুট-এ স্পিডআপ; কিউ1 হল স্থাপত্য 1-এর থ্রুপুট; কিউ2 হল স্থাপত্য 2-এর থ্রুপুট। উদাহরণ কার্যকর করার সময় ব্যবহার করে আমরা একটি প্রোগ্রাম কার্যকর করার ক্ষেত্রে একটি শাখা ভবিষ্যদ্বাণীকারীর কার্যকারিতা পরীক্ষা করছি। প্রথমে, আমরা প্রসেসরে স্ট্যান্ডার্ড শাখা পূর্বাভাস দিয়ে প্রোগ্রামটি সম্পাদন করি, যা 2.25 সেকেন্ডের একটি কার্যকর সময় দেয়। এরপরে, আমরা একই প্রসেসরে আমাদের পরিবর্তিত (এবং আশা করি উন্নত) শাখা পূর্বাভাসকারী দিয়ে প্রোগ্রামটি কার্যকর করি, যা 1.5 সেকেন্ডের একটি কার্যকর সময় তৈরি করে। উভয় ক্ষেত্রেই কাজের চাপ সমান থাকে। আমাদের স্পিডআপ সূত্র ব্যবহার করে, আমরা জানি যে আমাদের নতুন শাখা পূর্বাভাসকারী মূলটির তুলনায় 1.5x স্পিডআপ প্রদান করেছে। প্রতি নির্দেশে চক্র এবং প্রতি চক্রের নির্দেশাবলী ব্যবহার করে আমরা প্রতি নির্দেশে (সিপিআই) চক্রগুলিতে গতিবেগও পরিমাপ করতে পারি যা একটি বিলম্বতা। প্রথমে, আমরা স্ট্যান্ডার্ড ব্রাঞ্চ প্রেডিক্টর দিয়ে প্রোগ্রামটি কার্যকর করি, যা 3-এর সিপিআই প্রদান করে। এরপরে, আমরা আমাদের পরিবর্তিত শাখা পূর্বাভাসকারী দিয়ে প্রোগ্রামটি কার্যকর করি, যা 2 এর সিপিআই প্রদান করে। উভয় ক্ষেত্রেই সম্পাদন কাজের চাপ একই এবং উভয় স্থাপত্য পাইপলাইনে বা সমান্তরাল নয়। স্পিডআপ সূত্র ব্যবহার করে আমরা প্রতি চক্রের নির্দেশাবলীতে (আইপিসি) স্পিডআপ পরিমাপ করতে পারি, যা একটি থ্রুপুট এবং সিপিআই-এর বিপরীত। স্পিডআপ সূত্র ব্যবহার করে আমরা একই 1.5x স্পিডআপ অর্জন করি, যদিও আমরা বিভিন্ন পরিমাণ পরিমাপ করেছি। অতিরিক্ত বিবরণ এস একটি কাজ সম্পাদনের গতি এবং একটি স্থাপত্যের সম্পদের উন্নতি থেকে উপকৃত কাজের অংশটির সম্পাদনের গতি হতে দিন। লিনিয়ার স্পিডআপ বা আদর্শ স্পিডআপ কখন পাওয়া যায়। রৈখিক গতিতে কোনও কাজ চালানোর সময়, স্থানীয় গতিবেগ দ্বিগুণ করলে সামগ্রিক গতিবেগ দ্বিগুণ হয়। যেহেতু এটি আদর্শ, তাই এটি খুব ভাল মাপকাঠি হিসাবে বিবেচিত হয়। দক্ষতা হল উন্নত ব্যবস্থার সম্পদের ব্যবহারের একটি মেট্রিক যা এর মান সাধারণত 0 এবং 1 এর মধ্যে হিসাবে সংজ্ঞায়িত করা হয়। রৈখিক স্পিডআপ সহ প্রোগ্রাম এবং একক প্রসেসরে চলমান প্রোগ্রামগুলির দক্ষতা 1 থাকে, যেখানে অনেক কঠিন-থেকে-সমান্তরাল প্রোগ্রামের দক্ষতা 1/এলএন (গুলি) থাকে যা প্রসেসরের সংখ্যা বাড়ার সাথে সাথে 0-এর কাছে পৌঁছায়। প্রকৌশল প্রসঙ্গে, দক্ষতা বক্ররেখা প্রায়শই স্পিডআপ বক্ররেখার চেয়ে গ্রাফের জন্য ব্যবহৃত হয়, যেহেতু গ্রাফের সমস্ত এলাকা দরকারী (যেখানে স্পিডআপ বক্ররেখার অর্ধেক জায়গা নষ্ট হয়); সিস্টেমের উন্নতি কতটা ভাল কাজ করছে তা সহজেই দেখা যায়; একটি "নিখুঁত স্পিডআপ" বক্ররেখা অঙ্কন করার প্রয়োজন নেই। বিপণন প্রসঙ্গে, স্পিডআপ বক্ররেখা প্রায়শই ব্যবহার করা হয়, মূলত কারণ তারা উপরে এবং ডানদিকে যায় এবং এইভাবে কম-জ্ঞাতদের কাছে আরও ভাল দেখায়। সুপার-লিনিয়ার স্পিডআপ কখনও কখনও সমান্তরাল কম্পিউটিংয়ে এ প্রসেসর ব্যবহার করার সময় এ-এর চেয়ে বেশি স্পিডআপ লক্ষ্য করা যায়, যাকে সুপার-লিনিয়ার স্পিডআপ বলা হয়। সুপার-লিনিয়ার স্পিডআপ খুব কমই ঘটে এবং প্রায়শই নতুনদের বিভ্রান্ত করে, যারা বিশ্বাস করে যে এ প্রসেসর ব্যবহার করার সময় তাত্ত্বিক সর্বোচ্চ স্পিডআপ এ হওয়া উচিত। নিম্ন-স্তরের গণনায় অতি-রৈখিক গতি বৃদ্ধির একটি সম্ভাব্য কারণ হল আধুনিক কম্পিউটারের বিভিন্ন মেমরি শ্রেণিবিন্যাসের ফলে ক্যাশে প্রভাবঃ সমান্তরাল কম্পিউটিংয়ে, শুধুমাত্র প্রসেসরের সংখ্যাই পরিবর্তিত হয় না, বরং বিভিন্ন প্রসেসর থেকে সঞ্চিত ক্যাশের আকারও পরিবর্তিত হয়। বৃহত্তর সঞ্চিত ক্যাশে আকারের সাথে, আরও বেশি বা এমনকি সমস্ত কার্যকরী সেট ক্যাশে ফিট করতে পারে এবং মেমরি অ্যাক্সেসের সময় নাটকীয়ভাবে হ্রাস পায়, যা প্রকৃত গণনা থেকে অতিরিক্ত গতি বাড়ায়। একটি অনুরূপ পরিস্থিতি ঘটে যখন বড় ডেটাসেট অনুসন্ধান করা হয়, যেমন ব্লাস্ট বাস্তবায়ন দ্বারা অনুসন্ধান করা জিনোমিক ডেটা। সেখানে একটি গুচ্ছের প্রতিটি নোড থেকে সঞ্চিত র্যাম ডেটাসেটকে ডিস্ক থেকে র্যাম-এ স্থানান্তরিত করতে সক্ষম করে যার ফলে প্রয়োজনীয় সময় ব্যাপকভাবে হ্রাস পায়। এটি অনুসন্ধান করার জন্য এমপিব্লাস্ট। সমান্তরালে ব্যাকট্র্যাকিং করার সময় সুপার-লিনিয়ার স্পিডআপগুলিও ঘটতে পারেঃ একটি থ্রেডে একটি ব্যতিক্রম অন্যান্য বেশ কয়েকটি থ্রেডকে ব্যতিক্রমটিতে পৌঁছানোর আগে তাড়াতাড়ি ব্যাকট্র্যাক করতে পারে। অপ্টিমাইজেশনের জন্য শাখা-এবং-আবদ্ধ সমান্তরাল বাস্তবায়নেও অতি-রৈখিক গতি বৃদ্ধি ঘটতে পারেঃ একটি প্রসেসর দ্বারা একটি নোডের প্রক্রিয়াকরণ অন্যান্য নোডের জন্য অন্যান্য প্রসেসরের কাজকে প্রভাবিত করতে পারে। আমডাল-এর সূত্র গুস্তাফসনের সূত্র ব্রুকস-এর সূত্র কার্প-ফ্ল্যাট মেট্রিক প্যারালাল স্লোডাউন স্কেলেবিলিটি রেফারেন্স অ্যানালাইসিস অফ প্যারালাল অ্যালগরিদম দেখুন।