Я пишу программу, которая выполняет ряд задач, написанных на Java, которые затем выполняются на машинах в одной и той же локальной сети (подробности того, как это происходит, не входит в эту область вопросов).Какой алгоритм планирования я должен использовать?
Задачи будут сразу переданы программе, означающей, что основная часть работы разбивает задачи и назначает задачи машинам в сети. Я предполагаю, что это будет сделано с каким-то алгоритмом планирования.
E.g. Программа получает 50 заданий, она имеет 3 компьютера в локальной сети, каждая из которых имеет 4 ядра. Как должны планироваться задачи? Может ли это быть сделано путем разделения задач на число машин, факторизующих в количестве ядер, которые имеет машина?
Предполагая, что у меня есть аппаратная спецификация этих машин, какой алгоритм я должен использовать для планирования этих задач?
Какие еще требования у вас есть? Есть ли какая-то причина не просто использовать первую очередь? – azurefrog
Некоторые детали отсутствуют. Например. технические характеристики оборудования абсолютно бесполезны, если вы не можете определить ок. количество требуемых операций/необходимое пространство и т. д. Также вам нужно знать, сколько времени требуется машинам для связи по времени, затрачиваемому на выполнение задач. – fabian
@azurefrog Я обновил вопрос - я рассмотрел использование алгоритма FCFS, однако время выполнения может различаться между задачами, означающими, что если я отправлю группу задач, содержащих большую задачу, на машину с низкими ресурсами, которую потребуется навсегда для завершения. Однако этот проект находится на ранних стадиях развития, поэтому он хотел понять, что было там больше, чем любое событие. – Tom