Если провести соревнование на самый популярный термин года 1996, то его легко выиграет симпатичная аббревиатура NUMA. Можно с уверенностью сказать, что и в этом году она останется "на языке" у всего компьютерного сообщества. Действительно, такие события, как появление нового типа архитектуры вычислительных машин, происходят не слишком часто, и все прогрессивное человечество всегда с большим интересом наблюдает за процессом вхождения компьютеров новейших архитектур в жизнь. Кто же окажется героем дня сегодня?
Примечательно, что новый прорыв в компьютерных технологиях в значительной степени связан с компанией, которая еще в далеких 80-х создала первую масштабируемую открытую SMP-архитектуру и доказала ее перспективность для высокопроизводительных вычислений. История такова. В 1983 году в г. Портленде (шт. Орегон) восемнадцатью бывшими сотрудниками компании Intel под руководством Кейси Пауэлла была организована компания Sequel. Она ориентировалась на создание вычислительных архитектур для обслуживания информационных технологий в трех самых трудоемких сферах работы с деловой информацией: оперативной обработке транзакций, системах поддержки принятия решений и деловых коммуникациях. В начале 80-х, когда почти все, казалось, были увлечены ПК, а наиболее трудные задачи решались на мэйнфреймах, компания поставила своей целью создание вычислительной платформы, которая бы существенно превосходила возможности однопроцессорных систем, но при этом строилась на самых распространенных и недорогих процессорах от Intel.
Выпустив в 1984 году первые компьютеры на процессорах NS 32032 (National Semiconductor) с симметричной многопроцессорной обработкой, которые получили название Balance 8000, Sequel, переименованная в 1987 г. в Sequent Computer Systems, реализовала также первую SMP-версию ОС Unix, обладающую независимой от процессора архитектурой; а в мае того же года анонсировала первую компьютерную систему Symmetry (Unix SMP) масштабируемую до 30 микропроцессоров Intel. Подход Sequent к созданию вычислительных архитектур старшего уровня для систем обработки коммерческой информации был оценен настолько высоко, что такие ведущие производители, как AT&T Global Information Systems (NCR), Hewlett-Packard и Sun Microsystems, спустя несколько лет выпустили свои SMP-продукты, подтвердив тем самым правильность позиции Sequent.
В то время усилия многих поставщиков были направлены на создание технической и программной базы для систем управления большими реляционными базами данных (RDBMS). Разработки Sequent стали первой открытой SMP-платформой, способной обслуживать крупные приложения БД самых крупных тогда RDBMS - Oracle и Informix.
Первый SMP Unix компании Sequent назывался DYNIX и представлял собой развитие BSD 4.2. В 1990 г. Sequent выпустила новую версию ОС для своих машин на основе Unix System V. Эта версия получила название DYNIX/ptx. В ней была реализована версия Streams. Кроме того, компания разработала архитектуру параллельных коммуникаций для своих сетевых продуктов и средств передачи сообщений, предложив параллельную реализацию пакета Stream - части Unix System V, которая отвечает за высокоскоростную передачу данных между различными компьютерными системами. Программное обеспечение Sequent Parallel Streams значительно увеличило сетевые возможности больших серверов, поддерживающих многие тысячи соединений с клиентами. На основе Parallel Streams в 1991 году компания реализовала параллельную версию Novell NetWare для платформы Symmetry, которая работает под управлением DYNIX/ptx. Именно с помощью этого средства десятки Novell-сетей и тысячи пользователей ПК получили возможность работать в единой сети.
По мере того как все большее число приложений мигрировало на открытые системы, все острее вставал вопрос о надежности. На что Sequent ответила созданием в 1992 году кластеров для Unix, обладавших практически такой же функциональностью, как VMS кластеры DEC. В этом же году для кластеров Symmetry был реализован Oracle Parallel Server. В кластер можно было объединить от 2 до 4 узлов выпуском Symmetry Cluster - четыре или более узлов Symmetry SMP, имеющих до 30 процессоров каждый и дублирующих друг друга на случай сбоя. Продукт Oracle Parallel Server, совместной разработки Sequent и Oracle 1992 года, добавил к надежности кластеров Sequent еще и высокую производительность. Кластерная технология была усовершенствована в 1995 году с выпуском ptx/Scalable Data Interconnect (ptx/SDI) - технологии высокоскоростного соединения памяти различных узлов кластера, в которой скорость передачи данных память-память была доведена до 200 Мбайт/с.
До сегодняшнего дня Sequent поставляла два семейства компьютерных SMP-систем высокой масштабируемости Symmetry и WinServer для Unix и NT, соответственно, с характеристиками производительности вплоть до уровня мэйнфреймов. Системы базируются на архитектуре SMP и микропроцессорах Pentium. Sequent имеет собственную версию ОС Unix System V Release 4- DYNIX/ptx, согласованную с POSIX и специально настроенную на максимальное использование потенциала архитектуры SMP. С 1993 года выпускается семейство WinServer со столь же масштабируемой архитектурой, что и у Symmetry, но для ОС NT Server.
Сохранив и сегодня новаторский пыл молодости, Sequent небезуспешно решает одну из главных проблем архитектуры SMP - преодоление барьера масштабируемости в 30 процессоров, - подняв с помощью архитектуры NUMA планку на порядок. Задача в том, чтобы полностью вытеснить из крупных центров обработки данных процессорные мэйнфреймы, заменив их на эффективные по цене, открытые, высокомасштабируемые системы с архитектурой NUMA.
Как работает NUMA?
Буквально NUMA обозначает неоднородный доступ к неоднородной памяти - метод, который хорошо известен и применяется в нескольких разных традиционных архитектурах, например RMC (Reflective Memory Cluster) и MPP. Почему вообще появляется потребность в неоднородном доступе? В архитектуре SMP все процессоры имеют равноправный доступ ко всему однородному с точки зрения способа обращения и задержек адресному пространству - это NUMA. Однако доступ осуществляется через одну общую системную шину, производительность которой накладывает ограничение на возможности увеличения числа процессоров. Поэтому основная проблема масштабируемости традиционных SMP - проблема Большой Шины.
В системах типа NUMA память остается доступной для всех процессоров системы, однако стоимость доступа может быть разной. У каждого процессора имеется своя "ближняя" память, скорость доступа к которой максимальна, а обращение к остальной части памяти осуществляется значительно дольше - это плата за повышение масштабируемости. В любых архитектурах этого типа должна быть реализована NUMA-функция - обеспечение когерентности разделяемых между процессорами данных. Для этого может использоваться их дублирование или блокирование доступа с помощью аппарата сообщений. Традиционные архитектуры RMC и MPP содержат множество узлов, когерентность в которых поддерживается как аппаратно, так и программно.
Совершенно по-другому обстоит дело в новом подходе cc-NUMA - cache coherent NUMA. Здесь все процессоры объединены в один узел, первый уровень иерархии памяти образуют их кэши, а cc-NUMA поддерживает когерентность внутри узла аппаратно. В системах cc-NUMA распределенная память - это одно целое, единое адресное пространство. Не происходит никакого копирования страниц или данных. Нет программной передачи сообщений для синхронизации доступа. Есть просто единый массив памяти, куски которой физически соединены через интеллектуальный коммутатор медным кабелем и "умной" аппаратурой. Аппаратная когерентность кэшей означает, что не требуется никакого программного обеспечения для поддержки актуальности множества копий данных. Все это выполняется на аппаратном уровне так же, как в любом SMP-узле, с одним экземпляром ОС и множеством процессоров.
Теоретически NUMA с соединением типа SCI (стандарт ANSI/IEEE) за счет четырехпроцессорных приращений в пределах узла может поддерживать до 252 процессоров - это 10-кратное увеличение по сравнению с Sequent Symmetry 5000 - и обслуживать более 100 Тбайт данных при суммарной пропускной способности 32 Гбайт/с SMP.
NUMA-Q 2000 - реализация архитектуры cc-NUMA
Для архитектуры NUMA-Q с каждым блоком распределенной памяти связан комплекс из четырех процессоров - Quad, а NUMA-Q означает сс-NUMA с такими комплексами. Несколько четверок могут быть объединены с помощью соединения, аппаратно обеспечивающего когерентность кэшей, образуя один большой SMP-узел.
Кроме четырех процессоров в комплекс входит память (1-4 Гбайт на Quad) и 7 слотов PCI на двух каналах PCI. Даже если таких Quad в системе несколько, она по-прежнему является одноузловой, поскольку имеется один экземпляр ОС, который выполняется на всех комплексах.
Кэш-когерентное соединение устанавливается между шинами комплексов и называется IQ-Link - это полностью аппаратное соединение. Оно практически полностью прозрачно для программ, подобно обычному кэшу. Масштабируемость повышается за счет того, что 12 процессорных блоков не устанавливаются на единую объединительную плату, а объединяются в группы, и между этими группами и памятью вставляются медные перемычки.
Для подключения устройств внешней памяти: дисков, магнитных лент и т. п. используется контроллер Fibre Channel с пропускной способностью 100 Мбайт/с, подключаемый на шину PCI. Для соединения периферийного оборудования SCSI и волоконно-оптического канала применяется Fibre Channel Bridge, включающий восемь fast/wide SCSI-портов. Архитектура NUMA-Q поддерживает работу следующего периферийного оборудования: диски емкостью 4,5, 9,1 Гбайт, что дает максимально 540 Гбайт на каждый Quad, и подсистемы RAID.
Устройства резервирования включают накопители и библиотеки на картриджах 4 мм, типа DAT/DDS-2, накопители 8 мм и библиотеки, а также накопители DLT. Компьютеры NUMA-Q 2000 поддерживают работу PCI-контроллеров Ethernet, FDDI, Async, ATM, X.25, Token Ring и Sync.
В конце концов линия NUMA-Q SMP серверов будет дополнена кластерными серверами. Если на компьютере NUMA-Q выполняется единственная копия операционной системы, то в кластерной конфигурации, состоящей из множества узлов (SMP или не SMP), в каждом узле выполняется своя копия. Уместен вопрос, зачем вообще нужны кластеры, если можно построить один большой узел NUMA-Q. Этому есть две причины: надежность и масштабируемость. Надежность кластера выше, чем отдельного узла, а какой бы большой узел мы не построили, всегда найдется приложение, которому требуются большие ресурсы, - тогда пригодится кластер.
Кластерные системы могут состоять только из узлов NUMA-Q, а также из NUMA-Q- и SMP-узлов.
NUMA-Q сегодня
Чтобы оценить преимущества подхода Sequent, нужно понимать, что открытые серверные системы на основе недорогих промышленно-стандартных блоков - это естественный и очень перспективный путь развития. В качестве базы для конкретной реализации архитектуры NUMA-Q в компьютере NUMA-Q 2000 применяются микропроцессоры Intel Pentium Pro. Сейчас Intel-серверы заняли нижнюю нишу рынка серверных компьютеров, но они еще не дотягивают до верхнего уровня, где правят бал мощные RISC-архитектуры. Большинство сегодняшних серверов на Pentium Pro ограничены
4-х процессорной архитектурой, базирующейся либо на плате Intel Standard High Volume (SHV), либо на заказных материнских платах. Цель Sequent состоит в том, чтобы преодолеть ограничение 4-х кратного расслоения, сохраняя при этом преимущества, которые дает использование плат SHV.
NUMA проста только на бумаге, а для Sequent NUMA представляет собой не просто один продукт, а более 50 абсолютно новых разработок. Все 50 должны быть закончены где-то в середине 1997 года, поэтому потенциальных покупателей ожидает переходный период примерно в полгода. Но принципиальный шаг сделан, важно, что NUMA-Q имеется "в железе" и работает.
Вообще говоря, архитектура cc-NUMA не накладывает каких-либо ограничений на то, что можно сделать практически. В первой реализации была выбрана 8-битовая адресация, которая устанавливает предел в 63 комплекса quad в узле. Далее 8 узлов можно объединить в большой кластер, имеющий высокий уровень надежности, в котором будет до 2000 процессоров Pentium Pro. Сейчас Sequent выпускает 16-процессорные системы NUMA, и к концу 1996 года их было уже около сотни. Появились первые 32-процессорные, а скоро выйдут и 64-процессорные системы.
Особый интерес представляют планы по переходу к процессору Merced. Кэйси Пауэлл, председатель и главный исполнительный директор Sequent, считает, что 64-разрядное адресное пространство на сегодняшний день не является движущей силой для разработки новых технологий. Более актуальна большая память. Современная технология Intel дает 36 адресных разрядов или 16 Гбайт памяти, и эта технология будет поддерживаться первые 6 месяцев после выпуска NUMA.
Сегодня Sequent собственными силами адаптирует ОС NT для машин NUMA, но в первую очередь система NUMA-Q 2000 нацелена на рынок Unix. Для этого есть две причины. Во-первых, это рынок с большим числом SMP-приложений. Во-вторых, NT сейчас не может эффективно обеспечивать линейный рост производительности и управлять более чем восемью SMP-процессорами; практически до появления NT 4.0 конфигурации с большим, чем 4, числом процессоров работают неустойчиво.
Архитектура NUMA-Q требует внесения множества изменений в операционные системы - равно как и в СУБД, - включая добавление возможности миграции заданий и программ от одного процессора к другому. В случае NT большую часть изменений нужно сделать на уровне Абстрактной Аппаратуры (HAL). Пока разработчики Sequent уже выполнили настройку реализаций Unix на SMP, а Microsoft гораздо сильнее увлечена кластерами с большим количеством узлов, чем одноузловыми системами SMP.
Поскольку технология NUMA процессорно независима, ряд производителей: Hewlett-Packard/Convex, Pyramid Technology, выпустили Unix, серверы архитектуры NUMA с RISC-процессорами, а компания SGI предложила на рынок 64-разрядные NUMA-серверы Origin и Onyx на процессорах MIPS. Все это можно расценивать, как состоявшееся признание NUMA.
Каковы преимущества платформы NUMA Sequent в этом плане? Во-первых, это соображения стоимости: благодаря использованию материнских плат Intel NUMA-Intel становится дешевле, чем NUMA-RISC. Второе преимущество проистекает из того, что имеется очень тесная связь между NT и платформой Intel. Поэтому NUMA обещает стать той аппаратной базой, которая позволит увеличить для NT число эффективно управляемых процессоров, хотя это и не произойдет в ближайшем будущем.
Каждая из компаний, разрабатывающих архитектуру NUMA, произвела собственную аппаратуру соединения, аналогичную IQ-LINK. Естественно, возникает вопрос о совместимости и стандартизации. Можно сказать, что пока это не актуально. NUMA обеспечивает совместимость архитектур на уровне приложений, а все производители вложили много средств и усилий в разработку и хотят получить с этого дивиденды. Чтобы чей-то подход стал доминирующим стандартом, должно пройти время.
Первые итоги
Предварительное тестирование, проведенное в Sequent, позволяет оценить некоторые перспективы. Система NUMA-Q с 1632 (4 Quad) процессорами Pentium Pro показала в 4-9 раз превышающую производительность 4-х узлового кластера - вариантом сервера Symmetry 5000 с 24- 32-разрядными процессорами Pentium/166. При этом переход от Pentium к Pentium Pro объясняет двукратное увеличение производительности, остальное дают дополнительные процессоры. Данное повышение быстродействия было достигнуто на немодифицированных приложениях - если их специально настроить, можно ожидать повышения производительности еще на 20%.
Основное преимущество NUMA в том, что она сохраняет простую модель программирования с разделяемой памятью - можно выполнять существующие приложения Unix без каких-либо модификаций. Правда, чтобы полностью использовать все возможности параллельной обработки, особенно при большом числе процессоров, часть кода все-таки надо переписать.
Иллюстрацией преимуществ открытых архитектур SMP могут служить факты из жизни NASD - крупной Национальной Ассоциации дилеров ценных бумаг (США). Последние 15 лет эта организация применяла на фондовой бирже NASDAQ мэйнфрейм Himalaya K10000 производства Tandem Computers. Но когда NASD решила модернизировать свою деятельность с помощью некоторых приложений от PeopleSoft, обнаружилось, что PeopleSoft не поставляет версии для Tandem. Решение NASD - установить новые приложения на SMP Unix-сервере Symmetry SE70 с 10 процессорами. Потом NASD провела регистрацию 510 тыс. биржевых брокеров еще на одной машине Sequent SE70. При этом технические специалисты совершенно уверены, что с возрастанием объема обработки достаточно просто провести наращивание вычислительных мощностей. "SMP - единственно верное решение в наших условиях", - считает Эд Морган, директор компьютерных операций в центре обработки данных ассоциации.
Новые архитектуры содержат несколько процессоров в одном узле, что позволяет удвоить, утроить или даже учетверить их число в одном конструктиве. В этом плане NUMA-Q с возможностями наращивания до 252 процессоров, чрезвычайно заинтересовала многих. Вместе с такими корпорациями, как "Боинг" и "Форд Моторс", NASD стала одной из первых обладателей системы NUMA-Q.
Система NUMA-Q была создана для обеспечения работы опять приобретающих сегодня все большее значение центров обработки данных и создания альтернативных возможностей для организаций при переходе с существующих систем на открытые. Неслучайно дебют системы NUMA-Q в Великобритании состоялся в связи с началом официального выпуска СУБД INFORMIX-Universal Server. Обе технологии дополняют друг друга и представляют собой основные элементы информационно-технологической инфраструктуры будущего. Различные виды мультимедийных и комплексных данных требуют огромной мощности при экономически оправданной цене. Системой, способной обеспечить такой уровень требований для корпораций, является NUMA-Q.
Компания Sequent уже поставила десятки компьютеров на базе NUMA-Q в различные страны мира - система хорошо проявила свои возможности в крупных центрах, где работают с открытыми системами. Перед официальной датой начала запуска в производство (февраль 1997 г.) NUMA-Q 2000 получила уже необходимую аппробацию и хорошо зарекомендовала себя в качестве комплексного решения, готового к работе в центрах обработки данных.
На NUMA-Q рассчитывать можно
Корреспондент InfoWorld Джуди Демокер побеседовала с главой Sequent Кейси Пауэллом о технологии NUMA и о тех переменах, которые могут произойти на рынке больших серверов после выхода очередных моделей NUMA-Q.
Чем технология NUMA-Q отличается от традиционных серверов с симметричной многопроцессорной и массивной параллельной обработкой (SMP и MPP)?
SMP обладает рядом фундаментальных ограничений. Все процессоры должны располагаться на одной шине. Мы по-всякому пытались обойти эту проблему, в частности освобождали шину от многих посторонних функций. Используя отдельные шины для каждого из четырехпроцессорных блоков, мы создали одну из крупнейших SMP-машин в мире. Преимущество NUMA-Q - в прозрачности для пользователя. MPP не ограничена в числе процессоров, но она не прозрачна и сложна для программирования: похоже на то, как будто вы пытаетесь запрячь в одну телегу тысячу кур и заставить их делать что-то полезное - каждой приходится объяснять задачу отдельно.
Расскажите об архитектуре систем Sequent на основе NUMA.
Мы используем недорогие четырехпроцессорные платы, разработанные совместно с Intel. Мы устанавливаем на них память так, как если бы это была единая большая система с единым адресным пространством. Для операционной системы это выглядит, как будто она работает на одной большой машине с сотнями процессоров.
Для каких рынков Sequent предназначает системы NUMA-Q?
В основном для финансового. Два наших основных поля деятельности - это оперативная обработка транзакций и поддержка принятия решений.
Мы делаем кое-что в секторе розничной торговли, но по большей части не в сферах производства, исследований и разработки. Мы продаем системы в финансовые учреждения - банки и страховые компании.
Сейчас, когда целых два производителя выпускают системы на основе NUMA, MPP в потребительской сфере делать нечего. Вот Sun Microsystems предлагает Starfire. Это все равно, как если бы в McDonalds принялись готовить лягушачьи лапки.
Чем отличаются технологии NUMA, используемые Sequent и Data General?
Если говорить просто - тем, что у нас такая технология есть. Data General свою еще не доделала. С точки зрения архитектуры, разницы практически нет. Но мы оснастили свою систему мощным ускорителем обмена данными. Он передает 1 Гбайт в секунду по восьми раздельным каналам. Конечно, он дороже, чем Dolphin Interconnect, используемый Data General, но, когда у них будет что-то получше, мы уже выпустим что-нибудь подешевле.
Какие преимущества Вы связываете с созданием стандартного набора API?
Нам необходим общий API. Даже если он будет только в двоичном виде, уже хорошо. Однако проблема в том, что каждый говорит: "Я думаю, нам всем нужна единая религия. Поэтому давайте все примем религию, которую исповедую я". Я с радостью перешел бы на стандартную операционную систему и работал бы только с ней; например меня устраивает Windows NT, для которой мы делаем свои приложения.
Есть ли планы выпуска систем NUMA-Q с Windows NT?
Да, мы собираемся выпустить очень большой сервер с NT.
Если Вы предлагаете NUMA в качестве альтернативы мэйнфреймам, у Ваших систем должны быть какие-то функции отказоустойчивости.
Если вы хотите повысить мощность машины, есть возможность увеличить размер узла. В кластере может быть до восьми узлов. Повышая число узлов, вы увеличите работоспособность системы.
Каким образом Вы добиваетесь высокой работоспособности без разбиения?
Разбиение никакого отношения к работоспособности не имеет. Единственное, что обеспечивает работоспособность - резервные ресурсы.
Если на системе работает одна копия ОС, что случится, если в ней произойдет сбой?
Для достижения высокой работоспособности необходимы две системы, работающие в жесткой связке. Когда в одной происходит сбой, вы переключаетесь на вторую.
Допустим, у вас две копии ОС, функционирующие бок о бок. Не означает ли это, что Вы тратите миллион долларов только на то, чтобы снизить вероятность отказа ПО?
Это зависит от того, как вы распределяете нагрузку, но в целом ответ может быть положительным.
Много ли приложений создается независимыми разработчиками для DYNIX/ptx - версии Unix, разработанной Sequent?
На рынке высокого класса, где наша ОС действительно нужна, создается достаточное количество приложений. Точно так же каждый производитель ПО старается что-то выпустить для систем IBM, Digital и HP, поскольку эти компании продают тысячи и тысячи своих машин.
Насколько успешно существующие приложения работают на архитектуре NUMA?
Они работают лучше, чем на SMP, и не требуют предварительной модификации. Причина - разделение шины памяти и шины ввода-вывода. Производительность NUMA-Q превзошла все ожидания.
Компания Sequent Computer Systems - один из первых производителей, выходящих на рынок серверов высокого класса с многопроцессорными системами, основанными на технологии распределенного разделенного доступа к памяти (NUMA). Доход компании за 1996 год составил 595,4 млн. долл., увеличившись на 10% по сравнению с 1995. По сообщению руководства Sequent, продажа серверов NUMA-Q на платах Intel составила в 1996 году 25% всего от ее дохода.