Қайта қалпына келтіруге бағытталған есептеу жүйелері
Recovery-oriented computing
Қайта қалпына келтіруге бағытталған есептеу (ROC) – интернет-сервистердің сенімділігін арттыру әдісі. Бұзушылықтарды азайту, резервтік жүйелерге назар аудару.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Қалпына келтіруге бағытталған есептеу (кейде ROC деп қысқартылады) — сенімді Интернет қызметтерін жасау үшін Стэнфорд университеті мен Калифорния университетінде (Беркли) құрылған әдіс. Оның жақтастары компьютерлік қателердің болатынын мойындап, олардың зиянды салдарларын азайтуға ұмтылады. Жобаны Ұлттық ғылым қоры қаржыландырады. Қалпына келтіруге бағытталған есептеуді барлық басқа қателіктерді басқару техникаларынан ерекшелейтін қасиеттері бар.
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.