22

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

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

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

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

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

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

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

4 шага
1

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

2

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

$$t_{\text{нач}}(B)=\max_{A\in P(B)}t_{\text{кон}}(A)$$
3

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

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

$$T=8$$
Ответ
8
8
так ответ выглядит в бланке

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

Считать параллельными процессы, между которыми существует зависимость.

Запускать зависимый процесс до завершения всех его предшественников.

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

Учитывать только один из процессов-предшественников, если их несколько.

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

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

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

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