Linda
Linda | |
---|---|
Класс языка | язык программирования |
Появился в | 1985 |
Автор | Дэвид Гелернтер[англ.], Nicholas Carriero |
Разработчик | Дэвид Гелернтер[вд] |
Linda — язык программирования, предназначенный для параллельной обработки данных. При использовании языка Linda прикладной процесс делится на группу процессов, среди которых выделяется главный. Указанные процессы осуществляются одновременно и синхронизированы один относительно другого. Язык предоставляет программистам эффективные средства создания параллельных программ. Ядром языка является пространство кортежей — совокупностей взаимосвязанных данных. Каждая из них содержит ключевое слово для выборки кортежа.
Язык Linda позволяет писать параллельные программы на обычных языках: языке Си, языке Фортран, языке Лисп, дополняя их операциями организации межпроцессорного обмена данными. Важной характеристикой языка Linda является то, что он может использоваться для написания программ, выполняемых на суперкомпьютерах с различной архитектурой. Благодаря тому, что Linda позволяет большой прикладной процесс разбивать на много небольших, это упрощает и распараллеливает этот процесс. Между тем, нужно соблюдать и некоторую осторожность. Если процесс будет разделен на большое число мелких, то теряется много времени на обмен данными между процессами, результатами и получением новых заданий.
Основные операции
В изначальной модели Linda существовало 4 операции для работы над кортежами и пространством кортежей:
- in атомарно считывает и стирает кортеж из пространства
- rd неизменяющее чтение кортежа
- out запись кортежа в пространство кортежей
- eval порождает новый процесс для обработки кортежей; результат работы процесса будет записан в общее пространство.
Факты
- Язык назван в честь известной порноактрисы Линды Лавлейс[1].
Примечания
- ↑ Markoff, John (1992-01-19). "David Gelernter's Romance With Linda". The New York Times. Архивировано 22 апреля 2016. Дата обращения: 28 сентября 2017.
Литература
- 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.
Ссылки
- LINDA INTRODUCTION.
- Linda for Prolog.
- Linda for C.
- Linda for Java.