Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Recovery oriented computing (иногда сокращают до ROC) — это методология, разработанная в Стэнфордском университете и Калифорнийском университете в Беркли для создания отказоустойчивых интернет-сервисов. Её сторонники исходят из признания компьютерных ошибок неизбежными и направлены на снижение их негативного воздействия. Проект финансируется Национальным научным фондом. Существуют особенности, которые выделяют recovery oriented computing среди всех остальных подходов к обработке отказов.
Recovery oriented computing (sometimes abbreviated to ROC) is a method constructed at Stanford University and the University of California, Berkeley for developing reliable Internet services. Its proponents seek to recognize computer bugs as inevitable, and then reduce their harmful effects. The National Science Foundation funds the project. There are characteristics that set recovery oriented computing apart from all other failure handling techniques.
Изоляция и избыточность
Изоляция в таких системах требует резервирования. В случае отказа одной части системы, резервная часть должна ее заменить. Изоляция должна быть отказоустойчивой для всех типов сбоев, будь то программные ошибки или ошибки, вызванные действиями человека. Одним из способов изоляции частей системы является использование гипервизоров, таких как Xen. Гипервизоры позволяют запускать множество виртуальных машин на одном физическом сервере, и в случае возникновения проблемы с одной виртуальной машиной ее можно перезапустить без перезагрузки физического сервера, или остановить и заменить другой.
Isolation in these types of systems requires redundancy. Should one part of the system fail, a redundant part will need to take its place. Isolation must be failure proof for all types of failures whether they be software or human caused failures. One potential way to isolate parts of a system is using virtual machine monitors such as Xen. Virtual machine monitors allow many virtual machines to run on a physical machine and should there be a problem with one virtual machine it can be restarted without restarting the physical machine, or it can be stopped and another can take its place.
Поддержка отмены на всей системе
Возможность отмены действий в различных программах и в течение разных периодов времени необходима в такого рода системе, поскольку около половины сбоев в системе вызваны человеческим фактором. Отсутствие функции отмены также ограничивает возможности тестирования производственной системы, поскольку не позволяет проводить эксперименты и допускать ошибки. Системная поддержка отмены должна охватывать все аспекты системы, включая обновления аппаратного и программного обеспечения, конфигурацию и управление приложениями. Разумеется, существуют пределы того, что можно отменить, и эти пределы в настоящее время исследуются, тестируются и оцениваются с учетом их компромиссов.
The ability to undo across different programs and time frames is necessary in this type of system because human error is the cause of about half of system failures. Not having undo support also limits testing aspects of a production system because it doesn’t allow for trial and error. System wide undo support should cover all aspects of the system. This includes hardware and software upgrades, configuration as well as application management. There are obviously limits to what can be undone, and these limits are currently being explored, tested and rated based on their tradeoffs.
Интегрированная диагностическая поддержка
Интегрированная диагностическая поддержка – еще одна характеристика компьютера, ориентированного на восстановление. Это означает, что система должна уметь определять первопричину системного сбоя. Как только это будет сделано, система должна либо локализовать сбой, чтобы он не затронул другие части системы, либо устранить его. Все компоненты или модули системы должны быть самопроверяющими; система должна уметь определять, когда в ней возникает неисправность. Помимо определения собственных проблем, модули также должны уметь проверять корректность работы других модулей, от которых они зависят. Система также должна отслеживать зависимости модулей, ресурсов и пользовательских запросов во всей системе. Это позволит локализовать сбои.
Integrated diagnostic support is another characteristic a recovery oriented computer should have. This means that the system should be able to identify the root cause of a system failure. Once it does this it should then either be able to contain the failure so it cannot affect other parts of the system or alternatively it should repair the failure. All of the system components or modules should be self testing; it should be able to know when there is something wrong with itself. As well as determining problems with themselves, the modules should also be able to verify the behavior of other modules that they are dependent upon. The system must also track module, resource, and user request dependencies throughout the system. This will allow for containment of failures.
Механизмы онлайн-проверки и взыскания
Механизмы восстановления – это способы, с помощью которых системы могут восстанавливаться после сбоев. Эти механизмы восстановления должны быть хорошо спроектированы, то есть они должны быть надежными, эффективными и производительными. Эти системы должны активно тестировать и проверять поведение механизмов восстановления, чтобы в случае реального сбоя можно было быть уверенным, что эти механизмы будут выполнять свои функции и способствовать восстановлению системы. Эти проверки следует проводить даже на производственном оборудовании, поскольку именно оно является наиболее критичным для непрерывной работы. Существует два метода проведения этих тестов, и оба должны использоваться. Первый метод – это направленные тесты, при которых тесты настраиваются и выполняются. Второй метод – случайное тестирование, которое происходит без предупреждения.
Recovery mechanisms are ways in which the systems can recover from failures. These recovery mechanisms should be well designed, meaning that they are reliable, effective and efficient. These systems should be proactive in testing and verifying the behavior of the recovery mechanisms so should there be a real failure it is certain that these mechanisms will do what they are designed to do and aid in the recovery of the system. These verifications should be performed even in production level equipment as this type of equipment is the most vital to have up. There are two methods for performing these tests and both of these should be used. The first method is directed tests in which the tests are set up and executed. The other method is a random test in which they occur without warning.
Модульность, измеримость и возможность перезапуска
Проблемы старения программного обеспечения лучше всего решаются перезапуском затронутого компонента. Это требует как модульности, так и возможности перезапуска. Компоненты следует перезапускать до их выхода из строя и проектировать таким образом, чтобы эта возможность была предусмотрена, а в идеале – чтобы перезапуск происходил автоматически. Приложения также должны быть спроектированы с учетом возможности перезапуска.
Software aging problems are best resolved by restarting the component that is affected. This entails both modularity and restartability. Components should be restarted before they fail, and designed to make this option available or better yet, do it automatically. Applications should also be designed for restartability.
Сравнительные показатели
Эти системы должны регулярно проходить оценку надежности и доступности для подтверждения их целесообразности и эффективности, отслеживая динамику их развития. Эти оценки должны быть воспроизводимыми и являться объективным показателем надежности, устойчивости и доступности системы.
These systems should have frequent dependability and availability benchmarking to justify their existence and usage by tracking their progress. These benchmarks should be reproducible and an impartial measure of system dependability, reliability, and availability.