Comments 7
Нормальная, строго доказательная математическая статья.
Давайте рассмотрим третью аналогию. Бытовое определение безумия – это делать одно и то же снова и снова, ожидая при этом, что результаты будут разные. По этому определению, мы, фактически, требуем, чтобы программисты многопотоковых систем были безумны. Если бы они были нормальными, они бы не смогли понять своих программ.Не используется цитатный метод доказательства, что отличает статью от диспутов времён средневекового мракобесия. К сожалению, нет возможности посмотреть 49 ссылок на литературу, чтобы проверить это утверждение полностью.
> Мы доказали, что потоки представляют собой крайне бесполезную математическую модель вычислений
ГДЕ ДОКАЗАЛИ?!
ГДЕ ДОКАЗАЛИ?!
Насколько мы поняли, основная цель статьи состоит не в том, чтобы привести строгое научное доказательство бесполезности потоков (что, в принципе, невозможно), а в том, чтобы на красивых примерах показать существование более эффективных моделей параллелизма.
Именно так диссертации по всяким инженерным темам и пишутся. Обозначаем болты латинскими буквами, гайки — греческими. Отображаем множество болтов на множество гаек и доказываем на двадцати страницах с красивыми формулами, что оптимально когда размеры болтов соответствуют размерам гаек. Очень красиво выглядит, если правильно отформатировано в TeX'е.
Огромное число возможных вариантов чередований делает чрезвычайно сложным доказательство эквивалентности.
Таким образом, если две программы p и p' запускаются в многопотоковой среде, мы больше не можем судить об их эквивалентности. Фактически, мы должны знать обо всех остальных потоках, которые могут быть запущены, и мы должны проанализировать все возможные чередования. Мы можем таким образом сделать заключение, что теория эквивалентности не может быть применена к потокам.
Вообще, не понятно, как из первого следует второе. Если бы доказать эквивалентность было бы невозможно — другое дело. А вот если некоторое действие сложно произвести в некотором формализме — то из этого еще не следует, что сложность действия вызвана данными, над которыми действие производится. Возможно, просто ваш формализм никуда не годится. Вспомните хотя бы историю формализмов математики — выкинули сначала формализм, построенный на рациональных числах, а затем — геометрическую алгебру, а не иррациональные числа и дифференциальное исчисление.
Sign up to leave a comment.
Проблемы с потоками. Эдвард А. Ли