ФИПИ · ЕГЭ · все форматы ответа · 2475 заданий
Тип задачи: Параллельные вычисления.
| КЭС: | 1.1 Основные тенденции развития компьютерных технологий. Параллельные вычисления. Многопроцессорные системы. Распределённые вычислительные системы и обработка больших данных |
| Тип ответа: | Краткий ответ |
Ответ: 218
Решение.
Используем данные приложенного файла 1_22.ods: в нём 17 процессов. Таблица из четырёх строк в условии — только пример структуры, её числа не подставляем вместо данных файла.
Обозначим длительность процесса i через d(i), самое раннее время начала — S(i), время окончания — F(i). Отсчёт времени ведём от нуля. Независимый процесс можно запустить сразу: S(i) = 0, F(i) = d(i).
Если есть зависимости, процесс ждёт окончания всех предшественников. Поэтому S(i) = max(F(j)) по всем указанным предшественникам j, а F(i) = S(i) + d(i). Берём максимум, а не сумму: предшественники могут выполняться параллельно.
Вычисляем времена в порядке зависимостей, а не обязательно по номеру строки. Например, процесс 3 зависит от 10, а процесс 11 — от 15, хотя эти строки находятся ниже в файле.
Для процесса 5: S(5) = F(2) = 20, F(5) = 20 + 25 = 45.
Для процесса 8: S(8) = max(F(1), F(5)) = max(24, 45) = 45, F(8) = 45 + 22 = 67.
Для процесса 6: S(6) = max(F(4), F(5), F(7), F(8)) = max(22, 45, 63, 67) = 67, F(6) = 67 + 23 = 90.
Полный расчёт по исходному файлу:
| ID | Длительность, мс | Предшественники | Начало, мс | Окончание, мс |
|---|---|---|---|---|
| 1 | 24 | нет | 0 | 24 |
| 2 | 20 | нет | 0 | 20 |
| 3 | 19 | 10 | 82 | 101 |
| 4 | 22 | нет | 0 | 22 |
| 5 | 25 | 2 | 20 | 45 |
| 6 | 23 | 4, 5, 7, 8 | 67 | 90 |
| 7 | 18 | 5 | 45 | 63 |
| 8 | 22 | 1, 5 | 45 | 67 |
| 9 | 21 | 3, 4 | 101 | 122 |
| 10 | 19 | 7 | 63 | 82 |
| 11 | 22 | 15 | 24 | 46 |
| 12 | 24 | 9 | 122 | 146 |
| 13 | 25 | 10, 12 | 146 | 171 |
| 14 | 20 | 11, 15 | 46 | 66 |
| 15 | 24 | нет | 0 | 24 |
| 16 | 25 | 13 | 171 | 196 |
| 17 | 22 | 14, 16 | 196 | 218 |
Последним заканчивается процесс 17. Его начало: S(17) = max(F(14), F(16)) = max(66, 196) = 196. Окончание: F(17) = 196 + 22 = 218 мс. Все остальные процессы завершаются не позже этого момента.
Докажем минимальность. В файле есть цепочка непосредственных зависимостей 2 → 5 → 7 → 10 → 3 → 9 → 12 → 13 → 16 → 17. Эти процессы обязаны выполняться последовательно. Сумма их длительностей равна 20 + 25 + 18 + 19 + 19 + 21 + 24 + 25 + 25 + 22 = 218 мс. Ни одно допустимое расписание не может закончиться раньше.
Проверка: таблица задаёт допустимое расписание, в котором каждый процесс начинается после всех своих предшественников, и достигает нижней границы 218 мс. Значит, найдено именно минимальное время всей совокупности.
Ответ: 218.
Напишите пожелание к сайту или решению либо сообщите о найденной неточности в задании EGEINF7EB528.
Сообщение увидит только команда сайта: на странице оно не публикуется.
Комментарии к решению
Комментарии видны всем посетителям сайта.
Комментариев пока нет. Будьте первым.
Чтобы оставить комментарий, войдите или зарегистрируйтесь.