Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
8. Классификация вычислительных систем
Классификация ВС весьма сложная проблема и, к сожалению, до сих
пор окончательно не решена из-за большого разнообразия ВС, причѐм это
разнообразие постоянно растѐт, что приводит к появлению новых признаков
классификации. К настоящему времени существует несколько признаков
классификации, которые применяются, в зависимости от назначения ВС,
либо самостоятельно, либо в определѐнной их совокупности. Например, ВС
часто разделяют в зависимости от их структурной организации на
следующие классы [C6]:
1. массивно-параллельные системы (МПС; на английском – MPP);
2. симметричные мультипроцессорные системы (СМС – SMP);
3. системы с неоднородным доступом к памяти (СНДП – NUMA);
4. параллельные векторные системы (ПВС – PVP);
5. кластерные системы (КС).
Подробнее эти системы будут рассмотрены позднее.
1.
2.
3.
4.
5.
Иногда ВС различают:
по числу одновременно обрабатываемых программ – однопрограммные
и многопрограммные (мультипрограммные);
по режиму функционирования – системы реального времени (обычно
применяются в системах управления технологическими процессами) и
универсальные (не привязанные к реальному времени);
по возможности изменения структуры – пассивные (с жѐсткой
структурой, созданной в расчѐте на определѐнный класс задач) и
активные, способные настраиваться на вновь поступившую
прикладную задачу;
по типу используемых процессоров – однородные и неоднородные;
по условиям использования – индивидуального пользования,
использования в пакетном режиме и коллективного пользования и т.д.
Применяя известную или создавая новую классификацию, необходимо
ответить на главный вопрос – для кого предназначается данная
классификация и на решение какой задачи направлена. Так разделение
систем обработки данных на персональные ЭВМ, рабочие станции, серверы,
большие универсальные ЭВМ, мини супер-ЭВМ, супер-ЭВМ позволяет
пользователю примерно прикинуть производительность и стоимость
приобретаемого изделия для решения требуемого класса задач. Разработчику
классификация должна подсказать возможные пути совершенствования СОД
и в этом смысле она должна быть достаточно содержательной. А удачной
классификацию можно назвать тогда, когда с еѐ помощью могут быть
определены направления поиска новых структур и архитектур средств
вычислительной техники.
45
В [3] авторы приводят оригинальный подход к классификации СОД,
который основан на выделении «основополагающих, неделимых признаков,
имеющих генный характер». Определены пять генетических признаков
классификации систем обработки данных. Этими признаками являются:
1. cпособ представления информации;
2. тип запоминающей среды;
3. способ доступа к информации;
4. совмещение функций хранения и обработки информации;
5. способ организации процесса обработки информации.
Перечень признаков и видов их реализации приводятся в таблице 10.1.
Таблица 8.1. Генетические признаки классификации СОД и виды их
реализации
Генетический признак
Реализация признака
Цифровой (символьный);
Способ представления информации
Образный
Дискретная; Распределѐнная
Тип запоминающей среды
(непрерывная)
Способ доступа к информации
Адресный; Ассоциативный
Совмещение функций хранения и
Раздельные; Совмещѐнные
обработки информации
Способ организации процесса
Алгоритмический;
обработки информации
Самоорганизующийся
Рассмотрим данные признаки более подробно. В своей работе [3]
авторы отмечают, что известны два способа представления информации:
символьное в виде абстрактных цепочек, цифр, букв или других символов;
образное в виде чувственных образов. В силу целого ряда объективных
причин
в
технических
СОД
информация
представлена
как
последовательность символов двоичного алфавита. Такая форма
представления информации в наибольшей степени соответствует
возможностям современной технологии создания элементов, структурной и
логической организации СОД. Однако с ростом сложности решаемых задач,
их многомерности всѐ в большей степени проявляются недостатки
одномерной символьно-отвлечѐнной формы представления информации как
чужеродной нашему мышлению. Важно также отметить, что символьная
форма представления информации сложилась как технология работы с
готовой информацией, знаниями, базирующаяся на формальной логике.
Далее авторы делают вывод о том, что в биологических системах, и, прежде
всего, в памяти человека, информация представлена в более сложном виде.
Известно, что человек использует два механизма мышления. Во-первых, так
называемое символьное или алгебраическое мышление позволяет работать с
абстрактными цепочками символов, с которыми связаны семантические и
46
прагматические
представления.
Другой
механизм
образное,
геометризованное мышление позволяет работать с чувственными образами и
представлениями об этих образах. Образы обладают гораздо большей
информативностью, чем символы.
С точки зрения такого признака классификации как «тип
запоминающей среды», авторы выделяют базовое свойство, позволяющее
разделить все существующие запоминающие среды на два класса. Это
свойство определено как способ фиксации информации в запоминающей
среде. В известных запоминающих средах информация фиксируется либо в
локальной области (точке) среды, либо распределена по всей поверхности
или всему объѐму среды. Запоминающие среды, в которых в любой
фиксированный момент времени можно выделить локальную область, точку
среды,
хранящую
наименьшую
единицу
информации
(бит)
классифицируются как дискретные запоминающие среды. Запоминающие
среды, в которых невозможно выделить локальную область, хранящую
наименьшую единицу информации, и информация в которых распределена
по всей поверхности или всему объѐму среды классифицируются как
распределѐнные (непрерывные) запоминающие среды. К ним относятся,
например, нейронные сети и голографические среды.
Что касается признака «способ доступа к информации», то стоит
отметить лишь следующее. Способ доступа, при котором информация в
запоминающей среде находится путѐм указания еѐ местоположения в среде,
называется адресным. Способ доступа к информации в запоминающей среде,
базирующийся на механизме ассоциации, получил название ассоциативного
способа доступа.
Четвѐртый признак классификации «совмещение функций хранения и
обработки информации» разделяет СОД на два класса. Первый связан с
разделением хранения и обработки информации, что приводит к созданию
самостоятельных устройств, предназначенных для хранения и обработки
информации. В настоящее время этот класс систем является доминирующим
в области обработки данных. Второй класс использует принцип переноса
процесса обработки непосредственно в память ВС. Это становится
возможным только с применением ассоциативного способа доступа к
информации, который позволяет совместить функции хранения и обработки
данных в одном устройстве.
Пятый признак по существу выделяет системы с традиционным
алгоритмическим, программным способом организации вычислительного
процесса (процесса обработки информации) и системы, базирующиеся на
самоорганизации процесса обработки информации за счѐт еѐ непрерывного
самообучения. К этому классу систем можно отнести нейрокомпьютеры.
Широко распространѐнным признаком классификации параллельных
систем, введѐнным М. Дж. Флинном (а по нашему определению любая ВС
является параллельной), есть соотношение между числом потоков команд и
числом потоков данных, имеющих место в вычислительной системе при
47
выполнении одной общей или нескольких независимых задач. Под потоком
команд понимается последовательный ряд команд, выполняемых системой, а
под потоком данных - последовательность данных, вызываемых потоком
команд, включая и промежуточные результаты. Считается, что в ВС могут
присутствовать одиночные (О) и множественные (М) потоки команд (К) и
данных (Д). В этом случае существуют четыре класса систем, из которых три
последних являются параллельными:
1. ОКОД (SISD) – одиночный поток команд, одиночный поток данных
(последовательная ВС);
2. ОКМД (SIMD) – одиночный поток команд, множественный поток
данных (параллельная ВС);
3. МКОД (MISD) – множествнный поток команд, одиночный поток
данных (параллельная ВС);
4. МКМД (MIMD) – множественный поток команд, множественный поток
данных (параллельная ВС).
Множественность потока команд предполагает одновременное
выполнение нескольких команд, множественность потока данных –
одновременную обработку нескольких данных. Следует отметить, что и та, и
другая множественность может быть реализована, если в ВС присутствует
множественность аппаратных средств (процессоры, модули памяти) и
соответствующее программное обеспечение.
ОКМД. Различные данные обрабатываются по одной программе (одни
и те же действия ОК – одиночный поток команд, с разными данными
Д1,Д2,Д3,Д4 – множественный поток данных, см. рис. 8.1). Очевидно, что
такая система, составленная из большого числа процессоров, может
обеспечить очень высокую производительность только на тех задачах, при
решении которых все процессоры могут делать одну и ту же работу.
Рис.8.1 Обобщѐнная схема системы ОКМД
ВС (ОКМД) может быть построена:
1. на основе векторных процессоров;
2. на основе матричных процессоров;
3. на основе ассоциативных процессоров.
48
МКОД. Одни и те же данные ОД (см. рис ) проходят несколько этапов
обработки:
экспресс обработка первичная обработка вторичная обработка…
Каждый этап должен быть выполнен за определѐнное время.
Эти системы асинхронны, т.к. время решения различно, у каждого
процессора свой поток команд К1,К2,К3,К4.
Рис.8.2 Обобщѐнная схема системы МКОД
Класс МКОД содержит один вид, который определѐн как
магистральные (конвейерные) ВС, иногда их называют мультиконвейерными
ВС.
Вышеуказанный признак классификации характеризует прежде всего
организацию функционирования вычислительной системы и не раскрывает
практические вопросы реализации взаимодействия компонент ВС при
решении одной общей или нескольких независимых задач. Поэтому в
последнее время появилось большое число расширений классификации
Флинна. Одно из таких расширений подразумевает разбиение класса ОКМД
на три вида. Это вычислительные системы с векторным потоком команд, ВС,
построенные на основе матричных процессоров и ВС, построенные на основе
ассоциативных процессоров, что представлено на рис. 8.3. Все эти системы
будут рассмотрены при дальнейшем изложении материала.
49
Рис. 8.3 Классификация вычислительных систем
Несмотря на то, что класс МКМД чрезвычайно широк, он разбивается
на три вида – многопроцессорные ВС (МВС) с распределѐнной памятью,
МВС с общей памятью и МВС со смешанной организацией памяти.
Большое число авторов предлагают различные классификации
отдельных классов параллельных ВС. Например, Р. Хокни – известный
английский специалист в области параллельных вычислительных систем,
разработал свой подход к классификации систем, попадающих в класс
МКМД, представленной на рис. 8.4. Основная идея классификации
базируется на том, что множественный поток команд может быть обработан
двумя способами: либо одним конвейерным устройством обработки,
работающим в режиме разделения времени для отдельных потоков, либо
каждый поток обрабатывается своим собственным устройством. Первая
возможность используется в МКМД системах, которые автор называет
конвейерными.
50
Рис. 8.4 Классификация Хокни
Архитектуры, использующие вторую возможность, в свою очередь
опять делятся на два класса:
1. МКМД системы, в которых возможна прямая связь каждого
процессора с каждым, реализуемая с помощью переключателя;
2. МКМД системы, в которых прямая связь каждого процессора
возможна только с ближайшими соседями по сети, а взаимодействие
удалѐнных процессоров поддерживается специальной системой
маршрутизации через процессоры посредники.
Далее, среди МКМД систем с переключателем Хокни выделяет те, в
которых вся память распределена среди процессоров как их локальная
память. В это случае общение самих процессоров реализуется с помощью
очень сложного переключателя, составляющего значительную часть
системы. Такие системы носят название систем с распределѐнной памятью.
Если память разделяемый ресурс, доступный всем процессорам через
переключатель, то такие МКМД системы являются системами с общей
памятью. В соответствии с типом переключателей можно проводить
классификацию и далее: простой переключатель, многокаскадный
переключатель, общая шина. Многие современные вычислительные системы
имеют как общую разделяемую память, так и распределѐнную локальную
память. Такие системы Хокни рассматривает как гибридные МКМД с
переключателем.
При рассмотрении МКМД систем с сетевой структурой считается, что
все они имеют распределѐнную память, а дальнейшая классификация
проводится в соответствии с топологией сети.
Позднее Е. Джонсон предложил проводить классификацию МКМД
систем на основе структуры памяти и реализации механизма взаимодействия
и синхронизации между процессорами. По структуре оперативной памяти
51
существующие вычислительные системы делятся на две большие группы:
либо это системы с общей памятью, прямо адресуемой всеми процессорами,
либо это системы с распределѐнной памятью, каждая часть которой доступна
только одному процессору. Одновременно с этим, и для межпроцессорного
взаимодействия существует две альтернативы: через разделяемые
переменные или с помощью механизма передачи сообщений. Исходя из
таких предположений, можно получить четыре класса МКМД систем,
уточняющих классификацию Флинна:
1. общая память – разделяемые переменные;
2. распределѐнная память – разделяемые переменные;
3. распределѐнная память – передача сообщений;
4. общая память – передача сообщений.
В 1988 году была сделана очередная попытка расширить
классификацию Флинна и, тем самым, преодолеть еѐ недостатки. Д.
Скилликорн разработал подход, пригодный для описания свойств
многопроцессорных систем и некоторых нетрадиционных архитектур, в
частности, потоковых машин. Хотя автор излагает свою классификацию как
классификацию архитектур вычислительных систем, на мой взгляд речь идѐт
о классификации структур ВС. Предлагается рассматривать архитектуру
любой системы, как абстрактную архитектуру, состоящую из четырѐх
компонент:
1. процессор команд (IP – Instruction Processor) – функциональное
устройство, работающее как интерпретатор команд; в системе, вообще
говоря, может отсутствовать;
2. процессор данных (DP – Data Processor) – функциональное устройство,
работающее как преобразователь данных, в соответствии с
арифметическими операциями;
3. иерархия памяти (IM – Instruction Memory, DM – Data Memory) –
запоминающее устройство, в котором хранятся команды и данные,
пересылаемые между процессорами;
4. переключатель – абстрактное устройство, обеспечивающее связь
между процессорами и памятью.
Функции процессора команд во многом схожи с функциями устройства
управления последовательных машин и, согласно, Д. Скиллкорну, сводятся к
следующему:
1. на основе своего состояния и полученной от DP информации IP
определяет адрес команды, которая будет выполняться следующей;
2. осуществляет доступ к IM для выборки команды;
3. получает и декодирует выбранную команду;
4. сообщает DP команду, которую надо выполнить;
5. определяет адрес операндов и посылает их в DP;
6. получает от DP информацию о результате выполнения команды.
52
Функции процессора данных делают его, во многом, похожим на
арифметическое устройство традиционных процессоров:
1. DP получает от IP команду, которую надо выполнить;
2. получает от IP адреса операндов;
3. выбирает операнды из DM;
4. выполняет команду;
5. запоминает результат в DM;
6. возвращает в IP информацию о состоянии после выполнения команды.
В терминах определѐнных таким образом основных частей системы
можно представить структуру любой параллельной системы, при этом автор
выделяет четыре типа переключателей, без какой-либо явной связи с типом
устройств, которые они соединяют:
1-1 – переключатель такого вида связывает пару функциональных
устройств;
n-n – переключатель связывает i-ое устройство из одного множества
устройств с i-ым устройством из другого множества, т.е. фиксирует
попарную связь;
1-n – переключатель соединяет одно выделенное устройство со всеми
функциональными устройствами из некоторого набора;
nn – каждое функциональное устройство одного множества может
быть связано с любым устройством другого множества, и наоборот.
Примеров подобных переключателей можно привести очень много. Так
все матричные процессоры имеют переключатель типа 1-n для связи
единственного процессора команд со всеми процессорами данных. В
машинах семейства Connection Machine каждый процессор данных имеет
свою локальную память и, следовательно, связь будет описываться как n-n. В
то же время, каждый процессор команд может связываться с любым другим
процессором, поэтому данная связь будет описана как nn.
Классификация Д. Скилликорна состоит из двух уровней. На первом
уровне она проводится на основе восьми характеристик:
1. количество процессоров команд (IP);
2. число запоминающих устройств (модулей памяти) команд (IM);
3. тип переключателя между IP и IM;
4. количество процессоров данных (DP);
5. число запоминающих устройств (модулей памяти) данных (DM);
6. тип переключателя между DP и DM;
7. тип переключателя между IP и DP;
8. тип переключателя между DP и DP.
В терминах данных характеристик машину Connection Machine 2
можно описать так: (1, 1, 1-1, n, n, n-n, 1-n, nn).
53
На втором уровне классификации Д. Скилликорн просто уточняет
описание, сделанное на первом уровне, добавляя возможность конвейерной
обработки в процессорах команд и данных. Автор сформулировал три цели,
которым должна служить хорошо построенная классификация:
1. облегчать понимание того, что достигнуто на сегодняшней день в
области архитектур вычислительных систем, и какие архитектуры
имеют лучшие перспективы в будущем;
2. подсказывать новые пути организации архитектур - речь идѐт о тех
классах, которые в настоящее время по разным причинам пусты;
3. подсказывать, за счѐт каких структурных особенностей достигается
увеличение производительности различных вычислительных систем; с
этой точки зрения, классификация может служить моделью для анализа
производительности.
Теперь попытаемся привести свой подход к построению
классификации архитектур вычислительных систем (см. рис.8.5). Во
введении было определено понятие архитектуры ВС как совокупность трѐх
категорий - сущность информационных потоков (ИП), характер их
взаимодействия и способ обработки данных. Будем считать эти категории
основными признаками классификации. Однако для более детальной
проработки классификации необходимо ввести дополнительные признаки,
которые уточняют вид архитектуры ВС. Рассмотрим первый признак. На
первое место, на мой взгляд, необходимо поставить способ обработки
данных, так как он определяет тип реализации непосредственно операций
над данными в исполнительных устройствах процессора, и разбиение на
классы архитектур по этому признаку не зависит от значений следующих
признаков. При анализе способа обработки данных можно выделить две
составляющие:
1. координата (обработка может быть горизонтальной, вертикальной и
многокоординатной);
2. параллелизм (последовательная, последовательно-параллельная и
параллельная обработка элемента потока данных).
Второй признак – сущность информационных потоков – определяет
совокупность видов информационных потоков, циркулирующих в системе
обработки данных. Например, можно выделить четыре вида ИП – данные,
команды, функции и задания. В настоящее время можно определить три
класса архитектур в соответствии с данной составляющей признака:
(команды – данные), (функции – данные) и (задания – данные).
После того как определены ИП в СОД, необходимо уточнить характер
их прохождения в исполнительных устройствах СОД. Характер прохождения
может быть организован либо в виде конвейера, либо без такового. Причѐм
конвейер, как было отмечено выше, реализуется на уровне операций, команд,
54
процессов, соответствующих, например, отдельным ветвям программы, и
различным сочетаниям этих конвейеров.
Важной характеристикой архитектуры ВС является реализация
типового контроля элементов информационных потоков. Введение типов
устанавливает взаимно однозначное соответствие между объектом и его
изображением в информационной среде и, по существу, устраняет
последствие семантического разрыва неймановской архитектуры. Задание
типов данных и реализация типового контроля может осуществляться либо
программно, либо программно-аппаратно, либо аппаратно. Как было
отмечено в предыдущих разделах, ещѐ одним узким местом неймановской
архитектуры является так называемый побочный эффект. Эффективность
смягчения этого эффекта зависит от способа реализации конструкций языков
высокого уровня. Таких способов существует три: программный,
программно-аппаратный и аппаратный.
Из оставшихся пяти признаков следует обратить внимание на
следующие два. Один из них основной – характер взаимодействия потоков,
который по существу разделяет архитектуру ВС на два класса.
Первый использует в том или ином виде неймановский принцип
обработки, атрибутом которого является счѐтчик команд.
Второй – принцип управления данными, атрибутом этого типа архитектуры
является признак готовности данных. Этот основной признак можно
уточнить так – очередной элемент ИП данного типа инициирует активизацию
порции информационного потока другого вида. Например, в неймановской
архитектуре очередная команда содержит информацию о местоположении в
памяти элементов потока данных, над которыми и производятся
определѐнные действия. Ещѐ один признак, который необходимо уточнить,
это реализация параллелизма. На примере рис.8.5 видно, что, если
рассматривать параллелизм на уровне команд, то он может быть реализован
либо статически (распределение команд по исполнительным устройствам
процессора осуществляется на уровне компиляции заранее), либо
динамически – то же распределение осуществляется устройством управления
в процессе обработки данных.
55
Рис. 8.5 Архитектура вычислительных систем
9. Режимы обработки данных ВС
Одним из важнейших путей повышения производительности
вычислительных систем является использование того или иного режима
функционирования в зависимости от класса решаемых задач и требований к
процессу их выполнения. Существуют два режима работы ВС –
однопрограммный и мультипрограммный (многопрограммный). По режиму
обслуживания данные системы можно разделить на два вида –
индивидуального и коллективного пользования. По способу приѐма заданий
на обработку различают пакетную обработку и обработку заданий
поступающих независимо друг от друга в случайные моменты времени от
разных пользователей. Пакетная обработка может производиться как в
однопрограммном, так и многопрограммном режимах. Режим коллективного
пользования – это форма обслуживания, при которой возможен
одновременный доступ нескольких независимых пользователей к
вычислительным ресурсам ВС. Системы коллективного пользования с
квантованным обслуживанием называются системами с разделением времени
[5].
9.1 Пакетный режим функционирования ВС
В этом режиме пользователи не имеют непосредственного доступа к
ВС. Подготовленные ими программы передаются по каналам связи в
систему, где они накапливаются и оформляются в виде единого пакета. В
момент, когда система готова принять на обработку пакет заданий
начинается процесс обработки по заранее составленному расписанию.
1
ЯОС
Пакет
Очереди задач
на выполнение
(m штук)
Очереди к
периферийным
МОД устройствам.
пери фер ийны е устро йства
m
Рис.9.1 Схема пакетной обработки задач
Каждый пакет имеет паспорт, в котором содержится число задач, их
тип. В свою очередь каждая задача имеет свой паспорт, в котором
указывается приоритет и др. необходимая информация.
МОД – модуль обработки данных.
ЯОС – ядро операционной системы.
57
Ядро ОС содержит планировщик, который определяет, какую задачу
выполнять (с учѐтом приоритетов).
Если режим – однопрограммный, то пакеты выполняются
последовательно.
В мультипрограммном режиме формируются очереди (на основе
приоритетов задач). Ядро ОС выделяет определѐнную область памяти для
каждой задачи. После того, как задача выполнилась, формируются очереди
на пользование периферийными устройствами.
В пакетном режиме применяется механизм квантования. Т.е. каждой
задаче выделяется время исполнения (время процессора) и если за это время
задача не выполнится, то она поступает в конец очереди.
Пакетный режим используется очень часто, несмотря на высокие
«накладные расходы».
Особенности пакетного режима:
1. Развитая система прерываний (необходимо прерывать выполнение
задачи и сохранять еѐ вектор, перейти к другой задаче, а затем снова
возвращаться к выполнению этой задачи). Это приводит к
значительным «накладным расходам».
2. Необходима защита памяти от доступа к данным задачи из других
задач.
3. Необходимы специальные привилегированные команды (команды
защиты), доступные только системе.
4. Требуется специальный датчик времени (таймер) для реализации
механизма квантования.
Мультипрограммная пакетная обработка обеспечивает высокую степень
загрузки ресурсов ВС, но при этом из-за отсутствия непосредственной
связи между системой и пользователем производительность и
эффективность труда самих пользователей снижается по сравнению с
индивидуальным обслуживанием.
9.2
Режим разделения времени (потоковый режим)
В общем случае на вход ВС поступает случайный поток задач от
нескольких источников (пользователей).
Вычислительная система с разделением времени (СРВ), работающая в
мультипрограммном режиме, в определѐнной
последовательности
обслуживает пользователей, выделяя программе (заданию) каждого
пользователя некоторый интервал времени (квант обслуживания). Если в
течение выделенного программе кванта времени еѐ обработка не
заканчивается, программа прерывается и становится в очередь программ,
ожидающих обработку.
Порядок распределения между пользователями основного ресурса СРВ –
времени процессоров – устанавливается дисциплиной квантованного
обслуживания. Выбор значения кванта времени определяется двумя
58
основными факторами – уменьшение времени отклика на запросы
пользователя и увеличение загрузки основного ресурса ВС. Малое значение
кванта времени, выделяемое программе ведѐт к снижению эффективности
использования технических средств системы, так как переключение
программы из пассивной фазы в активную сопровождается служебными
операциями, доля которых при этом в общем времени работы системы
возрастает. Значение кванта времени выбирается в результате разумного
компромисса, с тем, чтобы время отклика на запрос, и потери
производительности от переключения активности программ были
приемлемыми.
Возможно два варианта дисциплин обслуживания:
а) одноочередная дисциплина обслуживания, упрощенная схема СРВ с
которой представлена на рис. 9.2. Вновь поступающие от пользователя
программы ставятся в конец очереди.
Возврат в начало очереди, если за
дача не выполнена за время
МОД
Одна очередь
Рис.9.2 Схема системы с режимом разделения времени с
одноочередной дисциплиной обслуживания
Здесь обязательно используется режим квантования. Если задача не
решена за время Δ, то она отправляется в конец очереди.
Время выбирается исходя из параметров ВС.
Недостатком такой дисциплины обслуживания
является очень
длительное время решения больших задач.
б) многоочередная дисциплина обслуживания, упрощенная схема СРВ
с которой представлена на рис. 9.3.
Для сокращения потерь времени, связанных с переключением программ, и
обеспечения приоритета для коротких программ используют дисциплину
обслуживания с несколькими очередями
59
Возврат в начало очереди, если за
дача не выполнена за время
Очередь 0
МОД
*2
m
Очередь m
Входы
Рис. 9.3 Схема системы с многоочередной дисциплиной обслуживания
У каждой очереди свой приоритет (приоритет соответствует номеру
очереди: 0- наибольший приоритет, m– наименьший приоритет).
У задачи может быть задан приоритет, либо его устанавливает ОС,
основываясь на данных, полученных из паспорта задачи (время выполнения
задачи и требуемые ресурсы). Если время выполнения задачи не указано, то
оно оценивается пропорционально длине кода программы. Чем дольше
исполняется программа, тем ниже приоритет, но в таких очередях больше.
По приоритету задача направляется в соответствующую очередь.
Если задача имеет наивысший приоритет, но не успевает выполниться,
в отведенный квант времени (Δ), то вступает в силу механизм динамических
приоритетов: если задача не решена за время Δ, то она «проваливается» в
очередь с более низким приоритетом. Т.е. пользователь устанавливает
максимальный приоритет, а ОС его постепенно понижает.
Номер очереди, куда следует поместить задачу, определяется по
следующей формуле:
l
p
m log 2
l
1
m- номер очереди, куда следует поместить задачу,
l p - длина кода программы в байтах,
l -длина кода программы в байтах, которая может быть передана из
оперативной памяти во внешнюю или обратно за квант времени .
60
9.3
ВС реального времени
В ряде применений вычислительных систем, таких, как контроль и
управление различными технологическими процессами, на обработку
вводимых данных и выдачу результатов накладываются жѐсткие
ограничения на время выполнения задачи, диктуемые темпом развития
процессов в контролируемом объекте.
Вычислительной системой реального времени (системой, работающей
в масштабе реального времени) называется система, соединенная с
некоторым внешним объектом и обрабатывающая поступающую в неѐ
информацию о его состоянии достаточно быстро, для того, чтобы результат
обработки мог использоваться для воздействия на протекание процессов в
объекте.
На рис 9.4 представлена упрощѐнная структурная схема
автоматизированной системы управления с модулем обработки данных
МОД. Принцип обработки в таких системах носит итерационный
(периодический) характер, данные D поступают на вход системы через
равные промежутки времени и именно в течение этого промежутка времени
должны быть выработаны управляющие воздействия Y на объект.
ИМ1
Y1
Yk
Объект
управления
ИМк
X1
Д
1
X
m
Дm
СЕВ ДПр
К2
ЦАП
СПр
МОД
Устройство
отображения
(дисплей)
Архив
Рис.9.4 Схема системы реального времени
ИМ1…ИМК- исполнительные
механизмы. Д1...ДК – датчики.
СЕВ – система единого времени.
61
К1
АЦП
ДПр – датчик прерываний.
СПр – система прерываний.
МОД – модуль обработки
данных. К1,К2 –коммутаторы
АЦП – аналого-цифровой преобразователь
ЦАП – цифро-аналоговый преобразователь
Таким образом, главной особенностью вычислительных систем
реального времени является способность принять данные, как правило, с
большого числа датчиков, преобразовать их в цифровую форму, привязать к
реальному отсчѐту времени (с помощью системы единого времени),
обработать, выдать управляющие воздействия, архивировать данные и
постоянно отображать состояние объекта на устройстве отображения за
фиксированный интервал времени. Второй главной особенностью таких
систем является требование высокой надежности.