Технология программирования для распределенных параллельных систем. Демьянович Ю.К - 63 стр.

UptoLike

§ 3. О языке 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, но
вместо канала рассматривается пространство кортежей).
IN("tag", field_1, . . ., field_n);
извлечение кортежа из ПК (аналогично оператору receive).
64