LINUX.ORG.RU

Parallel and Concurrent Programming in Haskell

 


4

6

Если кто-то ещё не видел, вышла книжка Simon Marlow на тему конкурентности и параллелизма в Haskell — http://shop.oreilly.com/product/0636920026365.do.

Почитать online можно тут — http://chimera.labs.oreilly.com/books/1230000000929/index.html (возможно, временно).

★★★★

If you have a working knowledge of Haskell, this hands-on book shows you how to use the language’s many APIs and frameworks for writing both parallel and concurrent programs.

Через пол-годика книжка устареет?

Deleted
()
Ответ на: комментарий от TERRANZ

как-будто это нельзя комбинировать.

ymn ★★★★★
()
Ответ на: комментарий от Deleted

Посмотрел тут (17-May-2011) — base, stm, parallel, monad-par, async (которого (2.*), правда, тогда ещё не было), всё API что было — осталось таким же. Будут ли ломаться другие пакеты — можно только гадать, accelerate и cloud haskell — 0.*, например. Ещё если под «устаревать» понимать появление разных pipes-concurrency и прочих «новшеств» — всё может быть.

А так в сабжевой книжке есть общие места и примеры которым трудно устареть, так как они не хаскель-специфичны — по содержанию должно быть понятно.

quasimoto ★★★★
() автор топика
Последнее исправление: quasimoto (всего исправлений: 1)
Ответ на: комментарий от sleepflint

http://chimera.labs.oreilly.com/books/1230000000929/ch01.html#sec_terminology

Параллелизм должен быть «настоящим» (по отношению к cores CPU / GPU), конкурентность не обязана — можно реализовать абстракцию fork в kernel / user space на одном ядре каким-нибудь round-robin-ом, добавив взаимодействие с IO асинхронными сообщениями (прерывания / epoll). Возможность планировщику при этом выполнять задачи на разных ядрах — это уже оптимизация реализации конкурентности, то есть не главное, главное это API fork/join/kill/... которое можно использовать для структурирования программ, тогда как параллелизм — всегда только про «ускорить вычисление задействовав дополнительные ядра» (пока Амдал позволяет).

То есть, «параллелить на 10^3-6 ядер» — тут смысла просто нет, обычно это всего несколько ядер (ну, десяток-другой, в пределе). Тогда как «форкать 10^3-6 конкурентных задач» — вполне.

quasimoto ★★★★
() автор топика
Последнее исправление: quasimoto (всего исправлений: 1)
Ответ на: комментарий от quasimoto

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

qnikst ★★★★★
()

надо будет купить бумажную.

qnikst ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.