В качестве программного обеспечения, как и его энергетический аппетит

В качестве программного обеспечения, как и его энергетический аппетит

31 июля 2025 г.

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

Эволюция

1960-70-е годы: монолитная архитектура

Monolithic ArchitectureВ первые дни вычислений программные системы обычно создавались в виде монолитных приложений - единовременных кодовых баз с минимальной модульностью. Эти системы работали на мэйнфреймах или ранних мини -компьютерах, где обработка мощности, памяти и хранилища были сильно ограничены. Примечательным примером является IBM 7094, введенный в начале 1960 -х годов, который поддерживал крупные космические миссии, такие какБлизнецыиАполлонтолько с150 КБ памятиПолем В сочетании с использованием высоко оптимизированного кода языка сборки, централизованная модель выполнения ранних монолитных архитектур минимизирует сетевые накладные расходы и уменьшенное дублирование ресурсов. Это привело к более эффективному использованию ограниченных ресурсов обработки и памяти, доступных на мэйнфреймах и мини -компьютерах. В результате ранние вычислительные среды достигли более низкого общего потребления энергии на операцию по сравнению с распределенными, сетевыми архитектурами, обычными сегодня. АнонцаСтатья IBMСодержит, что консолидация рабочих нагрузок на пять систем мэйнфреймов IBM Z16, выпущенных в 2022 году, вместо того, чтобы запустить их на серверах x86 в аналогичных условиях, может снизить потребление энергии до 75%.

1980-е: клиентский сервер и многослойная архитектура

Client-Server & Layered ArchitectureСлоистая архитектура, представленная в 1980 -х годах, разделила единую кодовую базу на презентацию, бизнес -логику и уровень доступа к данным. Параллельно, рост персональных вычислений и расширение компьютерных сетей в то же время привело к появлению архитектуры клиентского сервера. Приложения были дополнительно разделены на два различных компонента: интерфейсы на стороне клиента, обрабатывающие взаимодействие пользователей и системы серверов, управляющие бизнес-логикой, обработку данных и хранение.

Этот архитектурный сдвиг внес новый уровень инфраструктуры - сеть, которая принесла дополнительные потребности в энергии для передачи данных и работы системы. В 1999 году Huber and Millsзаявленочто 8% электроэнергии в США потребляли интернетом и интернет-устройствами. Хотя с тех пор эта цифра была широкоопровергнут, с более точными оценками, ставя его ближе к 1%, статья подняла важный момент, что сетевая связь по своей природе требует большей энергии. Например, было подсчитано, что создание, упаковка, хранение и передача всего 2 мегабайта данных может потреблять энергетический эквивалент сжигания одного фунта угля.

Потребность в сетевой связи ввела новые источники энергопотребления. Данные должны были быть переданы по сети между клиентом и сервером, что было менее энергоэффективным, чем доступ к локальным данным в мэйнфрейме. Сетевое подключение требовало дополнительного питания и ресурсов ЦП для компонентов, таких как карты сетевого интерфейса, приемопередатчики и стеки протоколов (например, TCP/IP) для управления передачей данных.

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

Конец 1990-х годов: ориентированная на обслуживание архитектура

Service-Oriented ArchitectureПоскольку программные системы выросли в масштабе и сложности, организации начали внедрять ориентированную на обслуживание архитектуру (SOA) для увеличения повторного использования и масштабируемости. В отличие от монолитных систем, SOA разлагает приложения на слабо связанные услуги, распределенные по сети. Это означает, что не только клиенты и серверы распределены по Интернету, но и саму приложение на стороне сервера дополнительно разбито на несколько сервисов, каждый из которых потенциально работает на разных машинах или местоположениях по всей сети.

Это ввело новые требования к инфраструктуре для поддержки межпроводного общения, включая регистрацию обслуживания для обнаружения, протоколы обмена сообщениями (таких как мыло или отдых), механизмы сериализации и пустынь (например, XML или JSON), а также балансировщики нагрузки для управления трафиком между услугами. АизучатьПроведенный Freie Universität Berlin в 2003 году подчеркнул проблемы этого перехода, отметив, что веб -сервисы значительно увеличивают сетевой трафик и наложили дополнительные накладные расходы на серверы из -за необходимости анализировать сериализованные форматы данных, такие как XML. Эти операции потребляли больше циклов процессора и пропускной способности сети, чем традиционные функциональные вызовы в процессе, в конечном итоге способствовали более высокому потреблению энергии.

2010s: архитектура микросервисов


Microservices ArchitectureАрхитектура микросервисов развивалась из архитектуры SOA. Далее он разлагает приложения на более мелкие, независимо развертываемые услуги с каждой службой, обычно поддерживая свою собственную базу данных.

АСравнительное исследование производительностиОпубликованные в журнале объектной технологии показали, что микросервисы потребляют примерно на 20% больше ЦП, чем монолитные системы для той же рабочей нагрузки. ДругойСравнительный анализМежду монолитическими и микросервисными архитектурами показывают микросервис, потребляемый примерно на 43,79% больше энергии на транзакцию, чем его монолитный аналог. Этот архитектурный сдвиг вносит значительно больше взаимосвязи между услугами, чем традиционная SOA, наряду с удаленными вызовами базы данных. В то время как традиционная архитектура клиентского сервера может потребовать лишь нескольких сетевых вызовов для выполнения запроса, система на основе микросервисов может привлечь сотни таких вызовов, что приведет к значительно более высокому потреблению сетевых ресурсов.

Середина 2020-х годов и выше: архитектуры, управляемые ИИ

AI-Driven ArchitecturesВ то время как ИИ существовал в течение десятилетий, в последние годы генеративный ИИ наблюдал быстрый прогресс. Обучение ИИ требует обширной инфраструктуры для хранения больших наборов данных и нейронных сетей для обработки этих данных. Этот процесс требует значительной вычислительной мощности, часто полагаясь на тысячи графических процессоров в течение недель или даже месяцев. Например, по оценкам, GPT-3 обучения GPT-3 потребляет около 1287 мегаватт-часов электроэнергии, что вроде ежегодного потребления энергии 130 домов в США, согласно2022 Исследованиеи данные изАдминистрация энергетической информации СШАПолем

Помимо обучения, использование моделей ИИ для получения результатов (процесс, известный как вывод), также требует существенной инфраструктуры. Для обработки новых входов через обученные нейронные сети необходимы графические процессоры, высокоскоростной памяти и передовые сетевые системы. Эта стадия вывода, особенно в масштабе, продолжает стимулировать высокое потребление энергии.

По мере роста усыновления ИИ его потребности в энергии быстро растут. Алекс де Врис, доктор философии Кандидат в VU Amsterdam,оцененныйВ статье в 2023 году в Джоуле система ИИ может в конечном итоге потреблять столько электроэнергии ежегодно, сколько Ирландия, если текущие тенденции роста будут продолжаться.

Заключение

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


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