Обратная виртуализацияВ словаре Jargon File хакеров из Массачусетского технологического института «большим железом» (Big iron) иронично называют мэйнфреймы и суперсерверы. Сегодня кластеры вытеснили это «большое железо» из списка высокопроизводительного оборудования, однако у Big iron не было конкурентов при выполнении ответственных приложений и больших баз данных. Появление новых технологий виртуализации может изменить эту ситуацию, еще раз потеснив «большое железо»: коммодитизация распространится и на эту область.

Ограниченное многообразие

Видимое разнообразие технологий виртуализации серверов не так уж велико и в конечном счете сводится к нескольким методам преобразования из категории «один во много» (one to many). Однако виртуализация по определению предполагает еще и обратное действие – «много в один» (many to one), и недавно появились соответствующие технологии, предлагаемые компаниями ScaleMP, 3Leaf и RNA Networks.

Усилиями VMware, Citrix и еще нескольких компаний сегодня сложилось господствующее представление о том, что такое виртуализация серверов, – один физический сервер с помощью гипервизора одного из двух типов делится на множество логических виртуальных машин. Это действие называют делением «одного на много» или декомпозицией (partitioning). По исполняемым приложениям серверы между собой не связаны, поэтому виртуализация в такой постановке удачно подходит для масштабирования по горизонтали (scale out) – развитие сводится к увеличению числа независимых друг от друга серверов. Серверы, входящие в один пул, могут обмениваться виртуальными машинами, управляться общей облачной операционной системой, но не могут объединять свои ресурсы для решения задач в общей памяти. Работа с непрерывными большими разделами памяти (large-memory footprint) была и остается нишей, где серверы стандартной архитектуры по-прежнему уступают SMP-серверам, невзирая на рост их числа и производительности.

Положение могло бы измениться в пользу стандартных серверов, если бы появились технологии виртуализации, способные осуществлять обратную функцию, не декомпозицию, а агрегацию (aggregartion), собирая несколько физических серверов в один логический суперсервер. Такая виртуализация позволила бы вернуться к масштабированию по вертикали (scale up), реализуемому в SMP-серверах, и тогда дешевые стандартные серверы смогли бы составить конкуренцию дорогим серверам, выпускаемым сегодня такими компаниями, как IBM, HP, Fujitsu и Unisys.

А почему для объединения «много в один» возникает потребность в виртуализации, иначе говоря, почему на процессорах x86 не удается построить SMP-серверы с сотнями ядер так, как это давно делается на RISC-процессорах? Дело в том, что сохраняющееся деление процессоров на два класса и доминирующее положение RISC в сегменте «тяжелых серверов» объясняется издержками, являющимися следствием непрерывной гонки производителей x86 за законом Мура, которые вынуждены обновлять процессоры каждые 18 месяцев. Отсюда чередование усовершенствований в архитектуре и в технологии. Но этот срок в два раза меньше времени, необходимого для создания нового SMP-сервера, на проектирование которого уходит не менее трех лет. Из-за такой гонки процессоры х86 по своим системным качествам уступают Power, Itanium или SPARC, и даже менее производительные на определенных тестах RISC-процессоры лучше приспособлены к работе в составе системы. Если в серверах стандартной архитектуры число процессоров измеряется единицами (исключение составляют продукты Unisys и некоторые модели от IBM), то в Unix-серверах – сотнями. Следует учесть и то, что отношение цена/производительность резко возрастает с увеличением числа процессоров – 8-процессорный стандартный сервер стоит не в восемь раз дороже однопроцессорного, а больше. Отсюда следует простой вывод: если мы хотим создать SMP-сервер на процессорах Intel или AMD по приемлемой цене, то необходимо использовать агрегирующие технологии виртуализации.

Каждая из трех компаний – ScaleMP, 3Leaf и RNA Networks – предложила свой собственный подход к решению проблемы сборки «много в один». До сих пор агрегация преимущественно использовалась при виртуализации систем хранения данных, позволяя представить набор накопителей в виде единого массива данных с централизованным управлением и распределенным доступом. И вот теперь нечто подобное предлагается в приложении к серверам стандартной архитектуры. Агрегационный подход открывает возможность для создания высокопроизводительных конфигураций из дешевых серверов, которые при переносе в облака будут в принципе способны решать задачи, требующие больших объемов памяти.

ScaleMP

Компания ScaleMP достигла наибольших результатов. В предложенной ею архитектуре (рис. 1) агрегации используются только стандартные серверы и стандартные межсоединения, все вместе образующие виртуальный SMP-сервер. При сравнении этой архитектуры с традиционной схемой SMP можно обнаружить два отличия. Во-первых, в качестве межсоединений используется InfiniBand, а во-вторых, поверх всех серверов работает гипервизор vSMP Foundation, образующий прослойку между оборудованием и операционной системой.

