Нефть и песок О стали Компрессор - подбор и ошибки Из истории стандартизации резьб Соперник ксерокса - гектограф Новые технологии производства стали Экспорт проволоки из России Прогрессивная технологическая оснастка Цитадель сварки с полувековой историей Упрочнение пружин Способы обогрева Назначение, структура, характеристики анализаторов Промышленные пылесосы Штампованные гайки из пружинной стали Консервация САУ Стандарты и качество Технология производства Водород Выбор материала для крепежных деталей Токарный резец в миниатюре Производство проволоки Адгезия резины к металлокорду Электролитическое фосфатирование проволоки Восстановление корпусных деталей двигателей Новая бескислотная технология производства проката Синие кристаллы Автоклав Нормирование шумов связи Газосварочный аппарат для тугоплавких припоев
Главная страница / Архитектура отрасли

СЕРВЕРЫ КАК ЗЕРКАЛО ИТ-РЫНКА

Внимательный читатель наверняка обратил внимание на

интересный факт: все крупные производственные компании, работающие на компьютерном рынке, предлагают примерно одинаковый спектр продукции под собственной торговой маркой. Что касается периферийного и сетевого оборудования (мониторы, принтеры, сканеры, коммутаторы, сетевые карты и т. д.), то обладатели «brand name» вовсе не утруждают себя инженерной разработкой, а зачастую и созданием технологий и занимаются только маркетингом и сервисом, заказывая то, что нужно, на стороне. Не все гладко обстоит и с персональными, блокнотными и в некотором смысле карманными компьютерами. В настоящее время довольно трудно предложить на рынок что-то принципиально новое, и компьютеры разных брендов похожи друг на друга, как сводные братья от разных отцов. Генотип один и тот же, а внешний вид разный. И, похоже, ситуация усугубляетcя. Все меньше становится оригинальных сборочных производств, все больше распространяется идеология продажи собственных мощностей специализированным фирмам. Исключение, пожалуй, составляет лишь компания Dell. Катастрофическое падение интереса к компьютерам вызвано жесткой конкуренцией и соответственно низкой рентабельностью. Поэтому так часто можно слышать в средствах массовой информации сообщения о возможном прекращении производства ПК или о кризисе сбыта у всех крупных brand name. Собственно говоря, слияние HP и Compaq было вызвано конкуренцией клонированных продуктов под разными торговыми марками. В результате этого слияния должны исчезнуть ПК HP Vectra, КПК HP Jornada и ноутбуки HP Omnibook.

Однако на фоне общей довольно кислой картины нашлось место и островку стабильности, на котором расположились серверы и сети хранения данных. Аналитики дружно предсказывают бурное развитие этого сектора невзирая на происходящие вокруг кризисы и спады. Даже пример слияния HP и Compaq показывает не взаимное поглощение серверных линеек, а, наоборот, их расширение за счет более точного и узкого позиционирования существующих продуктов. В настоящее время реальных производителей серверов, начиная от собственных серверных процессоров и заканчивая собственным серверным ПО, значительно больше, чем реальных производителей компьютеров. Перечислим лишь основных: HP (PA-RISC, IA32, IA64), Compaq (Alpha, IA32, IA64), Sun Microsystems (UltraSPARC), SGI (MIPS), NEC (SX, IA32, IA64), IBM (PowerPC), Hitachi, Cray и т. д. В чем же дело? Откуда такое многообразие? Скорее всего объяснение следует искать в возможностях применения серверов, которые только расширяются с развитием ИТ-рынка. А значит, не стихает поток новых идей, технологий, продуктов и областей использования, эмитируемых разработчиками серверов.

Что такое сервер?

Архитектура современного усредненного PC-сервера

Прежде чем углубляться в тонкости серверных технологий, зададимся простым вопросом: чем сервер отличается от обычного персонального компьютера? Ответ будет тоже прост: с обывательской стороны – ничем. Неискувольно трудно объяснить нюансы различий между серверами и обычными ПК. Однако согласно философскому принципу перехода количества в качество количество нюансов в серверах настолько велико, что в совокупности они дают новое качество, которое позволяет выделить сервер в самостоятельную категорию – одну из самых важных на ИТ-рынке. Как устроен среднестатистический сервер, рассмотрим ниже.

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

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

