taskflow / Awesome Parallel Computing
A curated list of awesome parallel computing resources
Stars: ✭ 212
Projects that are alternatives of or similar to Awesome Parallel Computing
Parapet
A purely functional library to build distributed and event-driven systems
Stars: ✭ 106 (-50%)
Mutual labels: parallel-computing, distributed-systems, distributed-computing
Dtcraft
A High-performance Cluster Computing Engine
Stars: ✭ 122 (-42.45%)
Mutual labels: parallel-computing, distributed-systems
Distributedsystems
My Distributed Systems references
Stars: ✭ 67 (-68.4%)
Mutual labels: distributed-systems, distributed-computing
Orleans.clustering.kubernetes
Orleans Membership provider for Kubernetes
Stars: ✭ 140 (-33.96%)
Mutual labels: distributed-systems, distributed-computing
Protoactor Dotnet
Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
Stars: ✭ 1,070 (+404.72%)
Mutual labels: distributed-systems, distributed-computing
Distributedsystem Series
📚 深入浅出分布式基础架构,Linux 与操作系统篇 | 分布式系统篇 | 分布式计算篇 | 数据库篇 | 网络篇 | 虚拟化与编排篇 | 大数据与云计算篇
Stars: ✭ 1,092 (+415.09%)
Mutual labels: distributed-systems, distributed-computing
Scalecube Cluster
ScaleCube Cluster is a lightweight Java VM implementation of SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol. features cluster membership, failure detection, and gossip protocol library.
Stars: ✭ 119 (-43.87%)
Mutual labels: distributed-systems, distributed-computing
Qix
Machine Learning、Deep Learning、PostgreSQL、Distributed System、Node.Js、Golang
Stars: ✭ 13,740 (+6381.13%)
Mutual labels: distributed-systems, distributed-computing
Future.apply
🚀 R package: future.apply - Apply Function to Elements in Parallel using Futures
Stars: ✭ 159 (-25%)
Mutual labels: parallel-computing, distributed-computing
Geni
A Clojure dataframe library that runs on Spark
Stars: ✭ 152 (-28.3%)
Mutual labels: parallel-computing, distributed-computing
Construct
JavaScript Digital Organisms simulator
Stars: ✭ 17 (-91.98%)
Mutual labels: distributed-systems, distributed-computing
Klyng
A message-passing distributed computing framework for node.js
Stars: ✭ 167 (-21.23%)
Mutual labels: parallel-computing, distributed-computing
Distributed Consensus Reading List
A long list of academic papers on the topic of distributed consensus
Stars: ✭ 803 (+278.77%)
Mutual labels: distributed-systems, distributed-computing
Pwrake
Parallel Workflow extension for Rake, runs on multicores, clusters, clouds.
Stars: ✭ 57 (-73.11%)
Mutual labels: parallel-computing, distributed-computing
Lizardfs
LizardFS is an Open Source Distributed File System licensed under GPLv3.
Stars: ✭ 793 (+274.06%)
Mutual labels: distributed-systems, distributed-computing
Future
🚀 R package: future: Unified Parallel and Distributed Processing in R for Everyone
Stars: ✭ 735 (+246.7%)
Mutual labels: parallel-computing, distributed-computing
Hazelcast
Open-source distributed computation and storage platform
Stars: ✭ 4,662 (+2099.06%)
Mutual labels: distributed-systems, distributed-computing
Awesome Distributed Systems
Awesome list of distributed systems resources
Stars: ✭ 512 (+141.51%)
Mutual labels: distributed-systems, distributed-computing
Spark With Python
Fundamentals of Spark with Python (using PySpark), code examples
Stars: ✭ 150 (-29.25%)
Mutual labels: parallel-computing, distributed-computing
Bigmachine
Bigmachine is a library for self-managing serverless computing in Go
Stars: ✭ 167 (-21.23%)
Mutual labels: parallel-computing, distributed-systems
Awesome Parallel Computing Resources
A curated list of awesome parallel computing resources. Please feel free to update this page through submitting pull requests or emailing me.
Table of Contents
All the lists in this page are either in alphabetical order or chronological order.
Software
Programming Library
- CAF: An Open Source Implementation of the Actor Model in C++
- Chapel: A Programming Language for Productive Parallel Computing on Large-scale Systems
- Cilk Plus: C/C++ Extension for Data and Task Parallelism
- Taskflow: A Modern C++ Parallel Task Programming Library
- FastFlow: High-performance Parallel Patterns in C++
- Galois: A C++ Library to Ease Parallel Programming with Irregular Parallelism
- Heteroflow: Concurrent CPU-GPU Task Programming using Modern C++
- HPX: A C++ Standard Library for Concurrency and Parallelism
- Intel TBB: Threading Building Blocks
- Kokkos: A C++ Programming Model for Writing Performance Portable Applications on HPC platforms
- OpenMP: Multi-platform Shared-memory Parallel Programming in C/C++ and Fortran
- RaftLib: A C++ Library for Enabling Stream and Dataflow Parallel Computation
- STAPL: Standard Template Adaptive Parallel Programming Library in C++
- STLab: High-level Constructs for Implementing Multicore Algorithms with Minimized Contention
- Transwarp: A Header-only C++ Library for Task Concurrency
- Workflow: C++ Parallel Computing and Asynchronous Networking Engine
Concurrent Data Structures
- Boost.Lockfree: Thread-safe and Lock-free Containers
- ConcurrentQueue: A Fast Multi-producer Multi-consumer Lock-free Concurrent Queue in C++
- libcds: A C++ library of Concurrent Data Structures
- Parallel-Hashmap: A Header-only Very Fast and Memory-friendly Hash Map
- ReaderWriterQueue: A Fast Single-producer Single-consumer Lock-free Queue in C++
- xenium: A C++ library Providing Various Concurrent Data Structures and Reclamation Schemes
Coroutine and Fiber
- Boost.Fiber: A Framework for Userland-threads Programming and Scheduling
- cppcoro: A Library for C++ Coroutines Abstractions for the Coroutines TS
- Fiber Tasking Lib: A Library for Enabling Task-based Multi-threading using Fibers
- coro-async: A lite C++ coroutine TS based networking library
Presentations
Generic Parallel Computing Topics
- Concurrency in C++20 and Beyond - A. Williams
- Is Parallel Programming still Hard? - P. McKenney, M. Michael, and M. Wong at CppCon 2017
- The Speed of Concurrency: Is Lock-free Faster? - Fedor G Pikus in CppCon 2016
Scheduling in Parallel Processing
- Expressing Parallelism in C++ with Threading Building Blocks - Mike Voss at Intel Webinar 2018
- A Work-stealing Runtime for Rust - Aaron Todd in Air Mozilla 2017
Memory Model
- C++11/14/17 atomics and memory model: Before the story consumes you - Michael Wong in CppCon 2015
- The C++ Memory Model - Valentin Ziegler at C++ Meeting 2014
Learning Resources
Books
- C++ Concurrency in Action: Practical Multithreading - Anthony Williams 2012
- The Art of Multiprocessor Programming - Maurice Herlihy 2012
- Parallel Computing: Theory and Practice - Umut A. Acar 2016
Tutorials
- Parallel Computing Training Tutorials - Lawrence Livermore National Laboratory
Position Papers
- The Landscape of Parallel Computing Research: A View from Berkeley
- Extreme Heterogeneity 2018: Productive Computational Science in the Era of Extreme Heterogeneity
Experimental Papers
Courses
- CS6290 High-performance Computer Architecture - Milos Prvulovic and Catherine Gamboa at George Tech
Datasets
Links
Blogs
- 1024 Cores - Dmitry Vyukov
- Michael Wong's Standard on Parallelism and Programming Languages - Michael Wong
- Preshing on Programming - Jeff Preshing
- Sutter's Mill - Herb Sutter
- The Black Art of Concurrency - Internal Pointers
Journals
- IEEE Transactions on Parallel and Distributed Systems (TPDS)
- Journal of Parallel and Distributed Computing
Conferences
- ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP)
- ACM Symposium on Parallel Algorithms and Architectures (SPAA)
- ACM/IEEE International Conference for High-performance Computing, Networking, Storage, and Analysis (SC)
- IEEE International Parallel and Distributed Processing Symposium (IPDPS)
- International Conference on Parallel Processing (ICPP)
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].