Линда (язык координации)
-
Обзор модели Linda
- Linda — это модель параллельных вычислений, разработанная в 1980-х годах.
- Она основана на идее использования кортежей для координации процессов.
- Процессы в Linda взаимодействуют через пространство кортежей, а не через последовательные сообщения.
-
История и развитие
- Модель была разработана в 1981 году в Калифорнийском университете в Беркли.
- Она была вдохновлена работой по распределенным вычислениям и моделированием параллельных вычислений.
- Модель получила дальнейшее развитие в 1985 году, когда была представлена концепция tuplespace.
-
Основные принципы
- Процессы в Linda могут быть однопоточными или многопоточными.
- Они взаимодействуют через пространство кортежей, где кортежи содержат данные и операции.
- Процессы могут быть созданы и уничтожены динамически.
-
Сравнение с другими моделями
- Linda отличается от других моделей параллельных вычислений своей ортогональностью и универсальностью.
- Она позволяет процессам взаимодействовать, используя одни и те же примитивы, независимо от платформы.
-
Критика и модификации
- Некоторые многопроцессорные сообщества критикуют модель за снижение скорости операций по сравнению с системами с интерфейсом передачи сообщений.
- Исследователи предложили модификации для поддержки различных типов связи и решения конкретных проблем.
-
Математический анализ
- Линда-исчисление представляет собой формализацию модели с операциями вывода и оценки.
-
Семантика и реализации
- Пространство кортежей представлено как набор процессов, и семантика определяется как отношение редукции.
- Модель была реализована на многих языках программирования, включая C, C++, Java и другие.
-
Примеры реализаций
- C-Linda и TCP-Linda — ранние коммерческие реализации на C и Fortran.
- JavaSpaces — популярная реализация на Java.
- TSpaces — платформа на основе Java от IBM.