Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- “Распределенная задача с сервером ”
- Условие
- Есть сервер и два процессора. Есть N1 задач, которые могут выполняться только на первом процессоре и N2 задач, которые могут выполняться только на втором процессоре. Перед выполнением каждой задачи, она сначала должна загрузиться с сервера на необходимый процессор, что занимает время S(k,i)(S(k,i)>0), для задачи с номером i исполняемой только на процессоре k. При этом процессе сервер и процессор k могут заниматься только загрузкой этой задачи. Сразу после загрузки процессор начинает исполнение только что загруженной задачи, что занимает у него время P(k,i)(P(k,i)>0). После окончания выполнения загруженной задачи процессор может загружать следующую предназначенную для него задачу. То есть в каждый момент времени сервер может заниматься загрузкой не более одной задачи и каждый процессор выполняет не более чем одну задачу в каждый момент времени. Сервер не может загрузить две задачи подряд, которые должны исполняться на одном процессоре. Процессор не может одновременно загружать одну задачу и исполнять другую.
- Необходимо найти такое расписание, при котором выполнялись бы все задачи и время окончания выполнения последней задачи было бы как можно меньшим.
- Входные данные
- Входные данные находятся в текстовом файле с именем “input.txt”
- В первой строке записаны числа N1 и N2
- Далее идет N1 пар чисел: P(1,i) S(1,i)
- Далее идет N2 пар чисел: P(2,i) S(2,i)
- Выходные данные
- Выходные данные находятся в текстовом файле с именем “output.txt”
- В первой строке требуется написать время окончания выполнения последней задачи.
- В последующих N1+N2 строках вывести порядок, в котором задачи загружаются с сервера. Задача задается двумя числами – номер процессора и номер задачи. Нумеруются задачи с 1, в порядке, заданном входным файлом.
- Пример входных данных
- 1 2
- 2 5
- 4 1
- 5 5
- Пояснение: Одна задача для 1ого процессора: время выполнения 2, время загрузки 5. Две задачи для 2ого процессора.
- Пример выходных данных
- 15
- 2 2
- 1 1
- 2 1
- Пояснение: Задачи можно выполнить за 15 единиц времени. Первой загружается задача 2 для второго процессора, потом задача 1 для первого процессора, потом задача 1 для второго процессора.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement