paint-brush
हमारा कोड ग्रह को नुकसान पहुंचा रहा है, हमें कार्बन जागरूक डिजाइन पैटर्न की आवश्यकता हैद्वारा@gsf
55,068 रीडिंग
55,068 रीडिंग

हमारा कोड ग्रह को नुकसान पहुंचा रहा है, हमें कार्बन जागरूक डिजाइन पैटर्न की आवश्यकता है

द्वारा Green Software Foundation (GSF)6m2022/10/22
Read on Terminal Reader
Read this story w/o Javascript

बहुत लंबा; पढ़ने के लिए

कार्बन अवेयर एपीआई सॉफ्टवेयर के माध्यम से उत्पन्न कार्बन उत्सर्जन की मात्रा को कम करने के लिए बिजली की कार्बन तीव्रता (gCO2/kWh) को मापने और प्रतिक्रिया देने में हमारी मदद कैसे कर सकता है।

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - हमारा कोड ग्रह को नुकसान पहुंचा रहा है, हमें कार्बन जागरूक डिजाइन पैटर्न की आवश्यकता है
Green Software Foundation (GSF) HackerNoon profile picture


आइए एक स्वच्छ, हरित विश्व के निर्माता बनें


मेघ में a . है बड़ा कार्बन पदचिह्न एयरलाइन उद्योग की तुलना में। वाणिज्य और उद्योग को चलाने के लिए सॉफ्टवेयर की बढ़ती मांग के साथ, डेटा संग्रह और भंडारण, क्लाउड कंप्यूटिंग, और एआई के लिए हरित ऊर्जा स्रोतों से बिजली स्रोत और काफी कम कार्बन उत्सर्जन उत्पन्न करने की आवश्यकता है।


बिजली की खपत को ऐसे समय और स्थानों पर स्थानांतरित करके जहां बिजली सबसे स्वच्छ है, प्रोग्रामिंग जलवायु परिवर्तन को कम कर सकती है और हमारे और आने वाली पीढ़ियों के लिए एक स्वच्छ और सुरक्षित भविष्य सुनिश्चित कर सकती है। यह कार्बन अवेयर कंप्यूटिंग है, और इसमें जलवायु-सचेत कोड के साथ कार्बन-मुक्त ऊर्जा को चुनने और अनुकूलित करने में हमारी मदद करके जलवायु परिवर्तन को कम करने में सॉफ्टवेयर विकास को एक महत्वपूर्ण शक्ति बनाने की क्षमता है।


कार्बन अवेयर कंप्यूटिंग 101

वहाँ कार्बन-जागरूक कंप्यूटिंग के कई उदाहरण नहीं हैं - यही कारण है कि __ कार्बन हैक 22 __ जैसी घटनाएं नए विचारों को क्राउड-सोर्सिंग में महत्वपूर्ण हैं और सॉफ्टवेयर प्रोग्रामिंग में नवाचार को तेज करने के लिए ऐसे एप्लिकेशन बनाने के लिए जो जलवायु-सचेत और ऊर्जा-उत्तरदायी दोनों हैं .

ग्रीन सॉफ्टवेयर फाउंडेशन __ कार्बन जागरूकता को अधिक करने के विचार के रूप में चर्चा करता है जब अधिक ऊर्जा कम कार्बन "स्वच्छ" स्रोतों से आती है और जब अधिक ऊर्जा उच्च कार्बन "गंदे" स्रोतों से आती है तो कम करती है। डेवलपर्स के रूप में, हम बिजली की कार्बन तीव्रता (gCO2/kWh) को मापकर और प्रतिक्रिया करके ऐसा कर सकते हैं, जो सॉफ्टवेयर के माध्यम से उत्पन्न कार्बन उत्सर्जन की मात्रा को कम करने के लिए कोड बनाने में मदद कर सकता है।

कार्बन कंप्यूटिंग दृष्टिकोण और अनुप्रयोग


