Серверы под рабочей нагрузкой
Сергей Кузнецов
20.03.2003
Открытые системы, #03/2003
Обзор февральского 2003 года выпуска журнала Computer (IEEE Computer Society, V. 36, No 2, February 2003)
|
В исследованиях, влияющих на разработку серверов, используются научные и технические эталонные тесты, такие как SPECint и SPECfp. Это объясняется несколькими причинами. Среди них привычка исследователей к таким тестовым наборам, трудность работы с коммерческой нагрузкой, включая повышенные требования к аппаратуре, отсутствие доступа к исходному коду коммерческих приложений и т.д.
|
Темой февральского номера являются подходы к оцениванию серверов в условиях коммерческой рабочей нагрузки. В соответствии с этим названа и заметка приглашенных редакторов Кимберли Китон (Kimberly Keeton, Hewlett-Packard Labs), Рассела Клэппа (Rassel Clapp, Fabric7 Systems) и Ашвини Нанда (Ashwini Nanda, IBM Watson Research Center): Evaluating Servers with Commercial Workloads. В этой заметке отмечается, что большинство современных микропроцессорных серверных систем используется в условиях коммерческой рабочей загрузки. К соответствующим видам приложений отнесены классические приложения баз данных категорий OLTP (online transaction processing — «оперативная обработка транзакций») и DSS (decision support system — «система поддержки принятия решений»), Web-серверы, почтовые серверы, многозвенные приложения электронной коммерции. Однако в исследованиях, влияющих на разработку этих серверов, используются научные и технические эталонные тесты, такие как SPECint и SPECfp. Это объясняется несколькими причинами. Среди них привычка исследователей к таким тестовым наборам, трудность работы с коммерческой нагрузкой, включая повышенные требования к аппаратуре, отсутствие доступа к исходному коду коммерческих приложений и т.д. В последние годы ситуация стала меняться, и этим изменениям посвящена тематическая подборка данного номера.
Название первой большой статьи подборки — «Тестовые испытания серверов Internet на суперскалярных машинах» (Benchmarking Internet Servers on Superscalar Machines). У статьи пять авторов из Техасского университета и из корпорации IBM. Имя первого по списку автора Ю Люо (Yue Luo). В статье обсуждаются результаты пропуска трех популярных тестовых наборов для серверов Internet на трех современных микропроцессорах, и эти результаты сравниваются с результатами испытаний на тестовом наборе SPECint2000. Использовались два RISC-процессора IBM (RS64-III и IBM POWER3-II) и Intel Pentium III. Платформы IBM работали под управлением операционной системы AIX, а компьютер на базе Pentium III был оснащен Windows NT Workstation 4.0. В качестве Web-сервера использовался Apache 1.3.23. Виртуальные машины Java поддерживались с помощью IBM Java Development Kit 1.1.8 (платформа IBM) и с помощью Sun JDK 1.3.0 вместе с HotSpot Server (Intel). В качестве тестовых наборов для сервера Internet были выбраны SPECweb99, VolanoMark и SPECjbb2000. Тест SPECweb99 (www.spec.org/web99) предназначен для измерения производительности Web-сервера. В рабочей нагрузке этого тестового набора моделируется множественный доступ к Internet-провайдеру, а сервер поддерживает Web-страницы для нескольких разных организаций. VolanoMark (www.volano.com/benchmarks) основан на коммерческом чат-сервере VolanoChat. Пакет можно поделить на клиентскую и серверную части. По требованию клиента сервер устанавливает с ним соединения. Далее в клиенте моделируется наличие нескольких разговорных комнат, в каждой из которых может находиться несколько пользователей. Клиент непрерывно посылает серверу сообщения и ожидает, пока сервер выполнит широковещательную рассылку этого сообщения всем пользователям той же разговорной комнаты. Наконец, SPECjbb2000 (www.spec.org/jbb2000) — это первый тестовый набор для приложений электронного бизнеса. Java Business Benchmark эмулирует в трехзвенной системе рабочую нагрузку, характерную для электронной коммерции. В этом тестовом наборе содержатся бизнес-логика и манипулирование объектами реального бизнес-сервера. Если не вдаваться в технические детали, то результаты испытаний микропроцессоров IBM существенно убедительнее Pentium III. С другой стороны, для всех процессоров среднее число тактов, требуемое для выполнения команды, на тестовых наборах для сервера Internet, заметно больше, чем в случае SPECint2000.
У следующей статьи два автора — Даниель Гарсия (Daniel Garcia) и Жевиер Гарсия (Jevier Garcia). Статья называется «Применение тестового набора электронной коммерции TPC-W» (TPC-W E-Commerce Benchmark Evaluation). При оценке производительности на основе какого-либо тестового набора электронной коммерции необходимо учитывать три ключевых аспекта.
- Определение параметров рабочей нагрузки. Между разными моделями электронной коммерции имеются существенные различия, и одна рабочая нагрузка не может должным образом соответствовать всем моделям.
- Метрика, используемая для измерения производительности. Наиболее частой метрикой является максимум пропускной способности сервера при наличии ограничений на время выполнения транзакций.
- Чувствительность метрики. Понимание поведения метрики при изменении параметров системы является существенным фактором применимости тестового набора.
Тестовый набор TPC-W имеет архитектуру «клиент-сервер». Функцией клиентов является эмуляция удаленных браузеров с целью моделирования рабочей нагрузки реальных потребителей. Эмулятор шлюза платежей представляет объект, аутентифицирующий пользователей и авторизующий платежи. Тестируемая система, включающая сервер HTTP со своей средой хранения, сервер приложений и базу данных приложения, взаимодействует с клиентами через выделенную сеть. Авторы статьи условно разделяют системы электронной коммерции на три класса. Модель киберпосредника (cybermediary) представляет компанию, которая выступает в качестве посредника между поставщиком продуктов или услуг и конечными потребителями. TPC-W хорошо соответствует этой модели, но с тем ограничением, что в тестовом наборе все продукты поставщика считаются зарегистрированными во внутренней базе посредника. Модель производителя представляет компанию, которая продает и распространяет свои продукты прямо конечным потребителям. TPC–W покрывает все основные аспекты этой модели. Наконец, модель аукциона представляет компанию, которая заведует фондовым аукционным рынком, где и продавцы (предоставляющие компании списки товаров), и покупатели (предлагающие свои цены на товары) являются конечными потребителями. TPC-W не соответствует этой модели должным образом. Далее в статье авторы обсуждают, каким образом можно сформировать рабочую нагрузку в каждой из моделей, и рассматривают различные реализационные аспекты TPC-W.
В списке авторов статьи «Моделирование коммерческого сервера стоимостью в два миллиона долларов на персональном компьютере ценой в две тысячи» (Simulating a $2M Commercial Server on a $2K PC) сразу восемь имен. Семь человек работают в университете Висконсин, еще один — в университете Дюка. Первым в списке числится Алаа Аламелдин (Alaa Alameldeen). В статье описываются результаты проекта, выполненного группой Multifacet Project Висконсинского университета. Проект основывался на использовании имитационной среды Simix шведской компании Virtutech (см. обзор журнала Computer за февраль 2002 года). Задача состояла в том, чтобы добавить к этой среде ряд дополнительных компонентов, позволяющих запускать в ней тестовые наборы, предназначенные для мощных коммерческих серверов, а также создать дополнительное программное обеспечение, адаптирующее рабочую нагрузку тестовых наборов к имитационной среде. Разработанные средства позволяют запускать в имитационной среде четыре тестовых набора: TPC-C с использованием СУБД IBM DB2, SPECjbb (см. выше), собственный тестовый набор для Web-сервера со статическими страницами (на основе Apache), а также собственный тестовый набор для Web-сервера с динамическими страницами (на основе Slashcode).
Тин-Фонг Цуи (Thin-Fong Tsuei) и Вэйне Ямамото (Wayne Yamamoto) из корпорации Sun Microsystems представили статью «Имитационная модель с очередями для мультипроцессорных систем» (Queuing Simulation Model for Multiprocessor Systems). В предложенной авторами модели процессора с очередями обеспечивается оценивание подсистем памяти и архитектуры больших многопроцессорных систем при наличии коммерческих рабочих нагрузок категории OLTP с интенсивной работой с памятью. В модели не имитируется выполнение команд; она основывается на характеристиках процессора и рабочей нагрузки, которые легко собрать и оценить. Моделируется минимальный набор характеристик процессора и рабочей нагрузки, которые фиксируют важные взаимодействия между сложным процессором и иерархией памяти. Чтобы убедиться в том, что предложенная модель позволяет получить достаточно точные результаты, авторы сравнивали результаты пропуска TPC-C на своей модели и на модели, эмулирующей команды процессора. Вывод состоит в том, что модель с очередями удовлетворительно точна, просто реализуется и быстро выполняется.
Наконец, еще одна статья подборки называется «Разработка рабочих нагрузок для исследования компьютерных архитектур» (Designing Computer Architecture Research Workloads). Ее написали три автора из бельгийского университета Гента: Ливен Екхаут (Lieven Eeckhout), Ханс Вандерендонк (Hans Vandeirendonck) и Коен Де Боссчере (Koen De Bosschere). В статье предлагается методология, позволяющая сократить число тестовых наборов и уменьшить объемы их входных данных, но сохранить при этом рабочую нагрузку, необходимую для исследования компьютерной архитектуры. Основная цель состоит в сокращении времени пропуска тестовых наборов на имитационной модели микропроцессора на этапе его проектирования.
Мартовский выпуск журнала Computer должен быть посвящен инженерии программного обеспечения. Увидимся. Сергей Кузнецов, kuzloc@ispras.ru.