Серверы на основе процессоров Intel: история возникновения, определение, предъявляемые требования, описание основных подсистем.


Чтобы лучше понять, что такое современные серверы, кратко рассмотрим историю их возникновения. Изначально, вся электронная обработка данных проходила на мощных ЭВМ – мейнфреймах, у пользователей был лишь терминал для доступа к данным. Мейнфреймы (mainframe — основная стойка (англ.)) представляли собой мощные, универсальные ЭВМ для одновременного обслуживания нескольких тысяч пользователей. Главная особенность их архитектуры — сбалансированность, что достигалось с помощью дополнительного процессора на уровне канала, который синхронизируется с вычислительным процессором по прерываниям. Обращаясь к канальному процессору за данными, вычислительный процессор в это время переключался на расчеты для параллельных задач. Терминал представлял собой алфавитно-цифровой дисплей и клавиатуру, которые подключались к мейнфрейму. Мейнфреймы поставляли несколько компаний: Hitachi, Amdahl, IBM и др. Как правило, их продукция была несовместима между собой.

Компании были замкнуты на решения одного поставщика, который поставлял все аппаратное и программное обеспечение. Компьютерные системы были очень дорогими, а переход с одной системы на другую был очень болезненным. В 1971 г. компанией Intel был разработан первый микропроцессор (i4004), что сделало возможным появление персонального компьютера — IBM PC. С ростом мощности и количества ПК произошел постепенный переход от централизованной обработки информации к распределенной (на ПК). Терминалы стали замещаться ПК, а от мэйнфреймов постепенно отказались.

Однако с ростом количества ПК и их мощности, развитием локальных сетей, вновь возникла потребность в централизованном хранении и обработке данных.

Появилась необходимость в сервере для персональных компьютеров. Сервер — устройство в сети, предназначенное для обслуживания доступа к общим ресурсам (файлы, принтеры, базы данных, приложения и т. д.).

Изначально распространение получили файловые серверы, где пользователи хранили свои данные и обменивались ими. С ростом глобальной компьютерной сети Интернет возникло новое направление — телекоммуникационные серверы (веб серверы, ftp, доменных имен, почтовые). С развитием СУБД, в силу изменения формата хранения и доступа к данным, файловые серверы утратили свою популярность, и их во многом заменили серверы баз данных. Файловые серверы остаются и по сей день, но они приобрели второстепенное значение — их используют лишь для хранения пользовательских файлов и различных архивов. В последнее время выросла популярность терминальных серверов — ПК пользователей служат лишь терминалом для отображения и ввода данных, а все пользовательские задачи выполняются на сервере. Таким образом достигается значительная экономия на ПК (на роль терминала годятся даже маломощные компьютеры), снижаются затраты на установку и поддержку программного обеспечения, решаются вопросы конфиденциальности и сохранности данных.

Для снижения совокупной стоимости владения (TCO), куда входят затраты на оборудование, программное обеспечение и обслуживание техники, многие компании сегодня возвращаются к централизованной обработке данных. Но теперь нет замкнутости на одном поставщике аппаратного и программного обеспечения, на рынке есть широкий выбор решений от различных фирм.

Сервер стал критическим элементом в современной инфраструктуре обработки данных, отказ которого приводит к серьезным временным, а значит и финансовым потерям.

Простои сервера можно условно разделить на две категории: плановые и внеплановые. Плановые связаны с выполнением регламентных работ на сервере: профилактическое обслуживание, модернизация и т.д.

Используя сервер, собранный из настоящих серверных компонентов, можно сократить плановые и внеплановые простои. Например, при выходе из строя одного из вентиляторов, администратор может заменить его, не выключая сервер. То же самое можно проделать и с блоками питания, если они поддерживают резервирование, с жесткими дисками и картами расширения PCI-X и PCI Express.

Внеплановые простои возникают в случае отказа сервера. Причины отказа могут быть разнообразными, самые распространенные — перегрев компонентов из-за остановки вентиляторов или отказ дисковой подсистемы из-за выхода из строя одного или нескольких дисков. К отказам могут приводить и сбои программного обеспечения, вызванные некорректной конфигурацией последнего. До сих пор в России имеют место ситуации, когда сервер параллельно служит рабочей станцией системного администратора, что приводит к установке излишнего программного обеспечения, различным системным конфликтам, т. е. надежность системы катастрофически падает.

