Назад | Перейти на главную страницу

Обеспечивают ли двойные процессоры отказоустойчивость?

Скажем, я купил два процессора Intel Xeon и установил их в аппаратное обеспечение серверного класса ... Если один процессор выйдет из строя, будет ли другой работать и компенсировать провисание, тем самым обеспечивая отказоустойчивость?

Это маловероятно, но я подумал, что спрошу, вместо того чтобы делать какие-либо предположения.

В обычной двухпроцессорной системе нет, хотя есть серверы, допускающие горячую замену процессоров и оперативной памяти. Итак, эти вещи делать существуют, но они находятся на очень-очень высоком уровне рынка.

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

Говоря о стандартном оборудовании x86, если система работает, а процессор выходит из строя, все обычно останавливается. Однако после перезагрузки система будет работать нормально, хотя и медленнее.

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

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

Конечно, если у вас есть хороший мэйнфрейм IBM или аналогичный, горячая замена процессора (платы) достаточно «проста».

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

Тем не менее, как бы редко случается сбой ЦП, увеличение количества ЦП в системе на самом деле приведет к увеличению частоты отказов, поскольку теперь у вас в два раза больше вещей, которые могут выйти из строя. У вас также есть другие подсистемы, которые также могут выйти из строя, например, те, которые поддерживают синхронизацию кешей процессоров, а увеличение энергопотребления и тепловыделения также вносят свой вклад в факторы, вызывающие общий сбой системы (и, конечно же, активные вентиляторы охлаждения являются еще одним точка отказа).

Вам нужно будет точно определить, с какими сбоями вы хотите справиться. Если мы рассматриваем совокупность ядер / процессоров / компьютеров, работающих вместе, как сеть, одним из типов отказа является то, что узел просто перестает отвечать. Гораздо более серьезный сбой возникает, когда узел начинает искажать данные и отправляет ошибочную информацию другим. Это называется Византийский провал, а в худшем случае - это активное нарушение работы сети посредством стратегической «лжи». Относительно легко показать, что нет системы мог справиться треть или больше его узлов собираются византийскими.

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

Замечание: в квантовой физике нет ничего невозможного, но если нам придется ждать дольше возраста Вселенной, чтобы статистически получить возможность наблюдать определенное поведение, мы не должны говорить, что это возможно. Имейте это в виду при проектировании своей системы. ;)

Отказ процессора случается редко. Сбой, вероятно, приведет к другим проблемам на уровне ОС. Я бы не стал думать об этом как об отказе.

Как и другие ответы, очень редко происходит сбой ЦП, и на средних серверах вы не можете выполнить горячую замену, что вы, вероятно, можете сделать, это оставить сервер с одним ЦП до тех пор, пока неисправный не будет заменен, конечно, это процедура полностью отключена, и вам нужно сделать остановку сервера