Начнем с шины PCI. Казалось бы, шина – она и есть шина, никаких отличий от обычных ПК здесь быть не может, но это только на первый взгляд. В обычном персональном компьютере PCI-шина одна. Так проще, а главное, дешевле (цена – еще один критерий, обуславливающий различия между сервером и персональным компьютером). В сервере таких шин несколько, причем их скорость и разрядность больше (например, обычная PCI-шина имеет ширину шины данных 32 бит и тактовую частоту 33 МГц, что в пиковых ситуациях позволяет передавать данные со скоростью 133 МГц/с; для серверов стало нормой иметь несколько шин PCI с шириной шины данных 64 бит и тактовой частотой 66 МГц, а в последних разработках даже 100/133 МГц). Если у вас несколько независимых шин, то пересылка данных может идти параллельно. Конечно, при этом неизбежны потери на арбитраж, но в целом выигрыш будет существенный. Еще один нюанс: архитектура обычного персонального компьютера не позволяет иметь больше шестнадцати прерываний. На практике их и того меньше, поскольку работают и порты ввода-вывода, и дисководы, и IDE-контроллеры, и клавиатура, и мышь (PS2), и часы реального времени, и прочая, и прочая. В итоге хорошо, если есть три свободных прерывания, а порой и того нет. Вот и начинаются проблемы с различными устройствами: конфликты, неустойчивая работа, а то и вообще невозможность функционирования данного устройства в такой конфигурации. Эти подводные камни не видны снаружи, но, единожды с ними столкнувшись, начинаешь понимать прелести серверной архитектуры. А там все устрое иначе: прерывания виртуализированы, и управляет ими отдельный интеллектуальный контроллер (читатель может возразить, что и в обычной системе есть контроллер, и он тоже с «мозгами», однако в сравнении с «серверным» он гораздо более «глупый»). У контроллера прерываний в сервере есть

даже имя – APIC (Advanced Programmable Interrupt Controller). Результат его применения поначалу просто обескураживает: каждое устройство в системе может иметь свое собственное прерывание! Конечно, их количество небезгранично. Их «всего лишь» 255.

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

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

технологий. Сначала просто контролировали один бит, называемый паритетным, затем, когда интеграция памяти возросла, этого оказалось недостаточно. Ошибки паритета можно лишь диагностировать, но не исправлять. Для исправления же требуется другая технология — ECC (Error Correction Code). Еще на заре компьютеростроения данный алгоритм защиты целостности данных предложил американец Хемминг. Суть концепции предельно проста: все биты в памяти, являющиеся степенями двойки, заменяются на биты четности (паритета) — тогда путем несложных математических выкладок можно вычислить и исправить одиночную ошибку. Двойные ошибки (и далее) этот метод позволяет только обнаруживать, и сейчас такая ситуация уже не устраивает пользователей. По теории вероятностей с возрастанием интеграции микросхем памяти все больше увеличивается и угроза возникновения ошибок. Если раньше время между двумя последовательно возникшими ошибками измерялось сотнями лет, то теперь это уже годы. И тогда горячие американские парни из компании IBM почесали свои бритые затылки и внедрили технологию, которую уже много лет использовали в своих решениях для мэйнфреймов. Технология называется «Chipkill», и суть ее предельно проста. По аналогии с пятым RAID-разделом производится вычисление контрольных сумм, но только не для дисков, а для памяти. Конечно, есть небольшие потери объема памяти, зато благодаря избыточности отказ одной микросхемы и даже целого модуля не может вывести систему из строя. Отказавший модуль можно заменить в «горячем» режиме, прямо во время работы сервера. Еще недавно подобное казалось фантастикой, но сейчас это уже реальность. Разумеется, пока эта технология станет относительно массовой, пемени, но смеем вас заверить, что в обычных «персоналках» такое вряд ли появится – не тот уровень цен.

