Технологические сети Кана
-
Основы технологической сети Кана
- Технологическая сеть Кана (KPN) — это распределенная модель вычислений с последовательными процессами и неограниченными каналами.
- Модель требует блокировки чтения и неблокирующей записи.
- KPN демонстрирует детерминированное поведение без зависимости от времени выполнения и задержек связи.
-
История и применение
- KPN были введены Жилем Каном в 1974 году и изначально использовались для моделирования параллельных программ.
- Модель применяется в различных вычислительных задачах, включая обработку сигналов, потоковую обработку и языки программирования потоков данных.
-
Модель исполнения
- KPN описывают системы обработки сигналов, где потоки данных преобразуются последовательно или параллельно.
- Для выполнения модели не требуется многозадачность или параллелизм, процессы взаимодействуют через FIFO.
- Процессы считывают и записывают атомарные элементы данных (токены) из каналов.
-
Примечания по процессам
- Процессам не требуется считывать входные данные или иметь каналы ввода, они могут действовать как чистые источники данных.
- Процессам не нужно записывать выходные данные или иметь каналы вывода.
- Тестирование входных каналов на наличие токенов может быть разрешено для оптимизации, но не должно влиять на выходные данные.
-
Семантика запуска процессов
- Процесс может быть смоделирован как конечный автомат, который сначала считывает данные из одного канала, затем из другого, вычисляет и записывает данные в третий канал.
-
Свойства KPN
- Каналы строго ограничены, количество токенов зависит от порядка выполнения процессов.
- Планирование и максимальная пропускная способность FIFO должны быть реализованы на практике.
- Блокировка записи может использоваться для предотвращения переполнения FIFO, но может привести к тупиковым ситуациям.
-
Закрытые и открытые системы
- Закрытые KPN не имеют внешних входных или выходных каналов, процессы выступают в качестве источников или приемников данных.
- В открытых KPN каждый процесс имеет хотя бы один входной и выходной канал.
-
Детерминизм и монотонность
- Процессы KPN являются детерминированными и монотонными, что гарантирует воспроизводимость результатов.
- События в разных сигналах KPN не связаны по порядку, что классифицирует модель как несвоевременную.
-
Приложения KPN
- KPN применяются в академическом моделировании потоковых приложений и в реальных аппаратных реализациях, таких как процессоры Ambric Am2045 и движки искусственного интеллекта в AMD Xilinx.
-
Рекомендации
- Для дальнейшего изучения темы рекомендуется прочитать дополнительную литературу.