Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

EKZAMEN

.pdf
Скачиваний:
62
Добавлен:
18.03.2015
Размер:
2.06 Mб
Скачать

64.Примеры реальных систем облачного типа

приложения в облаке: это то, что большинство из нас повседневно используют в виде таких популярных сервисов, как Gmail, YahooMail, сервис Wordpress.com, Wikipedia, большая часть сторонних приложений построенных на GoogleApps и т.д.

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

сложной инфраструктуры. В сильном приближении весь этот сегмент можно обозначить уже устоявшимся термином SaaS - Software as a Service.

Платформа в облаке: это более новое направление, чем SaaS, которое предлагается разработчикам облачных приложений. Разработчики, приходя к такому вендору, получают в свое распоряжение уже готовые инструменты разработки, четкую спецификацию, и часто уже наборы готовых компонент, которые они могут использовать для быстрого построения приложений уровня SaaS, рассмотренные выше. Вторая компонента сервиса этих платформ – это связанный с ними специализированный хостинг, что, по сути, позволяет продавать двойной продукт. С одной стороны, это платформа и инструменты для разработки на еѐ базе, а с другой стороны – уже готовая среда запуска и облачного хостинга приложений, созданных на базе этих инструментов. Важно понимать, что этот уровень среды – это отклик рынка на популярность верхнего этажа облачной концепции, - SaaS. Всплеск популярности сложных распределенных приложений типа Gmail, породил предложения готовых сред по их созданию, разработке и хостингу. Весь этот сегмент принято называть как PaaS - Platforms in the cloud.

Инфраструктура в облаке: это наиболее корневое предложение облачных услуг, которое создает, образно выражаясь, физический фундамент из серверного парка, настроенного на синхронную и дублирующую работу, на базе которого строится абсолютно любое здание облачных услуг, будь это SaaS или PaaS. Представьте себе это как груду железа на входе, где на выходе в качестве услуги вы получаете именно облако из уже виртуально работающих в одной общей упряжке серверов, на виртуальной сумме мощности которых вы можете запускать любые свои облачные решения. Здесь все измеряется размером предоставляемой квоты из общей мощности пула задействованных компьютеров, выделенной вам дисковой и оперативной памятью и другими, уже по большей части виртуальными ресурсами. Это и есть IaaS - Infrastructure as a Service.

65.Отказоустойчивые вычислительные системы

Отказоустойчивой вычислительной системой называют среду, которая предоставляет постоянное, непрерывное обслуживание

— доступ к данным и приложениям — даже в случае возникновения сбоев в аппаратных, программных или сетевых компонентах. Старый лозунг службы Federal Express звучит так: «В любом случае почта должна быть доставлена за ночь». Примерно таковы и требования к современным компьютерным системам, за исключением того, что доставка информации должна гарантироваться не за одну ночь, а постоянно, вне зависимости от проблем, которые могут возникнуть в конкретных аппаратных или программных компонентах информационной системы, сбоев в сети электропитания или неприятностей другого рода.

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

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

66.Надѐжность, живучесть и отказоустойчивость вычислительных систем

Под надѐжностью (Reliability) ВС понимается ее способность к автоматической (программной) настройке и организации функционирования таких структурных схем, которые при отказах и восстановлении вычислителей обеспечивают заданный уровень производительности или, говоря иначе, возможность использовать фиксированное число исправных вычислителей (при реализации параллельных программ решения сложных задач). Это понятие характеризует возможности вычислительных систем по переработке информации при наличии фиксированной структурной избыточности (представленной частью вычислителей) и при использовании параллельных программ с заданным числом ветвей.

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

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

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

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

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

Понятие надежности включает не только аппаратные средства, но и программное обеспечение, которое используется, в частности, для анализа производительности систем и управления конфигурациями. Главной целью повышения надежности систем является целостность хранящихся в них данных. Единицей измерения надежности является среднее время наработки на отказ (MTBF - Mean Time Between Failure), иначе - среднее время безотказной работы.

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

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

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

