Интеллектуальное управление процессами (статья Кутепова) (547920), страница 5
Текст из файла (страница 5)
Ией. Во-первых, как показали паши исследошшия, этот алгоритм дает наихудшие резульгаты по количесгву замещений, если выполняется циклический участок программы. В этом случае наилу шшм является алгоритм, по которому из памяти удаляется страница с наименьшим интервалом до последнего к пей обращения. Во-вторых, в работс (7) вместо принципа постраничного замещения страниц был предложен принцип замещения, осиовшшый из актпш!Ом мио>кесгве сграниц программы, которые актуализируются на разных этапах се выполни!шя и ооращение к которым устойчиво.
В !7 — 9) мы предложили алгоритм Определения ак"гивнОГО лпюжссга;! сграниц программ, базирующийся па просгом механизме выявления динамических циклов ! рп обращсшш к страницам. При этом при переходе и выполнению программы все ее страницы, пршшдле>кащпе активному множеству, за один оборот дисковой памяти переписываются в оперативиу!о палить (если, конечно, они отсутствуют в ией), В результате реализации этого; лгорптма, как мы уже' говорили, а среднем в 2 раза умспыпилось количество обменов между операт!шпой и дисковой памятью, а производительно!ть мпогопрограммной работы возросла в среднем па 30%.
Нам представляется, что и сегодня, особ ппо в связи с многозадачной работой компьютеров, зп! ревут; таты не утратили своего зиачсши. Сущссгвенпо возросшие обьемы палитп у соври;!сплыл, в том числе персональных, компьютеров, казалось бы, отодвинули проблемы управлс!аш и в!я гыо !и второй план. Однако прп решешш сло>о!ых задач па ВС, которые требователы ы к памяти, управлс!ше пашггью компьютера оказывает сущссгас!шое вл!ипие на общую эффектишюсг!, Работы ВС.
В табл. 1 приведены д!шпыс, !юказьшающпс какое влияние может оказышпь па загруженность процессора шпепсивность Х' обменов между оперативной и дисковой памятью, В качестве примера взят персональный колшьютср 101е! Реп!шш 4 с характеристиками: 2.4 ГГц — тактовая частота, НИ) — 7200 об!мип, 1 Гбийт- об ьсм оперативной памяти, 300 Мбайт которой з;ив!го ОС%!адова ХР. В эксперимепге обоим проц "сс>и! была необходима оперативная память в одш!ш:овых об>1,ел!ах (иапример, при 1200 Мб!штах каждый прш1ссс тре- ИНТЕЛЛЕКТУАЛЬНОЕ УПРАВЛЕНИЕ ПРОЦЕССА!5!И 67 Таблица 2 | Зцгру>кенность цсссора процессом, % 48 О. О.
Таблица 3 ть % 66 100 85 100 20 Таблица 4 Загруженность процессора, % Интенсивность Обмена, байт/с 2 2.2 4.2 9 11 15 8400000 9600000 11900000 И313ЕСТИЯ РАИ. ТЕОРИЯ И СИС1ЕМЫ УПРАВЛЕНИЯ >З 5 2007 бовал 600 Мбайтах). Как следует из приведенных данных, при большой интенсивности Х' процессор ' компьютера практически не выполняет полезной работы, большую часть времени тратит на организацию обмена страницами между оперативной и дисковой памятью и это время увеличивается с увеличением Х'.
Однако если в множестве Д/лк(1) есть процессы, которые в основном требуют выполнен!и вычислительной работы на процессоре, можно заметно увеличить загруженносгь процессора. В табл. 2 приведены результаты эксперимеггга, когда один процесс вызывал интенсивный обмен с дисковой памятью (процесс 1), а второй (процесс 2) был занят вычислениями. Таблица 3 иллюстрирует влияние интенсивности (и продолжительности) команд ввода-вывода и количества активных процессов на загруженность процессора.
Как и следовало ожидать, с повышением интенсивности операций ввода-вывода в процессах увеличение М„» позволяет больше загружать процессор.. Аналогичная зависимость наблюдается, если выполняемые процессы интенсивно обмениваются по сети с процессами на других компьютерах ВС. В табл, 4 содержатся данные эксперимента для двух процессов, один из которых также обменивается по сети (пропускная способность сети 100 Мбит/с, латентность 120 мкс), а второй активно использует процессор. Заметим, что когда первый процесс начинает обмениваться по сети с интенсивностью, равной ее пропускной способности (последняя строка табл.
4), процессор тратит 13% общего 'времени только на организацию обменов. Данные в табл. 5 иллюстрируют случай, когда выполняются три процесса, один из которых занят только обменами по сети (он не отображен в табл. 5), а два других (процессы 2 и 3) большую часть времени тратят на обмен с дисковой памятью и вычисления соответственно. Как следует из табл. 5, при большой интенсивности обменов с дисковой памятью и большой интенсивности межкомпьютерных обменов процессор. тратит около 28% времени на выполнения связанных с этим операций. Однако наличие даже одного процесса, активно занятого вычислениями, позволяют поддер>кивать достаточно высокую загруженность процессора.
Эксперименты показывают, что даже при очень большой интенсивности обменов с дисково1! памятью, процессор занят организацией этой работы не более 15% своего времени (то же самое верно и для межкомпьютерного обмена), Прн этом достаточно болыпую часть времени можно использовать на вычисления. В (61 методами теории массового облуживания исследована зависимость простоя процессора от уровня многопрограммпости (в нашем случае— количества процессов в А551з), интенсивности об- менов с дисковой пам>ггью 10 в связп с необходимостью замещения страниц и нптенснвпостп Х пОяВленн51 В программах команд ВВОда-ВыВОдй.
Показано, что прнпцпшшльпое значение имеют не эти нптенспшюстц, ц коэффнцпснты загруженности устройств Обмс1и с дисковой памятью и ввода-вывода, которые Определяются как отношение а = Х/Г!' и 'р = /."'/!1'", где !1' и д'" — ннтсиспвнос!и Обслужш3ВНН51 команд Обмсна с дисковой па- млтыО н !3вода-Вьп>ода сОО'!'13етс1ц>ен!1О. Так, папРпмер, если один обмен с дисковой памятью требует в среднем ожила! шя половицы поворога двска, !то прн скорости вращения !2000 об/мпп составляет 2.5 мс, то прн пострапп шом обмене предельная интенсивность обслужшцшпя равна 400 странпи/с.
Общий характер защ!с!Вюстп простоя процессора от/353!э, и и !5 (6! Врш:"дсп ца рнс. 4. 5. График ! на рпс. 4 соотвстсгвуст слу 5аю 1х с ! и р с 1, когда КУТЕПОВ 68 Таблица 5 Загруженность процессоре пр. псссоль % Обч ем затребо- Интенсивность ванной процесса- обменов по сети л!н памяти, Мбайп байт/с Интенсивность снопннга, стр/с 3 еул>лиры|я 49 47 41 84 82 73 84 80 !00 100 100 ' !00 100 100 !00 100 21 21 21 3500 3500 3500 3500 3500 3500 49 47 41 0.01 0.02 0.02 0.03 0.02 0.02 ' 3385000 6270000 11000000 3385000 6270 000 1100000 3385000 6270000 11000000 900 1! 00 1250 1)/а >уя/з инг ин> /е„з (и,) уп„', 0*~ //пз ИЗ!!ЕСРИ5!!АР1, '!ЕОРИЯ И СИСТЕМЫ У!!РЛ!))!Е)!!Гн )л> 5 2007 интенсивность появления операций ввода-вывода и обмена не превышает интенсивности обслуживан>и соответствующими устройствами, что позволяет уменьшать сколь угодно простой процессора путем увеличения г/мз, Для графика 2 а > 1 и р < 1, а для графика 3 р > 1 и 15 > а, где а равно аналогичному значению для графика 2.
График на рис. 5 показывает, каким образом изменяется простой процессора прн заданном объеме оперативной памяти и увеличении количества !умз выполняемых процессов, что приводит к росту )л'. ,опт При этом существует оптимальная величина Жлуз при которой простой процессора достигает минимального значен!и., Заметим (см. выше), что обмен с дисковой памятью возникает не только при необходимости замеще)пи страниц. Процессы могут требовать также работы с файлами, что только увеличивает обмены данными с дисковой памятью. Аналогичная картина наблюдается, если помимо операций ввода-вывода принять во внимание межкомпьютерный обмен, причем прп у> 1, у = ) "/14", где 1!" — предельши интенспвпосгь обслуживания операций межкомпьютерного обмена, начшиет Рне.
4. Зависал!ость простоя Р процессоре от //л/з прн рзшшчных зняче~шях а н 8 н не огра шчен ной енернтпнннй пнмятн. увеличиваться очередь /у/4 процессов, требующих обмена с другими ко. 'пьютералш. Общий вывод сосгоит в следу>ощем: при ) /)л > 1 для любого устройсгна (рис. 3) очередь процессов к нему растет; просгой процессора: кпкпо уменьшать, увеличивая >, иичсстно /л/лш процессов прн условии, что при этом не возрастает ып спснвпосгь обменов между опсрнтив>юй н дисковой палнпью (рис.
5); увеличены; количесгвп //л,з процессов больше оптимально~ о зпачепщ| приводят к росту простоя процессора, причем тем оолсе существенному, чем больше ).'. На основе данных положений пн рпс, б приведена схема алгоритма упранлешш процсссаяш и загруженностью, которы~ реализует планировщик компьютера (рис.
3), Алгоритм нкл>оч >ется в работу при всяком поступлении данных от блока нзмсре)пи параметров загруженности компьютера (рпс.3). Логика работы алгоритма сосгопт н следующем. Если компьютер за! ружен норманы>о (!ч(!) > А, где А — некоторый лоро! ), то он п родоп аз шт свою работу.
Если загруженность мала (!ч(!) < 4!) и ссп, свободная оперативная память )!, и проц ссы н о ырсдп отложенных процессов Из, то ПЛ пс!>елкщнс г !нсп, Рнс. 5. Характер знвнснмнсен пронеся Р нрннесеере нт //„з в а прн огреян миной н перелешин ниш и !и ! > и,). ИНТЕЛЛЕКТУАЛЬНОЕ УПРАВЛЕНИЕ ПРОЦ!!("('А!т(: ! (у '!От блока измерения паралзетроа загруасеностн ) !пасе~ л ,*Бсо, Рис. 6. Схема управления пропессамп и загружепносп,ю коапп,ютс р». ИЗВЕСТИЯ РАН. ТЕОРИЯ И СИСТЕМ(з! УПРАВЛЕ((И>! № б ЗОО7 процессов из очереди ?тз в А(„поскольку наличие свободной оперативной памяти гарантирует не-, большую интенсивность обменов с дисковой памя-' тью.
Если очередь Фз пуста, то ПЛ пытается переместить часть процессов из очереди Фа в очередь Аг„а если это сделать нельзя, то стремится застав>гть ИН увеличить фронт работ (возможна, перейдя к вычислениям с упреждением или увеличивая степень распараллеливания). Если зта удается, то компьютер продолжает работу, а если нет, то передается сообщение серверу о том, что компьютер педогружен и не может сам повысить свою загруженность из-за недостатка процессов. Задача сервера (см. далее) — найти компьютер с наибольшим количеством процессов в его очереди А(ои и передать часть из них 'компьютеру с низкой загруженностью.