Евгений Иванилов. «Некоторые аспекты выбора серверов»
В процессе выбора сервера, как правило, участвуют несколько сторон: предприятие в лице руководителя вдохновляемого начальником отдела автоматизации, производители серверов, системные интеграторы и торговые компании. Интересы каждой из сторон вполне конкретные. Предприятие как покупатель стремится дешевле купить, а все остальные – дороже продать то, чем они располагают. Естественно, продающие стороны стремятся выделять преимущества своего товара и тщательно маскировать недостатки. Чем в меньшей степени предприятие-покупатель владеет методологией выбора сервера, тем больше вероятность того, что оно осуществит неоптимальную покупку. Поскольку цены на современные серверы находятся в широком диапазоне – от десятка тысяч до десятков миллионов долларов и более, цена ошибки в процессе принятия решения может оказаться высокой.
В общем случае жизненный цикл любой технической системы состоит из нескольких основных этапов: разработка, внедрение, эксплуатация, модернизация в процессе эксплуатации и списание (снятие с эксплуатации). И в процессе выбора необходимо оценивать основные параметры, факторы, критерии, характеризующие свойства сервера на всех этапах его жизненного цикла. Критериев с различным уровнем обобщения существует огромное множество. Чаще всего рассматривают следующие:
- функциональная эффективность F
- эксплуатационная эффективность M
- стоимость владения C
Функциональная эффективность
Сервер приобретается для решения конкретных задач, поэтому выбору сервера предшествуют работы, связанные с выбором прикладного ПО. Первый этап оценки функциональной эффективности варианта сервера, с нашей точки зрения, состоит во всестороннем анализе свойств приложения и его взаимодействия с вычислительной средой (аппаратными средствами сервера, ПО и т.д.). Что необходимо знать о прикладном ПО? Вероятно, требуемая информации может включать:
- перечень операционных систем и их версий, для которых разработано данное ПО;
- перечень аппаратных платформ, на которых тестировалось ПО;
- перечень аппаратных платформ, для которых поставщик гарантирует нормальное функционирование ПО;
- разрядность вычислительной среды;
- возможность распараллеливания;
- сведения о том, как влияет увеличение числа процессоров на функциональные свойства приложения;
- сведения о том, как влияет размер кэша процессора на функциональные свойства приложения;
- значение минимальной тактовой частоты процессора конкретного типа;
- сведения о том, как влияет изменение тактовой частоты процессора конкретного типа на функциональность приложения;
- минимальный размер оперативной памяти;
- сведения о том, как влияет изменение размера ОЗУ на функциональные свойства приложения;
- минимальные требования к устройствам долговременного хранения данных;
- сведения о том, как влияют изменения параметров устройств долговременного хранения данных организации на функциональные свойства приложения;
- требуемые устройства ввода-вывода;
- сведения о том, как влияют изменения параметров каналов ввода-вывода на функциональные свойства приложения.
Чем больше вы знаете о свойствах прикладного ПО и о влиянии параметров аппаратной платформы (включая и общесистемное ПО) на функциональные свойства приложения, тем меньше ошибок вы допустите при выборе сервера. Например, известно, что на практике недостижим прирост производительности сервера в N раз при увеличении в N раз количества однотипных процессоров. Известный гуру в области ИТ Джин Амдал предложил схему для описания эффективности распараллеливания на многопроцессорном сервере:
где E – показатель, характеризующий прирост производительности сервера, N – количество процессоров, C – коэффициент, характеризующий долю нераспараллеливаемых команд в коде
Анализ этой зависимости позволяет сделать два основных вывода. Во-первых, при достаточно большой доле нераспараллеливаемых команд в коде программ (допустим, C = 0,2) рост производительности при определенном количестве процессоров прекращается (в нашем случае N=20). И во-вторых, наиболее эффективный способом повышения производительности вычислительной системы – не увеличение количества процессоров, а алгоритмическое совершенствование приложения.
С другой стороны, цена сервера зависит от максимального количества процессоров, которые можно установить в него. В 1999 г. автор рекомендовал одной уважаемой компании остановить выбор на двухпроцессорном CISC-сервере стоимостью около 12 тысяч долл., основываясь на том, что основное приложение обладает низкой распараллеливаемостью. Компания купила четырехпроцессорный CISC-сервер с двумя установленными процессорами, заплатив за него 27 тысяч долл. В 2001 г. возникла необходимость повысить производительность вычислений. Компания приобрела еще два процессора к ранее купленному серверу, заплатив за модернизацию около 7 тысяч долларов. Эффект был ошеломляющим для руководства компании: производительность не только не увеличилась вдвое, но упала примерно на 10%. В результате ошибочного выбора непроизводительные расходы на сервер составили сотни процентов от цены.
На втором этапе необходимо поставить в соответствие требованиям характеристики сервера. Чаще всего рассматриваются следующие характеристики.
ПРОЦЕССОР – его тип процессора, размер кэша, тактовая частота, максимальное числа процессоров.
ОЗУ – тип модулей памяти, максимальная емкость.
ДОЛГОВРЕМЕННЫЕ ЗАПОМИНАЮЩИЕ УСТРОЙСТВА – тип дисков, тип интерфейсов, минимальная и максимальная емкость.
ИНТЕРФЕЙСЫ – типы поддерживаемых интерфейсов, максимальное количество.
ЭЛЕКТРОПИТАНИЕ – напряжение, ток, частота, потребляемая мощность.
УРОВЕНЬ ШУМА – максимальный уровень шума, создаваемого всеми элементами сервера.
ТЕПЛОВЫДЕЛЕНИЕ – максимальный уровень тепловыделения для всех элементов сервера.
УСЛОВИЯ ОКРУЖАЮЩЕЙ СРЕДЫ ДЛЯ НОРМАЛЬНОГО ФУНКЦИОНИРОВАНИЯ – диапазон температур и влажности.
Это лишь беглое перечисление технических параметров, которыми характеризуется сервер. Кроме частных параметров, сервер характеризуется обобщенными критериями, такими, как производительность на стандартных тестах, надежность, доступность, масштабируемость, ремонтопригодность, уровень технического совершенства и т.п. В результате анализа конкретных условий, для которых заказчик приобретает сервер, вырабатывается определенный перечень обобщенных и частных критериев F, которые и учитываются при анализе вариантов.
Эксплуатационная эффективность
Эксплуатационная эффективность М – это обобщающий критерий учитывает аспекты процесса эксплуатации сервера и может объединять ряд частных критериев, например:
- эффективность сервиса, предоставляемого на этапах гарантийного и послегарантийного обслуживания сервера;
- обеспеченность запасными частями и расходными материалами на период послегарантийного обслуживания сервера;
- возможности модернизации морально и технически устаревших аппаратно-программных средств сервера;
- сложность ремонтно-восстановительных и профилактических работ;
- уровень квалификации персонала, обучение, повышение квалификации;
- условия эксплуатации (характеристики помещения, температура, влажность, уровень вибрации и т.п.);
- трудоемкость эксплуатации (количество обслуживающего персонала, графики работ и т.п.);
- энергоемкость эксплуатации (мощности, расходуемые на поддержание нормальных условий эксплуатации).
Аспекты выбора, касающиеся эксплуатации сервера, очень важны. Однако их в требования к серверу включают часто формально или не включают вообще. Чем чревата слабая проработка эксплуатационной эффективности в процессе выбора сервера? Например, существенным показателем может оказаться потребляемая мощность сервера в сочетании с требованиями к окружающей среде. Так, RISC-сервер уровня предприятия потребляет порядка 3-5 кВт/час, его тепловыделение имеет сопоставимую величину, с другой стороны, температура окружающей среды должна быть в диапазоне 10 – 35°С. Может оказаться, что потребуется установка системы кондиционирования, реконструкция серверной. При этом расходы на создание условий для нормального функционирования только по данному критерию будут составлять существенную долю общего бюджета закупки. В процессе эксплуатации к расходам на содержание сервера прибавятся расходы на содержание системы кондиционирования – на персонал, ремонтно-восстановительные работы, потребляемую энергию и т.п. Это лишь один пример проблемы, который практически лежит на поверхности.
В процессе выбора сервера вопросам эксплуатации сервера необходимо уделять пристальное внимание, так как этот аспект чреват большим количеством точек возникновения скрытых непроизводительных расходов. Если предприятие находится в небольшом поселке между Читой и Хабаровском, а ваш бизнес требует бесперебойной работы приложения и остановка сервера на 4 часа – катастрофа, то лучше позаботиться о создании условий для организации ремонтно-восстановительных работ на предприятии. К обещаниям поставщиков сервиса, находящихся в Новосибирске, восстановить сервер в течение 4 часов после его отказа следует относиться критически, тем более что в сервисных контрактах штрафные санкции либо отсутствуют вообще, либо несоизмеримы с вашими возможными убытками.
Стоимость владения
Стоимость владения С представляет собой совокупные расходы на всех этапах жизненного цикла сервера. Основные составляющие стоимости владения:
- затраты на выбор и проектирование;
- затраты на покупку сервера (стоимость сервера, доставка, хранение и т.п.);
- затраты на ввод в эксплуатацию (оборудование серверной, установка, настройка, обучение персонала, разработка инструктивно-методических материалов и т.п.);
- эксплуатационные расходы (оплата обслуживающего персонала, за электроэнергию, за кондиционирование; оплата по сервисным контрактам на сервер и ПО, оплата расходных материалов и т.п.);
- затраты на модернизацию (оплата проектных работ по модернизации, покупка необходимых аппаратных и программных средств, оплата работ по установке, настройке модернизированного сервера и т.п.);
- расходы на вывод из эксплуатации и списанию (стоимость проекта вывода из эксплуатации, стоимость работ по демонтажу и утилизации сервера и т.п.).
Если оценка критериев F и M носит в большинстве случаев экспертный характер и они плохо поддаются расчету, то С можно определить достаточно точно. Необходимо отметить, что параметры F, M и C взаимосвязаны. В общем случае, когда мы говорим об оптимальном выборе, речь идет об оптимизации некоторого функционала:
Выбор сервера
На первом этапе оценивается функциональная эффективность вариантов с использованием выражений
где i = 1…n – индекс, обозначающий порядковый номер варианта, j = 1…t – индекс, обозначающий порядковый номер частного критерия, t – номер частного критерия группы F, kf – соответствующий частному критерию весовой коэффициент.
На втором этапе оценивается эксплуатационная обеспеченность вариантов с использованием выражения:
где l = 1…r – индекс, обозначающий порядковый номер частного критерия, r – номер частного критерия группы, km – соответствующий частному критерию весовой коэффициент.
На третьем этапе оценивается стоимость владения вариантов с использованием выражения:
где s = 1…p – индекс, обозначающий порядковый номер частного критерия, p – номер частного критерия группы C, kc – соответствующий частному критерию весовой коэффициент. На завершающем этапе вычисляется комплексная оценка
где d – соответствующий обобщенному критерию весовой коэффициент.
Сложность такого подхода состоит в необходимости получения экспертных оценок коэффициентов и показателей, используемых при получении итоговых оценок. Необходимы экспертные оценки высококвалифицированных специалистов в области серверных решений и всего, что с ними связано. Кроме того, необходимо учесть и другие факторы. Иногда с инженерной точки зрения выбор кажется идеальным, однако анализ фондового рынка, текущего состояния предприятия-производителя говорит о том, что лучше отказаться от покупки его продукции, иначе могут возникнуть проблемы в ближайшем будущем с комплектующими и сервисом. Чем дороже сервер, тем детальнее должен производиться анализ. И часто наиболее предпочтителен вариант, когда процедура выбора поручается специализированным предприятиям, обладающим независимой экспертизой в данной области. Расходы на независимую экспертизу невелики, но таким образом можно избежать возможных больших убытков.