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

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

6

3

1

 

Определите максимальное количество процессов, которые параллельно выполняются на 16-й мс. Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.

Например, для приведённой таблицы на 6-й мс параллельно выполняются три процесса. Это процессы 2, 5 и 6.

 

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

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


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

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

Ответ: 7

Решение.

В приложенной таблице 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
1016103max(10) = 1010 + 6 = 16
1026103max(10) = 1010 + 6 = 16
1036114; 111max(4; 1) = 44 + 6 = 10
1044124; 121max(13; 11) = 1313 + 4 = 17
1053113max(6) = 66 + 3 = 9
1063110max(24) = 2424 + 3 = 27
1072117; 122max(19; 1) = 1919 + 2 = 21
1086124; 121max(13; 11) = 1313 + 6 = 19
1094111max(1) = 11 + 4 = 5
1105120max(19) = 1919 + 5 = 24
1111нет00 + 1 = 1
1125123; 115max(21; 15) = 2121 + 5 = 26
1135122max(1) = 11 + 5 = 6
1144нет00 + 4 = 4
1155103max(10) = 1010 + 5 = 15
1162109; 115max(5; 15) = 1515 + 2 = 17
1174103; 115max(10; 15) = 1515 + 4 = 19
1184123max(21) = 2121 + 4 = 25
1193109max(5) = 55 + 3 = 8
1202115; 116max(15; 17) = 1717 + 2 = 19
1216109max(5) = 55 + 6 = 11
1221нет00 + 1 = 1
1236111; 115max(1; 15) = 1515 + 6 = 21
1243109; 103max(5; 10) = 1010 + 3 = 13
1251115; 123max(15; 21) = 2121 + 1 = 22

16-я миллисекунда — промежуток от 15 до 16. В этот промежуток работают процессы с S(B) < 16 и F(B) ≥ 16. Процесс, заканчивающийся в момент 16, ещё работает на этой миллисекунде; начинающийся в момент 16 приступит только к следующей.

По таблице подходят процессы 101, 102, 104, 108, 116, 117, 123. Всего 7.

Ответ: 7.

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

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

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

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

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

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

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