Основа надежности кластера - это некоторое избыточное количество отказоустойчивых серверов (узлов), в зависимости от конфигурации кластера и его задач.

67.Отказоустойчивость многопроцессорных и много машинных систем

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

Работа любой многомашинной системы определяется двумя главными компонентами: высокоскоростным механизмом связи процессоров и системным программным обеспечением, которое предоставляет пользователям и приложениям прозрачный доступ к ресурсам всех компьютеров, входящих в комплекс. В состав средств связи входят программные модули, которые занимаются распределением вычислительной нагрузки, синхронизацией вычислений и реконфигурацией системы. Если происходит отказ одного из компьютеров комплекса, его задачи могут быть автоматически переназначены и выполнены на другом компьютере. Если в состав многомашинной системы входят несколько контроллеров внешних устройств, то в случае отказа одного из них, другие контроллеры автоматически подхватывают его работу. Таким образом, достигается высокая отказоустойчивость комплекса в целом.

В отказоустойчивой многопроцессорной системе все основ¬ные функциональные модули зарезервированы. По сигналу

ошибки, выданному средствами аппаратного контроля про¬цессора, его работа блокируется и запускается резервный процессор.

Переход на продолжение программы происходит в три этапа:

установка состояния системы (задание начального адреса, состояний регистров ошибки, сброс триггеров остановки и др.);

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

При проектировании многомашинных систем [7] исполь¬зуют несколько типовых структур (рис. 27). Создание рабо¬чей конфигурации системы при выходе из строя одной из ЭВМ происходит по сигналу отказа этой ЭВМ. Устройство реконфигурации исключает неисправную ЭВМ из системы и определяет работоспособную конфигурацию структуры. При этом система может деградировать, т. е. потерять исходную производительность.

Всхеме (рис. 27 а) каждая ЭВМ соединена со всеми ос¬тальными по выделенному каналу. При отказе одной ЭВМ система продолжает работать. При отказе основных линий связи могут использоваться резервные пути передачи данных. В схеме (рис. 27 6) все сообщения разбиты на пакеты и пе¬редаются через доступные узлы. Между двумя ЭВМ сущест¬вуют минимум два пути. При отказе одной ЭВМ система продолжает работать.

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

Вкольцевой структуре (рис. 27 г) передача данных по кольцу обеспечивается по дублированным магистралям. От¬каз кольцевой магистрали в какой-либо точке может обнару¬живаться как прекращение передачи синхронизирующего сигнала. Местонахождение отказа фиксируется по признаку нарушения обмена между ЭВМ, после чего выдается коман¬да на передачу информации между этими машинами по про¬тивоположному неповрежденному контуру кольца.

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

68.Повышение отказоустойчивости за счет аппаратной избыточности

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

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

Резервирование — метод повышения характеристик надѐжности технических устройств или поддержания их на требуемом уровне посредством введения аппаратной избыточности за счет включения запасных (резервных) элементов и связей, дополнительных по сравнению с минимально необходимым для выполнения заданных функций в данных условиях работы.

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

и потребляе-мой мощности.

Так же при этом усложняется проверка аппаратуры и ее обслуживание. Так как ко-личество отказов увеличивается из-за увеличения количества аппаратуры. Резервирова-ние уменьшает полезную нагрузку на аппаратуру и увеличивает ее себестоимость.

Основным параметром резервирования является кратность резервирования. Это отношение числа резервных устройств к числу рабочих (основных) устройств. Крат-ность резервирования ограничена жесткими пределами в отношении массы, габаритов и потребляемой мощности БЦВС.

Различают общее и раздельное резервирование. Резервирование БЦВМ в целом – это общее резервирование. В этом случае параллельно работают основная и резервные БЦВМ.

При раздельном резервировании БЦВМ разбивается на отдельные подсистемы, каждая из которых или некоторые из них резервируются отдельно. При использовании раздельного резервирования можно выделить несколько уровней резервирования:

1.Резервирование на уровни деталей

2.Резервирование на уровне элементов

3.Резервирование на уровне устройств.

