Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект и план / конспект.doc
Скачиваний:
85
Добавлен:
03.06.2014
Размер:
1.88 Mб
Скачать

2.2. Менеджеры транзакций

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

менеджеров транзакций (МТ), которые позволяют одному серверу приложений

одновременно обмениваться данными с несколькими серверами баз данных. Хотя

серверы Oracle имеют механизм выполнения распределенных транзакций, но если

пользователь хранит часть информации в БД Oracle, часть в БД Informix, а часть в

текстовых файлах, то без менеджера транзакций не обойтись. МТ используется для

управления распределенными разнородными операциями и согласования действий

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

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

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

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

как в базах данных, так и в обычных файлах, - именно эти функции и помогает

выполнять МТ.

Менеджер транзакций - это программа или комплекс программ, с помощью

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

системы. Логически MT делится на несколько частей:

 коммуникационный менеджер (Communication Manager)

контролирует обмен сообщениями между компонентами

информационной системы;

 менеджер авторизации (Authorisation Manager) обеспечивает

аутентификацию пользователей и проверку их прав доступа;

 менеджер транзакций (Transaction Manager) управляет

распределенными операциями;

 менеджер ведения журнальных записей (Log Manager) следит за

восстановлением и откатом распределенных операций;

 менеджер блокировок (Lock Manager) обеспечивает правильный

доступ к совместно используемым данным.

Обычно коммуникационный менеджер объединен с авторизационным, а

менеджер транзакций работает совместно с менеджерами блокировок и системных

записей. Причем такой менеджер редко входит в комплект поставки, поскольку его

функции (ведение записей, распределение ресурсов и контроль операций), как

правило, выполняет сама база данных (например, Oracle).

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

CICS); с тех пор они незначительно изменились идеологически, но весьма

существенно - технологически. Наибольшие идеологические изменения произошли

в коммуникационном менеджере, так как в этой области появились новые

объектно-ориентированные технологии (CORBA, DCOM и т.д.). Из-за бурного

развития коммуникационных средств в будущем следует ожидать широкого

использования различных типов менеджеров транзакций.

Таким образом, многоуровневая архитектура клиент-сервер позволяет

существенно упростить распределенные вычисления, делая их не только более

надежными, но и более доступными. Появление таких средств, как Java, упрощает

связь сервера приложений с клиентами, а объектно-ориентированные менеджеры

транзакций обеспечивают согласованную работу сервера приложений с базами

данных. В результате создаются все предпосылки для создания сложных

распределенных информационных систем, которые эффективно используют все

преимущества современных технологий.

3. Архитектура peer to peer

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

областях, является архитектура P2P (рис. 2.6). Приложение, выполненное в такой

архитектуре, не имеет четкого разделения на серверные и клиентские модули - все

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

Рис. 7. Архитектура P2P

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

системы, обрабатывающие запросы других частей (и узел выполняет "серверную"

часть), а в другой момент времени - части системы, посылающие запросы (и узел

выполняет "клиентскую" часть). Причем приложение может быть устроено так, что

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

Построенные таким образом приложения обладают уникальными свойствами - их

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

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

расположенных на узле. Это позволяет организовывать очень изощренные

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

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

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

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

программировании с применением технологии MPI состоит в том, что на

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

иначе (срабатывают различные ветви условных переходов), в зависимости от

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

процессов представляет собой распределенную систему, решающую поставленную

задачу.

ЗАКЛЮЧЕНИЕ

Технология клиент-сервер по праву считается одним из "китов", на которых

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

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

новые задачи и технологии, требующие переосмысления принципов клиент-

серверных систем. Одна из таких технологий - World Wide Web.

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

внутренней информационной инфраструктуры компании стимулировало бурное

развитие всевозможных систем типа клиент-сервер. Некоторые пытаются

противопоставить Web-технологию архитектуре клиент-сервер, однако это

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

архитектуры. Можно сказать, что система Web имеет архитектуру клиент-серверы,

т. е. с помощью одного клиента можно подключиться ко многим серверам. Web-

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

информации, - это лишь вершина айсберга, самый верхний уровень системы Web.

Кроме интерфейса любая информационная система должна иметь уровни

обработки данных и их хранения. У разработчиков интрасетей часто возникает

проблема правильного согласования работы Web с другими элементами системы,

например базами данных. Одним из перспективных способов решения этой

проблемы являются многоуровневые архитектуры клиент-сервер. Чтобы понять их

преимущества, рассмотрим подробнее обычную клиент-серверную систему

Лекция 4.Кластерные системыИстория создания кластеров неразрывно связана с ранними разработками в области компьютерных сетей. Одной из причин для появления скоростной связи между компьютерами стали надежды на объединение вычислительных ресурсов. В начале 1970-х гг. группой разработчиков протокола TCP/IP и лабораторией Xerox PARC были закреплены стандарты сетевого взаимодействия. Появилась и операционная система Hydra ("Гидра") для компьютеров производства DEC, созданный на этой основе кластер был назван C.mpp (Питтсбург, шт. Пенсильвания, США, 1971). Тем не менее, только около 1983 г. были созданы механизмы, позволяющие с лёгкостью пользоваться распределением задач и файлов через сеть, по большей части это были разработки на основе BSD Unix в версии Sun Microsystems. 

Первым коммерческим проектом кластера стал ARCNet, созданный компанией Datapoint в 1977 г. Два других ранних кластерных продукта, получивших признание, включают Tandem Hymalaya (1994, класс HA) и IBM S/390 Parallel Sysplex (1994).

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

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

Создание кластеров на основе дешёвых персональных компьютеров, объединённых сетью передачи данных, продолжилось в 1993 г. силами Американского аэрокосмического агентства (NASA- Goddard Space Flight Center). Cпециалистами GSFC летом 1994 года был собран первый кластер, состоявший из 16 компьютеров 486DX4/100MHz/16Mb RAM и трех параллельно работавших 10Mbit сетевых адаптеров. Данный кластер, который был назван "Beowulf.

Четыре годя спустя в 1998 году, в Лос-Аламосской национальной лаборатории (США) астрофизик Майкл Уоррен и другие ученые из группы теоретической астрофизики построили суперкомпьютер Avalon, который представлял собой Linux-кластер на базе процессоров Alpha 21164A с тактовой частотой 533 МГц. Первоначально Avalon состоял из 68 процессоров, затем был расширен до 140. В каждом узле установлено по 256 Мбайт оперативной памяти, жесткий диск на 3 Гбайт и сетевой адаптер Fast Ethernet. Общая стоимость проекта Avalon составила 313 тыс. долл., а показанная им производительность на тесте LINPACK - 47,7 GFLOPS, позволила ему занять 114 место в 12-й редакции списка Top500 рядом с 152-процессорной системой IBM RS/6000 SP. В том же 1998 году на самой престижной конференции в области высокопроизводительных вычислений Supercomputing'98 создатели Avalon представили доклад "Avalon: An Alpha/Linux Cluster Achieves 10 Gflops for $150k", получивший первую премию в номинации "наилучшее отношение цена/производительность".

В настоящее время Avalon активно используется в астрофизических, молекулярных и других научных вычислениях.

Соседние файлы в папке Конспект и план