मोटे तौर पर 3 दृष्टिकोण हैं:


  1. स्थान स्थानांतरण: हमारे सॉफ़्टवेयर को स्वच्छ स्थान पर चलाना; ऐसे क्षेत्र से बिजली प्राप्त करना जहां अन्य की तुलना में स्वच्छ ऊर्जा (जैसे, पवन, सौर, पानी) की अधिक आपूर्ति होती है।



2. टाइम शिफ्टिंग: हमारे सॉफ्टवेयर को साफ-सुथरे समय पर चलाना; जब स्वच्छ ऊर्जा हवा, पानी या सौर ऊर्जा द्वारा उत्पन्न की जा रही हो।


  1. डिमांड शेपिंग: हमारे सॉफ्टवेयर को चलाना ताकि बिजली साफ होने पर यह ज्यादा काम करे और गंदे होने पर कम।



विभिन्न डेटा स्रोतों के बावजूद, कार्बन-जागरूक अनुप्रयोगों का निर्माण चुनौतीपूर्ण है, आंशिक रूप से क्योंकि इनमें से कुछ स्रोतों को नेविगेट करना कठिन है। ओपन सोर्स कार्बन अवेयर एपीआई ग्रीन सॉफ्टवेयर फाउंडेशन के ओपन सोर्स वर्किंग ग्रुप की एक परियोजना, इसे आसान बनाती है। यह एपीआई हमें किसी भी समय और किसी भी स्थान पर हमारे एप्लिकेशन की कार्बन तीव्रता (बिजली कितनी हरी या गंदी है) की पहचान, विश्लेषण और भविष्यवाणी करने में मदद करती है और कोड बनाती है जो हमारे सॉफ़्टवेयर को स्थान के आधार पर स्वच्छ ऊर्जा खींचने की अनुमति देती है, जब चलती है हवा चल रही है या सिस्टम को सूर्य की किरणों का पालन करने में सक्षम बनाती है।

एपीआई बेहद सरल है।


यदि आप जाते हैं https://grnsft.org/hack22/api आप इस तरह वेब इंटरफ़ेस देखेंगे:


हम इसे एपीआई से जोड़ सकते हैं जैसे वाटटाइम तथा बिजली के नक्शे , या हमारे अपने डेटासेट के लिए। कार्बन हैक 22 (अब 10 नवंबर, 2022 तक) की अवधि के लिए, कार्बन अवेयर एपीआई होगा वाटटाइम डेटा स्रोत से जुड़ा हुआ है डेवलपर्स के उपयोग के लिए।


टाइम शिफ्टिंग: मेरे सॉफ्टवेयर को चलाने के लिए सबसे अच्छा समय कौन सा है?


समय बदलते समय, आप /emissions/bylocations/best API एंडपॉइंट का उपयोग कर सकते हैं, इसे उस स्थान के साथ प्रदान कर सकते हैं जिसमें आप स्थान फ़ील्ड में रुचि रखते हैं। वर्तमान में, स्थान के नाम Azure क्षेत्र के नामों से मैप किए जाते हैं। आपको वह समय खिड़की भी प्रदान करने की आवश्यकता है जिसके दौरान आप कार्य को स्थानांतरित करने में सक्षम हैं। प्रारंभ समय को समय क्षेत्र में और उसके अंत को समय क्षेत्र में दर्ज करने की आवश्यकता है। प्रदान की गई तिथियां आईएसओ 8601 प्रारूप में होनी चाहिए।

आप सीधे एपीआई से कर्ल अनुरोध के माध्यम से डेटा का अनुरोध कर सकते हैं जैसे:


 curl -X 'GET' \ 'https://carbon-aware-api.azurewebsites.net/emissions/bylocations/best?location=uksouth&time=2022-10-08T00%3A00%2B01%3A00&toTime=2022-10-08T23%3A59%2B01%3A00' \ -H 'accept: application/json'


या यहां तक कि ब्राउज़र में केवल एक सामान्य HTTP GET अनुरोध।


