Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Категории критериев разбиения на задачи

Вопросы разбиения на параллельные задачи

Разбиение на задачи

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

Важной целью, стоящей перед разбиением на задачи и классы, является раз­деление обязанностей. Задача применяет сокрытие информации для инкапсуляции аспектов параллелизма, в том числе деталей синхронизации, управления, упорядо­чения и коммуникации. Классы скрывают информацию, чтобы инкапсулировать структурные (статические) аспекты, такие как информация об устройствах или абстракции данных. На этапе разбиения на задачи разрабатывается архитектура задач, то есть перечень задач в системе, их интерфейсы и способы общения. Для выявления за­дач применяются критерии разбиения на задачи, они помогают отобразить объект­но-ориентированную аналитическую модель системы на параллельную многоза­дачную архитектуру. Такие критерии представляют собой набор эвристик или рекомендаций, в которых аккумулирован практический опыт специалистов по проектированию параллельных систем и систем реального времени.

Задача – это активный объект, который называют также процессом или по­током. Слишком большое число задач может чрезмерно услож­нить систему из-за необходимости заниматься межзадачными коммуникациями и синхронизацией, а также привести к неоправданным накладным расходам на контекстные переключения. Следовательно, проектировщик систе­мы обязан включать задачи с целью упрощения проекта, не допуская появления слишком большого их числа. В процессе разбиения на задачи природа параллелизма формализуется путем определения па­раллельных задач и интерфейсов коммуникации и синхронизации между ними.

Объекты, вошедшие в аналитическую модель, рассматриваются с целью вы­яснить, какие из них могут выполняться параллельно, а какие – только последо­вательно. Объекты, способные работать параллельно, вычленяются в отдельные задачи. Объекты, которые должны выполняться строго последовательно, объеди­няются в задачу, которая может охватывать один или несколько объектов. Возможно также, что одна задача будет вызывать одну операцию некоторого объекта, а другая – другую операцию того же объекта.

 

Критерии разбиения на задачи можно отнести к нескольким категориям по признаку участия в процессе структурирования:

– критерии выделения задач ввода/вывода. Касаются отображения объектов интерфейса устройств на задачи ввода/вывода и вопроса о моменте активи­зации таких задач;

– критерии выделения внутренних задач. Связаны с тем, как внутренние объек­ты отображаются на внутренние задачи и как эти задачи активизируются;

– критерии назначения приоритетов задачам. Позволяют определить отно­сительную важность каждой задачи;

– критерии группировки задач. Позволяют решить, какие объекты следует группировать в параллельные задачи и как именно;

– критерии инверсии задач. Применяются для решения вопроса о том, какие задачи стоит объединить для уменьшения накладных расходов. Это можно делать при исходном разбиении или при пересмотре первоначального про­екта.

Критерии разбиения применяются поэтапно; сначала критерии выделения задач ввода/вывода, критерии выделения внутренних задач и назначения приори­тетов. В результате мы получаем взаимно-однозначное соответствие между объек­тами из аналитической модели и задачами из проектной модели. Затем с целью уменьшения числа задач используются критерии группировки. Опытный проек­тировщик может выполнять эти шаги одновременно. После того как задачи выяв­лены, определяются их интерфейсы.

48. Критерии выделения задач ввода/вывода

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

Характеристики устройств ввода/вывода. Информация, относящаяся к аппаратным особенностям устройств ввода/выво­да, обычно не отражается в аналитической модели.

Асинхронные задачи интерфейса с устройствами ввода/вывода. Если в системе имеются асинхронные устройства ввода/вывода, то для интер­фейса с каждым из них нужна отдельная задача, которая будет активизироваться при поступлении прерывания от устройства. В процессе разбиения на задачи все объекты интерфейса асинхронных устройств, представленные в аналитической модели, отображаются на соответствующие задачи.

Периодические задачи интерфейса с устройством ввода/вывода. Если асинхронная задача интерфейса с устройством ввода/вывода работает с асинхронным устройством, то периодическая задача имеет дело с пассивным устройством, которое необходимо время от времени опрашивать. В этой ситуации задача активизируется периодически, но ее функции связаны с вводом/выводом.

