вторник, 6 октября 2009 г.

[comp.prog.concurrency] Презентация Гайя Стила “The Future Is Parallel”

67-страничная презентация “The Future Is Parallel: What’s a Programmer to Do?” от Гайя Стила.

Ссылочка на нее попалась мне пару недель назад. Просмотрел. Почти ничего не понял. Подождал, пока появится чуть больше времени. Просмотрел еще раз. Опять мало чего не понял. Во-первых, потому, что часть примеров приведена на Lisp-е (павбывавбы). Во-вторых, явно часть слайдов нуждается в объяснении, которого нет.

В конце презентации идут выводы, который, на мой взгляд, и не требовали демонстрации в виде малопонятных с первого раза примеров.

Зато фрагменты кода на Fortress выглядят очень прикольно. На их фоне Lisp кажется еще более write-only языком, чем он есть :)

Update. Появилась еще одна презентация на эту тему от того же автора: Organizing Functional Code for Parallel Execution: foldl and foldr Considered Slightly Harmful. Содержание практически такое же, как в первой презентации. Чуть изменилось оформление, в середину добавился еще один пример. В выводах упомянута та самая фраза из заголовка о foldl и foldr (хотя в основном тексте их и не вспоминали). Появились ссылки на какие-то новые работы по автоматическому распараллеливанию. В общем, если кто-то не смотрел первую презентацию, можно заглянуть сразу во вторую.

Update #2. А вот, вроде бы, и видео для второй презентации (сам не смотрел).

2 комментария:

Miroslav комментирует...

спасибо за презенташки о параллельности. Они както идут одна за одной (уже штуки 4 за месяц увидел).

В лисповой части ничего интересного нет - он просто поясняет на примере, что ( первый, остальное ) хуже чем (первая часть, вторая часть). Причем про ассоциативность и тп вспоминает уже намного позже. Фортресс (? я его не видел раньше) по сравнению с лиспом непонятная хрень перегруженная закорючками.
Вообще если есть время то для введения в лисп очень хорошо подходят первые пару глав SICP'а. Там как раз достаточно для того чтобы читать мелкие примерчики.
я вот не понял чего он старается делить проблему на 2 части, а не на 3 (или даже N). Про то что это очень трудно у него только пара слов. В общем все радостно кричат "забудьте все что вы знали." "переписывайте все что видите" итп но почемуто :D никто этого не делает (а те кто пробуют как Id, оказываются на обочине истории).
зы если каменты не нужны так и скажите

eao197 комментирует...

Для меня примеры на Фортрессе были намного понятнее, чем на Lisp-е. Во многом из-за синтаксиса, во многом из-за анотаций типов и более вменяемых имен переменных и аргументов :)

Может объяснение того, почему деление идет на 2 части дано в усной форме. Мне показалось, что как раз сопроводительного текста ко многим слайдам и не хватает.

Про то, что все кричат -- так работа у них такая :) Почитаешь того же Саттера, так все, нужно серьезно заниматься многопоточностью на многоядерности :)

Но больше всего мне не нравится в таких лозунгах то, что нигде нет предупреждений о том, что дробить работу по ядрам нужно осторожно (разве что Саттер в этом экстремизме меньше замечен). А то ведь горячие головы начнут применять parallel_for или parallel_sum даже для массивов в 10 элементов.

PS. А почему вы решили, что камменты не нужны? Нужны.