Linda

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Язык Linda позволяет писать параллельные программы на обычных языках: языке Си, языке Фортран, языке Лисп, дополняя их операциями организации межпроцессорного обмена данными. Важной характеристикой языка Linda является то, что он может использоваться для написания программ, выполняемых на суперкомпьютерах с различной архитектурой. Благодаря тому, что Linda позволяет большой прикладной процесс разбивать на много небольших, это упрощает и распараллеливает этот процесс. Между тем, нужно соблюдать и некоторую осторожность. Если процесс будет разделен на большое число мелких, то теряется много времени на обмен данными между процессами, результатами и получением новых заданий.

Основные операции[править | править исходный текст]

В изначальной модели Linda существовало 4 операции для работы над кортежами и пространством кортежей:

  • in атомарно считывает и стирает кортеж из пространства
  • rd неизменяющее чтение кортежа
  • out запись кортежа в пространство кортежей
  • eval порождает новый процесс для обработки кортежей; результат работы процесса будет записан в общее пространство.

Факты[править | править исходный текст]

Литература[править | править исходный текст]

  • N.J. Carriero, D. Gelernter, T.G. Mattson, A.H. Sherman The Linda Alternative to Message Passing Systems (англ.) // Parallel Computing. — 1994. — Т. 20. — № 4. — С. 633 -- 655.
  • Carriero, Nicholas and Gelernter, David How to Write Parallel Programs: A Guide to the Perplexed (англ.) // ACM Comput. Surv.. — ACM, 1989. — Т. 21. — № 3. — С. 323--357. — ISSN 0360-0300. — DOI:10.1145/72551.72553

Ссылки[править | править исходный текст]