Причиной отказа может стать и умышленная удаленная атака на сервер с целью парализовать его работу. Такая атака может производиться как из локальной сети, так и из сети Интернет (если локальная сеть имеет выход в глобальную сеть).

В случае простоя основного рабочего сервера финансовые потери условно можно рассчитать следующим образом:
потери = количество пользователей работающих с сервером * средняя зарплата в час пользователя * количество часов.
Сюда же можно приплюсовать потери от несовершенных операций, пени, неустойки и т.д.

Наихудший вариант — простой, сопровождающийся потерей данных. Зачастую, данные могут стоить дороже, чем самый современный сервер. Чтобы предотвратить данную ситуацию, необходим постоянный бэкап данных на ленточные накопители или другие устройства хранения-CDRW, DVD-RW и др.

В 1995 г. компанией Intel, лидирующим поставщиком микропроцессоров, был разработан процессор Pentium Pro (150МГц, 512Кб кэш), позиционирующийся как серверный. Он отличался от десктопных аналогов большим кэшем и продвинутой архитектурой, частично заимствованной у процессоров с архитектурой RISC. В Pentium Pro Intel впервые включил технологию динамического исполнения (Dynamic Execution), то есть инструкции могут исполняться не только последовательно, но и параллельно с помощью предсказания ветвей кода и переупорядоченного исполнения инструкций. Тем самым значительно повысилась эффективность процессора — количество команд, выполняемых за такт.

Вторым нововведением стал большой встроенный кэш L2. Для серверных систем наличие большего кэша является очень важным. Процессоры всегда работают на частотах в несколько раз превышающих частоту памяти. Половина инструкций стандартных приложений представляет собой команды работы с памятью — загрузку и выгрузку данных (Load-Store). Работа с памятью происходит по следующей схеме: если данные не были найдены в кэше L1, то следует обращение к кэшу L2, на это уходит 9–16 процессорных циклов, если данных нет и в кэше L2, то на обращение к памяти уходит до 150 процессорных циклов, в течение которых процессор ждет данные. Большой кэш L2 повышает вероятность быстрого доступа к данным, следовательно, увеличивает эффективность работы процессора.

Можно говорить о том, что Intel впервые применяет и обкатывает свои новые продвинутые технологии именно на серверных процессорах, потом эти технологии постепенно распространяются и на десктопы. Это уже произошло с интегрированным кэшем L2, динамическим исполнением, многопоточностью (hyper-threading). На очереди 64 битная адресация памяти (ЕM64Т).

За Pentium Pro последовали другие серверные процессоры: в 1998 г. — Intel Pentium II Xeon (400–450МГц, 1-2Мб кэш), Pentium III Xeon (700–900Мгц, 1-2Мб кэш). В 2001 г. был выпущен серверный аналог Pentium 4, Хeon, который развивается и используется и в настоящее время.

Таким образом, Intel уже 9 лет разрабатывает серверные процессоры и материнские платы. С 1999 г. Intel, чтобы расширить свой серверный бизнес, начала разрабатывать и производить серверные корпуса, а в 2001 г. впервые самостоятельно разработала серверный чипсет — E7500. До этого Intel и другие производители серверных материнских плат использовали серверные чипсеты фирмы ServerWorks (отделение компании Broadcom). С появление чипсетов E7500 и E7501 Intel практически полностью вытеснила ServerWorks с рынка двухпроцессорных чипсетов. Сегодня чипсеты ServerWorks широко используются только в многопроцессорных системах на Xeon MP.

Современные чипсеты Intel условно можно разделить на серверные и десктопные. В серверных чипсетах шины ввода-вывода PCI-X напрямую соединены с MCH (Memory Controller Hub), в десктопных это всегда делается через южный мост (ICH-I/O controller HUB). В чипсетах для серверов начального уровня (E7210, 875P) гигабитный адаптер Ethernet напрямую подключен к MCH, чтобы сбалансировать нагрузку и разгрузить ICH.