आउटपुट के रूप में, आपको JSON ऑब्जेक्ट्स की एक सरणी प्राप्त होगी, जिसमें स्थान के लिए वाटटाइम क्षेत्र का नाम, डेटा का समय, कार्बन तीव्रता रेटिंग, और अवधि जिसके लिए यह डेटा मान्य है (WattTime 5 मिनट के अंतराल में डेटा प्रदान करता है)। यह डेटा अनुरोधित स्थान के लिए सबसे कम कार्बन रेटिंग होगी। यह क्वेरी 24 घंटे की एकल विंडो से डेटा देखती है, इसलिए सटीक परिणाम प्राप्त करने के लिए आप कई दिनों के लिए डेटा का अनुरोध करना चाह सकते हैं (उदाहरण के लिए, /emissions/bylocations समापन बिंदु को देखकर) और जांचें कि क्या यह एक नहीं है- कार्बन तीव्रता में समय की गिरावट!

 [ { "location": "UK", "time": "2022-10-08T00:45:00+00:00", "rating": 351.98767912, "duration": "00:05:00" }, { "location": "UK", "time": "2022-10-08T00:40:00+00:00", "rating": 351.98767912, "duration": "00:05:00" }, { "location": "UK", "time": "2022-10-08T00:35:00+00:00", "rating": 351.98767912, "duration": "00:05:00" } ]


स्थान स्थानांतरण: मेरे सॉफ़्टवेयर को चलाने के लिए सबसे अच्छा स्थान कहाँ है?


स्थान बदलते समय, आप पहले के समान समापन बिंदु ( /emissions/bylocations/best ) का उपयोग कर सकते हैं, लेकिन इस समय के लिए, अपनी रुचि के कई स्थान और एक ही समय प्रदान करें जिसके दौरान आप देख रहे हैं। नीचे दी गई उदाहरण क्वेरी में यूकेसाउथ, ईस्टस और फ्रांससेंट्रल को ध्यान में रखते हुए कई स्थान प्रदान किए गए हैं। आप इसे टाइम विंडो (इसी तरह टाइम शिफ्टिंग के लिए) या इसके बजाय सिंगल टाइम पॉइंट प्रदान कर सकते हैं, टाइम और टूटाइम फील्ड भर सकते हैं।

आप सीधे एपीआई से कर्ल अनुरोध के माध्यम से डेटा का अनुरोध कर सकते हैं जैसे:

 curl -X 'GET' \ 'https://carbon-aware-api.azurewebsites.net/emissions/bylocations/best?location=uksouth&location=eastus&location=francecentral&time=2022-10-08T09%3A00%2B01%3A00' \ -H 'accept: application/json'


या यहां तक कि ब्राउज़र में केवल एक सामान्य HTTP GET अनुरोध।


आउटपुट के रूप में, आपको प्रतिक्रिया का एक ही प्रारूप प्राप्त होगा, जिसमें सबसे कम कार्बन तीव्रता वाले स्थान होंगे, साथ ही उस रीडिंग के लिए समय, कार्बन तीव्रता का वास्तविक मूल्य, और वह अवधि जिसके लिए यह डेटा मान्य है।

 [  {    "location": "FR",    "time": "2022-10-08T08:00:00+00:00",    "rating": 242.21832558,    "duration": "00:05:00"  } ]


मांग को आकार देना: मैं उपयोगकर्ता के व्यवहार को कैसे समायोजित करूं?


डिमांड शेपिंग को लागू करने के लिए, उपरोक्त प्रश्नों और अन्य के संयोजन का उपयोग करके यह निर्धारित करें कि आपके आवेदन के व्यवहार को सबसे अच्छा कैसे समायोजित किया जाए।

इसकी कल्पना करें!