Гипервизор имеет три редакции: vSMP Foundation for SMP, vSMP Foundation for Cluster и vSMP Foundation for Cloud. Все они допускают сборку до 128 ядер процессора Nehalem 55хх и поддерживают до 4 Тбайт суммарной общей памяти, но отличаются в практической реализации. В основе различных редакций vSMP Foundation лежит общая для них архитектура Versatile SMP (vSMP), предназначенная для замены дорогого и сложного аппаратного решения SMP (специализированный чипсет) программным в сочетании со стандартным межсоединением, например InfiniBand. Понятно, что замена аппаратного решения программным отнимает часть ресурсов процессора и оперативную память, но, по утверждению разработчиков, эта часть незначительно мала. Решение vSMP собирает входящие в стойку серверы-лезвия в один SMP-образ.

Объединение процессоров х86, используемое в vSMP, поддерживается спецификацией Intel MultiProcessor Specification, известной еще с середины 90-х годов, но тогда не было аппаратных решений, способных объединить до 255 процессоров в одну систему, и этот потенциал процессоров х86 не использовался. Шаи Фулхайм, основатель и президент компании ScaleMP, автор идеи Versatile SMP, предложил способ сборки SMP-серверов методом вертикальной агрегации из готовых компонентов без привлечения какого-либо дополнительного оборудования. Все, что нужно, – это набор серверов-лезвий, инфраструктура InfiniBand и некоторый способ загрузки vSMP Foundation. В редакциях vSMP Foundation for SMP и vSMP Foundation for Cluster – это флэш-память на каждой плате, а в vSMP Foundation for Cloud загрузка осуществляется через облако.

После загрузки в память каждой из системных плат vSMP Foundation представляет их операционной системе и приложениям как единый системный образ. Средствами vSMP Foundation создается BIOS и среда ACPI (Advanced Configuration and Power Interface), обеспечивающая взаимодействие между операционной системой, аппаратным обеспечением и BIOS материнской платы. Кроме того, vSMP Foundation поддерживает когерентность кэшей отдельных плат и агрегирует ресурсы ввода-вывода. Последнее обеспечивает практически линейное увеличение ресурсов ввода/вывода по мере роста числа процессоров, в то время как в аппаратных SMP полоса пропускания фиксирована и в какой-то момент может стать узким горлом. Независимость от процессора избавляет от необходимости согласовывать с ним конструкцию сервера. Таким образом разрешается конфликтная ситуация между временем удвоения по закону Мура и временем проектирования серверов.

Использование vSMP Foundation for Cluster позволило компании Cray создать компактный SMP-суперкомпьютер Cray CX1, стратегию распространения которого компания назвала «Простота во всем» (Ease of Everything). В появившейся в середине 2008 года модели Cray CX1 имеется интегрированная HPC-среда, работающая под управлением Windows или Linux, для запуска которой достаточно обычной розетки и шнура с вилкой. В Cray CX1 может быть установлено до восьми лезвий на процессорах Xeon (64 ядра), причем нагрузка может быть распределена между отдельными лезвиями или по всему кластеру в целом. Cray CX1 комплектуется двумя типами лезвий: CC48 с одним сокетом и большими возможностями расширения по памяти и CC54 с двумя сокетами и меньшим размером памяти. Виртуализационный узел (плата рабочей станции) – лезвие CV54-01 с картой nVidia и дополнительным GPU придает компьютеру свойства графической рабочей станции. Хранение данных обеспечивают лезвия CS54-04 и CS54-08, на которых можно установить до четырех или восьми дисков SAS соответственно. Используя встроенные и дополнительные коммутаторы, из отдельных CX1 можно собирать кластеры. Имеется облегченная версия Cray CX1 с индексом LC (Light Configuration), которая отличается от базового варианта только тем, что в том же шасси установлено четыре вычислительных лезвия и максимальное количество ядер – 32. Однако при желании она может быть расширена до полного CX1. Есть и совсем минимальная версия – рабочая станция Cray CX1-iWS (integrated WorkStation), в ней может быть установлено до трех вычислительных лезвий (24 ядра) с тремя вариантами Xeon, отличающимися по частоте. Плата рабочей станции управляется Microsoft Windows 7, на ней стоит GPU NVIDIA Quadro, который поддерживает два экрана.

3Leaf Systems