На данный момент наиболее распространенным раздельным резервированием яв-ляется резервирование на уровне устройств (ОЗУ, процессор, жесткие диски и т.д.), так как современные БЦВМ имеют модульное построение, а резервирование на уровне мо-дулей значительно повышает ремонтопригодность.

В зависимости от способа включения резервного элемента или БЦВМ различают горячее и холодное резервирование.

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

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

Холодное резервирование используется только на уровне крупных элементов или целых БЦВМ с применением различных методов обнаружения неисправностей.

Горячее резервирование может применяться и на более глубоких уровнях с ис-пользованием избыточности на основе мажоритарной логикой.

В реальной аппаратуре холодное и горячее резервирование обычно применятся в различных сочетаниях.

69.Программная избыточность в отказоустойчивых вычислительных системах

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

Программная избыточность базируется на выполнении системой следующих функций: - взаимное недоверие элементов системы; - немедленное обнаружение и регистрация ошибок;

- выполнение одинаковых функций разными модулями системы и сопоставление результатов обработки; - контроль и восстановление данных с использованием других видов избыточности.

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

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

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

70.Примеры классических отказоустойчивых вычислительных систем

На рынке отказоустойчивых систем работают такие производители, как Stratus Computer Systems; Compaq Computer, предлагающая системы NonStop Himalaya; IBM, выпускающая системы SP; Marathon Technologies, предоставляющая отказоустойчивые конфигурации для систем Windows NT.

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

Но цель конфигураций высокой готовности состоит в том, чтобы помочь компаниям быстро восстановить работу после сбоя, что не годится для поддержки отказоустойчивости (или постоянной готовности), цель которой — свести к нулю время восстановления. Здесь необходимо добиться почти мгновенного «подхвата» приложений. «Существует качественное и количественное различие между этими двумя подходами», — заметила Джин Бозман, ведущий аналитик International Data Corp.

«Средства отказоустойчивости позволяют сократить время простоя до пяти минут в год или даже меньше. При поддержке высокой готовности время восстановления после сбоя, как подчеркнула Бозман, может значительно меняться в зависимости от конфигурации. «Отказоустойчивость обеспечивается избыточностью на физическом уровне, где в любом из компонентов может возникнуть сбой и никто этого не заметит», — отметила она.

Вычислительная система командного пункта ЗРК.

Вычислительная система командного пункта состоит из трех вычислительных модулей: центральный процессор и два периферийных процессора. Центральный процессор выполняет роль сервера, два периферийных – клиенты.

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

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

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

два процессорных модуля.

Вычислительная система Compaq.

Один из видов вычислительной системы повышенной надежности фирмы Compaq используется для обработки данных платежной системы банкоматов. Она состоит из четырех процессорных узлов, двухвходового RAID-массива пятого уровня и аппаратуры SAN на базе сетевых контроллеров и концентраторов ServerNet v.1. Структурная схема этой вычислительной системы приведена ниже

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

кластера при выходе из строя какой-либо части оборудования.

Повышение живучести и надежности вычислительной системы обеспечивается за счет горячего резерва оборудования, в первую очередь резервируются каналы связи. При выходе из строя одного из контроллеров Ethernet система переключается на использование другого с автоматической миграцией IP-адресов и всех текущих IP-соединений. Резервирование устройств хранения данных позволяет с высокой надежностью хранить информацию, а идентичность вычислительных узлов кластера позволяет организовывать вычислительный процесс с использованием горячего резерва оборудования.

Вычислительная система Fujitsu Siemens Server Shield.

Основные особенности архитектуры высокой готовности Fujitsu Siemens Server Shield таковы: критические приложения работают на главном сервере, некритические приложения (разработка, тесты) работают на резервном сервере. Структурная схема кластера приведена на рисунке снизу.

В случае отказа главного сервера происходят следующие действия:

1. Отключение главного сервера

2. Переключение рабочих данных с помощью коммутатора SCSI на резервный сервер

3. Загрузка резервного сервера в качестве главного

