শক্তি দক্ষতা
এই অনুবাদটি গ্রিন সফটওয়্যার প্র্যাকটিশনার্স কমিউনিটি দ্বারা তৈরি। এটির সমর্থন সীমিত এবং কোর্সের সর্বশেষ ইংরেজি সংস্করণের সাথে নাও মিলতে পারে।
যতটুকু সম্ভব কম শক্তি ব্যবহার করুন।
ভূমিকা
মূলত কাজ করার ক্ষমতাকেই শক্তি (Energy) বলে। তাপ, বিদ্যুৎ ও রাসায়নিকের মতো শক্তির অনেক রকম ধরণ আছে, আর এক ধরণের শক্তিকে অন্য ধরণের শক্তিতে রূপান্তর করা সম্ভব। যেমন, আমরা কয়লার রাসায়নিক শক্তিকে বিদ্যুতে রূপান্তরিত করি। অন্য কথায়, বিদ্যুৎ হলো অন্য কোনো শক্তি থেকে রূপান্তরিত হয়ে আসা দ্বিতীয় স্তরের শক্তি। এভাবে আমরা শক্তিকে ব্যবহৃত বিদ্যুতের পরিমাপ হিসাবে ভাবতে পারি।
মোবাইল ফোনে চলা সফটওয়্যার থেকে শুরু করে ডেটা সেন্টারে চলা মেশিন লার্নিং মডেলের প্রশিক্ষণ পর্যন্ত সব সফটওয়্যারই বিদ্যুৎ খরচ করে। সফটওয়্যার যাতে কম বিদ্যুৎ খরচ করে এবং তার ফলে কম কার্বন নিঃসরণ করে, তার সেরা উপায়গুলোর মধ্যে একটি হলো সফটওয়্যারকে আরও বেশি এনার্জি-এফিশিয়েন্ট করে তোলা। তবে আমাদের দায়িত্ব শুধু এখানেই শেষ হয় না।
গ্রিন সফটওয়্যার নিয়ে যারা কাজ করেন, তারা তাদের প্রোডাক্টের দ্বারা খরচ হওয়া বিদ্যুতের দায়িত্ব নেন এবং এমনভাবে ডিজাইন করেন যাতে সেটি যতটা সম্ভব কম বিদ্যুৎ খরচ করে। আমাদের খেয়াল রাখতে হবে যেন প্রক্রিয়ার প্রতিটি ধাপে যতটা সম্ভব কম অপচয় হয় এবং বেশিরভাগ শক্তি যেন পরের ধাপে যেতে পারে।
এই প্রক্রিয়ার একদম শেষ ধাপটি হলো আপনার প্রোডাক্টের ব্যবহারকারী (End users), তৈরি হয়ে যাওয়া প্রোডাক্টটি নিজে নয়। এর মানে হলো আমাদের লক্ষ্য শুধু সবচেয়ে বেশি এনার্জি-এফিশিয়েন্ট কোড বা 'সবচেয়ে পরিবেশ-বান্ধব' সফটওয়্যার বানানো নয়, বরং ব্যবহারকারী সম্পর্কে ভাবা এবং তারা যেন অকারণে কার্বন নিঃসরণ না করে, সেই ব্যবস্থা করা।
এর মানে হতে পারে এনার্জি প্রপোর্শনালিটি (Energy proportionality) ব্যবহার করে সফটওয়্যারের কাজগুলোকে এক সাথে গুছিয়ে নেওয়া (Batching), অথবা ব্যবহারকারী আপনার সফটওয়্যারটি কীভাবে ব্যবহার করছেন, তা বদলে দেওয়া। চলুন আমরা এই ধারণাগুলো এবং সেইসব উপায়গুলো দেখি, যার সাহায্যে আপনি প্রক্রিয়ার প্রতিটি ধাপে, একদম শেষ ব্যবহারকারী পর্যন্ত, আরও বেশি এনার্জি-এফিশিয়েন্ট হতে পারবেন।

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

বেশিরভাগ মানুষ ভাবে যে বিদ্যুৎ হলো পরিষ্কার (পরিবেশ-বান্ধব)। আমরা আমাদের বাড়ির দেয়ালে থাকা বৈদ্যুতিক socket এ কোনো plug লাগালে আমাদের হাত নোংরা হয় না, আর আমাদের ল্যাপটপের জন্য exhaust pipes লাগে না। কিন্তু, যেহেতু বেশিরভাগ বিদ্যুৎই আসে জীবাশ্ম জ্বালানি পুড়িয়ে এবং শক্তি সরবরাহ হলো কার্বন নিঃসরণের সবচেয়ে বড় কারণ, তাই বিদ্যুৎ আর কার্বন নিঃসরণের মধ্যে একটি সরাসরি সম্পর্ক রয়েছে। এই কারণে, বিদ্যুৎকে কার্বনের বিকল্প (Proxy) হিসাবে ভাবা যেতে পারে।
আমাদের লক্ষ্য যদি কার্বন এফিশিয়েন্ট হওয়া হয়, তবে এর মানে হলো আমাদের লক্ষ্য এনার্জি এফিশিয়েন্ট হওয়াও, কারণ বিদ্যুৎ হলো কার্বনের বিকল্প (Proxy)। অর্থাৎ, প্রতি ইউনিট কাজের জন্য যতটুকু সম্ভব কম শক্তি ব্যবহার করা।
নিম্ন-কার্বন শক্তির উৎস
পরিষ্কার শক্তি (Clean energy) তৈরি হয় এমন নবায়নযোগ্য, শূন্য-নিঃসরণ (Zero-emission) উৎস থেকে যা ব্যবহার করলে বাতাসে দূষণ ছড়ায় না এবং এনার্জি-এফিশিয়েন্ট কাজের মাধ্যমে শক্তি বাঁচায়। পরিষ্কার, সবুজ এবং নবায়নযোগ্য শক্তির মধ্যে কিছু মিল আছে। এগুলোর মধ্যে পার্থক্য বোঝার কিছু উপায় হলো:
- পরিষ্কার (Clean) শক্তি - এটি কোনো কার্বন নিঃসরণ করে না, যেমন: পারমাণবিক শক্তি (nuclear)।
- সবুজ (Green) শক্তি - যা প্রকৃতি থেকে পাওয়া যায়।
- নবায়নযোগ্য (Renewable) শক্তি - এই উৎসগুলো ফুরিয়ে যাবে না, যেমন: সৌর (Solar), বাতাস (Wind)।
শক্তির পরিমাপ
- শক্তি মাপা হয় জুল (J) দিয়ে, যা শক্তির SI একক।
- ক্ষমতা বা power মাপা হয় ওয়াট দিয়ে, যেখানে ১ ওয়াট (W) হলো প্রতি সেকেন্ডে এক জুল (J) হারে কাজ করার সমান।
- সেই হিসাবে, এক কিলোওয়াট (kW)-ও হলো প্রতি সেকেন্ডে ১০০০ জুল (J) হারে কাজ করার সমান।
- এক কিলোওয়াট-ঘণ্টা (kWh) হলো শক্তির (J) একটি মাপ, যা এক ঘণ্টা ধরে এক কিলোওয়াট ক্ষমতা বজায় রাখার সমান।
কীভাবে শক্তি দক্ষতা উন্নত করা যায়?
আমরা এখন জানি যে শক্তি কীভাবে তৈরি হয় এবং নিম্ন বা উচ্চ-কার্বনযুক্ত শক্তির উৎস ব্যবহার করার ওপর নির্ভর করে এর নিঃসরণের খরচ কত দাঁড়ায়। এইবার দেখা যাক, গ্রিন সফটওয়্যার নিয়ে যারা কাজ করেন, তারা কীভাবে শক্তির দক্ষতা বাড়াতে পারেন। পাওয়ার ইউসেজ এফেক্টিভনেস (Power usage effectiveness বা PUE) এবং এনার্জি প্রপোর্শনালিটি (Energy proportionality) কী, তা বুঝতে পারলে আপনি শক্তিকে সবচেয়ে ভালোভাবে এবং কম অপচয় করে কীভাবে ব্যবহার করা যায়, সেই বিষয়ে আরও ভালো সিদ্ধান্ত নিতে পারবেন।
শক্তি ব্যবহারের কার্যকারিতা
ডেটা সেন্টার শিল্পে (Industry) Power usage effectiveness (PUE) নামে একটি মাপকাঠি ব্যবহার করা হয়, যা ২০০৬ সালে গ্রিন গ্রিড (Green Grid) তৈরি করেছিল, আর এটা ডেটা সেন্টারের শক্তি ব্যবহারের কার্যক্ষমতা মাপার জন্য ব্যবহৃত হয়। বিশেষ করে, এই মাপকাঠি দেখায় যে কুলিং (Cooling) এবং অন্যান্য আনুষঙ্গিক কাজের জন্য যে বিদ্যুৎ লাগে, তার তুলনায় কম্পিউটিং সরঞ্জাম কতটা বিদ্যুৎ ব্যবহার করছে। যখন একটি ডেটা সেন্টারের PUE ১.০-এর কাছাকাছি থাকে, তার মানে হলো প্রায় সব শক্তিই কম্পিউটিং-এর কাজে লাগছে। আর PUE যখন ২.০ হয়, এর অর্থ হলো আইটি সরঞ্জামের ব্যবহৃত প্রতি এক ওয়াট বিদ্যুতের জন্য সেই সরঞ্জাম ঠান্ডা করতে এবং বিদ্যুৎ সরবরাহ করতে অতিরিক্ত আরও এক ওয়াট বিদ্যুৎ দরকার হয়।
PUE-কে আপনার অ্যাপ্লিকেশনের বিদ্যুৎ খরচের জন্য একটি গুণক (multiplier) হিসাবেও ভাবতে পারেন। যেমন ধরুন, আপনার অ্যাপ্লিকেশনটি যদি ১০ কিলোওয়াট-ঘণ্টা (kWh) বিদ্যুৎ খরচ করে এবং ডেটা সেন্টারটির PUE হয় ১.৫, তাহলে গ্রিড থেকে মোট খরচ হওয়া বিদ্যুতের পরিমাণ হলো ১৫ kWh। এর মধ্যে ৫ kWh ডেটা সেন্টার চালানোর আনুষঙ্গিক খরচের জন্য লাগে, আর বাকি ১০ kWh আপনার অ্যাপ্লিকেশন চালানো সার্ভারগুলোতে যায়।

এনার্জি প্রপোর্শনালিটি
২০০৭ সালে গুগলের ইঞ্জিনিয়াররা এনার্জি প্রপোর্শনালিটির বিষয়ে প্রস্তাব করেছিলেন, যেটি একটি কম্পিউটার যে পরিমাণ বিদ্যুৎ খরচ করে এবং কাজের গতি বা ব্যবহারের হারের (Utilization) মধ্যেকার সম্পর্ক পরিমাপ করে।
ইউটিলাইজেশন (ব্যবহারের হার) পরিমাপ করে যে একটি কম্পিউটারে কতটুকু রিসোর্স ব্যবহার করা হচ্ছে, যা সাধারণত শতাংশ (%) হিসাবে দেখানো হয়। পুরো ক্ষমতা নিয়ে চলা (Maximum capacity) একটি কম্পিউটারের ইউটিলাইজেশন বেশি হয়, আর যে কম্পিউটার অলসভাবে (Idle state) পড়ে থাকে, তার ব্যবহারের হার কম হয়।
পাওয়ার (Power) এবং ব্যবহারের হারের (Utilization) মধ্যে সম্পর্কটা সমানুপাতিক (Proportional) নয়। গণিতের ভাষায় বলতে গেলে, দুটি চলকের মধ্যে সমানুপাতিক সম্পর্ক থাকলে তাদের অনুপাত সমান হয়। উদাহরণ হিসেবে বলা যায়, ০% ব্যবহারের হারে একটি কম্পিউটার ১০০ ওয়াট নিতে পারে; ৫০% হারে তা ১৮০ ওয়াট নেয়; আর ১০০% হারে ২০০ ওয়াট নেয়। পাওয়ার খরচ এবং ব্যবহারের হারের মধ্যে এই সম্পর্কটা সরলরৈখিক (Linear) নয় এবং এটি শূন্যের (origin) মধ্যে দিয়েও যায় না।

