Серверы для рабочих групп
Дополнение
С начала 80-х годов очень долгое время производительность персональных компьютеров, в том числе и серверов, оценивалась по тактовой частоте процессора. Программные продукты, предназначенные для оценки производительности, ориентировались в основном на подсчет количества коротких программных циклов, выполненных за единицу времени. Появление кэш-памяти на кристалле процессора 486 резко, непропорционально росту тактовой частоты, подняло его измеряемую производительность. Основное внимание производители ПК уделяли чистой производительности процессора, мало заботясь о создании сбалансированных систем. В особенности это касалось серверов, где производительность подсистемы ввода-вывода не менее (а часто и более) важна, чем скорость работы собственно процессора. Файл, затребованный пользователем, проходит в сервере длинный путь — от диска через дисковый контроллер, основную память и сетевую карту, причем шина ввода-вывода в этой операции задействована дважды. Современные утилиты позволяют оценивать производительность дисковой и видеоподсистем, но не измерять ее в комплексе, что в особенности касается серверов. Усложнение сетей, повышение трафика и увеличение размера читаемых и записываемых файлов выдвигают повышенные требования к системе ввода-вывода, не снижая, впрочем, требований к вычислительной подсистеме — к процессору и памяти. Для достижения наилучших результатов обе подсистемы должны быть сбалансированы таким образом, чтобы скорость обработки информации соответствовала скорости обмена. Кроме того, обе подсистемы должны обладать свойством масштабируемости, то есть при увеличении вычислительной мощности (например, путем установки дополнительного процессора) должна существовать возможность повышения производительности подсистемы ввода-вывода.
Рост производительности подсистемы ввода-вывода, к сожалению, заметно отстает от роста производительности процессора. Шина ISA при тактовой частоте 8 МГц и ширине 16 бит имела теоретическую пропускную способность 5,3 Мбайт/с. Шина PCI при ширине 64 бит и тактовой частоте 66 МГц имеет пиковую пропускную способность 66 x 4=264 Мбайт/с — рост примерно в 50 раз. Процессор 8086, на котором была построена IBM PC, имел тактовую частоту 4,77 МГц, а не так давно Intel объявила о прототипах, работающих с тактовой частотой 1 ГГц, то есть рост производительности подсистем явно не сбалансирован.
По мере увеличения производительности процессоров в современных серверах ввод-вывод, а конкретно — шина PCI, становится наиболее «узким местом». Ее скорость лимитирована стандартом и равна 33 или 66 МГц при ширине 32 или 64 бит. Если тактовые частоты материнских плат серверов растут по мере увеличения тактовых частот процессоров (хотя и с отставанием), то тактовая частота PCI фиксирована, поэтому производительность этой шины остается постоянной.
Современные подсистемы ввода-вывода используют общую шину ввода-вывода и общую память. Такая технология применительно к серверам, особенно высокопроизводительным, имеет ряд недостатков. Требования надежности, доступности и масштабируемости не выполняются частично или полностью. Некоторые характеристики можно улучшить при помощи программных средств, однако основной задачей является создание окружения, позволяющего выявлять, локализовать и изолировать ошибки, связанные с подсистемой ввода-вывода. Следует также иметь в виду, что при работе с интерфейсом PCI процессору приходится снижать скорость до соответствующей величины.
Масштабируемость не присуща интерфейсу PCI в принципе. Обычно серверы приобретаются с расчетом на расширение в будущем, однако после того, как занят последний слот PCI, возможностей для расширения остается мало (фактически только одна — замена карт на более функциональные).
Совместное использование общей памяти таит еще одну опасность. В результате аппаратных или программных сбоев карта или драйвер могут испортить не принадлежащую им область. Такая неисправность приводит обычно к краху системы и выявляется с большим трудом. По мере того как серверы все шире используются в критичных приложениях, возрастают требования к надежности, и в будущем даже небольшой риск, связанный с использованием PCI, может оказаться неприемлемым.
Современная архитектура системы ввода-вывода, основанная на совместном использовании шины и памяти, несложна для понимания, проверена временем, но имеет ряд недостатков и ограничений, а именно:
- для доступа к шине используется механизм арбитража. Это означает, что захват ее каким-нибудь устройством приведет к снижению (вплоть до нуля) производительности всех остальных;
- «горячая» (без останова и отключения) замена затруднена. Редкие серверы и карты ее поддерживают;
- несмотря на plug-and-play, установка карт остается скорее искусством, чем наукой. Найти тот слот, в котором карта будет работать с максимальной производительностью, помогает только опыт;
- усложняется разработка системных плат. Требования к разводке платы, предъявляемые высокой тактовой частотой, заставляют размещать слоты на небольшом расстоянии от памяти. По мере роста производительности процессоров становится затруднительным размещение на системной плате того количества слотов, которое обеспечило бы необходимый баланс между подсистемами ввода-вывода и обработки данных;
- по мере роста количества устройств ввода-вывода повышаются требования, предъявляемые к системам электропитания и охлаждения. Поскольку эти системы изначально должны быть рассчитаны на полную потребляемую мощность, то нарушается принцип «плати по мере роста»;
- для повышения производительности подсистемы ввода-вывода в серверах приходится устанавливать несколько мостов «память/PCI», способных работать друг с другом параллельно. Это хотя и повышает производительность, но создает неудобства при установке новых устройств, так как нагрузка на каждый из мостов должна быть сбалансирована, то есть новые платы для достижения наивысшей производительности необходимо устанавливать в определенном порядке.K
Для решения этих проблем имеется несколько путей. Первый — революционный, названный Next Generation I/O (NGIO), предложен в совместной инициативе Intel, Sun Microsystems, Dell Computer Corporation, Hitachi Limited, NEC Corporation и Siemens Information Communication Network, Inc. Направленная на исправление недостатков, присущих архитектуре современных серверов, она коренным образом меняет всю концепцию подсистемы ввода-вывода. Концепция NGIO предусматривает отдельный механизм ввода-вывода, основанный на каналах, подключенный к основной памяти сервера и взаимодействующий с периферией при помощи передачи сообщений, что полностью развязывает процессор и периферию. Как и более ранняя серверная технология от Intel — I2O, она восходит к принципам, использовавшимся в больших ЭВМ (mainframes). Помимо прочих достоинств, такой подход является весьма привлекательным для многопроцессорных систем. Однако эта технология еще не вышла за пределы лабораторий, что делает ее делом будущего (возможно, и близкого).
Второй путь — повысить производительность шины PCI путем увеличения тактовой частоты до 133 МГц, на что направлена совместная инициатива 3Com, Adaptec, Compaq, Hewlett-Packard и IBM, которая названа «Future I/O», или «PCI-X». По существу, это — эволюционный подход, предусматривающий совместимость снизу вверх. Он предусматривает работу с тактовой частотой 133 МГц и шириной шины данных 64 бит. Предусматривается и обратная совместимость, то есть устройства, рассчитанные на тактовые частоты 33 и 66 МГц, тоже могут быть подключены к этому интерфейсу. При этом, правда, вся система будет работать на частоте, которую поддерживает самый «слабосильный». Однако, как упоминалось выше, еще более усложняется конструкция системных плат.
Наконец, третий путь состоит в совершенствовании материнских плат. Чипсет для серверов и мощных рабочих станций ServerSet был разработан фирмой SerwerWorks (www. serverworks.com). В настоящее время среди ее партнеров имеются такие известные компании, как Acer, Compaq, Dell, Fujitsu, IBM, Intel, Intergraph, NEC, Siemens, Asus, HP, Tyan Computer, Supermicro, то есть практически все производители серверов и материнских плат к ним. Самый мощный вариант — ServerSet III HE — состоит из четырех микросхем и обеспечивает следующие преимущества:
- работа одного, двух и четырех процессоров при тактовой частоте платы до 133 МГц;
- поддержка технологии PC133 SDRAM при общей максимальной емкости памяти до 16 Гбайт;
- высокая пропускная способность — до 4,1 Гбайт/с за счет архитектуры с четырехкратным перекрытием;
- благодаря технологии Inter Module Bus обеспечивается скорость до 1 Гбайт/с при синхронной передаче;
- два полностью независимых канала PCI шириной 64 байта с частотой 64 МГц и отдельный канал PCI для медленных устройств с тактовой частотой 33 МГц шириной 32 бит;
- имеющийся резерв производительности позволяет реализовать технологию PCI-X при ее широком распространении.
Таким образом, выясняются два интересных обстоятельства: во-первых, не все лучшие чипсеты — от Intel, а во-вторых, производительность серверов на базе процессоров Intel имеет значительные резервы.