Рисунок 1. Сравнение архитектуры чипсетов для двухпроцессорных серверов (E7500), однопроцессорных серверов начального уровня (E7210) и десктопных чипсетов Intel (I845).

К настоящему времени серверные решения от Intel достигли степени зрелости: появились общепринятые открытые стандарты на отдельные серверные подсистемы: IPMI (удаленное управление), SSI (блоки питания и корпуса), DMI (управление и инвентаризация системы).

Теперь рассмотрим основные требования, предъявляемые к серверу, сложившиеся на данный момент:

  1. Надежность
  2. Быстродействие
  3. Управляемость
  4. Расширяемость

1. Надежность

Благодаря чему в серверах достигается надежность:

  • Использование специальных серверных компонентов, которые проходят более тщательное тестирование.
  • Резервирование компонентов: дублированные блоки питания, вентиляторы, жесткие диски.
  • Память с контролем четности (ECC) позволяет автоматически исправлять однобитовые ошибки
  • Удаленное управление и диагностика сервера (возможность просмотра температуры, скорости вращения вентиляторов, оповещения о критических сбоях)

2. Быстродействие

На данный момент, быстродействие является одним из самых «скользких» серверных показателей. Сервера начального уровня по процессорной мощности могут не отличаться, а иногда даже уступать обычным ПК, так как для выполнения некоторых серверных задач не требуется большой вычислительной мощности.

Рассмотрим самые распространенные серверные роли и нагрузки на различные подсистемы в ходе их выполнения:

Типичные роли серверов Дисковая система Процессоры Память Шины ввода-вывода
Сервер баз данных (SQL) 3 3 3 3
Файл-сервер 3 1 2 3
Брандмауэр (фаервол), почтовый сервер 1 2 1 1
VPN сервер 1 2 1 1
Терминал-сервер 3 3 3 3
Web-сервер 2 3 3 2

Таблица 1. Условные уровни нагрузки на различные серверные подсистемы в зависимости от роли сервера. (1-наименьшая нагрузка, 3-наибольшая.)

Таким образом, мы можем выявить три серверных задачи, где процессорной мощности современного офисного компьютера может быть достаточно:

  • файл-серверы
  • файрволы
  • почтовые серверы
Но с ростом количества пользователей, и, соответственно, нагрузки, для выполнения данных задач может потребоваться полноценный сервер.

Посмотрим, что произойдет, если установить в качестве сервера баз данных мощный десктоп. Механизм работы сервера баз данных условно можно описать следующим образом: к серверу по сети поступил запрос, в оперативную память с накопителей подгружаются необходимые данные, следует их обработка. Измененные данные необходимо записать на накопители, сделать отметку в логе о совершенной транзакции и отдать по сети данные обратно. При большом количестве одновременных запросов критически важной становится возможность сервера выполнять несколько потоков приложений одновременно, быстрый доступ к данным (большое количество оперативной памяти) и быстрая и надежная дисковая подсистема.

Пропускная способность «десктопной» шины PCI — 133 Mб/c., что легко «съедается» устройствами ввода-вывода.

Гигабитная сетевая карта имеет максимальную пропускную способность в 125 Мб/c., соответственно, две гигабитных карты, работающие одновременно, дадут уже 250 Мб/c. Если сюда приплюсовать еще и трафик от винчестеров — в случае IDE до 40–60 Мб/c., SCSI до 60–70 Мб/c. Если используется RAID контроллер с несколькими винчестерами в массиве, то трафик по шине увеличится пропорционально их количеству. Причем сервер должен обслуживать весь этот трафик одновременно. Как мы уже выяснили ранее, десктопные чипсеты имеют одну общую шину ввода-вывода, таким образом, картам расширения приходится конкурировать за пропускную способность шины, которая становится «узким местом». В свою очередь для сервера характерно наличие нескольких независимых «широких» шин ввода-вывода, сейчас это PCI-X, в будущем PCI Express.

