Зеленое кодирование — Райан Манган: Роль энергоэффективности в развитии

Повышение точности и надежности LLM

Это гостевой пост в серии рассказов «Зеленое кодирование», написанный Райан Манган, FBCS CITP.

Манган — центр обработки данных и облачный евангелист… и основатель Efficient Ether.

Efficient Ether — это стартап, целью которого является изменение управления затратами на облако, XaaS (все как услуга) и охраны окружающей среды для компаний любого размера.

Манган полностью пишет ниже следующее:

Глобальное потепление и его воздействие на окружающую среду — это фразы, которые мы слышим часто, и по мере того, как растет понимание этих проблем, растет и важность их решения. Значимость сокращения выбросов углекислого газа стала неоспоримой, и ИТ-индустрия поворачивается к более устойчивым практикам. Среди них выделяется зеленое кодирование, подчеркивающее роль энергоэффективности на протяжении всего жизненного цикла разработки программного обеспечения. Он демонстрирует, как осознанные методы кодирования могут оказать существенное влияние, демонстрируя, что даже самые незначительные изменения в коде могут значительно снизить воздействие организации на окружающую среду.

Мудрый выбор языков программирования

Когда дело доходит до энергопотребления, не все языки программирования одинаковы. Некоторые из них по своей сути предназначены для более эффективного выполнения задач с минимальным использованием ресурсов. Напротив, другие могут быть более ресурсоемкими.

Такие языки, как C и Rust, известны своей эффективностью производительности, что приводит к более низкому энергопотреблению. С другой стороны, интерпретируемые языки, такие как Python, хотя и популярны, очень универсальны и удобны для пользователя, могут быть не такими энергоэффективными из-за их требования к обработке во время выполнения. Однако выбор языка также зависит от контекста приложения, его требуемой производительности, масштабируемости и ремонтопригодности.

Исследования, такие как результаты, представленные в исследовании Green Lab Перейра и др., 2017 г., являются ценным ресурсом в этих дискуссиях. Он проливает свет на то, как различные языки программирования работают с точки зрения энергопотребления, предоставляя разработчикам ценную информацию и помогая им принимать обоснованные решения, которые могут иметь положительное или отрицательное влияние на выбросы.

Рекомендации по процессам разработки

Но энергоэффективное программное обеспечение выходит за рамки выбора языков программирования.

Это [energy-efficient software] также предполагает широкий спектр лучших практик и соображений, которые могут значительно снизить энергопотребление программы. Одним из примеров оптимизации является переход от обработки отдельных запросов к пакетной обработке. Хотя пакетная обработка, если она не оптимизирована, потенциально может привести к увеличению использования ЦП и памяти, эффективно управляемые пакетные операции могут значительно сократить энергопотребление приложения. Объединяя задачи и сводя к минимуму повторяющиеся накладные расходы, связанные с отдельными запросами, пакетная обработка может оптимизировать вычислительные рабочие процессы, тем самым экономя энергию. Оптимизация кода и общих процессов может помочь снизить энергопотребление приложения, а также общую производительность приложения.

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

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

Влияние ИИ на зеленое кодирование

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

Как упоминалось Штрубеллом и соавт. (2019), важно обеспечить, чтобы усилия в области ИИ соответствовали экологическим стандартам кодирования и способствовали экологической ответственности. Использование таких методов, как поиск-дополненная генерация (RAG) и стратегии интеллектуального кэширования, дает некоторые перспективы в оптимизации использования ИИ, минимизации ненужных вычислений и предоставлении более кратких и контекстуально релевантных результатов, уменьшая необходимость повторения задач для проверки, что, естественно, потребует больше ресурсов.

Стратегическое размещение

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

Эти регионы отличаются благоприятными рейтингами эффективности использования энергии (PUE), что свидетельствует о более устойчивом подходе к хостингу приложений. Пока докторБлагодаря общим отраслевым знаниям, в том числе полученным в результате таких инициатив, как Microsoft Azure Cloud (блог Microsoft Azure, 2022 г.), разработчикам следует рассмотреть возможность определения приоритетности размещения ресурсов в центрах обработки данных, которые демонстрируют эффективное использование энергии. Выбирая места, где возобновляемые источники энергии имеются в изобилии, а рейтинги PUE впечатляют, застройщикам следует рассмотреть возможность согласования своих стратегий размещения с целями устойчивого развития, гарантируя, что их выбор соответствует экологическим целям.

Завершающие моменты

Райан Манган, центр обработки данных и облачный евангелист… и основатель Efficient Ether.

Стремление к повышению энергоэффективности в программировании — это больше, чем просто техническая/бизнес-задача; это также можно рассматривать как моральное обязательство перед лицом глобальных экологических проблем. Применяя методы «зеленого» кодирования, разработчики и организации могут добиться ощутимых результатов, сократив выбросы углекислого газа в ИТ-индустрии и внеся вклад в более устойчивое будущее.

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

Рекомендации

Перейра Р., Коуту М., Рибейро Ф., Руа Р., Кунья Дж., Фернандес Дж. П. и Сарайва Дж. (Год). Энергоэффективность в языках программирования.

Штрубелл Э., Ганеш А. и МакКаллум А. (2019). Энергетические и политические аспекты глубокого обучения в НЛП. arXiv: 1906.02243.

Блог Microsoft Azure. (2022). Как Microsoft измеряет потребление воды и энергии в центрах обработки данных, чтобы повысить устойчивость облака Azure. Microsoft Azure.

Поделиться в соцсетях