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

ФИПИ · ЕГЭ · все форматы ответа · 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

 

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

Например, для приведённой таблицы найдём количество процессов, которые могут быть завершены за первые 7 мс. Это 3 процесса (за это время завершатся процессы 1, 2 и 4).

 

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

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


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

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

Ответ: 12

Решение.

В приложенной таблице 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
1011106; 122max(2; 14) = 1414 + 1 = 15
1023112; 103max(20; 14) = 2020 + 3 = 23
1036110max(8) = 88 + 6 = 14
1045121max(17) = 1717 + 5 = 22
1051121max(17) = 1717 + 1 = 18
1062нет00 + 2 = 2
1073116max(14) = 1414 + 3 = 17
1082102; 114max(23; 5) = 2323 + 2 = 25
1094112max(20) = 2020 + 4 = 24
1102124; 106max(6; 2) = 66 + 2 = 8
1111116max(14) = 1414 + 1 = 15
1122103; 105max(14; 18) = 1818 + 2 = 20
1135нет00 + 5 = 5
1143106max(2) = 22 + 3 = 5
1153118; 117max(19; 26) = 2626 + 3 = 29
1166110max(8) = 88 + 6 = 14
1176116; 119max(14; 20) = 2020 + 6 = 26
1185116max(14) = 1414 + 5 = 19
1196124; 103max(6; 14) = 1414 + 6 = 20
1202105; 119max(18; 20) = 2020 + 2 = 22
1213106; 116max(2; 14) = 1414 + 3 = 17
1226110max(8) = 88 + 6 = 14
1235125; 102max(18; 23) = 2323 + 5 = 28
1246нет00 + 6 = 6
1254103max(14) = 1414 + 4 = 18

За первые 17 мс завершаются именно процессы, для которых F(B) ≤ 17. Окончание точно на границе включаем в подсчёт. Самое раннее расписание даёт наибольшее возможное число завершений: задержка любого запуска не может завершить процесс раньше.

Подходящие идентификаторы: 101, 103, 106, 107, 110, 111, 113, 114, 116, 121, 122, 124. Их 12; остальные процессы заканчиваются позже указанной границы.

Ответ: 12.

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

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

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

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

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

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

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