Итак, быстродействие в настоящем сервере обеспечивается следующим образом:

  • Использование двух и более процессоров
  • Наличие несколько независимых шин PCI-X или PCI Express
  • Возможность использования больших объемов оперативной памяти

3. Управляемость.

  • Возможность удаленно (по сети) получать информацию о температуре процессоров, материнской платы; скорости вращения вентиляторов.
  • Администратор может устанавливать различные варианты получения предупреждений (по электронной почте, на пейджер, SNMP Alerts), о событиях, происходящих на сервере- остановке вентиляторов, перегреве процессоров, вскрытии шасси и т.д.
  • Удаленное включение/выключение, перезагрузки сервера, просмотр журнала событий, диагностика, обновление микрокодов.

4. Расширяемость.

  • Возможность использования нескольких процессоров
  • Возможность установки большого количества модулей памяти
  • Несколько независимых шин: PCI, PCI-X для установки дополнительных карт расширения.

Так, мы можем убедиться, что для выполнения всех четырех требований необходим настоящий, полноценный сервер. Установка в качестве рабочего сервера мощного ПК дает мнимую первоначальную экономию, которая потом «съедается» расходами на его обслуживание и модернизацию.

  Персональный компьютер Рабочая станция Сервер
1. Надежность
Резервирование узлов нет да да
Использование памяти с ECC да (используется редко из-за дороговизны памяти) да да (всегда)
2. Быстродействие
Поддержка двух и более процессоров нет да да
Максимальный поддерживаемый обьем оперативной памяти 4 Гб 8 Гб 8–16 Гб
Наличие независимых скоростных шин ввода-вывода 1 слот PCI-Express для графических карт + PCI AGP + PCI-X + PCI Express + PCI Несколько независимых шин PCI-X+PCI-Express+PCI
3. Управляемость
Удаленная диагностика температура процессора, скорость вентиляторов температура процессора, скорость вентиляторов просмотр журнала событий, датчиков температуры, вскрытия корпуса
Удаленное управление нет нет включение/выключение, перезагрузка
4. Расширяемость
Несколько независимых шин PCI/PCI-X нет да да

Таблица 2. Сравнение возможностей ПК, рабочей станции и сервера

Из чего состоит современный сервер: описание основных компонентов и подсистем.

У пользователей часто возникает вопрос — почему серверы стоят гораздо дороже, чем обычные мощные компьютеры? В чем их отличие от офисных ПК и почему настоящие серверы лучше. Ответить на этот вопрос можно лишь описав основные компоненты, «кубики» из которых строится сервер. Попытаемся дать краткое описание основных серверных компонентов и подсистем.

Корпуса.

Существует два основных вида серверных корпусов: стоечные и пьедестальные. Пьедестальные корпуса (pedestal) — стандартные «башни», отличающиеся от корпусов ПК лишь размерами, более емкой корзиной для накопителей и более качественным охлаждением. На сегодняшний день пьедестальные корпуса теряют популярность, их место занимают стоечные корпуса (rackmount). Они предназначены для установки в 19-дюймовую телекоммуникационную стойку или шкаф. Как правило, стоечные корпуса комплектуются рельсами, позволяющими выдвигать серверы для проведения сервисных работ. Такие корпуса занимают меньше места и удобнее в обслуживании. Их высота измеряется в юнитах (U). Один юнит равен 44,5 мм. Самые распространенные размеры стоечных корпусов: 1U, 2U, 4U и 5U.

Блоки питания

Серверные компоненты (процессоры, жесткие диски, материнские платы и др.), в силу своей высокой производительности потребляют больше электроэнергии, чем их аналоги для офисных ПК. Следовательно, для серверов требуются более мощные и надежные источники питания. Серверные процессоры Xeon потребляют до 120 Вт, жесткие диски SCSI до 20 Вт, материнские платы до 40 Вт. Путем несложных подсчетов мы можем прийти к выводу, что минимальная мощность источника питания для однопроцессорных систем должна составлять 300 Вт, для двухпроцессорных — от 400 Вт и выше, в зависимости от конфигурации.

