Публикации
Intelligent Enterprise/RE, № 4, 2003

Евгений Иванилов. «Некоторые аспекты выбора серверов»

Принятие оптимального решения в процессе выбора сложной технической системы, к которой можно отнести сервер, является сложной задачей. Помимо инженерно-технических аспектов, в процессе выбора приходится учитывать множество других факторов (эксплуатационные, экономические, политические, психологические). Эта статья Евгения Иванилова (к. т. н.), руководителя департамента средств вычислительной техники компании INLINE Technologies, посвящена одному из вариантов методологии выбора серверов для приложений.

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

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

  • функциональная эффективность 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 взаимосвязаны. В общем случае, когда мы говорим об оптимальном выборе, речь идет об оптимизации некоторого функционала:

Выбор сервера 

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

На первом этапе оценивается функциональная эффективность вариантов с использованием выражений


где i = 1…n – индекс, обозначающий порядковый номер варианта, j = 1…t – индекс, обозначающий порядковый номер частного критерия, t – номер частного критерия группы F, kf – соответствующий частному критерию весовой коэффициент.

На втором этапе оценивается эксплуатационная обеспеченность вариантов с использованием выражения:


где l = 1…r – индекс, обозначающий порядковый номер частного критерия, r – номер частного критерия группы, km – соответствующий частному критерию весовой коэффициент.

На третьем этапе оценивается стоимость владения вариантов с использованием выражения:


где s = 1…p – индекс, обозначающий порядковый номер частного критерия, p – номер частного критерия группы C, kc – соответствующий частному критерию весовой коэффициент. На завершающем этапе вычисляется комплексная оценка 



где d – соответствующий обобщенному критерию весовой коэффициент.

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