Параллельные вычисления. Баканов В.М. - 105 стр.

UptoLike

Составители: 

- 105 -
пространство кортежейфактически является виртуальной ассоциативной
памятью).
Разработчики Linda доказывают, что любой последовательный язык про-
граммирования для превращения его в средство параллельного программи-
рования достаточно добавить лишь четыре новые функции (три функции для
операций над пространством кортежей и одна для порождения параллельных
процессов) [1]. Функция
out(…)
помещает кортеж в пространство кортежей,
in(…)
ищет в пространстве кортежей нужный (используется маска),
read(…)
аналогична
in
без удаления кортежа (полезно использовать для параллельного
доступа к переменным из нескольких процессов), функция
eval(…)
порожда-
ет отдельный параллельный процесс для вычисления значений функций, пе-
речисленных в списке формальных параметров вызова функции, вычислен-
ное значение помещается в пространство кортежей аналогично вызову
out
.
Если в пространстве кортежей ни один кортеж не соответствует заданному
в
in
или
read
образцу, процесс блокируется до момента появления соответст-
вующего кортежа. Параллельная программа в системе Linda завершается, ко-
гда все порожденные процесс завершились или все заблокированы функция-
ми
in
и
read
.
Указанные языковые средства Linda на самом деле допускают широкие
возможности по синхронизации процессов, реализации работающих по схеме
главный/подчиненныйпрограмм и т.д. Linda эффективна для многопроцес-
сорных вычислительных систем, обладающих общей памятью (только в при
размещении пространства кортежей в памяти такого типа возможно реали-
зовать быстроту операций с кортежами); при
реализации Linda для систем с
распределенной памятью возникают проблемы, аналогичные NUMA-
системам (VSM - Virtual Share Memory - виртуальная разделяемая память в
системе Linda реализуется программно).
В настоящее время Linda коммерчески поддерживается образованной в
1980 г. фирмой SCA (Scientific Computing Associates, Inc.), торговая марка
TCP Linda (
http://www.lindaspaces.com, [email protected]
) включа-
ют графическую отладочную среду Tuplescope. На основе VSM фирмой SCA
разработаны системы Piranha (средство объединения персональных ЭВМ в
многопроцессорную вычислительную систему), JParadise (система поддерж-
ки распределенных прикладных Java-программ), SCA предлагает также Win-
dows-вариант системы программирования Linda и (совместно с OptTek
Systems, Inc.,
http://www.opttek.com
) параллельную версию библиотеки
OptQuest Callable программных пакетов многомерной оптимизации.
Linda использована при разработке системы Gaussian'03 (изучение элек-
тронной структуры химических веществ), применена при разработке системы
Paradise для параллелизации процесса обнаружения знаний в базах данных
(технология Data Mining), используется фирмой Motorola, Inc. при проекти-
                                     - 105 -


‘пространство кортежей’ фактически является виртуальной ассоциативной
памятью).
   Разработчики Linda доказывают, что любой последовательный язык про-
граммирования для превращения его в средство параллельного программи-
рования достаточно добавить лишь четыре новые функции (три функции для
операций над пространством кортежей и одна для порождения параллельных
процессов) [1]. Функция out(…) помещает кортеж в пространство кортежей,
in(…) ищет в пространстве кортежей нужный (используется маска), read(…)
аналогична in без удаления кортежа (полезно использовать для параллельного
доступа к переменным из нескольких процессов), функция eval(…) порожда-
ет отдельный параллельный процесс для вычисления значений функций, пе-
речисленных в списке формальных параметров вызова функции, вычислен-
ное значение помещается в пространство кортежей аналогично вызову out.
   Если в пространстве кортежей ни один кортеж не соответствует заданному
в in или read образцу, процесс блокируется до момента появления соответст-
вующего кортежа. Параллельная программа в системе Linda завершается, ко-
гда все порожденные процесс завершились или все заблокированы функция-
ми in и read.
   Указанные языковые средства Linda на самом деле допускают широкие
возможности по синхронизации процессов, реализации работающих по схеме
‘главный/подчиненный’ программ и т.д. Linda эффективна для многопроцес-
сорных вычислительных систем, обладающих общей памятью (только в при
размещении пространства кортежей в памяти такого типа возможно реали-
зовать быстроту операций с кортежами); при реализации Linda для систем с
распределенной памятью         возникают проблемы, аналогичные NUMA-
системам (VSM - Virtual Share Memory - виртуальная разделяемая память в
системе Linda реализуется программно).
   В настоящее время Linda коммерчески поддерживается образованной в
1980 г. фирмой SCA (Scientific Computing Associates, Inc.), торговая марка
TCP Linda (http://www.lindaspaces.com, [email protected]) включа-
ют графическую отладочную среду Tuplescope. На основе VSM фирмой SCA
разработаны системы Piranha (средство объединения персональных ЭВМ в
многопроцессорную вычислительную систему), JParadise (система поддерж-
ки распределенных прикладных Java-программ), SCA предлагает также Win-
dows-вариант системы программирования Linda и (совместно с OptTek
Systems, Inc., http://www.opttek.com) параллельную версию библиотеки
OptQuest Callable программных пакетов многомерной оптимизации.
   Linda использована при разработке системы Gaussian'03 (изучение элек-
тронной структуры химических веществ), применена при разработке системы
Paradise для параллелизации процесса обнаружения знаний в базах данных
(технология Data Mining), используется фирмой Motorola, Inc. при проекти-