22

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

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

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

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

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

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

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

5 шагов
1

Представим зависимости процессов в виде ориентированного графа: ребро направлено от процесса к процессу, который зависит от него.

2

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

$$start(B)=\max_i finish(A_i)$$
3

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

$$finish(B)=start(B)+t_B$$
4

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

Максимальный непрерывный промежуток, на котором одновременно выполняются пять процессов, имеет продолжительность $7$ мс.

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

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

Учитывают только непосредственные зависимости и не учитывают цепочки зависимостей.

Начинают процесс после завершения первого из его предшественников, а не после завершения всех.

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

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

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

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

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

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