Communicating sequential processes
Communicating sequential processes
The relational model for database management: version 2
The relational model for database management: version 2
A bridging model for parallel computation
Communications of the ACM
The Verilog hardware description language (4th ed.)
The Verilog hardware description language (4th ed.)
The anatomy of a large-scale hypertextual Web search engine
WWW7 Proceedings of the seventh international conference on World Wide Web 7
Portable and Efficient Parallel Computing Using the BSP Model
IEEE Transactions on Computers
Composing contracts: an adventure in financial engineering (functional pearl)
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
The Design and Implementation of Glasgow Distributed Haskell
IFL '00 Selected Papers from the 12th International Workshop on Implementation of Functional Languages
The Paderborn University BSP (PUB) library
Parallel Computing
Modular Domain Specific Languages and Tools
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Barrier synchronisation: Axiomatisation and relaxation
Formal Aspects of Computing
Programming graphics processors functionally
Haskell '04 Proceedings of the 2004 ACM SIGPLAN workshop on Haskell
Tangible functional programming
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Pregel: a system for large-scale graph processing
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
A bridging model for multi-core computing
Journal of Computer and System Sciences
Using relations to develop a haskell program for computing maximum bipartite matchings
RAMiCS'12 Proceedings of the 13th international conference on Relational and Algebraic Methods in Computer Science
Hi-index | 0.00 |
Graph algorithms have fundamental applications in the real world but can be both cumbersome to implement in traditional languages and difficult to execute efficiently on modern multicore hardware. The Bulk Synchronous Parallel model of computation has recently been used to define vertex-centric computations on graphs. We describe an em- bedded domain specific language (using Haskell as the underlying host language) for specifying such algorithms, and show an implementation of an execution platform that allows to execute them on multicore systems in parallel. For several benchmarks varying in algorithm, graph size and edge distribution, we achieved speedups ranging from 9 up to 11 for 16 threads.