4. Автоматическое переподключение клиентов

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

71. Системы с горячим и холодным резервированием

В зависимости от способа включения резервного элемента или БЦВМ различают горячее и холодное резервирование.

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

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

Холодное резервирование используется только на уровне крупных элементов или целых БЦВМ с применением различных методов обнаружения неисправностей.

Горячее резервирование может применяться и на более глубоких уровнях с ис-пользованием избыточности на основе мажоритарной логикой.

В реальной аппаратуре холодное и горячее резервирование обычно применятся в различных сочетаниях

72.Принципы обеспечения отказоустойчивости встраиваемых вычислителей (управляющих микропроцессорных систем)

74.Программные решения, применяемые в таких системах для обеспечения отказоустойчивости

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

Схема. Способы построения отказоустойчивых систем

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

Аппаратная избыточность (Hardware Redundancy, более известна как резервирование). Существуют методы постоянного резервирования (синтез избыточных устройств, нечувствительных к

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

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

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

Временная избыточность (Time Redundancy) заключается в использовании некоторой части производительности компьютера для контроля за исполнением программ и восстановления (рестарта) вычислительного процесса (запас времени для повторного выполнения операции (например, двойного или тройного просчѐта на вычислительной машине).

75.Вычислительные системы с программируемой архитектурой. Вычислительные системы на основе технологий искусственного интеллекта. Вычислительные системы на основе ПЛИС (FPGA)

FPGA (англ. field-programmable gate array) содержат блоки умножения-суммирования, которые широко применяются при обработке сигналов (DSP), а также логические элементы (как правило, на базе таблиц перекодировки — таблиц истинности) и их блоки коммутации. FPGA обычно используются для обработки сигналов, имеют больше логических элементов и более гибкую архитектуру, чем CPLD. Программа для FPGA хранится в распределѐнной памяти, которая может быть выполнена как на основе энергозависимых ячеек статического ОЗУ (подобные микросхемы производят, например, фирмы Xilinx и Altera) — в этом случае программа не сохраняется при исчезновении электропитания микросхемы, так и на основе энергонезависимых ячеек Flash-памяти или перемычек antifuse (такие микросхемы производит фирма Actel и Lattice Semiconductor) — в этих случаях программа сохраняется при исчезновении электропитания. Если программа хранится в энергозависимой памяти, то при каждом включении питания микросхемы необходимо заново конфигурировать еѐ при помощи начального загрузчика, который может быть встроен и в саму FPGA. Альтернативой ПЛИС FPGA являются более медленные цифровые процессоры обработки сигналов. FPGA применяются также, как ускорители универсальных процессоров в суперкомпьютерах (например:

Cray — XD1, SGI — Проект RASC).

Системы на основе программируемых логических интегральных схем Программируемые логические интегральные схемы (ПЛИС) или микросхемы программируемой логики – одна из

привлекательных технологий, предоставляющая конечному пользователю возможности быстрого создания цифровых систем с произвольной внутренней структурой. Разработка устройств на ПЛИС занимает значительно меньше времени по сравнению с разработкой специализированных микросхем. Она также гораздо дешевле за счет того, что изменение принципиальной схемы выполняется перепрограммированием одного и того же экземпляра микросхемы.

Параллельные вычислительные системы на основе ПЛИС На основе ПЛИС разрабатываются реконфигурируемые многопроцессорные вычислительные системы [10]. В отличие от МВС

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

Реализация и широкое внедрение в практику идеи реконфигурируемых многопроцессорных вычислительных систем стало возможным с появлением ПЛИС со сверхвысокой степенью интеграции, на базе которых стало возможным создание больших вычислительных полей. Это позволило в полной мере реализовать преимущества реконфигурируемых мультиконвейерных вычислительных структур, существенно опережающих многопроцессорные системы с традиционной «жесткой» архитектурой по таким характеристикам как соотношения «реальная производительность/пиковая производительность» (эффективность) и «реальная производительность/объем» (компактность).

Следует отметить, что по этому пути уже идут и многие ведущие мировые производители. Компания Сгау предлагает снабдить процессоры Орtеrоn на двухпроцессорной платформе дополнительным модулем на базе ПЛИС. На этот модуль возлагается решение трудоемких для универсального процессора задач. Различными фирмами разработаны реконфигурируемые устройства в виде плат сопроцессоров для задач цифровой обработки сигналов и моделирования специализированных устройств. Компанией Stretch предлагается реконфигурируемый процессор, представляющий собой сочетание известной микропроцессорной архитектуры RISC с кристаллами ПЛИС. Разработанный компилятор автоматически выделяет в программе места, требующие интенсивных вычислений, и реализует их с помощью ПЛИС. Кампания Star Bridge Systems одна из первых представила суперкомпьютер, который основан на реконфигурируемой технологии и построен на кристаллах ПЛИС фирмы Xilinx. В исследовательском центре Berkeley Wireless Research Center также разработана суперкомпьютерная система High-End Reconfigurable Computing System на кристаллах ПЛИС. По мнению разработчиков, использование кристаллов ПЛИС обеспечивает более чем на два порядка большую производительность систем в сравнении с производительностями систем с аналогичной потребляемой мощностью и стоимостью, реализованными на стандартных микропроцессорах.

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

Программирование вычислительных систем на ПЛИС Программирование систем, реализованных на ПЛИС по сути означает формирование новой топологии интегральной схемы.

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

(СБИС) на ПЛИС, является VHDL (Very high speed integrated circuits Hardware Description Language). Он является базовым языком при разработке аппаратуры современных вычислительных систем. Первоначально язык предназначался для моделирования, но позднее из него было выделено синтезируемое подмножество.

Написание модели на синтезируемом подмножестве позволяет автоматический синтез схемы функционально эквивалентной исходной модели. Средствами языка VHDL возможно проектирование на различных уровнях абстракции (поведенческом или алгоритмическом, регистровых передач, структурном), в соответствии с техническим заданием и предпочтениями разработчика. Заложена возможность иерархического проектирования, максимально реализующая себя в экстремально больших проектах с участием большой группы разработчиков. Представляется возможным выделить следующие три составные части языка: алгоритмическую, основанную на языках Ada и Pascal и придающую языку VHDL свойства языков программирования; проблемно ориентированную — в сущности и обращающую VHDL в язык описания аппаратуры; объектно-ориентированную, интенсивно развиваемую в последнее время.

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

Основным отличием языка COLAMO является введение понятия кадра. Конструкция, описывающая кадр, характеризуется наличием структурной и процедурной составляющих. Основная программа содержит вызовы кадров в определенной последовательности, что позволяет совместить детерминизм выполнения крупных фрагментов задачи с асинхронностью вычислительных операций внутри кадра. Отображение вычислительного алгоритма на архитектуру РВС обеспечивает

транслятор, который выделяет структурную составляющую кадра и обеспечивает ее отображения в аппаратном ресурсе РВС, опираясь на элементы библиотеки масштабируемых IP-ядер.

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

76.Возможности, области применения

ПЛИС широко используется для построения различных по сложности и по возможностям цифровых устройств.

Это приложения, где необходимо большое количество портов ввода-вывода (бывают ПЛИС с более чем 1000 выводов («пинов»)), цифровая обработка сигнала (ЦОС), цифровая видеоаудиоаппаратура, высокоскоростная передача данных, криптография, проектирование и прототипирование ASIC, в качестве мостов (коммутаторов) между системами с различной логикой и напряжением питания, реализация нейрочипов, моделирование квантовых вычислений.

77.Цифровые сигнальные процессоры, нейрочипы и нейрокомпьютеры

Цифровой сигнальный процессор (англ. Digital signal processor, DSP; сигнальный микропроцессор, СМП; процессор цифровых сигналов, ПЦС) — специализированный микропроцессор, предназначенный для цифровой обработки сигналов (обычно в реальном масштабе времени).

Архитектура сигнальных процессоров, по сравнению с микропроцессорами настольных компьютеров, имеет некоторые особенности:

Гарвардская архитектура (разделение памяти команд и данных), как правило модифицированная;

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

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

Аппаратное ускорение сложных вычислительных инструкций, то есть быстрое выполнение операций, характерных для цифровой обработки сигналов, например, операция «умножение с накоплением» (MAC) (Y := X + A × B) обычно исполняется за один такт.

«Бесплатные» по времени циклы с заранее известной длиной. Поддержка векторно-конвейерной обработки с помощью генераторов адресных последовательностей.

Детерминированная работа с известными временами выполнения команд, что позволяет выполнять планирование работы в реальном времени.

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

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

VLIW.

По сравнению с микроконтроллерами, ограниченный набор периферийных устройств — впрочем, существуют «переходные» чипы, сочетающие в себе свойства DSP и широкую периферию микроконтроллеров.

Области применения

Коммуникационное оборудование:

Уплотнение каналов передачи данных;

Кодирование аудио- и видеопотоков;

Системы гидро- и радиолокации;

Распознавание речи и изображений;

Речевые и музыкальные синтезаторы;

Анализаторы спектра;

Управление технологическими процессами;

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

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

Алгоритм, заданный нейронной сетью, может быть интерпретирован обычной универсальной вычислительной машиной, либо некоторым специализированным устройством [5].

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

Одним из первых коммерчески доступных нейрочипов был Micro Devices MD1220 (1990 год) [6]. Этот кристалл интерпретирует 8 нейронов и 8 связей с 16 ти разрядными, хранящимися во внутрикристальной памяти, весами и одноразрядными входами. Входы имеют одноразрядные последовательные умножители. Сумматоры в кристалле также 16 разрядные. Из этих нейрочипов путѐм их каскадирования могут быть построены нейрокомпьютеры.

Фирма Neuralogix производит нейрочип NLX – 420 с 16 ти процессорными элементами, каждый из которых имеет 32 х разрядный сумматор [7].

Фирма Hitachi выпустила Wafer Scale Integration – многокристальные полупроводниковые пластины [8]. На пластине размещается сеть Хопфилда с 576 нейронами, каждый из которых имеет 64 восьмиразрядных весовых коэффициента. Сеть Хопфилда функционирует как ассоциативная память. При подаче на входы частичной или ошибочной входной последовательности сеть через какое-то время переходит в одно из устойчивых состояний, предусмотренных при еѐ конструировании. При этом на входах сети появляется последовательность, признаваемая сетью как наиболее близкая к одной из изначально поданных.

Помимо цифровых, бывают нейрочипы аналоговые и гибридные. Аналоговые элементы меньше и проще цифровых. Однако обеспечение необходимой точности требует тщательного проектирования и изготовления. Пример аналогового нейрочипа – Intel 80170NW ETANN. Этот кристалл содержит 64 нейрона и два банка 64x80 весов [9]. Гибридные нейрочипы используют комбинацию аналогового и цифрового подходов. Например, входы могут быть аналоговыми, веса загружаться как цифровые и выходы быть цифровыми. Чип CLNN 32 фирмы Bellcore содержит 32 нейрона. Входы, выходы и внутренняя обработка – аналоговые, а 5 ти разрядные веса цифровые [10].

Вкачестве нейропроцессоров иногда используются также сигнальные микропроцессоры. Разработанный в НТЦ «Модуль» российский нейпроцессор NM6403 (Neuro Matrix) имеет скалярное RISC ядро для выполнения логических операций, целочисленных арифметических операций, операций сдвига и формирования адресов для обращения в память, а также векторный процессор VP для обработки двоичных векторов произвольной разрядности в пределах 1–64 битов [11]. При этом в одном такте VP может выполнять операции над несколькими векторами, вплоть до 64, суммарная длина которых не превышает 64. Скалярный процессор выполняет всю подготовку данных для работы векторного процессора. Нейропроцессор NM6403 имеет два встроенных линка, совместимых по логическому и физическому протоколам с линками сигнального микропроцессора TMS 320 C4X.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]