Распределенные и параллельные вычисления/Управление вычислительными заданиями

Материал из Викиучебника — открытых книг для открытого мира

Если принять во внимание, что узлы кластеров (Beowulf в частности) никогда не бывают абсолютно гомогенными, то становится очевидно, что время выполнения вычислительных задач на разных узлах будет разное. Гетерогенность на программном уровне уровне обусловлена отличиями в наборе пакетов, в количестве запущенных служб и процессов, и наличием "накладных" задач. Накладными задачами будем считать совокупность активных системных или пользовательских задач, которые не связаны с обеспечением параллельных вычислений.

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

  1. Допускается ли выполнение нескольких задач на каждом из процессоров?
  2. На сколько задачи будут загружать процессоры, можно ли ограничивать нагрузку?
  3. Как свести к мнимому конкуренцию между параллельными и накладными задачами?
  4. Как отличить полезную нагрузку от паразитной (накладные задачи)?
  5. Как предотвратить "трагедию общин" как следствия монопольного, длительного захвата вычислительных ресурсов.
  6. Как определить мощность каждого из узлов в гетерогенных системах.
  7. Как приостановить выполнение вычислений в случае исчерпания лимита времени или в случае экстренного завершения всех процессов?