Управление проектами - статьи


Designing for FAILURE - ключ к успеху?Беседа с Брюсом Линдсеем - часть 14


СБ: Что такое гейзенбаги?

БЛ: Этот термин родился в моем присутствии. Гейзенбагами называются ошибки (баги), которые явным образом демонстрируют некорректное поведение системы, но такие, что при попытке разобраться в причинах этой некорректности проблема исчезает. Обычно для того чтобы можно было разобраться в причинах некорректности, включается трассировка, или добавляются дополнительные параметры, или что-то изменяется. И из-за этих изменений проблема исчезает. Довольно часто подобные проблемы проявляются в связи с параллельной работой программ. Или же они могут проявляться в зависимости от конкретного способа размещения программ и данных в основной памяти.

Так что настоящее определение гейзенбага состоит в следующем: когда вы смотрите на эту ошибку, она исчезает – с уважением к доктору [Вернеру] Гейзенбергу, который говорил: «Чем более пристально вы смотрите на что-то одно, тем менее отчетливо можете увидеть что-либо иное».

СБ: Я думаю, что хорошо, когда случается нечто, представляющее известную реальную неполадку, поскольку обычно это означает, что неисправность возникла на более низком уровне системы – при распределении памяти или выполнении каких-то других подобных действий.

БЛ: Такие ошибки очень трудно находить, но, конечно, чем труднее ошибка, тем больше удовольствия доставляет ее обнаружение.

СБ: Как происходит обнаружение ошибок и восстановление после их проявления в распределенных системах, которые по своей природе обладают высоким уровнем параллелизма и включают массу слабо связанных компонентов?

БЛ: Распределенные системы разбиваются на две обширные категории. В первой категории одна система использует другую систему для выполнения некоторых функций. Здесь первая система зависит от возможности второй системы выполнять эти функции. Примером такого зависимого использования являются Web-сервисы. Во второй категории распределенные машины совместно обеспечивают некоторый единый сервис. Примером могут служить распределенные файловые системы.




Начало  Назад  Вперед



Книжный магазин