В целях повышения надежности в серверах зачастую используют источники питания с резервированием (redundant). В случае выхода из строя одного источника питания, в действие вступает дополнительный, при этом питание не теряется. Администратору на консоль поступает сообщение об отказе одного из источников, что дает ему возможность оперативно заменить неисправную часть и восстановить резервирование. Соответственно, в данном случае источники питания поддерживают возможность «горячей» замены, без выключения сервера.

Материнские платы

Форм-фактор

В серверных системах используются материнские платы двух форм-факторов: ATX(E-ATX) и SSI. ATX более старый и привычный стандарт, главным образом ориентированный на ПК. Сегодня на его базе создают лишь серверные платы начального уровня. SSI (Server System Infrastructure) — специальный стандарт на серверные компоненты (блоки питания и корпуса), активно продвигаемый Intel. Введение открытого стандарта SSI должно упростить создание новых серверных корпусов и блоков питания, тем самым повлечь за собой уменьшение издержек и конечной цены для пользователя.

Видимое отличие материнских плат двух стандартов заключается в разных разъемах питания: 20-контактный у ATX(E-ATX), и новый 24-контактный у SSI. Отличается также и размер платы — SSI это всегда 12"×13", ATX- 12"×9,8", E-ATX-12"×13". В принципе возможно подключение SSI блока питания к ATX плате и наоборот, через специальные переходники, поскольку разъем SSI фактически представляет собой разъем ATX+дополнительные контакты для 3.3В и 5В.

Поддерживаемые шины ввода-вывода

Одним из факторов, влияющих на цену материнской платы, являются поддерживаемые ею шины. Для плат начального уровня (однопроцессорных) характерно наличие стандартной PCI шины, хотя с выходом нового чипсета Intel E7210, шина PCI-X впервые появилась и на однопроцессорных материнских платах. На более продвинутых (двухпроцессорных) платах существуют несколько независимых шин PCI-X. В будущем (конец 2004–2005 гг.) все серверные платы в обязательном порядке будут использовать новую последовательную шину PCI Express. Действительно, PCI Express несет много преимуществ:

  • Повышенная пропускная способность — 200 Мб/c на канал, сертифицированы 1, 2, 4, 8, 16 и 32× канальные варианты разъемов. Шина полнодуплексная, т.е. данные могут передаваться «туда» и «обратно» одновременно, пиковая скорость может достигать 6,4 Гб/c.
  • Поддержка режима «горячей» замены карт расширения
  • Заложены возможности контроля целостности передаваемых данных (CRC)

Шина Разрядность в битах Частота Скорость передачи данных Поддержка HotPlug
PCI 2.1 32 33 Мгц 132 Мб/с нет
PCI 2.1 64 33 Мгц 264 Мб/с нет
PCI 2.1 64 66 Мгц 512 Мб/с нет
PCI-X 64 133 Мгц 1 Гб/с да (необходим дополнительный Hot Plug Controller)
PCI-Express   2.5-80 ГГц 0.5-16 Гб/с да (встроена в PCI Express Switch)

Таблица 3. Сравнительные характеристики шин передачи данных

Чипсет

Изначально, рынок серверных чипсетов безраздельно принадлежал компании ServerWorks. Но с выходом Intel Xeon и с выпуском чипсета E7500, лидерство на рынке чипсетов для двухпроцессорных плат перешло к Intel. На данный момент ServerWorks присутствует лишь на рынке 4-х процессорных серверов с чипсетом Grand Champion HE.

На данный момент на рынке двухпроцессорных систем присутствуют два чипсета от Intel: E7501 для серверного сегмента и E7505 для рабочих станций (поддерживает AGP Pro 8x). Анонсированы и скоро поступят в продажу платы на основе новых чипсетов Intel E7520 и E7320. Данные чипсеты поддерживают память DDR-2 (400 МГц) — пиковая пропускная способность увеличивается на 20% и достигает 6,4Гб/c, на 40% снижается энергопотребления по сравнению с памятью DDR. Чипсеты также поддерживают шину PCI Express.

Для построения однопроцессорных систем используются чипсеты Intel 875P и Intel E7210.

  Процессор FSB Шины Типы памяти
