Как можно описать разницу между «программированием потока данных» и «моделью актера»? Насколько я понимаю, они не несвязанные, но все же не одно и то же. Является ли DF более широкой концепцией, суть которой заключается в отличии от модели Control Flow, тогда как модель Actor является более проработанным и теоретически обоснованным наследником DF?
Программирование потока данных против модели актера
Ответы (2)
- Поток данных является детерминированным, что допускает параллелизм.
- Актеры недетерминированы, что допускает параллелизм.
person
Jonas Bonér
schedule
17.09.2013
Я не думал об этом в таком ключе. Не могли бы вы немного уточнить? «Детерминирован» - означает ли это, что граф DF жестко закодирован, поэтому мы получаем один и тот же результат для одного и того же ввода; в то время как модель Актера допускает динамическую реконфигурацию графа, следовательно, она недетерминирована (по крайней мере, может быть так), верно? Но я не вижу связи между параллелизмом и параллелизмом и детерминированным и недетерминированным.
- person pavel.baravik; 19.09.2013
Похоже, вот объяснение: stackoverflow.com/questions/8582580/ подходят для меня. Кстати, не могли бы вы порекомендовать литературу по CS, в которой было бы описано указанное вами различие?
- person pavel.baravik; 19.09.2013
Лучшая книга по декларативному параллелизму потоков данных — Concepts, Techniques, and Модели компьютерного программирования Питера Ван Роя и Сейфа Хариди. Он отлично справляется с объяснением основ и того, как это связано как с логикой, FP, так и с императивным стилем, охватывает акторов, параллелизм с общим состоянием и многое другое. Настоятельно рекомендуется.
- person Jonas Bonér; 30.09.2013
Детерминированный поток данных также допускает параллелизм сайтов. .uclouvain.be/blog-ingi/2011/12/. Также поток данных не обязательно детерминирован.
- person Jean Vincent; 02.10.2013
А что насчет детерминированного алгоритма, если я поставлю генератор случайных чисел где-нибудь в середине потока данных? ;-)
- person inf3rno; 19.08.2014
ДФ шире. Узел DF может иметь несколько входных портов и срабатывает, когда все входы установлены. Актер — это узел DF с одним входным портом. Цветная сеть Петри еще шире и позволяет запитывать несколько переходов из одного места, но ее сложно реализовать.
Реализацию DF на Java можно найти по адресу Dataflow4Java.
person
Alexei Kaigorodov
schedule
17.10.2013