Мы уже упоминали, что одно из требований, предъявляемых к серверу, – надежность. Мало собрать сервер из работоспособных совместимых комплектующих. Скрытой, невидимой на первый взгляд формой надежности является управляемость, то есть способность оперативно и предсказуемо реагировать на неожиданные факторы, как-то: сбои в памяти, отказ или небольшая неисправность жестких дисков, авария в системе питания. Подобных факторов можно перечислить много. Для их правильной обработки на «правильном» сервере существует отдельный контроллер – BMC (Baseboard Management Controller), который должен постоянно следить за датчиками и сообщать куда следует в случае каких-либо отклонений. Отличительной особенностью BMC является его работоспособность при выключенном питании. Конечно, сам по себе BMC не так ценен, как в комплекте с управляющей программой, позволяющей в полной мере реализовать все его возможности. Система управления сервером – это целый подводный мир, и, к сожалению, его нельзя отобразить в рамках одной статьи.

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

На этом остановимся в перечислении нюансов околосерверных технологий. Детальное их рассмотрение интересно только узкому кругу специалистов.

Универсализм

или специализация?

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

Если попытаться сделать универсальный сервер, который будет одинаково хорош для любого применения и одновременно сможет выполнять все необходимые серверные функции, то в результате получится суперкомпьютер, а возможно, и кластер из нескольких суперкомпьютеров. С другой стороны, сервер, настроенный на единственное применение, представляет собой утилитарное изделие, хорошо выполняющее только одну задачу и неспособное ни на что другое. Примером такого продукта может служить NAS-сервер (общее хранилище данных в локальной сети). Как это ни парадоксально, но эти крайности являются порождением одного процесса и не противоречат друг другу. Развитие любой технологии происходит по следующему пути. В момент ее зарождения и воплощения в «железе» она предназначается для специального использования и реализуется в виде дискретного функционального узла сервера. Будучи новой, технология присутствует только у наиболее продвинутых производителей серверного «железа» и является отличительной особенностью высококачественных серверов с широким набором функций. Обычно такие системы являются универсальными по возможностям и довольно дорогими по цене (в предельном случае это суперкомпьютеры). С течением времени, если технологобщепризнанной, появляются недорогие специализированные серверы, поддерживающие только ее . Тогда-то она и становится массовой. Следующий шаг — интеграция новой технологии в стандартные массовые серверы уже не в виде дискретного функционального узла, а как части большого функционального блока, обычно набора микросхем. Поскольку в этот сервер добавляется еще одна стандартная функция, он может считаться универсальным. Таким образом, универсализм и специализация являются двумя сторонами одного процесса – развития технологий. И преобладание тенденции одной из них говорит лишь о неравномерности их развития и внедрения. По нынешнему обилию специализированных серверов специального применения можно судить о том, что пройдет какое-то время (1–2 года) и большинство этих технологий станут стандартными и будут интегрированы как стандартные функции одного сервера.

В качестве примера можно назвать построение сетей хранения данных (Storage Area Network). Сейчас при построении SAN применяются различные технологии передачи данных между серверами: FC-AL, Infiniband, iSCSI. Под эти технологии существует много разного оборудования, работающего на продвижение стандарта SAN. Когда же этот стандарт станет общепризнанным, появятся серверные наборы микросхем с интегрированными возможностями для построения сетей хранения данных. Об этом уже заявили Intel (Infiniband и iSCSI-контроллеры на серверных платах) и Qlogic (дешевый FC-AL-контроллер, который можно интегрировать на серверной плате). С другой стороны, поддержка построения кластерных систем становится уже стандартной функцией сетевых операционных систем (Microsoft Windows 2000 Advanced Server и Novell Netware 6.0), хотя до недавнего времени это был удел специализированных надстроек.

Исходя из сказанного пользователям можно дать простой совет: при отсутствии сугубо специализированных задач и специальных областей применения не торопитесь приобретать дорогие универсальные системы – это лишь первый этап внедрения и обкатки технологии. Обращаться к интересующим вас технологиям имеет смысл на втором этапе, когда появляются недорогие специализированные устройства, исполняющие необходимые функции. А если вам и этого не надо, то дождитесь третьего этапа, когда эта технология будет интегрирована в стандартные серверы и от нее уже трудно будет «увернуться». Кстати, и профессионализм фирм- участников серверного рынка легко можно оценить по наличию у них специализированных продуктов и экспертизы технологий, еще не ставших общепризнанным стандартом. Смею вас заверить, что таких компаний совсем немного, но только они умеют грамотно и профессионально изготавливать «правильные» серверы, поскольку глубоко разбираются в интегрированных стандартных технологиях, зная о них не понаслышке.

Главная страница / Архитектура отрасли