এই কারণে, আমরা একটি কম্পিউটারকে যত বেশি ব্যবহার করি, বিদ্যুৎকে ব্যবহারযোগ্য কম্পিউটিং কাজে রূপান্তর করার ক্ষেত্রে তা তত বেশি কার্যকরী হয়ে ওঠে। হার্ডওয়্যারের কার্যক্ষমতা (Hardware efficiency) বাড়ানোর একটি উপায় হলো: যতটা সম্ভব কম সংখ্যক সার্ভার ব্যবহার করা, যাতে সার্ভারগুলো সর্বোচ্চ ব্যবহারের হারে চলে এবং তাতে শক্তির দক্ষতা (Energy efficiency) বাড়ে।
স্থির বিদ্যুৎ খরচ
একটি কম্পিউটারের স্থির বিদ্যুৎ খরচ (Static power draw) হলো যখন এটি অলস অবস্থায় (Idle state) থাকে, তখন এটি কতটা বিদ্যুৎ টানে। এই স্থির বিদ্যুৎ খরচ কনফিগারেশন এবং হার্ডওয়্যারের কম্পোনেন্ট অনুযায়ী পাল্টায়, তবে সব অংশেই কিছু না কিছু স্থির বিদ্যুৎ খরচ হয়। এই কারণেই পিসি, ল্যাপটপ এবং ব্যবহারকারীর ডিভাইসগুলোতে বিদ্যুৎ সাশ্রয়ী মোড (Power saving mode) থাকে। ডিভাইসটি অলসভাবে থাকলে, এটি হাইবারনেশন (Hibernation) মোড চালু করে এবং ডিস্ক ও স্ক্রিনকে ঘুম পাড়িয়ে দেয়, এমনকি সিপিইউ-এর গতিও পাল্টে দেয়। এই বিদ্যুৎ সাশ্রয়ী মোডগুলো বিদ্যুৎ বাঁচায় ঠিকই, তবে এদের কিছু অসুবিধা আছে, যেমন: ডিভাইসটি যখন চালু হয় তখন তা ধীরে ধীরে শুরু হয় (Slower restart)।
সার্ভারগুলো সাধারণত খুব বেশি বা সামান্য বিদ্যুৎ সাশ্রয়ের জন্যও তৈরি করা হয় না। সার্ভারে চলা অনেক কাজের জন্য দ্রুত পুরো ক্ষমতা (Total capacity) দরকার হয়, কারণ সার্ভারকে খুব তাড়াতাড়ি বদলে যাওয়া চাহিদা মেটাতে হয়। এর ফলে, যখন কাজের চাপ কম থাকে, তখন অনেক সার্ভার অলস (Idle) মোডে পড়ে থাকে। একটি অলস সার্ভারের কার্বন খরচ হয় ২ ভাবে:
- সার্ভার তৈরি করার সময় খরচ হওয়া কার্বন (embedded carbon)
- এর কম ব্যবহারের (Inefficient utilization) কারণে খরচ হওয়া কার্বন
সারাংশ
বিদ্যুৎ হলো কার্বনের বিকল্প (Proxy), তাই একটি এনার্জি এফিশিয়েন্ট অ্যাপ্লিকেশন বানানো মানেই হলো একটি কার্বন এফিশিয়েন্ট অ্যাপ্লিকেশন বানানো।
গ্রিন সফটওয়্যার নিজের বিদ্যুৎ খরচের দায়িত্ব নেয় এবং এটি এমনভাবে ডিজাইন করা হয় যেন যতটা সম্ভব কম বিদ্যুৎ খরচ করে।
একটি অ্যাপ্লিকেশনের বিদ্যুৎ খরচ পরিমাপ (Quantifying energy consumption) করা হলো সঠিক দিকে একধাপ এগোনো। একটি সফটওয়্যার আরও দক্ষভাবে কীভাবে পরিচালনা করা যায়, এটি আপনাকে তা ভাবতে সাহায্য করবে। তবে, আপনার অ্যাপ্লিকেশনের বিদ্যুৎ খরচ জানাটাই একমাত্র বিষয় নয়। আপনার সফটওয়্যারটি যে হার্ডওয়্যার চালাচ্ছে, তার কিছু বিদ্যুৎ ডেটা সেন্টার চালানোর আনুষঙ্গিক (Operational overhead) কাজে লাগে। এটাকে Power Usage Efficiency (PUE) বলা হয়।
এনার্জি প্রপোর্শনালিটির ধারণাটি আরও জটিলতা যোগ করে, কারণ হার্ডওয়্যারটি যত বেশি ব্যবহার করা হয়, বিদ্যুৎকে দরকারী কাজে রূপান্তর করার ক্ষেত্রে তা তত বেশি কার্যকরী হয়ে ওঠে।
এই বিষয়গুলো বিদ্যুৎ খরচের দিক থেকে সফটওয়্যার কীভাবে কাজ করে, সে সম্পর্কে গ্রিন সফটওয়্যার প্র্যাকটিশনারদের আরও ভালো ধারণা রাখতে সাহায্য করে।