Надеждност и устойчивост на MVS

Един от основните проблеми на изграждането на изчислителни системи е задачата да осигури тяхната дългосрочна работа.

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

Надеждността включва не само хардуер, но и софтуер, който се използва, inter alia, за анализ на производителността на системата и управление на конфигурацията. Основната цел за подобряване на надеждността на системите е целостта на данните, съхранявани в тях. Единицата за измерване на надеждността е средното време между отказите (MTBF - Средно време между отказите), в противен случай - средното време между отказите.

Толерантността към грешки е способността на изчислителната система да продължи действията, определени от програмата след възникване на неизправност. Въвеждането на толерантност към грешки изисква излишен хардуер и софтуер. Областите, свързани с предотвратяването на неизправности и устойчивостта, са от основно значение за гарантиране на надеждността. Концепциите за паралелизъм и толерантност към неизправности на изчислителните системи са естествено свързани помежду си, тъй като и в двата случая са необходими допълнителни функционални компоненти. Следователно при паралелни изчислителни системи се постигат както най-високата производителност, така и в много случаи много висока надеждност. Наличните ресурси за резервиране в паралелни системи могат да се използват гъвкаво както за подобряване на производителността, така и за подобряване на надеждността. Структурата на многопроцесорните и многомашинните системи е адаптирана за автоматично преконфигуриране и осигурява възможност за продължаване на работата на системата след възникване на неизправност.

Понастоящем тези две понятия - надеждност и толерантност към грешки - често се бъркат при описанието на компютърните системи. Това до голяма степен се обяснява с факта, че потребителят (не непременно физическо лице) се интересува от основното: компютърната система трябва да работи необходимото време и да предоставя определен набор от услуги. За постигане на безпроблемна работа се използват различни техники, някои от които разглеждаме тук, без да се фокусираме върху коя от горните концепции се отнасят тези техники.

За да се подобри надеждността на информационно-изчислителната система, клъстерните системи са идеална схема. Благодарение на един изглед, отделни дефектни възли или клъстерни компоненти могат да бъдат заменени без прекъсване и незабелязани от потребителя, което осигурява непрекъснатост и безпроблемна работа на изчислителната система, дори в такива сложни приложения като бази данни .

Основата на надеждността на клъстера е определен излишен брой отказоустойчиви сървъри (възли), в зависимост от конфигурацията на клъстера и неговите задачи.

Клъстерната конфигурация на възли, комуникационно оборудване и памет може да осигури отразяване на данни, излишък на компоненти за самоконтрол и предупреждение и споделяне на ресурси за минимизиране на загубите в случай на повреда на отделни компоненти.

Решение, което осигурява повишена толерантност към грешки на сървъра, трябва да включва:

  • компоненти с възможност за бърза смяна;
  • устройства, вентилатори, външни устройства, PCI устройства, захранвания;
  • излишни захранвания и вентилатори;
  • автоматично рестартиране и възстановяване на системата;
  • памет за корекция на грешки;
  • функции за проверка на състоянието на системата;
  • превантивно откриване и анализ на неизправности;
  • инструменти за отдалечено администриране на системата.

В много случаи клъстерът, като типичен представител на AIM, се представя на потребителя и администратора като единна система. Системният мониторинг включва събиране, съхраняване и извличане на показатели като използване на процесора и паметта, температури на системата и процесора, скорости на вентилатора; тези и други параметри помагат на потребителите и администраторите да разберат цялостното състояние на системата и ефективността на нейното използване.

Единното управление на клъстерните системи максимизира времето за работа, контрол и управление на приложения, операционни системи и хардуер. В същото време всички клъстерни възли се контролират от един контролен център.

Помощните програми осигуряват подобрена защита и възстановяване на данни и смекчават въздействието на хардуерните повреди върху крайния потребител. Клъстерната операционна система управлява всички функции на клъстера.

Софтуерът дава възможност да се организира ефикасна услуга за поддръжка и мониторинг на решението, като позволява събирането на данни на ниво сайт с помощта на контролна платка. Важна насока е подобряването и развитието на библиотеката MPI и разработването на система за отстраняване на грешки на паралелни програми, работещи на MVS. Включва програми за отстраняване на грешки, профили, които осигуряват контрол върху преминаването на задачите.

Операционната система HP-UX11i на Hewlett-Packard е проектирана да обслужва критично важни задачи в Интернет, с възможност за добавяне на допълнителни процесори без рестартиране за подобряване на надеждността. Файловата система Veritas позволява онлайн архивиране и дефрагментиране на диска, без да изключва системата. Операционната система може да деактивира неработещи процесори и блокове памет, без да изключва системата.

Системите за съхранение трябва да бъдат RAID системи с висока наличност. Излишните връзки трябва да осигуряват наличност на данни, дори ако възлите, контролерите или кабелите се повредят. Връзката със системите за съхранение в клъстера може да се осъществи, използвайки както SCSI, така и Fibre Channel технологиите.

За да се синхронизират сървърите и да работят заедно като клъстер, са необходими излишни връзки между сървърите, наречени „частна връзка“. Системната връзка се използва за предаване на сигнали за състоянието на сървърите и се използва и от паралелни бази данни за предаване на данни.

Устойчиви на бедствия решения са създадени въз основа на разделянето на възлите на клъстерната система на стотици километри и осигуряването на механизми за глобална синхронизация на данни между такива възли.

Като пример за подобряване на надеждността на клъстерна система ще посочим решенията на Hewlett-Packard. В тези решения, в зависимост от необходимото ниво на толерантност към грешки, сървърните възли на клъстера се поставят, както следва:

  • централно (локален клъстер);
  • върху съседни сгради (клъстер на кампуса);
  • на няколко територии в града (клъстер на метрото);
  • в различни градове, държави или континенти (два свързани клъстера - континентален клъстер).

В допълнение към дублирания централен превключвател, всички хардуерни компоненти: системен контролер, захранвания, охладителни системи, часовник са напълно дублирани. Системата няма нито една точка на повреда. За сравнение, ако такъв прост елемент като системния часовник откаже в скъп сървър на HP Superdome или IBM p680, цялата система ще спре да работи.

Системата трябва да бъде предварително инсталирана или конфигурирана с резервни модули, така че ако един от модулите се повреди, резервният може да бъде заменен почти веднага. Неизправният модул може да бъде поправен автономно, докато системата продължава да работи.

Принципът на бързото възникване на отказ обикновено се прилага с помощта на два метода - самоконтрол и сравнение. Самопроверката означава, че когато изпълнява някаква операция, модулът също така извършва допълнителна работа, за да потвърди коректността на полученото състояние. Примери за този метод са съхранението на данни и кодовете за откриване на съобщения. Методът за сравнение се основава на два или повече модула, изпълняващи една и съща операция и сравняващи резултатите с компаратор. Ако се открие несъответствие в резултатите, работата се спира.

Техниките за самоконтрол са гръбнакът на изграждането на системи, устойчиви на повреди от много години. Те се нуждаят от допълнителни схеми и време за проектиране и е вероятно да доминират в паметта и комуникационните устройства поради тяхната простота и яснота на логиката. За сложни устройства за обработка на данни обаче икономическите съображения, свързани с използването на стандартни масови компоненти, диктуват използването на методи за сравнение. Тъй като сравнителните устройства са сравнително прости, тяхното използване осигурява известно увеличаване на логическите вериги със значително намаляване на времето за разработка. Трябва да се отбележи, че в по-ранните конструкции, устойчиви на грешки, 30% от логическите схеми на процесора и 30% от времето за разработка са били отделени за внедряване на инструменти за самоконтрол. От тази гледна точка сравнителните вериги добавят само универсални схеми с проста логика. В резултат на това разходите за цялостно развитие и логика са намалени.

Друго средство за изграждане на устойчива на грешки архитектура е принципът на дублиране на дуплексни модули, който включва създаването на някаква комбинация от два модула ("супермодул"), изградена на принципите на бързото проявяване на откази. Такъв "супермодул" продължава да работи дори когато един от подмодулите се провали.

Дублирането на дуплексни модули изисква повече оборудване, но ви позволява да изберете един от режимите на работа: организирането или на две независими изчисления, базирани на принципите на бързото проявяване на неизправност, извършени върху две двойки модули, или едно високо надеждно изчисление, извършено и на четирите модула.

Трябва да се помни, че резервирането само по себе си намалява надеждността само в случай на дублиране и триаж. За да се увеличи значително нивото на наличност, излишният дизайн трябва да предоставя възможност за ремонт и подмяна на повредени модули.