Саймон Марлоу
Параллельное и конкурентное
программирование на языке
Haskell
Москва, 2014
Parallel and Concurrent
PrograПlПling in Haskell
Simon Marlow
O'REILLY®
Beijing • Cambridge • Farnham • K6ln • Sebastopol • Tokyo
Параллельное и конкурентное
программирование на языке
Haskell
Саймон Марлоу
Перевод с английского
В. Н. Брагилевского
Москва, 2014
УДК 004. 432. 42 Haskell
ББК 32. 973. 28-018. 1
М28
М28 Саймон Марлоу
Параллельное и конкурентное программирование на языке Haskell / Пер . с англ. В . Н. Брагилевского. М. : ДМК Пресс, 2014. - 372 с . : ил.
-
ISBN 978-5-9407 4-984-4
Если вы уже владеете программированием на языке Haskell, эта книга на
учит вас использованию множества интерфейсов и библиотек, предназначенных
для написания параллельных и конкурентных программ. Вы узнаете, как распа
раллеливание на многоядерные процессоры позволяет ускорять вычислительно
нагруженные программы и как конкурентность облегчает написание программ с
активно взаимодействующими между собой и с другими программами потоками. Автор Саймон Марлоу проведёт вас по этому пути, сопровождая его боль
шим количеством примеров, с которыми можно самостоятельно экспериментиро
вать, запуская, изменяя и расширяя. Книга делится на две части, посвящённые
таким инструментам, как Parallel Haskell и Concurrent Haskell, включённые в неё
упражнения позволят вам научиться:
• выражать параллелизм в языке Haskell средствами монады Eval и страте
гий вычислений;
• распараллеливать обычный код на языке Haskell в монаде Par;
• организовывать параллельные вычисления с массивами на основе библио
теки Repa;
• использовать библиотеку Accelerate для запуска вычислений на графиче-
ских процессорах;
• работать с базовыми интерфейсами для написания конкурентного кода;
• реализовывать высокопроизводительные конкурентные сетевые серверы;
• писать распределённые программы, запускающиеся на множестве машин
сети. УДК 004. 432. 42 Haskell
ББ 32. 973. 28-018. 1
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы
то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев
авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероят
ность технических ошибок всё равно существует, издательство не может гарантировать аб
солютную точность и правильность приводимых сведений.
В связи с этим издательство не
несёт ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-449-33594-6 (англ . ) © 2013 Simon Marlow
ISBN 978-5-94074-984-4 (рус. ) © Перевод на русский язык, оформление,
ДМК Пресс, 2014
Оглавлен ие
Предисловие . . . . . . . . . . . . . . . . . . . . . . 10
1.