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

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

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

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

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

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

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

 

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

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

Определите минимальное время (в мс), за которое завершатся 16 процессов. Считать, что каждый процесс начинается
в самое раннее допустимое время.
Время отсчитывается непрерывно с первой миллисекунды. В ответе укажите только число – количество миллисекунд.

 

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

 

ID процесса B

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

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

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

1

3

0

2

4

1

3

2

2; 4

4

5

0

5

8

1; 4

6

3

1

 

Для приведённой таблицы процесс 3 начинается на 8-й мс, заканчивается на 9-й мс.

 

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

Рисунок из условия ФИПИ


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

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

Ответ: 19

Решение.
Открываем исходный файл ODS. Полная таблица содержит 25 процессов; иллюстративная таблица в тексте задания показывает только формат данных. Для ответа используем именно файл. Все времена ниже указаны в миллисекундах.
Обозначим длительность процесса i через d(i), самое раннее время начала — S(i), завершения — F(i). Время отсчитываем от нуля: независимые процессы начинаются в момент 0 и работают уже на первой миллисекунде.
Процесс может начаться, когда завершатся все его непосредственные предшественники. Поэтому S(i) равно максимуму их времён F. Для независимого процесса S(i) = 0. После начала процесс выполняется непрерывно, так что F(i) = S(i) + d(i).
Сначала рассчитываем независимые процессы, затем те, у которых известны времена завершения всех предшественников. Номер процесса не задаёт порядок вычисления. Параллельные ветви не складываем между собой: в формуле начала нужен максимум.
В таблице ниже процессы расположены в порядке расчёта. Знак «—» означает отсутствие зависимостей. В столбцах S и F показаны численные подстановки.

IDДлительностьПредшественникиНачало SЗавершение F
136—00 + 6 = 6
212136 = 66 + 2 = 8
86—00 + 6 = 6
17186 = 66 + 1 = 7
12517, 13, 8max(7; 6; 6) = 77 + 5 = 12
1911212 = 1212 + 1 = 13
4519, 17max(13; 7) = 1313 + 5 = 18
14617, 8max(7; 6) = 77 + 6 = 13
1521, 4, 14max(8; 18; 13) = 1818 + 5 = 23
2219, 12, 8max(13; 12; 6) = 1313 + 2 = 15
36—00 + 6 = 6
9217, 4max(7; 18) = 1818 + 2 = 20
1049, 14, 2max(20; 13; 15) = 2020 + 4 = 24
5410, 3max(24; 6) = 2424 + 4 = 28
1162, 17max(15; 7) = 1515 + 6 = 21
1531, 11max(23; 21) = 2323 + 3 = 26
2429, 1, 13max(20; 23; 6) = 2323 + 2 = 25
634, 15, 24max(18; 26; 25) = 2626 + 3 = 29
7314, 17, 2max(13; 7; 15) = 1515 + 3 = 18
164215 = 1515 + 4 = 19
1831526 = 2626 + 3 = 29
201218 = 88 + 1 = 9
2261913 = 1313 + 6 = 19
23136 = 66 + 1 = 7
2523, 14max(6; 13) = 1313 + 2 = 15

Проверка расписания: каждая длительность равна F(i) − S(i), а начало не меньше завершения любого предшественника. Все готовые процессы можно запускать одновременно: ограничения на число исполнителей в условии нет.
Докажем, что получены самые ранние времена. Независимый процесс нельзя начать раньше нуля. Если самые ранние завершения его предшественников уже найдены, зависимый процесс не может начаться раньше их максимума. Запуск в этот момент допустим. Продолжая рассуждение по порядку зависимостей, получаем самые ранние начала и завершения всех процессов.
Расположим завершения по возрастанию. Каждая пара имеет вид «время; ID процесса»:
(6; 3); (6; 8); (6; 13); (7; 17); (7; 23); (8; 21); (9; 20); (12; 12); (13; 14); (13; 19); (15; 2); (15; 25); (18; 4); (18; 7); (19; 16); (19; 22); (20; 9); (21; 11); (23; 1); (24; 10); (25; 24); (26; 15); (28; 5); (29; 6); (29; 18).
Нужно дождаться завершения 16 процессов. Время 16-го завершения в этом списке — 19.
Строго раньше момента 19 завершились 14 процессов: 2, 3, 4, 7, 8, 12, 13, 14, 17, 19, 20, 21, 23, 25.
Ровно в момент 19 завершаются ещё 2: 16, 22. Итого к этому моменту завершено 16 процессов.
До момента 19 завершившихся меньше 16, а к нему их уже не меньше 16. Следовательно, самое раннее требуемое время равно 19 мс. Одинаковые времена завершения учитываются одновременно; каждый процесс считается один раз.
Ответ: 19.

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

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

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

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

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

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

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