Задание EGEINFFE814D: Параллельные вычисления

ФИПИ · ЕГЭ · все форматы ответа · 2475 заданий

Открыть решение ↓ Ошибка или пожелание

Тип задачи: Параллельные вычисления.

Учебные темы: Основные тенденции развития компьютерных технологий. Параллельные вычисления. Многопроцессорные системы. Распределённые вычислительные системы и обработка больших данных.

Впишите правильный ответ.

 Рисунок из условия ФИПИЗадание выполняется с использованием прилагаемых файлов.

 

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

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

 

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

 

ID процесса B

Время выполнения

процесса B (мс)

ID процесса(-ов) A

1

3

0

2

4

1

3

2

2; 4

4

5

0

5

8

1; 4

 

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

Например, для приведённой таблицы это 13 мс (процесс 5 может выполниться только после окончания процесса 4, их общая продолжительность 5 + 8 = 13 мс).

 

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

Скачать файл задания (ZIP, ФИПИ)


i
СВОЙСТВА ЗАДАНИЯ
КЭС:
1.1 Основные тенденции развития компьютерных технологий. Параллельные вычисления. Многопроцессорные системы. Распределённые вычислительные системы и обработка больших данных
Тип ответа:Краткий ответ
Номер: FE814D
НЕ РЕШЕНО Ответить

Решение задания EGEINFFE814D

Ответ: 29

Решение.

В приложенной таблице 25 процессов. Первый столбец содержит их идентификаторы, второй — длительности в миллисекундах, третий — идентификаторы всех необходимых предшественников. Ноль в третьем столбце означает отсутствие предшественников. Типовой пример из условия не заменяет данные файла.

Начальный момент обозначим 0. Пусть d(B) — длительность процесса B, S(B) — время его начала, F(B) — время окончания. Процесс занимает промежуток от S(B) включительно до F(B) не включительно. Его результат доступен уже в момент F(B); следующий процесс может начаться в этот же момент.

Для самого раннего допустимого запуска используем правила:
S(B) = 0, если предшественников нет;
S(B) = max(F(A)), где максимум берётся по всем предшественникам A;
F(B) = S(B) + d(B).
Длительности разных предшественников не складываем: они могут работать параллельно. Но ждать требуется завершения каждого, поэтому выбираем самое позднее окончание. Строки вычисляем после их предшественников, даже если в файле они расположены в другом порядке.

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

Проверка зависимостей и длительностей. Полный расчёт самого раннего расписания, все времена в мс:

IDdПредшественникиSF = S + d
1011102; 119max(10; 10) = 1010 + 1 = 11
1025107max(5) = 55 + 5 = 10
1033101; 104max(11; 11) = 1111 + 3 = 14
1041102; 107max(10; 5) = 1010 + 1 = 11
1051107max(5) = 55 + 1 = 6
1063нет00 + 3 = 3
1075нет00 + 5 = 5
1085109max(11) = 1111 + 5 = 16
1095112max(6) = 66 + 5 = 11
1106118; 119max(14; 10) = 1414 + 6 = 20
1114110max(20) = 2020 + 4 = 24
1126нет00 + 6 = 6
1134101; 109max(11; 11) = 1111 + 4 = 15
1145118; 119max(14; 10) = 1414 + 5 = 19
1156116max(14) = 1414 + 6 = 20
1164102max(10) = 1010 + 4 = 14
1175111max(24) = 2424 + 5 = 29
1183101; 109max(11; 11) = 1111 + 3 = 14
1194112; 106max(6; 3) = 66 + 4 = 10
1204114; 108max(19; 16) = 1919 + 4 = 23
1211118max(14) = 1414 + 1 = 15
1225113; 119max(15; 10) = 1515 + 5 = 20
1236105max(6) = 66 + 6 = 12
1243102; 119max(10; 10) = 1010 + 3 = 13
1256101max(11) = 1111 + 6 = 17

Вся система заканчивает работу, когда выполнен последний процесс. Следовательно, T = max(F(B)) = 29 мс.

Проверим нижнюю границу цепочкой обязательных зависимостей:
107 → 102 → 101 → 118 → 110 → 111 → 117.
Эти процессы должны выполняться последовательно, их суммарная длительность равна
5 + 5 + 1 + 3 + 6 + 4 + 5 = 29 мс.
Быстрее закончить все процессы невозможно. Полная таблица показывает расписание, достигающее этой границы.

Ответ: 29.

Помочь улучшить сайт

Напишите пожелание к сайту или решению либо сообщите о найденной неточности в задании EGEINFFE814D.

Сообщение увидит только команда сайта: на странице оно не публикуется.

Комментарии к решению

Комментарии видны всем посетителям сайта.

Комментариев пока нет. Будьте первым.

Чтобы оставить комментарий, войдите или зарегистрируйтесь.