Наш код наносит вред планете, нам нужны шаблоны проектирования, учитывающие выбросы углерода

Наш код наносит вред планете, нам нужны шаблоны проектирования, учитывающие выбросы углерода

22 октября 2022 г.

<цитата>

Давайте создадим более чистый и экологичный мир

Облако имеет больший углеродный след чем в авиационной отрасли. В связи с растущим спросом на программное обеспечение для развития торговли и промышленности возрастает актуальность сбора и хранения данных, облачных вычислений и искусственного интеллекта для получения электроэнергии из экологически чистых источников энергии и значительного сокращения выбросов углекислого газа.

Перемещая потребление электроэнергии на время и в места, где электричество является самым чистым, программирование может смягчить изменение климата и обеспечить более чистое и безопасное будущее для нас и будущих поколений. Это технология Carbon Aware Computing, которая может сделать разработку программного обеспечения решающим фактором в борьбе с изменением климата, помогая нам выбирать и оптимизировать безуглеродную энергию с помощью кода, учитывающего климат.

Вычисления с учетом выбросов углерода 101 n

Существует не так много примеров вычислений с учетом выбросов углерода, поэтому такие события, как __Carbon Hack 22 __, имеют важное значение. в краудсорсинге новых идей и ускорении инноваций в программировании программного обеспечения для создания приложений, учитывающих как климат, так и энергопотребление. п

Green Software Foundation __обсуждает __осведомленность об углероде как идею делать больше, когда больше энергии поступает из низкоуглеродных «чистых» источников и делать меньше, когда больше энергии поступает из «грязных» источников с высоким содержанием углерода. Как разработчики, мы можем сделать это, измеряя и реагируя на углеродоемкость электроэнергии (гCO2/кВтч), что может помочь в создании кода для сокращения количества выбросов углерода, создаваемых программным обеспечением.

Подходы к вычислениям углерода и amp; Приложение

В целом существует 3 подхода:

  1. Смена местоположения: запуск нашего программного обеспечения в более чистом месте; получение электроэнергии из региона, где более чистая энергия (например, энергия ветра, солнца, воды) больше, чем в других.

n 2.Сдвиг во времени: запуск нашего программного обеспечения в более чистое время; когда чистая энергия вырабатывается за счет энергии ветра, воды или солнца.

  1. Формирование спроса: запускаем наше программное обеспечение, чтобы оно делало больше, когда электричество чистое, и меньше, когда оно грязное.

Создание приложений с учетом выбросов углерода является сложной задачей, несмотря на различные источники данных, отчасти потому, что в некоторых из этих источников трудно ориентироваться. Carbon Aware API с открытым исходным кодом, проект Рабочей группы по открытому исходному коду Green Software Foundation, позволяет Полегче. Этот API помогает нам определять, анализировать и прогнозировать углеродоемкость (насколько экологично или грязно электричество) нашего приложения в любой момент времени и в любом заданном месте, а также создавать код, который позволяет нашему программному обеспечению получать чистую энергию в зависимости от местоположения, запускаться, когда дует ветер или включить системы, чтобы следовать за солнечными лучами.

API чрезвычайно прост.

Если вы посетите https://grnsft.org/hack22/api, вы увидите веб-интерфейс, подобный так:

Мы можем подключить его к таким API, как Watttime и < a href="https://app.electricitymaps.com/map">Electricity Maps или в наши собственные наборы данных. На время Carbon Hack 22 (теперь до 10 ноября 2022 г.) Carbon Aware API будет подключен к данным WattTime. источник для использования разработчиками.

n Сдвиг во времени: В какое время лучше всего запускать мое программное обеспечение?

При смещении во времени вы можете использовать конечную точку API /emissions/bylocations/best, указав интересующее вас местоположение в поле location. В настоящее время имена расположений сопоставляются с именами регионов Azure. Вам также необходимо указать временное окно, в течение которого вы можете переместить задание. Время начала необходимо ввести в поле время, а время окончания — в поле toTime. Даты должны быть в формате ISO 8601.

Вы можете напрямую запрашивать данные из API с помощью запроса Curl следующим образом:

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 для местоположения, временем получения данных, рейтингом интенсивности выбросов углерода и продолжительностью, в течение которой эти данные действительны (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), но на этот раз укажите несколько интересующих вас местоположений и одно время, в течение которого вы ищете. В приведенном ниже примере запроса указано несколько местоположений с учетом uksouth, eastus и francecentral. Вместо этого вы можете указать временное окно (аналогично смещению времени) или один момент времени, заполнив поля time и toTime. п

Вы можете напрямую запрашивать данные из API с помощью запроса Curl следующим образом:

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"

  }

]

Формирование спроса. Как изменить поведение пользователей?

Чтобы реализовать формирование спроса, используйте комбинацию вышеуказанных и других запросов, чтобы определить, как лучше всего настроить поведение вашего приложения.

Представьте себе это!

Представьте, если бы вы все еще выполняли эти энергосберегающие учебные задания по машинному обучению... но только тогда, когда электросеть, питающая их, работала на возобновляемых источниках энергии. Представьте, если бы ваша стиральная машина работала только в то время, когда ваша местная сеть полностью питалась от ветра. Представьте, что вы хотите запускать конвейер CI одновременно каждый день, но гарантировали, что он работает только в зоне доступности (стране), в которой в настоящее время используется зеленая энергия. Во всех этих случаях вы по-прежнему будете потреблять столько же энергии, сколько и раньше, но будете производить гораздо меньше парниковых газов.

Независимо от того, опрашиваете ли вы Carbon Aware API, запускаете его в локальном контейнере или в качестве инструмента командной строки (CLI), вы можете использовать шаблоны разработки, управляемой событиями, для связи событий в вашем приложении с триггерами в электросети. Ваша собственная локальная сетка или более зеленая, удаленная.

В зависимости от ваших вариантов использования вы можете разрешить всему устройству, вычислительному заданию или приложению работать исключительно на возобновляемых источниках энергии, либо запуская их только тогда, когда локальная сеть является зеленой, либо работая только из зон, которые в настоящее время питаются зеленой энергией. п

Вместо того, чтобы быть механиками, которые поддерживают работу двигателя цифровых выбросов, давайте будем инженерами, которые помогут замедлить его и, возможно, даже внести свой вклад в восстановление.

Вычисления с учетом выбросов углекислого газа — это следующий рубеж устойчивой разработки программного обеспечения. Некоторые из наиболее влиятельных лиц, принимающих решения в отрасли, заинтересованы в сокращении выбросов углерода от программного обеспечения и демонстрируют это, предоставляя свои ресурсы и внося значительный призовой фонд Carbon Hack 22. Ключевые игроки, такие как Accenture, Avanade, Boston Consulting Group, Globant, Goldman Sachs, Intel Corporation, Thoughtworks, UBS и VMWare, участвуют в разработке устойчивых технологий и совместно вносят 100 000 долларов США в призовой фонд.

Теперь инженеры-программисты также должны создавать решения, которые наносят меньший вред как людям, так и планете. Углеродные вычисления — это то, как нынешнее и будущие поколения инженеров-программистов могут помочь в достижении этой цели. Изучите API Carbon Aware и примите участие в Carbon Hack, чтобы присоединиться к почти 350 хакерам и 70 инновациям в выявлении и устранении барьеров на пути к программному обеспечению, снижающему углеродоемкость электричества.

:::подсказка Написано Асимом Хуссейном, исполнительным директором и председателем Green Software Foundation

:::


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE