Влияние коррелированных сбоев на производительность кластера

В нескольких презентациях (например, 1, 2, 3) при управлении кластером, одна из целей планировщика - уменьшить количество скоординированных сбоев путем распределения задач одного задания по вычислительным узлам, которые с меньшей вероятностью откажутся вместе.

Почему нежелательны коррелированные сбои задач в рамках одной работы? Если я правильно понял, все задачи нужно завершить до того, как работа будет завершена. Поэтому на первый взгляд лучше, если сбои задач ограничиваются небольшим количеством заданий, чтобы только эти задания испытывали задержку из-за повторной отправки невыполненных задач.

Я бы понял, если бы все задачи в работе просто воспроизводили одну и ту же работу, но с сотнями задач на задание, что не могло быть так (возможно, есть 3-4 одинаковых задачи для целей отказоустойчивости, и я понимаю, почему важно уменьшить количество коррелированных сбоев для этих групп задач).




Ответы (1)


Я понял, что упустил. Каким-то образом я подумал о работе, которая статически распределяет работу по заранее определенному набору задач.

Фактически, в контексте управления кластером работа динамически распределяется между задачами. Таким образом, задачи подобны рабочим: они объявляют о своей доступности, например, балансировщику нагрузки, а затем им динамически назначаются некоторые части работы.

С этим уточнением все очевидно.

Если задача не удалась, балансировщик нагрузки просто перераспределит соответствующую работу другим задачам с небольшим ухудшением метрики производительности задания (время до завершения в случае пакетного задания; задержка в случае служебного задания). Однако, если слишком много задач не удается выполнить в одном задании, производительность работы сильно пострадает. Именно поэтому коррелированные отказы нежелательны.

person max    schedule 03.02.2017