В 2007 году компания 3Leaf Systems вышла из режима «невидимки», в котором она пребывала предшествующие четыре года, прошедшие с момента ее создания. Основатель компании, он же нынешний президент и технический директор Боб Куин, шел к той же цели, что и Фулхайм, однако, в отличие от программного vSMP, в качестве основного инструмента избрал смешанное решение, сделав акцент на высокоскоростной обмен между процессорами и на управляющую этим обменом специализированную микросхему. В то время уже существовало решение HyperTransport, и Куин получил на него лицензию от AMD. Напомним, шина HyperTransport отличается пакетной передачей, высокой пропускной способностью, малыми задержками и была разработана консорциумом, основными участниками которого являются AMD и Transmeta. Шина применяется в процессорах, в наборах системной логики для ПК, в суперкомпьютерах, маршрутизаторах, а также в архитектурах типа SMP или NUMA. Позже, когда появилось аналогичное межсоединение Intel QuickPath Interconnect, оно тоже получило поддержку со стороны 3Leaf, но пока все существующие продукты этой компании строятся на процессорах AMD.

Комплексное аппаратно-программное решение получило название Virtual Compute Environment (VCE). Несмотря на то что решение VCE было задумано для агрегации серверов и в этом качестве применяется поныне, первым опытом использования был Virtual I/O Server V-8000 – специализированная машина для хранения данных, выступающая в роли брокера-информатора между стеком из 20 серверов на х86 и витуализированным ею пространством, состоящим из сети и накопителей. Эта машина работает в режиме out of band, то есть параллельно основным каналам передачи данных, извлекая необходимые сведения о размещении данных из дисков и передавая их операционной системе. Сейчас основой производственной программы компании является динамический ЦОД Dynamic Data Center (DDC). В нем реализована та же идея: большая интегральная схема DDC-ASIC (Application-Specific Integrated Circuit), которая на стадии проекта называлась Aqua, а позже получила бренд Voyage, и программное обеспечение DDC Software suite. Технология 3Leaf позволяет объединять процессоры х86, память и ввод/вывод в один распределяемый ресурс. В деталях принципы работы работы DDC-ASIC не раскрываются, но известно, что она использует таблицу управления памятью, которую AMD и Intel встраивают в свои процессоры для их виртуализации.

Существующая на данный момент микросхема DDC-ASIC поддерживает работу 16 узлов и 1 Тбайт оперативной памяти. В следующей версии помимо AMD HyperTransport будут использованы возможности Intel Quick Path Interconnect (QPI), и тогда количество узлов будет увеличено до 32, а память доведена до 64 Тбайт. На данный момент узлами могут быть процессоры Opteron: четырехъядерный Shanghai, шестиядерный Istanbul и двенадцатиядерный Magny-Cours. Чипом DDC-ASIC комплектуется каждая из материнских плат серверов, собираемых в пул. Производство этих микросхем взяла на себя тайваньская компания LSI, а платы выпускает известный производитель «заготовок для серверов» (white box server) – компания Supermicro. Тот факт, что DDC-ASIC появилась в номенклатуре этих двух компаний, дает основание предположить, что в обозримом будущем мы увидим технологии 3Leaf под более известными именами.

Программное обеспечение, поддерживающее Dynamic Data Center, выпускается в трех версиях, отличающихся по уровню грануляции аппаратного обеспечения. В DDC-Pool минимальным объектом управления является лезвие, а в DDC-Share – ядро, в обоих случаях деление является статичным и осуществляется в процессе первоначальной загрузки ОС. Третья версия, DDC-Flex, не только объединяет возможности обеих, но и позволяет динамически перестраивать систему в соответствии с требованиями приложений.

Сегодня 3Leaf предлагает две модели серверов по цене, существенно меньшей, чем цена традиционных RISC-серверов. Для сравнения, сервер DDC-Server с восемью узлами на процессоре Istanbul (96 ядер), памятью 256 Гбайт и дисками 4 Тбайт плюс программное обеспечение DDC-Pool и лицензия Linux на все узлы стоит 99 тыс. долл. Большая конфигурация, состоящая из 16 узлов, с 1 Тбайт памяти и соответственно большими остальными характеристиками стоит 250 тыс.

RNA Networks

Компанию RNA Networks создал Клив Кук, который убежден в том, что решением проблем современных серверов может быть виртуализация памяти. Повысить производительность сервера можно либо увеличив число процессоров, либо нарастив объем памяти на процессор. Первый способ приводит к росту капитальных затрат и затрат на лицензирование, а второй нет, однако предел памяти, приходящейся на одно ядро x86, равен для стандартного севера 64 Гбайт, и дальнейший рост невозможен. Проблему можно решать на аппаратном уровне, как это сделано, например, в Cisco UCS, но разумнее с помощью технологий виртуализации собрать всю память в единый пул и распределять ее между ядрами по мере необходимости.

