В. Столлингс - Современные компьютерные сети (2-е издание, 2003) (1114681), страница 50
Текст из файла (страница 50)
Время отклика представляет собой время, требуемое для пересылки любого входящего пакета. Нижняя линия иллюстрирует зкстраполяцню многочленом третьего по рядка экспериментального участка кривой времени отклика, соответствутошего нагрузке от 0 до 0,5 мощности ресурса. Обратите внимание на то, что данный спо соб экстраполяции работает более или менее удовлетворительно лишь на участк~ от 0,5 до 0,7 от мощности ресурса, а когда нагрузка начинает «зашкаливать» за 0,8 или 0,9, наступает крах системы. Таким образом, требуется более точный метод предсказаний.
Третий вариан заключается в использовании аналитической модели, представляющей собой на бор уравнений. которые могут быть решены для получения требуемых парамет ров (времени отклика, пропускной способности и т. д.). Аналитические медея« снованные на теории очередей, обеспечивают довольно хорошее соответствие с ,сальностью в таких областях, как компьютеры, операционные системы и сети 1едостаток теории очередей заключается в том, что для составления уравнений относительно интересуюших нас параметров приходится принимать ряд упрощающих допущений то 6 Б ыв ы я ы ы сп 4 о 0,2 0,4 0,6 0,6 Нагрузка на систему (я виде доли пропускной способности) Рип. 6.1. Фактическое время отклика и экстраполяция Последний подход представляет собой численное моделирование.
В данном случае при наличии достаточно мощного и гибкого специализированного язьпса программирования аналитик может очень подробно смоделировать реальную систему, не прибегая к многочисленным допущениям, требуемым в теории очередей. Олнако в большинстве случаев численная модель не требуется или, по меньшей мере, не рекомендуется на первом этапе анализа. Во-первых, и измерения сушествующей системы, и прогностические оценки будущей нагрузки содержат определенные погреппюсти. Таким образом, независимо от того, насколько хорошей будет модель, качество результатов огтхсничено качеством исходных данных. Вовторых, несмотря на то что в теории очередей требуется принять множество допущений, получаемые результаты часто оказываются довольно близкими к тем, которые могут быть получены при более тщательном численном моделировании.
Велес того, для четко поставленной задачи анализ очередей может быть выполнен буквально за считанные минуты, тогда как создание, отладка и прогон моделирующей программы могут занять дни, недели и месяцы. 'Именно по этим причинам аналитик обязан знать основы теории очередей. 8.3. Модели очередей 227 226 Глава 8. Анализ очередей Поступления Х вЂ” скорость поступления н — число ожидающих запросов Ти — время ожидания Т, — время обслуживания р — коэффициент использования г — число запросов в системе с оч Т, — время пребывания в системе в 2 ~й, з.
$ Ат Азоздз й 8.3. Модели очередей Очередь к одному серверу Простейшая система с очередью показана на рис. 8.2. Центральный элемент системы представляет собой сервер, предопгаювяюшнй другим элементам системзя некоторые услуги. На сервер поступают запросы на обслуживание. Если сервер ничем не занят, запрос обрабатывается незамедлительно. В противном случае поступивший запрос помещается в очередь. Когда сервер эаверпыет обработку запроса, пакет с обработанным запросом покидает сервер. Есви на этот момент в очереди имеются необработанные запросы, один иа них немедленно выбирается сервером Рис. 8.2.
Структура и параметры системы очередей для очереди с одним сервером Параметры очереди На рис. 8.2 также показаны некоторые важные параметры, связанные с моделью очередей. Запросы прибывают на обрабатывающее устройство с некоей средней скоростью Л (заказов в секунду). Среди примеров поступающих заказов можно назвать пакеты, прибывающие па маршрутизатор, нлп звонки, поступающие на телефонный коммутатор. В любой заданный молтент врелтени определенное количество заказов (ноль или больше) будет ожидать в очереди.
Среднее количество ожидающих заказов равно ю, а среднее время ожидания в очереди — Т . Время Т„ усредняется по всем поступающим заказам, включая те, которые обрабатываются без ожидания. Сервер обрабатывает поступающие заказы за среднее время обслу- живаниЯ Те Это интеРвал вРемени от начала обРаботки заказа сеРвеРом до того момента, когда обработанный пакет покидает сервер.
Коэффициент использования сервера р означает долю времени, которую сервер аанят работой. Наконец, два параметра применяются ко всей системе в целом. Это г — среднее количество ааказов в системе, вгслнтчая обслуживаемый в данный момент заказ, плюс заказь' ждущие своей очереди, а также Т, — среднее время, которое заказ проводит в системе, включая ожидание в очереди и обработку, называемое среднтьн временем пребывания в системе (теап геядепсе Впю) '. ' Иногда зто время назывмиг средним временен ожидания, хотя в другах изданиях этны термином на- ~ зывают среднее время.
которое заказ проводит з очереди. Если предположить, что емкосп, очереди бесконечна, тогда система никогда не теряет заказов. Их обслуживание просто откладывается на более позднее время. При увеличении скорости поступления заказов увеличивается коэффициент загрузки, а вместе с ним вероятность перегрузки. Очередь становится длиннее, время ожидания в очереди возрастает. При р = 1 наступает насыщение, то есть сервер работает 100 % времени. Пока коэффициент загрузки меньше 100 %, сервер справляется с обработкой поступающих заказов, таким образом, средняя скорость на выходе сервера равняется средней скорости на входе. Как толы<о сервер насыщается, скорость на выходе сервера остается постоянной независимо от того, насколько большой является скорость на входе.
Таким образом, теоретический максимум входной скорости, при которой система будет успевать обрабатывать все запросы, равен: Однако при приближении к точке насыщения очереди становятся очень длинными и при р = 1 неограниченно растут. Из практических соображений, таких как требования ко времени отклика или ограничения на размеры буферов, входная скорость, как правило, ограничивается уровнем 70 — 90% от теоретического максимума. Ключевые моменты Полезно представить процессы, связанные с очередями, на примере. На рис.
8.3 показан пример реализации процесса функционирования очереди. На графике изображена зависимость общего количества запросов в системе от времени. Затененные области обозначают периоды времени, когда сервер занят. На оси времени отмечены два типа событии: поступление запроса т в момент времени А; и завершение обслуживания запроса т в момент времени Рв Время, которое запрос т проводит в системе, равно Тж= 0 — Ав Фактическое время обслуживания запроса т обозначается как Тя.
Аз Оз Авда ОЗО4 Оков Ат Ав От АвОвзВтвов Ою Андтздтзои время Рис. 6.3. Иллюстрация процесса функционирования очереди В данном примере время Твь которое запрос 1 проводит в системе, полностью достоит из вРемени обслУживаниЯ Тя, так как когда он пРибывает в системУ, сис:тема пуста и поэтому может незамедлительно приступить к обслуживанию запро- 228 Глава 8. Анализ очередей н,з. Модели очередей 229 са. Время Тт состоит из времени, в течение кото1>ого запрос 2 ждет обслуживания (1)> - Аз), н его времени обслуживания Тм Соответственно, Таз = (1)з — Аз) = (ь>>в — Оз) + (Оз — Аз) = Те + (1>з — Аз). Однако запрос и лзожет покинуть систему, пре>к де чем поступит запрос и + 1 (напрнлзер, 1)з ( А>), поэтому общая формула выгля дит как Тяь> = Тз;~ + МАХ>з0, 1) — Ап >з>. Характеристики модели Прежде чем выводить любые аналитические уравнения для модели очередей, еле дует выбрать определенные ключевые характеристики модели.
Ниже приводятся типичные характеристики, как правило, приме нйемые в контексте передачи дан ць> х + Совокупность згтросав (йегп рорц!абоп). Предполагается, что запросы поступают от источника совокупности настолько большой, что она может с штаться бесконечной. Результат этого допущения заключается в том, что скорость поступления запросов в систему не изменяется. Если совокупность конечна, тогда ее размер уменьшается по мере того, как запросы поступают в систему. При этом, как правило, скорость поступления запросов пропорционально уменьшается.
Обычно сетевые и серверные проблемы могут решаться при допущении о бесконечной совокупности. + Размер очереди (Чпене з>хе). Предполагается бесконечный размер очереди, то есть очередь может расти неограниченно. Если очередь конечна, некоторые запросы могут теряться системой — когда очередь заполнена и поступает дополнительный запрос, система вынуждена отбросить один нз запросов. На практике всякая очередь конечна, но во многих случаях это не оказывает существенного влияния на анализ.