С. С. Гайсарян, Институт системного программирования РАН
Развитие современной вычислительной аппаратуры характеризуется четко выраженной тенденцией распространения многопроцессорных компьютеров и вычислительных сетей как локальных, так и глобальных. Уже недалеко то время, когда даже персональные компьютеры будут иметь несколько процессоров а самые мощные из них могут даже иметь сетевую архитектуру.
Поэтому в области программного обеспечения вызывают все больший интерес языки и другие инструментальные средства, поддерживающие разработку распределенных программ. При этом можно выделить три уровня распределенного программирования:
распределенное программирование в малом;
распределенное программирование в большом;
распределенные прикладные программные системы.
Распределенное программирование в малом связано с параллельным выполнением операторов одной программы (например, параллельным выполнением циклов). Технология разработки распределенных программ связана с реализацией коммуникационных пакетов, а также языков программирования и библиотек, облегчающих использование таких пакетов. Примерами коммуникационных пакетов могут служить такие широко используемые пакеты как PVM и MPI. Из языков, опирающихся на эти пакеты следует выделить прежде всего HPF/2 (High Performance Fortran, version 2) и язык, разработанный в ИСП РАН, - mpC. Среди многочисленных библиотек наиболее интересны различные алгебраические библиотеки (например, ScalaPack), а также библиотеки, вводящие параллельные конструкции в стандартные языки программирования (одна из таких библиотек DPJ - Data Parallel Java - разрабатывается в ИСП РАН).
Распределенное программирование в большом состоит в разработке распределенных программных систем. В последнее время широко используются объектно-ориентированные технологии разработки таких систем. Наиболее известные такие технологии связаны с системой стандартов OMG (стандарт CORBA).
|