875P Pentium 4 800 PCI DDR 266/333/400
E7210 Pentium 4 800 PCI-X 64/66 DDR 266/333/400
E7500 Xeon 400 PCI, PCI-X DDR 200 ECC Registered
E7501 Xeon 533 PCI, PCI-X DDR 266 ECC Registered
E7505 Xeon 533 PCI, PCI-X, AGP DDR 266 ECC Registered
E7520 Xeon 800 PCI-X, PCI-Express DDR2 400 ECC Registered
E7320 Xeon 800 PCI-X, PCI-Express DDR2 400 ECC Registered

Таблица 4. Технические характеристики серверных чипсетов фирмы Intel

Управление

Возможность независимого от операционной системы удаленного мониторинга и управления является исключительно важной для серверов. На сегодняшний день возможно дистанционно (по сети) получать информацию о температуре процессоров, материнской платы; скорости вращения вентиляторов и др. параметрах сервера. Администратор может устанавливать различные варианты получения предупреждений (по E-mail, на Pager, SNMP Alerts), о событиях на сервере: остановке вентиляторов, перегреве процессоров, вскрытие шасси. Существует возможность удаленного включения/выключения, перезагрузки серверов. Причем эти функции доступны даже при выключенном сервере, если он подключен к локальной сети или специальной сети управления, и на него подается дежурное напряжение. В будущем, планируется введение дополнительных функций, например, системные администраторы получат возможность удаленно (по сети) получать доступ к экрану и консоли управления сервером, обновлять BIOS и др. функции.

Некоторые производители интегрируют функционал для удаленного управления на материнских платах (Intel). Другие компании придерживаются более гибкого подхода — функции управления реализуются докупаемой отдельно дочерней платой (Tyan). В будущем и Intel планирует перейти на подобную схему. Причем у Intel будут присутствовать различные виды дочерних плат, отличающихся поддерживаемым функционалом дистанционного управления.

Оперативная память

Для серверов характерна поддержка больших объемов памяти. Многие приложения (SQL-серверы, веб-серверы и др.) для ускорения операций подгружают максимальный объем данных в оперативную память. У файловых серверов в оперативной памяти размещается файловый кэш, ускоряющий доступ к данным пользователя. У терминал серверов на основе Windows на каждую пользовательскую сессию отводится как минимум 32 Мб оперативной памяти плюс 256 Mb на операционную систему. Нетрудно подсчитать, что для функционирования терминал-сервера на 50 пользователей необходимо, как минимум, 2 гигабайта памяти. Обычно на двухпроцессорных платах присутствуют от 4-х до 8 разъемов для модулей памяти. Соответственно, максимальный объем может достигать 16 Гб. Хотя на практике, использование более 4-х Гб памяти на 32-битных системах не оптимально. С помощью технологии Physical Address Extensions (PAE) в 32-битных системах можно использовать до 64 Гб памяти, но с потерями быстродействия.

Все серверные платы поддерживают память с контролем четности (ECC). Память с ECC позволяет исправлять одиночные битовые ошибки и информировать о двойных, тем самым, обеспечивая отказоустойчивость сервера. На двухпроцессорных серверах используется специальная регистровая память. Отличие от обычной состоит в том, что на ней присутствуют регистры (буферы) контролирующие распределение сигнала по всем чипам памяти. Соответственно, буферы увеличивают задержку работы с памятью, но увеличивают надежность доступа к памяти, что критично для серверов. Также, благодаря наличию регистров, чипсет может поддерживать большее количество слотов памяти. Таким образом, двухпроцессорные сервера используют регистровую память с контролем четности. В однопроцессорные сервера ставят обычную память с поддержкой ECC или без нее.

Процессоры

