ОБЗОРЫ
Спрос на RISC/Unix-серверы по-прежнему велик. На их основе обычно работают критичные бизнес-приложения, в этом случае достоинства Unix проявляются в полной мере. Дело в том, что, по мнению большинства экспертов, недостатки ПК-серверов с точки зрения надежности, доступности и масштабируемости делают их менее подходящими для поддержки высококритичных приложений. Именно поэтому в подобных областях применения первую скрипку по-прежнему играют мэйнфреймы и компьютеры на платформе RISC/Unix.
Разумеется, ПК-серверы используются и в центрах обработки данных, для консолидации серверов и Интернета. Они работоспособны в течение 99,9% времени благодаря применению памяти с исправлением ошибок, избыточных источников питания, вентиляторов, а также заменяемых в “горячем” режиме компонентов - дисков и сетевых плат. Приведенная цифра означает не более 10 ч простоя в год при круглосуточной работе серверов без учета простоев из-за сбоев ОС и ПО.
Стоимость простоя приложений, для которых предназначены данные серверы, может достигать десятков тысяч долларов в час. Для сравнения: машины типа RISC/Unix часто обеспечивают 99,999-процентную надежность, или время простоя около 5 мин в год. Цифры говорят сами за себя. Видимо, в обозримом будущем ПК-серверы вряд ли смогут достичь подобных показателей.
Кстати, многие аналитики склонны считать, что часто дело даже не в самих серверах, а в ОС. Несмотря на рост популярности Windows NT и Linux, коммерческие версии Unix пользуются стабильным спросом, более того, объемы их продаж до 2003 г. по крайней мере не уменьшатся (бюллетень IDC № 19715). Очевидно, это объясняется тем, что коммерческие версии Unix обладают рядом достоинств, пока отсутствующих у Windows NT и Linux. ОС Unix прошла длительный путь от системы, ориентированной на разработчиков ПО, до системы, призванной решать самые сложные инженерные, научные и коммерческие задачи. Она хорошо приспособлена для задач системного и сетевого администрирования, но гораздо хуже - для офисных приложений. Для сетевых сервисов характерны повышенные требования к отказоустойчивости, доступности, безопасности, наконец, к масштабированию. Unix в полной мере отвечает практически любому уровню сервера: младшему (для рабочих групп), среднему (для отдела предприятия) и старшему (для корпораций), хотя каждый из них предъявляет свои специфические требования к ОС.
Козырь - масштабируемость
Масштабируемость, производительность, надежность и управляемость - вот главные критерии, которыми обычно руководствуются при выборе сервера. Отметим, что под масштабируемостью, как правило, понимают способность сервера сохранять общую производительность при увеличении числа обслуживаемых пользователей или обрабатываемых транзакций. Иными словами, масштабируемость представляет собой возможность наращивания числа и мощности процессоров, объемов оперативной и внешней памяти и других ресурсов вычислительной системы. Масштабируемость должна обеспечиваться архитектурой и конструкцией компьютера, а также соответствующими средствами программного обеспечения.
Добавление каждого нового процессора в действительно масштабируемой системе предполагает прогнозируемое увеличение производительности и пропускной способности при приемлемых затратах. Одна из основных задач при построении масштабируемых систем - минимизация стоимости расширения компьютера и упрощение планирования. В идеале добавление процессоров к системе должно бы приводить к линейному росту ее производительности. Однако это не так. Потери производительности могут возникать, например, при недостаточной пропускной способности шин из-за возрастания трафика между процессорами и основной памятью, а также между памятью и устройствами ввода-вывода. В действительности реальное увеличение производительности трудно оценить заранее, поскольку оно в значительной степени зависит от динамики поведения прикладных задач.
Возможность масштабирования системы определяется не только архитектурой аппаратных средств, но зависит от заложенных свойств программного обеспечения. Масштабируемость ПО затрагивает все его уровни от простых механизмов передачи сообщений до работы с такими сложными объектами, как мониторы транзакций и вся среда прикладной системы. В частности, программное обеспечение должно минимизировать трафик межпроцессорного обмена, так как его увеличение препятствует линейному росту производительности системы. Аппаратные средства (процессоры, шины и устройства ввода-вывода) являются только частью масштабируемой архитектуры, на которой ПО может обеспечить предсказуемый рост производительности. Важно понимать, что простой переход, например, на более мощный процессор вызывает перегрузку других компонентов системы. Это означает, что действительно масштабируемая система должна быть сбалансирована по всем параметрам.
SMP и NUMA
Как правило, повышение производительности осуществляется за счет использования быстрых и мощных процессоров, а также специальных архитектурных решений: специальных и локальных шин, скоростных интерфейсов (особенно для дисковых подсистем) и т. п. Если узкое место сервера - центральный процессор, то одним из вариантов масштабирования является увеличение числа процессоров. Выгодным отличием RISC/Unix- от ПК-серверов является масштабирование по процессорам. Если для Intel-архитектур обычно используется не более восьми процессоров, то в RISC/Unix-системах их число в принципе может достигать даже нескольких сотен. Речь в данном случае идет об архитектурах SMP (Symmetric Multi Processing) и NUMA (Non-Uniform Memory Access).
RISC/Unix-серверы
В случае SMP, т. е. симметричной многопроцессорности, на любом процессоре может выполняться любая задача: прикладная программа, сетевая ОС, операции обмена с диском или обработка сетевого трафика. Более того, в этом случае процессоры могут совместно решать одну и ту же задачу. Когда один процессор завершает свою работу, он может взять на себя часть нагрузки другого процессора. Таким образом, метод SMP позволяет эффективно использовать процессоры, уменьшая время их простоя. Большинство современных сетевых операционных систем поддерживают SMP. Отметим, что процессоры SMP взаимодействуют друг с другом с помощью так называемой шины межсоединения и используют общий пул памяти. При увеличении в сервере числа процессоров возрастает и трафик на данной шине. При значительном росте этого числа пропускная способность системы существенно снижается.
Другим системным решением является архитектура NUMA. Вообще говоря, это архитектура памяти, применяемая в многопроцессорных системах, где время доступа зависит от географического расположения памяти. Процессор может работать с собственной локальной памятью гораздо быстрее, нежели с нелокальной, которая в свою очередь является локальной для другого процессора или разделяется между несколькими процессорами. NUMA, как и SMP, позволяет получить объединенную вычислительную мощность большого числа процессоров, обращающихся к общему пулу памяти. В этом случае процессоры организованы в небольшие группы, узлы, с помощью которых они могут связываться между собой. Например, 16-процессорный сервер может содержать четыре узла по четыре процессора. Каждый узел имеет собственный пул памяти.
NUMA уменьшает нагрузку на шину по сравнению с SMP, поскольку процессоры в узлах взаимодействуют друг с другом и со своей локальной оперативной памятью через отдельные шины. Кроме того, они могут обращаться к пулам памяти других узлов, хотя время доступа зависит от того, насколько эти узлы удалены один от другого. Поэтому такую архитектуру часто называют архитектурой с распределенной разделяемой памятью.
Ввод-вывод
Нередко узким местом, ограничивающим масштабируемость системы, включающей несколько мощных процессоров, становится подсистема ввода-вывода. Через нее подключается большинство высокопроизводительных периферийных адаптеров. В качестве подобных подсистем в современных серверах чаще всего используют шины PCI и PCI-X. Последняя обеспечивает пропускную способность более 1 Гб/с.
По сравнению с обычной PCI 32/33 (32 разряда 33 МГц) шина PCI-X является огромным шагом вперед. Как отмечают эксперты, работающая на максимальной скорости шина PCI-X будет иметь в десять раз большую пропускную способность, чем PCI 32/33. По сравнению с PCI 64/66 (64 разряда 66 МГц) выигрыш в производительности менее впечатляет. На предварительном тестировании производительность четырехслотовой реализации PCI-X, функционирующей на частоте 66 МГц, была лишь на 25% лучше, чем у PCI 64/66.
Учитывая дальнейший рост производительности процессоров, а также недостатки и ограничения схемотехнического решения “общая шина”, осенью 1998 г. корпорация Intel обнародовала принципиально иную архитектуру следующего поколения подсистем ввода-вывода - Next Generation I/O (NGI/O). “Тремя китами” новой архитектуры стали последовательный обмен данными, канальная технология ввода-вывода и матричная топология. Примерно в то же время по инициативе корпорации IBM был создан альянс компаний для разработки открытого стандарта на архитектуру под названием Future I/O. В отличие от NGI/O в спецификации Future I/O допускалось использование PCI-адаптеров.
NGI/O должна была поддерживать более длинные медные кабели и последовательный медный интерфейс с поддержкой расстояний до 17,5 м. Первичное же соединение Future I/O предусматривало параллельный медный кабель с ограничением на расстояние в 10 м. Однако Future I/O определяла также два волоконно-оптических интерфейса, один - для расстояний до 300 м, а второй - для расстояний свыше 300 м.
Среди других преимуществ Future I/O - поддержка более высоких скоростей и широкие возможности для усовершенствований. NGI/O допускает скорость интерфейса до 2,5 Гбит/с (около 200 Мб/с), тогда как первичное соединение Future I/O должно было работать со скоростями до 1 Гб/с. Хотя общую пропускную способность NGI/O можно увеличить, используя несколько портов для подключения одного устройства, для того, чтобы она сравнялась с производительностью Future I/O, потребуется десяток соединений NGI/O.
Осенью прошлого года между двумя группами компаний был найден компромисс. Разработанная архитектура межкомпонентных соединений InfiniBand (www.infiniband.com) обеспечивает принципиально новые функциональные возможности одновременно с резким наращиванием масштабируемости и производительности компонентов самых разнообразных компьютерных платформ в широком диапазоне соотношения цена/производительность. В основе InfiniBand лежит структура коммутируемых межсоединений на базе двухточечных каналов, которая объединяет лучшие качества спецификаций NGI/O и Future I/O. Слияние двух технологий стало результатом коллективных усилий семи ведущих компаний отрасли: Compaq, Dell, Hewlett-Packard, IBM, Intel, Microsoft и Sun Microsystems. Единая архитектура ввода-вывода, построенная на открытых стандартах, несет с собой неоспоримые преимущества как производителям, так и потребителям.
Оценка производительности
Когда речь идет о системах с Unix, тестовые пакеты типа Dhrystone и Whetstone не дают надежного представления о производительности системы. Существует несколько пакетов оценки производительности на системном уровне, используемых в мире Unix, каждый из них по-разному определяет системную производительность. Некоторые служат для измерения “чистой” производительности процессора, другие в большей степени уделяют внимание приложениям. Однако никакой одиночный тест не дает полного представления о производительности.
Важность создания тестов, базирующихся на реальных прикладных программах для широкого круга пользователей и обеспечивающих эффективную оценку производительности процессоров, была осознана большинством крупнейших производителей компьютерного оборудования, которые в 1988 г. учредили бесприбыльную организацию SPEC (System Performance Evaluation Cooperative, преобразованную впоследствии в Standard Performance Evaluation Corporation, www.specbench.org). Основная цель этой корпорации - разработка и поддержка стандартизованного набора специально подобранных тестовых программ для оценки производительности новейших поколений высокопроизводительных компьютеров. Членом SPEC может стать любая организация, уплатившая вступительный взнос.
Главными видами деятельности SPEC являются разработка и публикация наборов тестов, предназначенных для измерения производительности компьютеров, а также публикация отчетов о новостях SPEC и результатах тестирования.
Как правило, тесты ориентированы на Unix, однако SPEC работает над импортированием этих кодов на разные платформы, а также создает инструментальные средства для формирования из кодов, выбранных в качестве тестов, осмысленных рабочих нагрузок. Поэтому тесты SPEC отличаются от свободно распространяемых программ. Хотя они могут существовать под похожими или теми же самыми именами, время их выполнения в общем случае будет различным.
Тесты SPEC пользуются наибольшим признанием в мире Unix и считаются основными для сравнения систем разных производителей. Хорошо известны тестовые наборы SPEC CPU95 и SPEC CPU2000 для тестирования производительности процессора при операциях с целыми числами и числами с плавающей точкой.
Одна из независимых организаций, оценивающих производительность вычислительных систем, - частная компания AIM Technology (www.aim.com), основанная в 1981 г. Компания разрабатывала и поставляла программное обеспечение для измерения производительности систем, а также оказывала услуги по тестированию систем конечным пользователям и поставщикам вычислительных систем и сетей, которые используют промышленные стандартные ОС, такие, как Unix.
За время существования AIM Technology разработала специальное программное обеспечение, позволяющее легко создавать различные рабочие нагрузки, соответствующие уровню тестируемой системы и требованиям к ее применению. Это ПО состоит из двух основных частей: генератора тестовых пакетов и нагрузочных смесей прикладных задач. Каждая нагрузочная смесь представляет собой формулу, определяющую компоненты требуемой нагрузки. Эта формула задается в терминах количества различных доступных тестов, выполняемых одновременно для моделирования рабочей нагрузки. Используя эти две части программного обеспечения AIM, можно действительно создать для тестируемой системы любую рабочую нагрузку, определяя компоненты нагрузки в терминах тестов, которые должны выполняться генератором тестовых пакетов. Если требуемые тесты отсутствуют в составе генератора тестовых пакетов, то они могут быть легко туда добавлены.
По мере расширения использования компьютеров при обработке транзакций в сфере бизнеса все более важной становится возможность корректного сравнения систем между собой. С этой целью в 1988 г. был создан совет по оценке производительности обработки транзакций TPC (www.tpc.org, Transaction Processing Performance Council).
Любая компания или организация может стать членом TPC после уплаты соответствующего взноса. На сегодня членами TPC являются практически все крупнейшие производители аппаратных платформ и программного обеспечения для автоматизации коммерческой деятельности. К настоящему времени TPC предложил несколько тестовых пакетов для обеспечения объективного сравнения различных систем обработки транзакций и планирует создание новых оценочных тестов.
Тесты TPC включают в себя TPC-C для обработки транзакций и TPC-D для систем поддержки принятия решений (обработки SQL-запросов). В мире бизнеса транзакция имеет вполне определенный смысл: коммерческий обмен товарами, услугами или деньгами. В настоящее время практически все бизнес-транзакции выполняются с помощью компьютеров. Примеры ПО обработки транзакций - системы управления учетом, резервирования авиабилетов, банковские системы и др. Производители аппаратных систем и СУБД обычно используют результаты TPC-C и TPC-D в своих маркетинговых программах. Обобщенные результаты вычисляются в транзакциях в секунду (чем выше - тем лучше) и в стоимости транзакции в секунду (общая стоимость системы, разделенная на транзакции в секунду; чем ниже, тем лучше).
Споры вокруг процессоров RISC (Reduced Instruction Set Computer) и CISC (Complex Instruction Set Computer) длятся уже не первый год. До массового появления на рынке изделий с процессорами, имеющими архитектуру IA-64, самый очевидный аргумент в пользу “чистых” RISC-процессоров состоит в том, что у большинства из них 64-разрядная архитектура. Одно из основных преимуществ 64-разрядной архитектуры - широкое адресное пространство, а это сказывается на объеме поддерживаемой оперативной памяти и на размере непосредственно адресуемого раздела на жестком диске.
Наиболее активно на рынке RISC-систем продвигаются архитектуры Alpha (Compaq Computer), MIPS (MIPS Technologies), PA-RISC (Hewlett-Packard), PowerPC (IBM) и SPARC (Sun Microsystems).