Тема 22. Многопроцессорные системы
22.03 Поиск отрезка времени выполнения N процессов
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела многопроцессорные системы
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#87685

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

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

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

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

|--------------|--------------------------------|----------------|
-ID-процесса B--Время-выполн-ени-я процесса B-(мс)-ID-процесса(ов)A-
|      1       |               4                |       0        |
|--------------|--------------------------------|----------------|
|------2-------|---------------3----------------|-------0--------|
-------3-----------------------1-----------------------1;2--------
|      4       |               7                |       3        |
------------------------------------------------------------------

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

Вложения к задаче
Показать ответ и решение

Выделим столбец C  , перейдём во вкладку Данные, раздел «Текст по столбцам» и разделим наши данные, указав символом-разделителем точку с запятой. Столбец G  будет хранить данные о том в какую мс процесс начался, столбец H  – в какую мс закончился, столбец I  – сдвиг.

В ячейку A1  поставим значение 0. В ячейку H2  впишем формулу и растянем её вниз:

=B2+МАКС(E2:F2)+I2

В ячейку E2  впишем формулу и растянем её вправо до столбца F  , вниз до конца таблицы:

=ВПР(C2;$A$1:$H$13;8;0)

Таким образом мы нашли время, в которое каждый процесс завершается, относительно начала выполнения самого первого процесса. Для того чтобы найти время, в которое каждый процесс начинался относительно начала выполнения самого первого процесса в ячейку G2  запишем формулу и растянем ее вниз:

=H2-B2+1

Построим диаграмму. Для этого начиная с ячейки J1  заполним первую строку цифрами от 1 до 40. В ячейку  J2  запишем формулу и растянем на весь диапазон:

=ЕСЛИ(И($G2<=J$1;$H2>=J$1);1;””)

Таким образом диаграмма автоматически построилась и теперь, если в столбце сдвига указать какое-либо значение, то этот процесс и все зависящие от него процессы автоматически сдвинутся. Чтобы посчитать количество процессов, которые выполняются в каждую миллисекунду в ячейку J13  запишем формулу и растянем ее вправо:

=СУММ(J2:J12)

Для поиска отрезка максимальной длины в ячейку J14  запишем формулу и также растянем вправо и найдем максимальное значение по этому диапазону:

=ЕСЛИ(И(J13=3;J12=””);I14+1;0)

=МАКС(14:14)

Остается только сдвинуть необходимые процессы так, чтобы получился отрезок максимальной длины. Оптимальным вариантом будет сдвинуть процесс с номером 5 на 2 мс, с номером 9 на 2 мс. Таким образом получаем отрезок длины 12.

PIC

Ответ: 12

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное обучение
в Школково

Для детей ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Брянской областей, а также школьникам, находящимся в пунктах временного размещения Крыма обучение на платформе бесплатное.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ или олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!