Parallel and Concurrent Programming in Haskell. Techniques for Multicore and Multithreaded Programming
![Język publikacji: angielski Język publikacji: angielski](https://static01.helion.com.pl/global/flagi/1.png)
- Autor:
- Simon Marlow
![Parallel and Concurrent Programming in Haskell. Techniques for Multicore and Multithreaded Programming Simon Marlow - okładka ebooka](https://static01.helion.com.pl/global/okladki/326x466/e_e06i.png)
![Parallel and Concurrent Programming in Haskell. Techniques for Multicore and Multithreaded Programming Simon Marlow - tył okładki ebooka](https://static01.helion.com.pl/global/okladki-tyl/326x466/e_e06i.png)
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 322
- Dostępne formaty:
-
ePubMobi
Opis ebooka: Parallel and Concurrent Programming in Haskell. Techniques for Multicore and Multithreaded Programming
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. You’ll learn how parallelism exploits multicore processors to speed up computation-heavy programs, and how concurrency enables you to write programs with threads for multiple interactions.
Author Simon Marlow walks you through the process with lots of code examples that you can run, experiment with, and extend. Divided into separate sections on Parallel and Concurrent Haskell, this book also includes exercises to help you become familiar with the concepts presented:
- Express parallelism in Haskell with the Eval monad and Evaluation Strategies
- Parallelize ordinary Haskell code with the Par monad
- Build parallel array-based computations, using the Repa library
- Use the Accelerate library to run computations directly on the GPU
- Work with basic interfaces for writing concurrent code
- Build trees of threads for larger and more complex programs
- Learn how to build high-speed concurrent network servers
- Write distributed programs that run on multiple machines in a network
Wybrane bestsellery
-
Ta książka zawiera szereg praktycznych wskazówek dotyczących przygotowania, przeprowadzania i oceniania wyników kontrolowanych eksperymentów online. Dzięki niej nauczysz się stosować naukowe podejście do formułowania założeń i oceny hipotez w testach A/B, dowiesz się także, jak sprawdzać wiarygod...
Kontrolowane eksperymenty online. Praktyczny przewodnik po testach A/B Kontrolowane eksperymenty online. Praktyczny przewodnik po testach A/B
(55.30 zł najniższa cena z 30 dni)51.35 zł
79.00 zł(-35%) -
Pytest – nowoczesny framework do uruchamiania testów automatycznych w języku Python. Można używać tej platformy do przeprowadzania testów jednostkowych, ale sprawdzi się świetnie także podczas konstruowania rozbudowanych testów wyższego poziomu (integracyjnych, end-to-end) dla całych aplika...
Pytest. Kurs video. Automatyzacja testów w Pythonie Pytest. Kurs video. Automatyzacja testów w Pythonie
(81.95 zł najniższa cena z 30 dni)67.05 zł
149.00 zł(-55%) -
Testowanie oprogramowania to jedna z najdynamiczniej rozwijających się dziedzin inżynierii oprogramowania. Zarobki doświadczonych testerów są porównywalne z wynagrodzeniem, jakie otrzymują dobrzy programiści. Aby rozpocząć karierę w tym zawodzie, trzeba się legitymować odpowiednimi umiejętnościam...
Certyfikowany tester ISTQB®. Poziom podstawowy. Wydanie II Certyfikowany tester ISTQB®. Poziom podstawowy. Wydanie II
(65.40 zł najniższa cena z 30 dni)70.85 zł
109.00 zł(-35%) -
Ten praktyczny przewodnik zawiera szeroki przegląd strategii, wzorców i form testowania oprogramowania, ułatwiających dobór ścieżek i podejść do konkretnych projektów w zależności od zakresu, budżetu i ram czasowych. Książka uczy przydatnych umiejętności w zakresie przeprowadzania testów wydajnoś...
Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości
(53.40 zł najniższa cena z 30 dni)57.84 zł
89.00 zł(-35%) -
Naglący termin, niedoczas, permanentne opóźnienie - oto najwierniejsi towarzysze i zarazem najwięksi wrogowie kierownika projektu. Nawet certyfikowani project managerowie, ludzie z ogromną wiedzą i nie mniejszym doświadczeniem, raz po raz znajdują się w sytuacji, w której potrzeba naprawdę wielki...(35.40 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł(-35%) -
Trzymasz w dłoni kolejne wydanie niezwykle popularnego podręcznika do nauki C. Podobnie jak poprzednie wydania, także to zostało zaktualizowane i uzupełnione, między innymi o elementy standardu C11. Książka stanowi przemyślane, przejrzyste i wnikliwe wprowadzenie do języka C. Czytelnie wyjaśnia z...(107.40 zł najniższa cena z 30 dni)
116.35 zł
179.00 zł(-35%) -
Ta książka to sprawdzone źródło informacji na temat Pythona i jego najczęstszych zastosowań. Należy ona do cenionej serii „Receptury”, w której znajdziesz najlepsze sposoby rozwiązywania problemów. Przekonaj się, jak wydajnie operować na strukturach danych, łańcuchach znaków, tekście ...(9.90 zł najniższa cena z 30 dni)
49.50 zł
99.00 zł(-50%) -
„Excel jest naprawdę fantastycznym programem, a jego możliwości są nieskończone…” — myślisz zwykle do chwili, w której okazuje się, że coś, co powinno zająć Ci dwie minuty, zajmuje całe godziny, ponieważ projektanci Excela czegoś nie przewidzieli. Wtedy właśnie do akcji po...(6.45 zł najniższa cena z 30 dni)
6.45 zł
12.90 zł(-50%) -
You'll learn to use Angular to develop and test scalable apps, and explore its features and master concepts, such as dependency injection, reactive programming, and state management, as well as utilize libraries like Nx, RxJS, and NgRx to build professional apps.
Effective Angular. Develop applications of any size by effectively using Angular with Nx, RxJS, NgRx, and Cypress Effective Angular. Develop applications of any size by effectively using Angular with Nx, RxJS, NgRx, and Cypress
(78.48 zł najniższa cena z 30 dni) -
This book explores the potential of ChatGPT-powered chatbots and conversational AI. You'll delve into understanding the technology, its implementation, and practical use cases, while leveraging AI-powered conversations.
ChatGPT for Conversational AI and Chatbots. Learn how to automate conversations with the latest large language model technologies ChatGPT for Conversational AI and Chatbots. Learn how to automate conversations with the latest large language model technologies
(92.88 zł najniższa cena z 30 dni)
Ebooka "Parallel and Concurrent Programming in Haskell. Techniques for Multicore and Multithreaded Programming" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Parallel and Concurrent Programming in Haskell. Techniques for Multicore and Multithreaded Programming" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Parallel and Concurrent Programming in Haskell. Techniques for Multicore and Multithreaded Programming" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-14-493-3590-8, 9781449335908
- Data wydania ebooka:
-
2013-07-12
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 2.6MB
- Rozmiar pliku Mobi:
- 7.0MB
Spis treści ebooka
- Parallel and Concurrent Programming in Haskell
- Preface
- Audience
- How to Read This Book
- Conventions Used in This Book
- Using Sample Code
- Safari Books Online
- How to Contact Us
- Acknowledgments
- 1. Introduction
- Terminology: Parallelism and Concurrency
- Tools and Resources
- Sample Code
- I. Parallel Haskell
- 2. Basic Parallelism: The Eval Monad
- Lazy Evaluation and Weak Head Normal Form
- The Eval Monad, rpar, and rseq
- Example: Parallelizing a Sudoku Solver
- Deepseq
- 2. Basic Parallelism: The Eval Monad
- 3. Evaluation Strategies
- Parameterized Strategies
- A Strategy for Evaluating a List in Parallel
- Example: The K-Means Problem
- Parallelizing K-Means
- Performance and Analysis
- Visualizing Spark Activity
- Granularity
- GCd Sparks and Speculative Parallelism
- Parallelizing Lazy Streams with parBuffer
- Chunking Strategies
- The Identity Property
- 4. Dataflow Parallelism: The Par Monad
- Example: Shortest Paths in a Graph
- Pipeline Parallelism
- Rate-Limiting the Producer
- Limitations of Pipeline Parallelism
- Example: A Conference Timetable
- Adding Parallelism
- Example: A Parallel Type Inferencer
- Using Different Schedulers
- The Par Monad Compared to Strategies
- 5. Data Parallel Programming with Repa
- Arrays, Shapes, and Indices
- Operations on Arrays
- Example: Computing Shortest Paths
- Parallelizing the Program
- Folding and Shape-Polymorphism
- Example: Image Rotation
- Summary
- 6. GPU Programming with Accelerate
- Overview
- Arrays and Indices
- Running a Simple Accelerate Computation
- Scalar Arrays
- Indexing Arrays
- Creating Arrays Inside Acc
- Zipping Two Arrays
- Constants
- Example: Shortest Paths
- Running on the GPU
- Debugging the CUDA Backend
- Example: A Mandelbrot Set Generator
- II. Concurrent Haskell
- 7. Basic Concurrency: Threads and MVars
- A Simple Example: Reminders
- Communication: MVars
- MVar as a Simple Channel: A Logging Service
- MVar as a Container for Shared State
- MVar as a Building Block: Unbounded Channels
- Fairness
- 7. Basic Concurrency: Threads and MVars
- 8. Overlapping Input/Output
- Exceptions in Haskell
- Error Handling with Async
- Merging
- 9. Cancellation and Timeouts
- Asynchronous Exceptions
- Masking Asynchronous Exceptions
- The bracket Operation
- Asynchronous Exception Safety for Channels
- Timeouts
- Catching Asynchronous Exceptions
- mask and forkIO
- Asynchronous Exceptions: Discussion
- 10. Software Transactional Memory
- Running Example: Managing Windows
- Blocking
- Blocking Until Something Changes
- Merging with STM
- Async Revisited
- Implementing Channels with STM
- More Operations Are Possible
- Composition of Blocking Operations
- Asynchronous Exception Safety
- An Alternative Channel Implementation
- Bounded Channels
- What Can We Not Do with STM?
- Performance
- Summary
- 11. Higher-Level Concurrency Abstractions
- Avoiding Thread Leakage
- Symmetric Concurrency Combinators
- Timeouts Using race
- Adding a Functor Instance
- Summary: The Async API
- 12. Concurrent Network Servers
- A Trivial Server
- Extending the Simple Server with State
- Design One: One Giant Lock
- Design Two: One Chan Per Server Thread
- Design Three: Use a Broadcast Chan
- Design Four: Use STM
- The Implementation
- A Chat Server
- Architecture
- Client Data
- Server Data
- The Server
- Setting Up a New Client
- Running the Client
- Recap
- 13. Parallel Programming Using Threads
- How to Achieve Parallelism with Concurrency
- Example: Searching for Files
- Sequential Version
- Parallel Version
- Performance and Scaling
- Limiting the Number of Threads with a Semaphore
- The ParIO monad
- 14. Distributed Programming
- The Distributed-Process Family of Packages
- Distributed Concurrency or Parallelism?
- A First Example: Pings
- Processes and the Process Monad
- Defining a Message Type
- The Ping Server Process
- The Master Process
- The main Function
- Summing Up the Ping Example
- Multi-Node Ping
- Running with Multiple Nodes on One Machine
- Running on Multiple Machines
- Typed Channels
- Merging Channels
- Handling Failure
- The Philosophy of Distributed Failure
- A Distributed Chat Server
- Data Types
- Sending Messages
- Broadcasting
- Distribution
- Testing the Server
- Failure and Adding/Removing Nodes
- Exercise: A Distributed Key-Value Store
- 15. Debugging, Tuning, and Interfacing with Foreign Code
- Debugging Concurrent Programs
- Inspecting the Status of a Thread
- Event Logging and ThreadScope
- Detecting Deadlock
- Debugging Concurrent Programs
- Tuning Concurrent (and Parallel) Programs
- Thread Creation and MVar Operations
- Shared Concurrent Data Structures
- RTS Options to Tweak
- Concurrency and the Foreign Function Interface
- Threads and Foreign Out-Calls
- Asynchronous Exceptions and Foreign Calls
- Threads and Foreign In-Calls
- Index
- About the Author
- Colophon
- Copyright
O'Reilly Media - inne książki
-
Keeping up with the Python ecosystem can be daunting. Its developer tooling doesn't provide the out-of-the-box experience native to languages like Rust and Go. When it comes to long-term project maintenance or collaborating with others, every Python project faces the same problem: how to build re...(203.15 zł najniższa cena z 30 dni)
203.29 zł
239.00 zł(-15%) -
Bringing a deep-learning project into production at scale is quite challenging. To successfully scale your project, a foundational understanding of full stack deep learning, including the knowledge that lies at the intersection of hardware, software, data, and algorithms, is required.This book il...(237.15 zł najniższa cena z 30 dni)
244.53 zł
279.00 zł(-12%) -
Frontend developers have to consider many things: browser compatibility, usability, performance, scalability, SEO, and other best practices. But the most fundamental aspect of creating websites is one that often falls short: accessibility. Accessibility is the cornerstone of any website, and if a...(202.60 zł najniższa cena z 30 dni)
202.55 zł
239.00 zł(-15%) -
In this insightful and comprehensive guide, Addy Osmani shares more than a decade of experience working on the Chrome team at Google, uncovering secrets to engineering effectiveness, efficiency, and team success. Engineers and engineering leaders looking to scale their effectiveness and drive tra...(116.53 zł najniższa cena z 30 dni)
116.48 zł
149.00 zł(-22%) -
Data modeling is the single most overlooked feature in Power BI Desktop, yet it's what sets Power BI apart from other tools on the market. This practical book serves as your fast-forward button for data modeling with Power BI, Analysis Services tabular, and SQL databases. It serves as a starting ...(202.78 zł najniższa cena z 30 dni)
202.28 zł
239.00 zł(-15%) -
C# is undeniably one of the most versatile programming languages available to engineers today. With this comprehensive guide, you'll learn just how powerful the combination of C# and .NET can be. Author Ian Griffiths guides you through C# 12.0 and .NET 8 fundamentals and techniques for building c...(245.09 zł najniższa cena z 30 dni)
244.59 zł
279.00 zł(-12%) -
Learn how to get started with Futures Thinking. With this practical guide, Phil Balagtas, founder of the Design Futures Initiative and the global Speculative Futures network, shows you how designers and futurists have made futures work at companies such as Atari, IBM, Apple, Disney, Autodesk, Luf...(150.10 zł najniższa cena z 30 dni)
150.00 zł
179.00 zł(-16%) -
Augmented Analytics isn't just another book on data and analytics; it's a holistic resource for reimagining the way your entire organization interacts with information to become insight-driven.Moving beyond traditional, limited ways of making sense of data, Augmented Analytics provides a dynamic,...(178.05 zł najniższa cena z 30 dni)
177.85 zł
209.00 zł(-15%) -
Learn how to prepare for—and pass—the Kubernetes and Cloud Native Associate (KCNA) certification exam. This practical guide serves as both a study guide and point of entry for practitioners looking to explore and adopt cloud native technologies. Adrián González Sánchez ...
Kubernetes and Cloud Native Associate (KCNA) Study Guide Kubernetes and Cloud Native Associate (KCNA) Study Guide
(169.14 zł najniższa cena z 30 dni)177.65 zł
199.00 zł(-11%) -
Python is an excellent way to get started in programming, and this clear, concise guide walks you through Python a step at a time—beginning with basic programming concepts before moving on to functions, data structures, and object-oriented design. This revised third edition reflects the gro...(143.54 zł najniższa cena z 30 dni)
143.04 zł
179.00 zł(-20%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
![Loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
![ajax-loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
Oceny i opinie klientów: Parallel and Concurrent Programming in Haskell. Techniques for Multicore and Multithreaded Programming Simon Marlow (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.