В качестве программного обеспечения, как и его энергетический аппетит
31 июля 2025 г.С самых ранних дней вычислений мэйнфреймов посредством роста моделей клиентов, ориентированных на обслуживание и архитектуры микросервисов, а теперь и современные системы AI, архитектура программного обеспечения постоянно развивалась для удовлетворения постоянно растущих требований технологического развития. Тем не менее, поддержка этих достижений привела к все более сложным и распределенным системам, что требует непрерывного расширения базовой инфраструктуры. Требуется больше энергии не только для эксплуатации инфраструктуры, но и для поддержки растущих вычислительных рабочих нагрузок, с которыми она должна обрабатывать. В этой статье рассматривается, как эволюция программной архитектуры способствует увеличению потребления энергии.
Эволюция
1960-70-е годы: монолитная архитектура
В первые дни вычислений программные системы обычно создавались в виде монолитных приложений - единовременных кодовых баз с минимальной модульностью. Эти системы работали на мэйнфреймах или ранних мини -компьютерах, где обработка мощности, памяти и хранилища были сильно ограничены. Примечательным примером является IBM 7094, введенный в начале 1960 -х годов, который поддерживал крупные космические миссии, такие как
1980-е: клиентский сервер и многослойная архитектура
Слоистая архитектура, представленная в 1980 -х годах, разделила единую кодовую базу на презентацию, бизнес -логику и уровень доступа к данным. Параллельно, рост персональных вычислений и расширение компьютерных сетей в то же время привело к появлению архитектуры клиентского сервера. Приложения были дополнительно разделены на два различных компонента: интерфейсы на стороне клиента, обрабатывающие взаимодействие пользователей и системы серверов, управляющие бизнес-логикой, обработку данных и хранение.
Этот архитектурный сдвиг внес новый уровень инфраструктуры - сеть, которая принесла дополнительные потребности в энергии для передачи данных и работы системы. В 1999 году Huber and Mills
Потребность в сетевой связи ввела новые источники энергопотребления. Данные должны были быть переданы по сети между клиентом и сервером, что было менее энергоэффективным, чем доступ к локальным данным в мэйнфрейме. Сетевое подключение требовало дополнительного питания и ресурсов ЦП для компонентов, таких как карты сетевого интерфейса, приемопередатчики и стеки протоколов (например, TCP/IP) для управления передачей данных.
Тем не менее, исследования по энергетическим последствиям перехода на многоуровневые архитектуры клиентских серверов остаются ограниченными. Делать окончательные выводы об общем воздействии на энергию является сложным из -за сложного взаимодействия факторов, включая повышение модульности, расширение инфраструктуры и технологические достижения, направленные на снижение потребления энергии аппаратного обеспечения.
Конец 1990-х годов: ориентированная на обслуживание архитектура
Поскольку программные системы выросли в масштабе и сложности, организации начали внедрять ориентированную на обслуживание архитектуру (SOA) для увеличения повторного использования и масштабируемости. В отличие от монолитных систем, SOA разлагает приложения на слабо связанные услуги, распределенные по сети. Это означает, что не только клиенты и серверы распределены по Интернету, но и саму приложение на стороне сервера дополнительно разбито на несколько сервисов, каждый из которых потенциально работает на разных машинах или местоположениях по всей сети.
Это ввело новые требования к инфраструктуре для поддержки межпроводного общения, включая регистрацию обслуживания для обнаружения, протоколы обмена сообщениями (таких как мыло или отдых), механизмы сериализации и пустынь (например, XML или JSON), а также балансировщики нагрузки для управления трафиком между услугами. А
2010s: архитектура микросервисов
Архитектура микросервисов развивалась из архитектуры SOA. Далее он разлагает приложения на более мелкие, независимо развертываемые услуги с каждой службой, обычно поддерживая свою собственную базу данных.
А
Середина 2020-х годов и выше: архитектуры, управляемые ИИ
В то время как ИИ существовал в течение десятилетий, в последние годы генеративный ИИ наблюдал быстрый прогресс. Обучение ИИ требует обширной инфраструктуры для хранения больших наборов данных и нейронных сетей для обработки этих данных. Этот процесс требует значительной вычислительной мощности, часто полагаясь на тысячи графических процессоров в течение недель или даже месяцев. Например, по оценкам, GPT-3 обучения GPT-3 потребляет около 1287 мегаватт-часов электроэнергии, что вроде ежегодного потребления энергии 130 домов в США, согласно
Помимо обучения, использование моделей ИИ для получения результатов (процесс, известный как вывод), также требует существенной инфраструктуры. Для обработки новых входов через обученные нейронные сети необходимы графические процессоры, высокоскоростной памяти и передовые сетевые системы. Эта стадия вывода, особенно в масштабе, продолжает стимулировать высокое потребление энергии.
По мере роста усыновления ИИ его потребности в энергии быстро растут. Алекс де Врис, доктор философии Кандидат в VU Amsterdam,
Заключение
Поскольку архитектура программного обеспечения развивается, чтобы поддержать более умные, более быстрые и более гибкие варианты использования, базовая инфраструктура также растет в геометрической прогрессии. Каждый архитектурный скачок вводил больше слоев, больше услуг и больше зависимостей от оборудования. Это привело к постоянному росту потребления энергии. Чтобы создать устойчивое цифровое будущее, мы должны переосмыслить, как мы разрабатываем и развертывают программное обеспечение. Будущее программного обеспечения должно быть не только интеллектуальным и масштабируемым, но и энергоэффективным.
Оригинал