Темой ноябрьского номера журнала Computer (IEEE Computer Society, Vol. 37, No. 11, November 2004) являются архитектурные и операционные аспекты современных центров данных.
Приглашенные редакторы тематической части номера – Кришна Кант (Krishna Kant) и Прасант Мохапатра (Prasant Mohapatra). Их вводная заметка так и называется – «Центры данных в Internet» (Internet Data Centers). Традиционно исследования, посвященные сетевым центрам данных, концентрируются вокруг изолированного набора проблем, включающих балансировку и распределение загрузки, организацию Web-серверов, баз данных и серверов приложений. Причинами такого положения дел являются закрытость архитектуры и функционирования коммерческих центров данных, использование собственных сетевых средств и протоколов и потребность в минимизации потенциальных нарушений функционирования в результате применения ненадежной технологии.
Первая категория проблем относится к сетевой среде центров данных. В настоящее время в центрах данных используется Ethernet для обеспечения сетевого трафика и волоконно-оптические каналы для организации среды хранения данных. В кластерных организациях серверов баз данных и приложений для обеспечения быстрых межпроцессных взаимодействий применяются Myrinet, InfiniBand или QsNet. С появлением технологии 10-Gigabit Ethernet и аппаратной реализации основных протоколов становится возможным использовать Ethernet для обеспечения всех видов трафика центра данных. В этом подходе наиболее привлекательным является снижение стоимости, громадный накопленный опыт использования протоколов Ethernet и упрощение сетевой инфраструктуры. Однако для перехода к единой сетевой среде требуется решение ряда проблем: эффективная высокоскоростная реализация основных уровневых протоколов (например, iSCSI, TCP, RDMA и SSL); совершенствование качества обслуживания; усложненные механизмы обеспечения высокой доступности; развитые средства безопасности. Для решения этих проблем требуются исследования в области сетевых протоколов всех уровней.
Вторая категория проблем связана с возможностью перехода от SMP-платформ центров данных к кластерным платформам. К преимуществам кластерных решений относятся возможность инкрементной модернизации, повышенный уровень гибкости, потенциально повышенная отказоустойчивость. Переход к кластерным платформам затрудняется сложностью переноса унаследованных приложений, разработанных и настроенных в расчете на SMP. Кроме того, для истинной реализации потенциала кластерной архитектуры центров данных необходимо решить проблемы автоматизации расчленения приложений, обеспечения служб эффективного совместного использования и репликации данных, служб мониторинга и настройки производительности и служб мониторинга сбоев и восстановления.
Третья категория включает проблемы эффективного использования ресурсов. Обычно центры данных функционируют на очень низком среднем уровне загрузки ресурсов. Отчасти это необходимо для обеспечения резервных мощностей на случай взрывного трафика, однако является и результатом умышленного изолирования приложений для обеспечения более высокого уровня доступности, упрощения диагностирования, поддержки и модернизации. Если бы можно было виртуализировать центр данных с сохранением всех характеристик реального центра, это позволило бы существенно сократить требуемое число серверов с соответствующим снижением стоимости аппаратуры, потребляемой энергии, сетевой инфраструктуры и т.д. Развитие концепции виртуализации приводит к понятию «виртуального кластера», динамически создаваемого из реальных или виртуальных компонентов: машин, устройств, каналов, коммутаторов и маршрутизаторов. Среди проблем организации виртуальных кластеров авторы выделяют организацию предоставления сервисов, особенности соглашений об уровне обслуживания, обеспечение безопасности.
К четвертой категории отнесены проблемы управления инфраструктурой. По мере возрастания размеров и мощности проблемы управления инфраструктурой становятся критичными. Управление запасами аппаратных компонентов усложняется настолько, что требуется автоматизация. Для поддержки операций резервного копирования, модификаций аппаратуры и программного обеспечения, обновления средств защиты от вирусов и т.д. в разнородной программно-аппаратной среде центра данных могут потребоваться новые технологии, алгоритмы и методы управления. Отдельной серьезной проблемой является управление потребляемой мощностью питания и выделяемой тепловой мощностью.
Наконец, к последней, пятой, категории проблем авторы относят проблемы снижения стоимости функционирования. По мере того, как центры данных обеспечивают больший трафик, более сложные услуги и более развитую функциональность, все более существенной частью общей стоимостью владения (Total Cost Ownership, TCO) становится стоимость функционирования и управления (Operation & Management, O&M). В современных центрах данных O&M составляет около 80% от TCO. Это обстоятельство привело к направлению самонастраивающихся (autonomic) компьютерных систем. По отношению к центрам данных требуются самомониторинг, самоконфигурирование, самооптимизация, самовосстановление и самозащита.
Статья «SoftUDC: программно поддерживаемый центр данных для 'коммунальных вычислений'» (SoftUDC: A Software-Based Data Center for Utility Computing) представлена девятью авторами из HP Labs. Первый в списке авторов – Махеш Каллахалла (Mahesh Kallahalla). Типичная корпоративная ИТ-среда включает многочисленные независимые и распределенные серверы, сети и устройства хранения данных. Для повышения эффективности потребители все чаще желают иметь единое средство управления этими разнородными системами. Подход Utility Computing облегчает достижение этой цели, агрегируя все такие системы в единый пул ресурсов с централизованным управлением. Для соответствия ожиданиям пользователей среда Utility Computing должна соответствовать нескольким ключевым требованиям:
- единообразное управление, т.е. обеспечение ИТ-администраторов единым пунктом управления инфраструктурой; наличие центральной консоли упрощает администрирование и позволяет автоматизировать многие задачи;
- независимость от физической конфигурации, т.е. предоставление администратору возможности развертывания приложений и изменения конфигураций систем без потребности физической переделки инфраструктуры;
- совместное использование ресурсов несколькими приложениями; причем предоставляемые им виртуальные ресурсы могут превышать возможности физических ресурсов;
- изолирование ресурсов, т.е. обеспечение полного административного контроля и создание для иллюзии полного владения ресурсами.
В разработанном в HP Labs центре данных SoftUDC эти требования удовлетворяются благодаря виртуализации серверных и сетевых ресурсов, а также ресурсов хранения данных. В основе данной разработки лежит монитор виртуальных машин (Virtual Machine Monitor, VMM), выполняемый на каждом сервере. VMM поддерживает выполнение нескольких виртуальных машин, обеспечивая каждую виртуальную машину виртуальными сетевыми ресурсами и ресурсами хранения данных, и связывает несколько виртуальных машин, выполняемых на разных серверах, в изолированную виртуальную ферму. Управляющая система SoftUDC охватывает своими действием все экземпляры VMM, обеспечивая единую консоль, с которой администратор может развертывать службы и модифицировать виртуальные фермы без потребности реконфигурирования физической инфраструктуры. Автоматизируются многие административные задачи, включая развертывание новых приложений и динамическую балансировку загрузки. К каждому экземпляру VMM добавляется сторож (gatekeeper), который служит посредником для всего ввода-вывода и сетевого трафика, генерируемых виртуальными машинами. Этот компонент обеспечивает управление доступом и обеспечивает коммуникации и безопасный ввод-вывод.
Следующая статья называется «Нагрузка TCP для серверов центров данных» (TCP Onloading for Data Center Servers). У статьи восемь авторов, которые представляют корпорацию Intel; вновь укажу только первого в списке: Грег Регнаер (Greg Regnier). Исследования авторов статьи показали, что при обработке прикладных данных на основе протоколов стека TCP/IP (при использовании Gigabit Ethernet) при полной загрузке процессора удается получить пропускную способность около 750 Мбит/с при приеме данных и 1 Гбит/с при передаче. Это делает проблематичным эффективную поддержку TCP/IP для 10-Gigabit Ethernet. В настоящее время обсуждается и начинает внедряться подход к разгрузке серверов от обработки пакетов TCP/IP и передаче этой работы на специализированные периферийные процессоры. Аргументом в его пользу является повышение пропускной способности сети сервера с одновременным снижением загрузки центрального процессора. Как утверждают авторы статьи, отрицательные факторы подхода связаны с масштабируемостью, гибкостью, расширяемостью и стоимостью. Специализированные устройства не подчиняются закону Мура, ориентированному на процессоры общего назначения, и всегда будут обладать ограниченной производительностью. Авторы предлагают альтернативное решение проблемы, при котором обслуживание TCP/IP возлагается на один из процессорных элементов «сотового мультипроцессора» (Cellular MultiProcessor, CMP).
Статья «Вычисления, ориентированные на восстановление: создание многозвенной функциональной надежности» (Recovery-Oriented Computing: Building Multitier Dependability) написана Жоржем Кандэ (George Candea), Ароном Брауном (Aaron Brown), Армандо Фоксом (Armando Fox) и Дэвидом Паттерсоном (David Patterson). Описываются некоторые результаты проекта Recovery-Oriented Computing, совместно реализуемого Стэндфордским университетом и Университетом Беркли. В проекте исследуются методы быстрого восстановления систем после сбоев, нарушающих жизнеспособность системы. Доступность системы обычно оценивается как MTTF/(MTTF+MTTR) (MTTF – Mean Time To Failure, «среднее время до отказа»; MTTR – Mean Time To Recovery, «среднее время до восстановления»). За последние десятилетия удалось существенно повысить MTTF, и для приближения к 100% доступности нужно уменьшать MTTR. Описываются два прототипа, оба ориентированные на среду Web.
У последней статьи подборки – «Управление мощностью и энергией для серверных систем» (Power and Energy Management for Server Systems) – два автора: Рикардо Бьянчини (Ricardo Bianchini) и Рэм Раджамони (Ram Rajamony). Серверная архитектура крупных центров данных включает кластеры из сотен, а иногда тысяч серверов. Для таких центров данных ключевой проблемой является энергопотребление. Для систем с высоким пиковым потреблением энергии требуются сложные и дорогостоящие системы охлаждения, которые, в свою очередь, потребляют энергию. Стоимость оборудования, обеспечивающего питание и охлаждение, вместе со стоимостью электроэнергии составляет до 63% полной стоимости владения физической ИТ-инфраструктуры. Обсуждаются особенности управления энергией для серверов, демонстрируется слабая применимость методов, которые пригодны в не серверных конфигурациях (в частности, динамическое масштабирование напряжения и автоматическое переключение аппаратуры в пассивное/активное состояние).
В номере содержатся также две больших статьи, не относящихся к тематике центров данных. Пол Розенблюм (Paul Rosenbloom) опубликовал статью «Новая структура для компьютерной науки и инженерии» (A New Framework for Computer Science and Engineering). Традиционное разделение компьютерных исследований на науку и инженерию успешно приводит к образованию групп по интересам, но в тоже время способствует изоляции областей науки и происходящих из них систем. Для более эффективной организации компьютерной науки и инженерии требуется междисциплинарная структура, сочетающая академические и системно-ориентированные аспекты. В этой структуре компьютерные наука и инженерия обюединяются, а затем заново разделяются на компоненты анализа и синтеза. Разделение основывается на той концепции, что наука посвящена анализу и пониманию, а инженерия – воображению и построению. В докомпьютерную эру имелись три основные научные области: физические науки (P), науки о жизни (L) и общественные науки (S). С появлением компьютеров образовалась четвертая область – компьютерные науки (C). Однако в действительности новая область существует не изолированно, а в связи с другими областями. Таким образом, можно говорить о «бинарной» компьютерной науке, состоящей из ветвей P+C, L+C, S+C и C+C. В университете фжной Калифорнии обучение компьютерной науке теперь разбивается на четыре направления, которые в совокупности почти покрывают области бинарной компьютерной науки. Направление вычислений (Computation) посвящается вычислительному моделированию и новым вычислительным моделям, в особенности, нейронным и генетическим моделям. Направление взаимодействий (Interaction) включает согласованное исследование распределенной информационной технологии. Направление самоуправления (Autonomy) ориентировано на технологию встроенных интеллектуальных агентов. Наконец, направление погружения (Immersion) направлено на изучение взаимодействий между людьми, вычислениями и миром. В обучении компьютерной инженерии применяется тот же междисциплинарный подход, в большей степени системно-ориентированный.
Еще одна статья, написанная Майком О'Нилом (Mike O'Neal), называется «Реструктуризация компьютерных программ для противодействия проблемам занятости» (Restructuring Computing Programs to Meet Employment Challenges). В 2002 году только 2,2% первокурсников планировали специализироваться в области компьютерных наук, в то время как в 2000 году такое желание высказывали 3,7% поступивших в американские университеты. Причины кроются в том, что число предлагаемых рабочих мест для дипломированных выпускников университетов сократилось в 2002-2003 годы на 6%, а предлагаемая заработная плата – на 4,4% (до 47419 долл. в год). Автор не претендует на общность предлагаемого им решения, а лишь описывает опыт своего небольшого провинциального технического университета. В этом вузе, во-первых, были обюединены факультеты компьютерных наук и компьютерной инженерии. Во-вторых, в учебных программах был сделан акцент на предметы, способствующие работе в режиме аутсорсинга. Наконец, в исследовательских проектах университета стали преобладать междисциплинарные направления, для которых проще получить финансирование. Основная мораль статьи состоит в том, что при наступлении неблагоприятных изменений нужно не отчаиваться, а приспосабливаться.
До следующей встречи, Сергей Кузнецов (kuzloc@ispras.ru).