Распределенное программирование
Распределенное программирование
С. С. Гайсарян, Институт системного программирования
РАН
Развитие
современной вычислительной аппаратуры характеризуется четко выраженной
тенденцией распространения многопроцессорных компьютеров и вычислительных сетей
как локальных, так и глобальных. Уже недалеко то время, когда даже персональные
компьютеры будут иметь несколько процессоров а самые мощные из них могут даже
иметь сетевую архитектуру.
Поэтому
в области программного обеспечения вызывают все больший интерес языки и другие
инструментальные средства, поддерживающие разработку распределенных программ.
При этом можно выделить три уровня распределенного программирования:
распределенное
программирование в малом;
распределенное
программирование в большом;
распределенные
прикладные программные системы.
Распределенное
программирование в малом связано с параллельным выполнением операторов одной
программы (например, параллельным выполнением циклов). Технология разработки
распределенных программ связана с реализацией коммуникационных пакетов, а также
языков программирования и библиотек, облегчающих использование таких пакетов.
Примерами коммуникационных пакетов могут служить такие широко используемые
пакеты как PVM и MPI. Из языков, опирающихся на эти пакеты следует выделить
прежде всего HPF/2 (High Performance Fortran, version 2) и язык, разработанный
в ИСП РАН, - mpC. Среди многочисленных библиотек наиболее интересны различные
алгебраические библиотеки (например, ScalaPack), а также библиотеки, вводящие
параллельные конструкции в стандартные языки программирования (одна из таких
библиотек DPJ - Data Parallel Java - разрабатывается в ИСП РАН).
Распределенное
программирование в большом состоит в разработке распределенных программных
систем. В последнее время широко используются объектно-ориентированные
технологии разработки таких систем. Наиболее известные такие технологии связаны
с системой стандартов OMG (стандарт CORBA).
Распределенные
прикладные программные системы предназначены для поддержки коллективных
разработок и других видов коллективной деятельности в самых различных областях.
В таких системах используются новейшие достижения в области вычислительной
техники и коммуникаций. Примером такой системы может служить система POLITeam
(GMD-FIT, Германия), основной целью которой является обеспечение оперативной
работы правительства Германии, расположенного в двух городах - Берлине и Бонне,
в настоящее время имеются в наличии как аппаратные, так и программные средства,
позволившие реализовать и успешно эксплуатировать такую систему. С проектом
POLITeam связано одно из ведущих научных направлений GMD - "Системы
поддержки совместных разработок на основе коммуникации" (Communication and
Cooperation Systems). Это одно из интенсивно развивающихся
научно-исследовательских и прикладных направлений современной информатики.
Широко известны такие системы для организации совместной работы как система
Totem, разработанная в Университете г. Санта-Барбара, Калифорния, США, система Transis,
разработанная в Университете г. Иерусалима, Израиль, система Horus Корнельского
Университета (США) и многие другие. При разработке и реализации перечисленных
систем применялись различные подходы, что позволяет разработать их
аналитический обзор с целью выбора наиболее дешевого и приемлемого подхода. Это
относится и к инструментальным программным средствам, используемым для
реализации систем поддержки совместных разработок. Одним из широко известных
инструментальных средств, используемых при разработке и реализации таких
систем, является пакет Rampart Toolkit, разработанный в AT&T Bell
Laboratories, Нью-Джерси, США. Для реализации системы поддержки совместных
разработок в рамках проекта POLITeam использовалась другая не менее известная
инструментальная система LinkWorks фирмы Digital Equipment Corporation, США.
Список литературы
Для
подготовки данной работы были использованы материалы с сайта http://www.citforum.ru/