22

Решение: Параллельное выполнение процессов

ЕГЭ · Информатика · Задание 22 · Параллельные вычисления
ВысокаяФИПИ42A2E4Короткий ответ≈ 10 минутРазбор в 5 шаговОтвет сверен с ключом
Условие

В файле содержится информация о совокупности $N$ вычислительных процессов, которые могут выполняться параллельно или последовательно. Приостановка выполнения процесса не допускается. Процесс $B$ зависит от процесса $A$, если для выполнения процесса $B$ необходимы результаты выполнения процесса $A$. В этом случае процессы $A$ и $B$ могут выполняться только последовательно.

Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены через «;» ID процессов, от которых зависит данный процесс. Если процесс независимый, указано значение 0.

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

Для выполнения задания используйте данные из прилагаемого файла.

ID процесса BВремя выполнения процесса B (мс)ID процесса(-ов) A
10140
10230
1031101; 102
1047103
Типовой пример данных о процессах

Типовой пример организации данных в файле:

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

5 шагов
1

По данным файла для каждого процесса строится интервал выполнения. Если процесс не имеет зависимостей, его выполнение начинается в момент времени 0.

2

Для процесса, имеющего зависимости, начало выполнения определяется максимальным временем окончания всех процессов-предшественников.

3

На общей временной шкале отмечаются интервалы выполнения всех процессов. Между соседними моментами начала или окончания число одновременно выполняющихся процессов постоянно.

4

Для каждого такого отрезка подсчитывается количество выполняющихся процессов. Выбирается максимальное количество, а затем складываются длины всех отрезков, на которых это количество достигается.

По данным прилагаемого файла максимальная продолжительность требуемого отрезка равна 10 миллисекундам.

Ответ
10
10
так ответ выглядит в бланке

Где здесь ошибаются

Считать суммарное время выполнения всех процессов вместо времени участка с максимальным числом параллельно работающих процессов.

Не учитывать зависимости между процессами.

Считать процессы выполняющимися параллельно до момента окончания всех зависимых процессов.

Учитывать только один из процессов-предшественников вместо самого поздно заканчивающегося.

Закрепить приёмВ теме «Параллельные вычисления» ещё 39 задач — с ответом и таким же разбором.
Тренироваться

Как решать задание 22 ЕГЭ, информатика

Разбор этой задачи разложен на 5 шагов: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Параллельные вычисления»: в ней 40 задач, и у каждой есть такой же разбор. Регистрация не нужна.