Для построения 32-битных однопроцессорных систем сегодня используется Intel Pentium 4, для двухпроцессорных — Xeon DP, для четырехпроцессорных и более — Xeon MP. Фактически Intel Xeon представляет собой Intel Pentium 4, но с включенным блоком многопроцессорности (SMP). Xeon DP на основе 130-нм технологии поддерживает 533 шину, кэш L2 512Кб и L3 1,2 Мб. Недавно появившийся Xeon DP на основе 90 нм. тех. процесса (Nocona) поддерживает 800 МГц шину, кэш L2 1 Мб. Xeon DP (Nocona) поддерживает технологию EM64T, одной из особенностей которой является режим 64-разрядной адресации, который упрощает работу с большими объемами оперативной памяти. В новом Хeon появилась расширенная технология SpeedStep, позволяющая динамически управлять мощностью и сокращать энергопотребление процессора.

Xeon MP отличается от Xeon DP большим встроенным кэшем L3 (до 4Мб), использованием более медленной 400МГц шины и поддержкой 4-x и более процессоров. У процессоров Xeon есть кэши трех уровней L1, L2 и L3. Кэши работают на частоте ядра, но имеют разную задержку работы (латентность): L1 — 2–9 процессорных циклов (в зависимости от типа данных), L2 — +7 циклов (9–16), L3 — +14 циклов (23–30). Фактически, по данным различных исследований, наличие кэша L3 заметно не повышает быстродействия системы на типичных задачах. Особенность кэша процессоров Xeon — инклюзивность, то есть содержимое кэша L1 содержится в L2 и L3, данные из L2 продублированы в L3, что уменьшает эффективную суммарную емкость кэша. Таким образом, для достижения наивысшей вычислительной производительности процессора в первую очередь стоит ориентироваться на частоту шины процессора и на размер кэша разных уровней (большой кэш L2 предпочтительней, чем дополнительный L3, из-за более низкой латентности).

Дисковая подсистема

Диски

На сегодняшний день на рынке представлены жесткие диски трех интерфейсов: Parallel ATA (IDE), Serial ATA (SATA), SCSI.

Parallel ATA (IDE) является основным интерфейсом для персональных компьютеров. К преимуществам данного интерфейса можно отнести низкую цену за мегабайт информации.

Serial ATA является наследником интерфейса PATA. В новом стандарте была расширена пропускная способность до 150 Мб/с, для подключения дисков используются новые плоские кабели. Стандарт SATA допускает "горячее" подключение накопителей, в нем заложен механизм оптимизации очереди команд внутри контроллера, что значительно ускоряет ввод-вывод. В отличие от интерфейса PATA, в стандарте SATA к одному каналу подключается только одно устройство. Интерфейсы SATA и PATA несовместимы физически, но сторонние фирмы разработали преобразователи интерфейсов.

Интерфейс SCSI традиционно использовался в серверных системах. К его неоспоримым преимуществам следует отнести возможность подсоединения до 15 устройств на один канал, высокую пропускную способность (до 320 Мб/с), технологии арбитража шины, снижающие нагрузку на процессор, оптимизация очереди команд. Данные особенности делают SCSI идеальным интерфейсом для задач, связанных с большим количеством операций ввода-вывода. Жесткие диски с интерфейсом SCSI, как правило, имеют большую скорость вращения шпинделя — 10000 или 15000 оборотов в минуту, что увеличивает скорость поиска и передачи данных. К минусам данного интерфейса можно отнести высокую стоимость хранения (жесткий диск SCSI в три-четыре раза дороже, чем накопители SATA или PATA той же емкости). Физический интерфейс SCSI дисков бывает двух видов: интерфейс SCA 80 контактов (поддерживается «горячая» замена) и 68-ми контактный интерфейс (без горячей замены).

RAID контроллеры