49. Характеристики устройств ввода/вывода.

характеристики устройств ввода/вывода. Важно понять, является устрой­ство асинхронным (активным) или пассивным. Вот три основных класса устройств ввода/вывода:

• асинхронные устройства ввода/вывода (иногда их называют также актив­ными), работающие по прерываниям. Когда асинхронное устройство вво­да получает данные для обработки, оно генерирует прерывание. Асин­хронное же устройство вывода генерирует прерывание, когда заканчивает операцию вывода и готово к приему новых данных;

• пассивные устройства ввода/вывода. Пассивное устройство не генериру­ет прерываний при завершении операции. Чтобы узнать, есть ли инфор­мация у пассивного устройства ввода, его надо периодически опрашивать. Соответственно перед отправкой данных пассивному устройству вывода надо убедиться, что оно готово принять их;

• канал связи. Некоторые управляемые микропроцессорами устройства ввода/вывода и внешние системы подключаются с помощью канала свя­зи. Порядок обмена данными между системами определяется коммуни­кационным протоколом (например, TCP/IP). На прикладном уровне за­дачи, принадлежащие разным системам, обмениваются сообщениями.

50. Асинхронные задачи интерфейса с устройствами ввода/вывода.

. Если в системе имеются асинхронные устройства ввода/вывода, то для интер­фейса с каждым из них нужна отдельная задача, которая будет активизироваться при поступлении прерывания от устройства. В процессе разбиения на задачи все объекты интерфейса асинхронных устройств, представленные в аналитической модели, отображаются на соответствующие задачи.

Асинхронная задача интерфейса с устройством обязана работать с той же скоростью, что и само устройство. Асинхронная задача интерфейса с устройством ввода/вывода – это задача драйвера устройства. Как правило, она активизируется низкоуровневым обработчиком прерывания, а иногда непосредственно устройством.

51. Периодические задачи интерфейса с устройством ввода/вывода.

Если асинхронная задача интерфейса с устройством ввода/вывода работает с асинхронным устройством, то периодическая задача имеет дело с пассивным устройством, которое необходимо время от времени опрашивать. В этой ситуации задача активизируется периодически, но ее функции связаны с вводом/выводом.

Такая задача запускается событием таймера, выполняет операцию ввода/вывода, после чего ждет следующего события таймера. Период задачи – это промежуток времени между последовательными запусками.

О выборе временных интервалов для периодических задач ввода/ вывода

Частота, с которой задача опрашивает датчик, зависит от ожидаемой частоты из­менения его показаний, а также от приемлемой величины задержки извещения о мо­дификациях.

52. Пассивные задачи интерфейса с устройствами ввода/вывода.

Такие задачи используются для работы с пассивными устройствами ввода/ вывода, которые не надо опрашивать. В частности, они применяются в случае, когда желательно совместить вычисления с вводом/выводом. Обратите внимание, что слово «пассивное» относится к устройству, а не к объекту. Объект остается активным, поскольку представляет собой задачу. Рассмотрим следующие случаи:

– необходимо обеспечить совмещение ввода от пассивного устройства с вы­числительной задачей, которая получает и обрабатывает данные. Это до­стигается с помощью пассивной задачи интерфейса с устройством, которая считывает данные по запросу.

Отделение пассивной задачи ввода от вычислительной задачи полезно толь­ко в тех случаях, когда последняя должна произвести некоторые вычисления за время, пока задача ввода читает данные. Если же вычислительная задача должна дожидаться входных данных, то ввод допустимо выполнять в том же потоке управления;

– требуется совместить вывод на устройство с вычислениями, нужными для получения выходных данных. Это делается с помощью пассивной задачи интерфейса с устройством вывода, которая вызывается по запросу, обычно путем посылки ей сообщения.

Пассивные задачи интерфейса с устройствами обычно применяются для ра­боты с устройствами вывода, а не ввода, поскольку совмещение вывода с вычис­лениями требуется чаще (см. следующий пример). Как правило, для совмещения ввода с вычислениями используются периодические задачи ввода.

<== предыдущая лекция | следующая лекция ==>
Системы обработки транзакций | Критерии группировки задач
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 386; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.