Автор текста (англ.) Rick Zarr. В тексте встречается слово «я», так вот, к автору перевода это не имеет ни какого отношения…

Остановитесь на минутку и задумайтесь, сколько энергии вы потребляете? Да, лично вы… и ваша семья. Я, например, думаю об этом постоянно. Постоянно выключаю свет, регулирую термостат, просчитываю маршруты поездок для экономии бензина и выключаю телевизор, если его не смотрят. Уверен, что и вы делаете тоже самое. За несколько последних лет сильно увеличились затраты на потребление всех видов энергии и эти затраты постоянно растут. А задумывались ли вы о том, сколько энергии расходуется на «клик» по ссылке веб-страницы или отправка письма по электронной почте? Наверное, нет. До сих пор это «нет» было и у меня.

Я провожу исследования эффективности использования энергия различными системами и процессами при постоянном доступе к веб-сайтам интернета. Недавно на одной из встреч член исполнительного совета заметил, что прикрываясь стоимостью своих персональных компьютеров и широкополосного соединения в интернете скрываются истинные энергетические затраты. А это, прежде всего, сервера и инфраструктура информационных супер-магистралей. Сколько энергии требует ваше желание увидеть последний топ видео на YouTube? Что будет, если Вы не щелкните на эту ссылку? Сколько энергии Вы сэкономите? Сколько углекислого газа не будет выброшено в нашу атмосферу? И я подумал: «Вау» какой интересный вопрос …, можно ли ответить на него немедленно? Вот в чем дело. Это фундаментальная проблема, которую сложно оценить (что никогда меня не останавливало), поэтому здесь мы рассмотрим, что происходит, когда вы посещаете веб-сайт и, приняв некоторые допущения, сделаем разумные выводы. Поехали …

Разберёмся, что происходит при «клике» по ссылке в браузере. Сначала, прежде чем браузер сможет запросить страницу, связанную со ссылкой, он должен подключиться к серверу. Для этого используется протокол транспортного уровня (TCP — Transport Control Protocol), что напоминает телефонный звонок серверу. Как только сервер «ответит» и установит соединение, браузер формирует пакет запроса для получения страницы, связанной со ссылкой. Этот запрос просит сервер отправить содержимое страницы обратно браузеру. Затем, если адрес реальный и страница существует, сервер передаёт поток пакетов контента на языке разметки гипертекста (HTML — Hypertext Markup Language) с идентификаторами допустимости ответа, а также другую информацию, такую как скрипты, мета-данные, форматирование и прочее. Как только весь контент ответа на запрос доставляется браузеру, соединение завершается, а информация преобразуется в то, что пользователь сможет увидеть и прочитать. На самом деле современные браузеры одновременно делают несколько подключений и запросов, рисуют картинки и прочие разделы страницы. Таким образом, рендеринг происходит гораздо быстрее, обеспечивая для пользователя более равномерное проявления образа страницы (см. ниже).

http_transaction_3[1]
Процесс, описанный выше, проходит между двумя компьютерами, как правило, разделённых значительными расстояниями. Очень разумно ожидать, что большинство веб-запросов к серверам осуществляется на расстояниях от сотен до тысяч километров. Между двумя компьютерами разветвлённая сеть коммутаторов и маршрутизаторов — «шоссе» для пакетов данных. Как железнодорожные вагоны, пакеты путешествуют от кабельного модема вашей сети (локальной межсистемной линии) в центральный офис. Там пакеты переходят на уровень более высокой пропускной способности — волоконно-оптической связи (основные железнодорожные линий), где с помощью очень коротких импульсов лазерного света они могут уехать очень-очень далеко. Пакеты могут проходить нескольких крупных коммутационных станций, а затем направляться в местные сети, где и расположены удаленные сервера. Интересно то, что цельное сообщение часто состоит из нескольких пакетов и, как вагоны, могут поступить по разным причинам в точку приёма в разное время. Это происходит из-за различных условий движения по сети и снова, как поезда на железной дороге, данные маршрутизаторы ищут для пакетов наиболее эффективные пути доставки до точки приёма. Одна из задач программы на принимающем компьютере заключается в том, чтобы заново заказать информацию и передать ее на более высокий уровень программного обеспечения для интерпретации.

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

Далее нам потребуется понять сколько пакетов потребуется для передачи содержимого страницы в наш браузер. В нашей «типичной» странице не будет никаких видео, которое воспроизводится, чаще всего, в потоковом режиме при длительном непрерывном соединении (как долгий телефонный разговор с лучшим другом — только с ним можно так долго говорить). Она будет иметь 3 картинки, размером в среднем 100 кБ каждая и около 5 000 символов информации (например, как в Википедии или на странице новостей). Общее содержание страницы будет объёмом примерно 310 кБ для передачи от сервера к браузеру. К серверу от браузера, необходимо передать, как минимум 4 запроса (1 для страницы и 3 для изображений). Запросы занимают лишь около нескольких сотен байт, поэтому будем считать, что для получения одной веб-страницы вместе с запросами потребуется 315 кБ данных (которые включает в себя все затраты на установку соединения) между двумя компьютерами.