RAID контроллеры позволяют организовать из группы жестких дисков отказоустойчивый массив. Существуют различные уровни отказоустойчивости, но наибольшее распространение получили следующие:

  • Уровень 0 (striping) — блоки данных последовательно размещаются на нескольких дисках, достигается выигрыш в скорости, но без отказоустойчивости. То есть в случае отказа одного из винчестеров пользователь теряет всю информацию.
  • Уровень 1 (mirroring) — диски объединены в пару и являются точной копией друг друга, для данного уровня требуются как минимум два диска. Теряется 50% дискового пространства, но достигается отказоустойчивость
  • Уровень 5 (striping with parity) — на дисках размещаются блоки данных плюс контрольная сумма. Причем контрольная сумма оказывается «размазанной» по всем дискам массива. В случае отказа одного из дисков, данные восстанавливаются на основе контрольной суммы на диск замены (hot spare). Для построения массива уровня 5 требуется как минимум три диска. Под контрольные суммы используется дисковое пространство, эквивалентное объему одного из накопителей (в случае n накопителей, суммарный объем дискового пространства равен n-1).
  • Уровень 0+1 или 10 (mirroring+striping) — зеркалирование+последовательная блочная запись. Представляет собой две группы зеркальных дисков, запись на которые ведется последовательно блоками. Необходимо, по меньшей мере, 4 диска. Потери дискового пространства 50%. Уровень 10 комбинирует скорость и надежность. Такой массив может продолжать функционирование при отказе половины дисков. Так как контроллеру не надо вычислять контрольные суммы, запись на диски происходит значительно быстрее, чем при уровне 5.

Таким образом, уровень 0 чаще всего используют там, где необходима высокая скорость данных, а сохранность данных неважна, например, нелинейный монтаж видео. Уровень 1 используется там, где требуется сохранить данные без использования сложных аппаратных систем. Как правило, уровень 0 и 1, поддерживают все, даже самые дешевые RAID контроллеры, в том числе и интегрированные на материнской плате. Уровень 5 представляется оптимальным по соотношению надежность/потери дискового пространства. Но для его реализации требуется полноценный RAID контроллер с аппаратным ускорением подсчета контрольных сумм. В силу необходимости подсчета контрольных сумм, данный уровень проигрывает по скорости записи уровню 0+1 (10). Уровень 10 используют там, где нужна высокая надежность и скорость чтения/записи, а потери дискового пространства не являются критичными.

RAID контроллеры различаются по типу используемой шины. Как правило, серьезные решения ориентированы на шину PCI-X, как самую быстродействующую на сегодняшний момент. На платах полноценных RAID контроллеров дополнительно размещают кэш-память; есть варианты с интегрированной и расширяемой памятью. Объем кэш-памяти влияет на производительность массива, но эта зависимость не является линейной.

Существует два режима работы кэша RAID контроллера: Write Through (сквозная запись) и Write Back (обратная). При первом режиме контроллер не дает подтверждения записи, пока данные не попали на диски, при втором достаточно того, чтобы данные попали в кэш. Соответственно, второй режим значительно ускоряет операции записи, но существует опасность потери данных при сбое по питанию. Чтобы решить данную проблему некоторые модели RAID контроллеров, как правило, двухканальные, оснащают еще и встроенной батареей (BBU- Battery Backup Unit). В случае сбоя по питанию или аппаратной перезагрузки, RAID контроллер с батареей успевает сбросить данные из кэша на диски.

Существуют и дешевые RAID-решения, например, Zero Channel Raid (ZCR). RAID контроллер данного типа представляет собой карту расширения, которая преобразует встроенные SCSI каналы на материнской плате в каналы RAID. Как правило, ZCR платы не содержат кэша, в них установлены маломощные процессоры. Использование таких систем оправдано лишь для создания массивов уровня 0 и 1.

Также возможно создание RAID-массива без специального RAID-контроллера, программным путем. Многие современные операционные системы поддерживают такую функцию (Windows 2000 Server, Windows 2003 Server, Redhat Linux 9 и т.д.). Однако скорость работы данного массива будет существенно ниже, чем у аппаратного, поскольку центральный процессор будет загружен в большей степени, особенно это будет заметно при уровне-5. Но главной проблемой является низкая надежность подобного решения – при сбое по питанию часть данных массива неизбежно будет потеряна.

Вместо выводов

Таким образом, сервер представляет собой сложный комплекс различных подсистем. При конфигурировании сервера необходимо отталкиваться от той задачи, для которой он предназначен. При различных серверных ролях нагрузка на серверные подсистемы меняется. Важно найти оптимальное решение, а для этого необходимо произвести расчет будущей нагрузки на сервер. Это можно сделать самостоятельно или с помощью технических специалистов компьютерных фирм, имеющих опыт в проектировании серверных систем.

 




Дополнительно

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.