Название для шаблона программирования, используемого Mathematica

Начиная с Mathematica 7.0, существует функция ParallelTry [1], которая оценивает несколько функций параллельно, возвращая первый полученный результат. Это похоже на распараллеливание поиска по непересекающейся структуре данных. Другим распространенным вариантом использования является запуск нескольких алгоритмов для данной проблемы и ожидание возврата первого результата.

Вопрос в том, есть ли хорошее название для этого стиля вычислений. Я могу думать только о том, чтобы вызывать этот стиль Eureka, когда одна из функций (задач), ищущих результат, восклицает eureka!

[1] http://reference.wolfram.com/language/ref/ParallelTry.html

1 ответ

Это называется "спекулятивный параллелизм". Процессор / система запускает некоторый параллельный поток, предполагая, что он даст полезный ответ; если это не так (для ParallelTry), он прерывается, не влияя на состояние машины, и неспекулятивная часть (для ParallelTry, вычисление, которое было выполнено первым) дает ответ.