Теперь, когда у нас есть понимание сколько информации передается между двумя машинами, нам необходимо понять, сколько потребуется дополнительного сетевого оборудования и маршрутизаторов и какова потребляемая мощность всего этого добра. Предположим, что кабельная сеть, модем, коммутаторы и маршрутизатор одного конца потребляют около 200 Вт. Высокоскоростное соединения в Интернете на стороне маршрутизатора, вероятно, имеет оптоволоконный канал с интерфейсным модулем (еще 100 Вт). Предположим, что пакеты на своем пути 3 раза проходят через различные маршрутизаторы. Для каждого перехода потребуются 2 коробки оптоволоконных модуля и высокоскоростной маршрутизатор (для простоты) общей потребляемой мощностью порядка 300 Вт на каждый переход. Для сервера потребуется один оптоволоконный модуль, маршрутизатор и коммутатор, которые добавляют дополнительные 300 ватт. Таким образом, общая потребляемая мощность сети для нашей транзакции составит примерно 1 500 Вт (1,5 кВт). Кроме того, не надо забывать о средней мощности современного Блейд-сервера — допустим, она составляет в среднем около 50 Вт.

Думаю, что теперь у нас есть цифры, которые позволят получить более-менее достоверную оценку. Нам надо знать, сколько времени необходимо каждой единице оборудования на передачу данных при оценке потребляемой энергии в ватт-часах. Обсудим это для различных скоростей, начиная с кабельной сети. Типичные данные проходя через кабельную сеть системного интерфейса по спецификации (docsis) и через модем будет иметь совокупную пропускную способность около 152 Мбит/с (Мегабит в секунду) от сервера к компьютеру и 108 Мбит/с от компьютера на сервер. Для упрощения расчетов времени передачи пакетов остановиться на том, что в сети при передаче от компьютера к серверу мы будем использовать скорость 108 Мбит/сек. Также мы предполагаем, что используется оптоволокно OC-12 (Optical Carrier 12) со скоростью около 601 Мбит/с (от 622 Мбит/с до 21 Мбит/с всеми накладными расходами). В заключении в локальной сети, внутри инфраструктуры веб-сервера, скорее всего, будет 1 Гбит/с (гигабит в секунду).

Для нормализации всех этих различных скоростно-мощностных показателей, мы воспользуемся метрикой моей компании, National Semiconductor при оценке энергопотребления устройств интерфейса. Приведем наши предположения к единой метрике в единицах энергии на бит (Дж/бит — см. PowerWise® Solution Metrics). Я также упоминал этот метод в предыдущем статье (см. перевод «Эффективность передачи бита). Это позволяет нам значительно упростить вычисления всех различных скоростно-мощностных показателей. В Таблице 1 показано, сколько пикоДж требуется для передачи 1 бита. Полная энергия одного бита составляет примерно 4,6 микроДжоуль на бит.

Таблица 1 — Сетевое потребление электроэнергии
Сетевое оборудование Мощность Скорость передачи данных Потребление, пкДж/бит
Кабель (docsis) 300 Вт 108 Мбит/с 2,8
Оптоволокно (OC-12) 900 Вт (3 х 300) 601 Мбит/с 1,5
Локальная сеть 300 Вт 1000 Мбит/с 0,3
ИТОГО 4,6

Загрузка сервера будет переменной, но мы предполагаем, что сервер полностью загружен и обеспечивает передачу 2 000 страниц в секунду. Ваша страница потребует 1/2000 от 40 ватт или 0.02 ватт-секунд (Джоулей). Теперь давайте посмотрим, что это значит для просмотра вашего веб-страницы.

Мы приходим к выводу, что средний запрос страницы требует около 315,000 байт данных. Вот вам 2,52 х 106 бит. Общая энергия, необходимая для этого составил 4,6 х 10-6 Дж/бит. Умножив эти два числа получим в 11,52 Джоулей. Добавляем энергопотребление сервера 0,02 Джоулей и в итого получаем 11,61 ватт-секунд (Джоулей) для просмотра каждой страницы. Опять же, это не потоковое видео (это рассмотрим в другой статье), а статичная веб-страница. Если теперь вы умножьте это на 1 млн. просмотров, что характерно для среднего города, то получим потребление энергии около 11,610 киловатт в час, чтобы обеспечить передачу данных… Достаточно для обеспечения электричеством примерно 13 американских домохозяйств за месяц! Если один человек просматривает 100 страниц в день, то это, примерно, 323 милливатт-часов энергии, что эквивалентно просмотру телевизора в течение примерно 10 минут — интересное соображение.

Как и ожидалось, вклад отдельного человека крайне мал, но нас миллиарды. Может, у вас есть лучше оценки или вы по другому смотрете на это, то дайте мне знать! До следующего раза…

По мотивам: The True Cost of an Internet “Click”

Print Friendly, PDF & Email

Опубликовано Вадим В. Костерин

ст. преп. кафедры ЦЭиИТ. Автор более 130 научных и учебно-методических работ. Лауреат ВДНХ (серебряная медаль).

Оставьте комментарий

Ваш адрес email не будет опубликован.