Именно такой путь выбрали в RNA – решение Memory Virtualization Platform (MVP) представляет собой виртуализующее устройство (appliance), к которому может быть подключено до 32 узлов кластера. Это устройство высотой 1U содержит «на борту» до 64 Гбайт кэш-памяти, и к нему подключается память отдельных серверов, входящих в состав кластера (рис. 2). Программное обеспечение RNAcache состоит из трех компонентов:

  • RNAdriver устанавливается на каждом узле и обеспечивает узлам возможность записи и чтения данных;
  • RNAserver устанавливается на узлах, отдающих свою память в пул, и управляет той частью памяти, которая отдана в общий пул;
  • RNAmanager устанавливается на одном или, для надежности, на двух серверах из тех, что отдают свою память в пул.

И еще SGI

Серьезного обновления в аппаратной части коммерческих серверов в ИТ-индустрии не наблюдалось с 2004 года, когда одновременно на свет появились серверы Superdome и SunFire. Полоса бездействия была нарушена в конце 2009 года, когда компания SGI выпустила свою новую флагманскую модель SGI Altix UV, призванную заменить Altix 4700. Это был действительно качественно новый шаг, поэтому здесь следует подробнее сказать об этом компьютере, поскольку он экстремален, и если оставить за скобками ценовые характеристики, то его можно назвать третьей альтернативой.

SGI Altix UV стал результатом работы по давнишнему проекту Ultraviolet. Еще в 2003 году SGI объявила о намерении создать компьютер, сочетающий в себе одновременно несколько парадигм, понимая под этим архитектуру с диапазоном масштабирования, позволяющим адаптировать компьютер к любым расчетным задачам. Не прошло и семи лет, как в ноябре 2009 года было объявлено о начале серийного производства семейства машин SGI Altix UV. Новая фамильная черта, отличающая их от Altix 4700, – отказ от Itanium в пользу х86 и новая версия межсоединения NUMAlink, а теоретический предел архитектуры составляет 262?144 ядер. NUMAlink 5 в сочетании с восьмиядерными чипами Xeon 7500 (Nehalem-EX) позволит SGI исправить фатальную ошибку 1998 года, когда была сделана ставка на Itanium.

Семейство Altix UV представлено сериями 1000, 100 и 10. Первые две собираются из одинаковых двухпроцессорных лезвий, связанных между собой проприетарным межсоединением с коммутатором SGI NUMAlink 5, и отличаются конструктивным исполнением – модель 1000 собирается в стойке, а модель 100 в корзинах, устанавливаемых в стандартные стойки. Для максимальной комплектации в Altix UV 1000 устанавливается сейчас 2048 ядер и 16 Тбайт общей памяти, образующей единый системный образ SSI (Single System Image). Межсоединение NUMAlink 5 обеспечивает скорость обмена 15 Гбайт/с. Любителям петафлопсов производительность покажется небольшой, «всего» 18,6 TFLOPS, но не следует забывать, что это не кластер, и это совсем другие флопсы. В перспективе – конфигурации, состоящие из 32 стоек, в которых можно развернуть 16 384 ядер и даже 32 768 ядер, но только после внесения необходимых усовершенствований в коммутатор UltraViolet. Не случайно UltraViolet не только обеспечивает масштабируемость, но и к тому же поддерживает обмен по протоколу Message Passing Interface (MPI) со вспомогательными процессорам MPI Offload Engine (MOE), в десятки раз ускоряющими выполнение распараллеливаемых операций.

В минимальной конфигурации Altix UV 10 с четырьмя шестиядерными процессорами, 32 Гбайт памяти и одним диском SATA для первоначальной загрузки стоит около 33 тыс. долл., что сравнимо с ценой серверов 3Lea: DDC-Server с 8 процессорами Istanbul (96 ядер), памятью 256 Гбайт и дисками на 4 Тбайт стоит 99 тыс. долл. Ценовая политика, безусловно, зависит от конкретных конфигураций поставок, однако очевидно, что даже самое современное «большое железо» по цене оставляет шанс таким компаниям, как RNA, 3-Leaf и ScaleMP.

Рис. 1. Архитектура vSMP

Рис. 2. Виртуализация памяти по RNA networks
vSMP: универсальная архитектура SMP
Предложенная компанией ScaleMP архитектура vSMР представляет собой программное решение, позволяющее агрегировать компьютеры стандартной архитектуры в единый SMP-суперсервер.
http://www.osp.ru/os/2009/04/9277328
Спецификация многопроцессорных систем компании Intel
Главная цель спецификации – определить стандартный интерфейс, позволяющий расширить область применения РС/АТ-платформ по сравнению с традиционными однопроцессорными платформами, сохраняя полную совместимость с РС/АТ на уровне программ. Наличие спецификации позволит создавать рабочие станции высокого класса и серверы масштаба предприятия с хорошим отношением цена/производительность.
http://www.osp.ru/os/1995/03/178645