Алгоритмы параллельных вычислений и программирование. Бурова И.Г - 191 стр.

UptoLike

§ 3. О языке Linda
Главной отличительной особенностью языка Linda, является
обобщение идеи разделяемых переменных и асинхронной передачи
сообщений. Язык Linda предоставляет программистам эффектив-
ные средства создания параллельных программ: любой последова-
тельный язык можно дополнить примитивами из Linda и получить
параллельный вариант.
Ядром языка являются процедуры (выполняемые асинхронно
и называемые кортежами процессов), помеченные записи корте-
жи данных, пространство кортежей пространство совокупностей
взаимосвязанных данных, реализуемое в виде разделяемой ассоци-
ативной памяти. Пространство кортежей похоже на единый разде-
ляемый канал связи, но кортежи не упорядочены. Для доступа к
пространству кортежей в языке имеются шесть примитивов (опе-
раций межпроцессорного обмена данными):
OUT операция помещения кортежа в пространство кортежей
(запись аналог
send
; при этом кортеж помещается в в упомяну-
тый ранее канал);
IN операция извлечения кортежа из пространства кортежей
(чтение аналог receive: кортеж извлекается из канала);
EVAL операция создания процесса;
INP операция ввода (неблокирующая);
RDP операция чтения (неблокирующая);
RD операция просмотра (блокирующая).
Пространство кортежей состоит:
из множества пассивных кортежей;
из множества активных кортежей.
Каждый кортеж имеет вид
("tag", value_1, . . ., value_n)
где метка "tag" является строкой (для различения кортежей).
Значения (value_1, . . ., value_n) это нуль или несколь-
ко значений данных (целых чисел, действительных чисел или мас-
сивов).
Для обработки кортежей служат три базовых неделимых при-
митива: OUT, IN, RD.
OUT("tag", expr_1, . . ., expr_n);
помещение кортежа в пространстве кортежей (аналогично
оператору send, но вместо канала рассматривается пространство
кортежей).
192