कल्पना कीजिए कि अगर आपने अभी भी उन ऊर्जा-हॉगर एमएल प्रशिक्षण नौकरियों को पूरा किया है ... कल्पना कीजिए कि यदि आपकी वॉशिंग मशीन केवल उस समय चलती है जब आपका स्थानीय ग्रिड पूरी तरह से हवा से संचालित होता है। कल्पना कीजिए कि आप अपनी सीआई पाइपलाइन को हर दिन एक साथ चलाना चाहते थे, लेकिन यह सुनिश्चित किया कि यह केवल एक उपलब्धता क्षेत्र (देश) में चलती है जो वर्तमान में हरित ऊर्जा द्वारा संचालित है। इन सभी मामलों में, आप पहले की तरह ही उतनी ही ऊर्जा की खपत करेंगे, लेकिन आप बहुत कम ग्रीनहाउस गैस उत्सर्जन उत्पन्न करेंगे।


चाहे आप कार्बन अवेयर एपीआई को मतदान कर रहे हों, इसे स्थानीय कंटेनर में चला रहे हों, या कमांड लाइन टूल (सीएलआई) के रूप में, आप अपने ऐप में ईवेंट को इलेक्ट्रिसिटी ग्रिड में ट्रिगर से जोड़ने के लिए ईवेंट-संचालित विकास के पैटर्न का उपयोग कर सकते हैं। आपका अपना स्थानीय ग्रिड या हरियाली वाला, दूर का ग्रिड।


आपके उपयोग के मामलों के आधार पर, आप संपूर्ण डिवाइस, कंप्यूटिंग कार्य, या एप्लिकेशन को विशेष रूप से अक्षय ऊर्जा पर चलने की अनुमति दे सकते हैं, या तो केवल स्थानीय ग्रिड के हरे होने पर या केवल वर्तमान में हरित ऊर्जा द्वारा संचालित क्षेत्रों से चलने पर।

डिजिटल उत्सर्जन के इंजन को चालू रखने वाले यांत्रिकी होने के बजाय, आइए ऐसे इंजीनियर बनें जो इसे धीमा करने में मदद करते हैं, जबकि शायद पुनर्निर्माण में भी योगदान दे रहे हैं।


कार्बन-जागरूक कंप्यूटिंग टिकाऊ सॉफ्टवेयर इंजीनियरिंग की अगली सीमा है। उद्योग में सबसे प्रभावशाली निर्णय निर्माताओं में से कुछ सॉफ्टवेयर से कार्बन उत्सर्जन को कम करने में रुचि रखते हैं और यह दिखाते हैं कि अपने संसाधनों को उधार देकर और महत्वपूर्ण पुरस्कार राशि का योगदान करके कार्बन हैक 22 . एक्सेंचर, अवानाडे, बोस्टन कंसल्टिंग ग्रुप, ग्लोबेंट, गोल्डमैन सैक्स, इंटेल कॉर्पोरेशन, थॉटवर्क्स, यूबीएस और वीएमवेयर जैसे प्रमुख खिलाड़ी स्थायी प्रौद्योगिकी में अपना सर्वश्रेष्ठ और प्रतिभाशाली हिस्सा ले रहे हैं और सामूहिक रूप से पुरस्कार पूंजी में 100,000 अमरीकी डालर का योगदान दे रहे हैं।


अब यह सॉफ्टवेयर इंजीनियरों का भी काम है कि वे ऐसे समाधान तैयार करें जो लोगों और ग्रह दोनों को कम नुकसान पहुंचाएं। कार्बन-जागरूक कंप्यूटिंग यह है कि सॉफ्टवेयर इंजीनियरों की वर्तमान और भविष्य की पीढ़ी इस लक्ष्य को प्राप्त करने में कैसे मदद कर सकती है। कार्बन अवेयर एपीआई एक्सप्लोर करें तथा कार्बन हैक में भाग लें बिजली की कार्बन तीव्रता को कम करने वाले सॉफ़्टवेयर की बाधाओं को पहचानने और हल करने में लगभग 350 हैकर्स और 70 नवाचारों में शामिल होने के लिए।


ग्रीन सॉफ्टवेयर फाउंडेशन के कार्यकारी निदेशक और अध्यक्ष असीम हुसैन द्वारा लिखित