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

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

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

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

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

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

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

 

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

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

 

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

 

ID процесса B

Время выполнения процесса B (мс)

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

101

4

0

102

3

0

103

1

101; 102

104

7

103

 

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

 

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

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


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

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

Ответ: 9

Решение.

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

Начальный момент обозначим 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
1017нет00 + 7 = 7
10216101max(7) = 77 + 16 = 23
10317101max(7) = 77 + 17 = 24
10410103; 107max(24; 10) = 2424 + 10 = 34
1054104max(34) = 3434 + 4 = 38
10614104max(34) = 3434 + 14 = 48
10710нет00 + 10 = 10
10817нет00 + 17 = 17
10910108max(17) = 1717 + 10 = 27
11023109max(27) = 2727 + 23 = 50
1117108max(17) = 1717 + 7 = 24
11219111max(24) = 2424 + 19 = 43

Сначала фиксируем обязательное условие: минимальное время всей системы T = 50 мс. Его нижнюю границу задаёт цепочка 108 → 109 → 110:
17 + 10 + 23 = 50.
Самое раннее расписание достигает этой границы. Разрешено сдвигать отдельные процессы, пока не нарушены зависимости и общий срок T. Минимальное время всей системы не требует самого раннего запуска абсолютно каждой строки.

Разделим граф на независимые компоненты. Процессы 101–107 дают не более 3 одновременных работ. Процессы 108–112 дают не более 2 одновременных работ. В первой компоненте возможны только тройки {102, 103, 107} и {102, 105, 106}. Во второй после 108 идут две последовательные ветви 109 → 110 и 111 → 112, каждая даёт не более одного активного процесса. Поэтому во всей системе одновременно может работать не более 5 процессов. Ниже построено расписание, где это число достигается.

Обоснуем верхнюю границу длительности. Минимальное время всей системы равно 50 мс. Для пяти параллельных процессов в правой компоненте должны закончиться 17 мс процесса 108, так что интервал начинается не раньше 17. В левой компоненте тройки только {102,103,107} и {102,105,106}; их разделяет 104. В первой тройке 103 должен закончиться не позднее 50−10−14=26, иначе последовательные 104 и 106 не успеют к 50. Поэтому первая стадия даёт не более 26−17=9 мс. Во второй тройке процесс 105 длится только 4 мс. Максимум этих границ равен 9 мс.

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

IDНачалоОкончание
10107
1021733
103926
1042636
1053640
1063650
1071626
108017
1091727
1102750
1111724
1122443

На всём промежутке [17; 26) одновременно работают 5 процессов. При завершении одного процесса другой может сразу занять его место; разрыва параллельной работы нет:

Промежуток, мсРаботающие процессыКоличество
[17; 24)102, 103, 107, 109, 1115
[24; 26)102, 103, 107, 109, 1125

Длина промежутка 26 − 17 = 9 мс. Она совпадает с доказанной верхней границей. Последний процесс заканчивается в момент 50 мс, поэтому требование минимального общего времени также выполнено.

Ответ: 9.

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

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

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

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

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

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

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