DeepEdit!

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

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Вычисление необходимого количества процессоров


Наша задача состоит в том, чтобы определить количество процессоров, необходимое для достижения некоторого конкретного значения про­изводительности. Условия задачи можно записать в рабочую книгу Excel M/M/m, как показано в табл. 9.6. Значения из столбца «Значе­ние» следует внести в желтые ячейки листа «Multiserver Model» кни­ги MMm.xls.
Таблица 9.6. Входные параметры модели массового обслуживания

Имя
Значение (valuea)
Описание
jobunit
stmt
Исследуемая единица работы определена в условии задачи как «важная команда SQL».
timeunit
sec
Допустимое время отклика и время обслу­живания процессором команды SQL изме­ряются в секундах.
queueunit
system
В условии задачи говорится, что мы ищем количество процессоров, которое должно быть установлено в одной системе.
serverunit
CPU
Единицей обслуживания в нашей задаче яв­ляется процессор.
X
=100*4/60
«Предполагается, что каждый из 100 поль­зователей будет выполнять эту команду с частотой четыре раза в минуту в период пиковой загрузки системы.»
r
' max
1
Нашей целью является достижение значе­ния времени отклика, меньшего чем 1 се­кунда («...обеспечить время отклика не бо­лее одной секунды ...»).
q
1
По условию задачи мы оцениваем работу од­ной системы.
m
1
Количество процессоров в системе - это то значение, которое мы ищем. В эту ячейку можно внести значение 1, т. к. мы скоро найдем подходящее значение.

=1/0.49
«На выполнение важной команды SQL рас­ходуется 0,49 секунды процессорного вре­мени». Поэтому скорость обслуживания равна 1/0,49 команд в секунду.
Введя эти значения в книгу Excel, мы увидим, что конфигурация с од­ним процессором (m = 1) не может обработать исследуемую нагрузку (рис. 9.21).
Модель показывает, что если снабдить систему всего одним процессо­ром, то при поступлении в систему 6,67 команды в секунду процессору придется работать с коэффициентом загруженности 326,7%. Естест­венно, процессор не может быть загружен более чем на 100%. В реаль­ности в такой системе коэффициент загруженности всегда будет равен 100%. Команды будут поступать быстрее, чем их можно будет обраба­тывать, в связи с чем очередь будет постоянно и бесконечно расти. Но даже такой результат дает нам подсказку: для того чтобы у системы был хоть какой-то шанс справиться с заданной нагрузкой, в ней долж­но быть как минимум четыре процессора.
Электронная книга MMm для удобства содержит два столбца (valuea и valueb), позволяющие построчно сравнивать характеристики двух систем. Результат применения модели для = 4 показан на рис. 9.22.
Идеальная четырехпроцессорная система обеспечивает среднее время отклика 0,908787 секунд на команду. Однако радоваться еще рано, ведь в данной конфигурации время отклика меньше одной секунды всего в 64,922% случаев ее выполнения. А нам нужно, чтобы время от­клика системы составляло менее одной секунды в 95% случаев выпол­нения при пиковой загрузке.
Рассмотрим наилучшую теоретически достижимую производитель­ность, которая достигается установкой максимально допустимого для компьютера количества процессоров - 16 (рис. 9.23). Как видите, у нас очень серьезные проблемы. Даже если количество процессоров = 16, невозможно удовлетворить ожидания пользователей в отношении вре­мени отклика, составляющего менее одной секунды более чем в 87%выполнений команды. Можете протестировать модель самостоятель­но: даже если бы мы могли довести конфигурацию до = 1000, такая система все равно не смогла бы обеспечить запрошенную производи­тельность в более чем в 87% случаев выполнения команды.
О чем говорит оптимистическая модель
Имейте в виду, что модель M/M/m позволяет строить гипотезы относи­тельно систем, существование которых в реальности невозможно. На­пример, можно смоделировать идеально масштабируемую систему Linux с 1000 процессоров или даже идеально масштабируемую систему MS Windows NT с 4 процессорами. Вне зависимости от того, насколько абсурдными будут указанные входные значения, модель массового об­служивания честно расскажет о том, как будет работать идеально мас­штабируемая гипотетическая система в данной конфигурации. На са­мом деле модель даже не знает, что именно моделируется: компьютер­ные системы, бакалейные магазины или же билетные кассы. Анали­тик решает, возможно ли реальное создание гипотетической системы. Модель M/M/m теории массового обслуживания (применяемая так, как здесь описано) является оптимистической в том смысле, что не учитывает никакие налагаемые реальной жизнью ограничения на мас­штабируемость, за исключением эффекта организации очередей.
Важно четко осознавать вышесказанное. Если данная модель теории массового обслуживания говорит о том, что нечто может быть сдела­но, вполне вероятно, что вам, тем не менее, не удастся это сделать. В конце концов ничто не мешает сказать модели, что можно втиснуть в компьютер под Linux 1000 процессоров, и все они будут без проблем ра­ботать на полную мощность. Однако если модель теории массового об­служивания уведомляет вас о том, что что-то сделать невозможно, это­му совету можно полностью доверять. Если оптимистичная модель ут­верждает, что что-то реализовать невозможно, значит, это так и есть.

Модель M/M/m, реализованная в моей электронной книге Ex­cel, оптимистична, т.к. не учитывает никаких препятствий
для наращивания системы, возможных в реальной жизни, за исключением эффекта очередей. Следовательно, сообщение модели о том, что какое-то явление возможно, не означает, что вам обязательно удастся его реализовать. Однако утверждения системы о том, что нечто невозможно, является достаточным аргументом невозможности данного явления (при условии, что исходные данные верны).

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

 









jAntivirus