Linda

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

язык программирования

Появился в

1985

Автор

Дэвид Гелернтер, Nicholas Carriero

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

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

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

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

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

Факты[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Markoff, John. David Gelernter's Romance With Linda, The New York Times (January 19, 1992).

Литература[править | править вики-текст]

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

Ссылки[править | править вики-текст]