30 repository-uri
Executing multiple asynchronous computations simultaneously and aggregating their results.
Distinct from Computational Parallelization: Existing candidates focus on high-performance hardware simulation or GPU computing, not general-purpose asynchronous task parallelism in a functional library.
Explore 30 awesome GitHub repositories matching software engineering & architecture · Parallel Task Execution. Refine with filters or upvote what's useful.
Colly is a web scraping framework and concurrent crawler written in Go. It provides a system for traversing web pages, following links, and extracting structured data from HTML and XML documents. The framework includes a distributed scraping engine designed to spread data collection tasks across multiple instances to increase throughput. It ensures compliance with website owner policies by automatically reading and respecting robots.txt files. The system manages request lifecycles through domain-based rate limiting, concurrency controls, and session management via a stateful cookie jar. It s
Implements asynchronous and parallel execution modes to optimize the speed of data collection.
Codon is an LLVM-based Python compiler and statically typed implementation that translates source code into optimized machine instructions. It functions as a high-performance numerical backend and a GPU computing framework designed to remove runtime overhead. The project implements a compiled alternative to NumPy, translating array logic directly into machine code. It differentiates itself by generating specialized hardware kernels for graphics processors and utilizing static type inference to enable aggressive machine-code optimization. The system provides capabilities for parallel workload
Distributes computational tasks across multiple CPU threads to reduce total execution time.
Edict is a multi-agent orchestration system and framework designed to coordinate specialized large language model agents. It functions as a workflow designer and orchestrator that decomposes complex objectives into structured plans, using directed acyclic graphs and role-based hierarchies to execute sub-tasks. The system is distinguished by its event-driven architecture, utilizing a publish-subscribe event bus and transactional outbox to manage agent communications and task transitions. It features a dedicated skill management system that allows for the importation, updating, and sandboxed ex
Executes multiple agent tasks simultaneously using resource locking and automated retry logic.
fp-ts is a TypeScript library that brings pure functional programming patterns to the language through algebraic data types, type class abstractions, and composable combinators. It provides foundational data types like Option for optional values, Either for typed error handling, and Task for lazy asynchronous computations, all designed to make invalid states unrepresentable and side effects explicit. The library is built on category theory concepts, offering type classes such as Functor, Applicative, Monad, Semigroup, and Monoid with lawful instances for common data structures. The library di
Provides combinators for executing multiple tasks concurrently and combining their results.
oneAPI Threading Building Blocks (oneTBB)
Executes independent work items concurrently across available processor cores to speed up computation.
oneTBB este o bibliotecă și un framework de paralelism C++ conceput pentru a adăuga paralelism multi-core aplicațiilor. Oferă un model de paralelism bazat pe sarcini (task-based) care mapează sarcinile computaționale logice pe nucleele hardware disponibile, eliminând necesitatea gestionării manuale a thread-urilor. Biblioteca funcționează ca un instrument de scalare multi-core, utilizând șabloane generice pentru a scala operațiunile de paralelism de date pe procesoare, pentru performanță portabilă. Utilizează un framework bazat pe sarcini pentru a asigura distribuirea sarcinilor de lucru computaționale pe resursele hardware. Proiectul acoperă paralelismul cu memorie partajată, programarea sarcinilor multi-core și scalarea paralelismului de date. Utilizează un scheduler de sarcini de tip work-stealing, divizarea recursivă a intervalelor și echilibrarea dinamică a încărcării pentru a gestiona distribuția muncii pe nuclee la runtime.
Implements a model for executing multiple asynchronous computations simultaneously and aggregating their results.
Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming patterns. It serves as a framework for typed error handling, a concurrency toolkit, and a library for the manipulation of immutable data. The project distinguishes itself through specialized capabilities for managing application failures using explicit types instead of exceptions and implementing resilience patterns such as circuit breakers and retry policies for distributed services. It also provides optics to update and query deeply nested immutable data structures without man
Executes multiple asynchronous computations simultaneously and aggregates their results to improve performance.
OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and expressiveness. It provides a comprehensive compiling toolchain that transforms source code into either portable bytecode or high-performance native binaries. The project is distinguished by a shared memory parallel runtime that executes computations across multiple processor cores using domains, and an algebraic effect system for managing side effects and control flow through execution context handlers. It also includes a dedicated parser generator to automatically create lexers and
Executes tasks across multiple shared-memory domains to utilize multi-core processor architectures.
Open Multi-Agent is a TypeScript framework for multi-agent orchestration that decomposes natural language goals into a runtime-generated directed acyclic graph of tasks. It functions as a task orchestrator and workflow state manager, coordinating multiple AI models to execute parallel and sequential operations. The framework is distinguished by a proposer-judge consensus protocol used to validate agent outputs through a quorum of agreement. It employs provider-agnostic model routing to assign specific models to tasks based on roles or execution phases and utilizes state-based workflow checkpo
Executes independent tasks within a dependency graph concurrently to reduce total processing time.
Moleculer is a Node.js microservices framework designed for building distributed systems. It functions as a distributed service broker, task orchestrator, and service mesh framework, enabling a decentralized architecture with built-in service discovery and load balancing. The project differentiates itself through a pluggable transport layer supporting protocols such as NATS, Redis, TCP, and Kafka, as well as a dedicated microservices API gateway that maps external HTTP and WebSocket requests to internal service actions. It includes built-in fault tolerance mechanisms, including circuit breake
Triggers multiple service calls simultaneously to aggregate data or perform concurrent tasks in parallel.
Elvish is a shell that combines interactive command-line use with a structured scripting language, designed to make both everyday terminal work and automation tasks more predictable and readable. It parses, compiles, and executes code in three phases, catching syntax and variable errors before any code runs, and it aborts execution on command failure by default to prevent silent errors. The shell introduces value-oriented pipelines that pass structured data like lists, maps, and closures between commands, preserving types without serialization. It also mixes traditional byte streams with thes
Executes a function concurrently for each list element and waits for all to finish.
vcmi is an open-source game engine for Heroes of Might and Magic III that recreates the gameplay, logic, and rendering of the original strategy game. It serves as a cross-platform game runtime supporting Windows, Linux, macOS, Android, and iOS, providing a turn-based strategy simulator for strategic world map navigation and tactical combat. The project is built as a moddable game framework, featuring a data-driven modding system and a sandboxed Lua scripting integration. These allow for the definition of custom gameplay logic, spell effects, and the addition of new factions, characters, and a
Distributes demanding computations across multiple CPU threads to prevent application freezes.
Leaf este un framework de server de jocuri scris în Go, conceput pentru construirea backend-urilor de jocuri multiplayer. Oferă o arhitectură modulară care organizează logica serverului în module independente și include un scheduler de task-uri concurente pentru gestionarea funcțiilor ordonate, întârziate sau recurente. Framework-ul dispune de un server TCP și WebSocket care gestionează conexiuni simultane printr-o singură interfață. Încorporează un router de mesaje capabil să decodeze date Protobuf și JSON pentru a mapa pachetele de rețea primite către module interne specifice ale serverului. Sistemul include capabilități pentru rutare de rețea multi-protocol, distribuția sarcinilor de lucru pe mai multe nuclee și logarea evenimentelor de sistem. De asemenea, oferă utilitare pentru încărcarea fișierelor de configurare CSV în structuri indexate rezidente în memorie pentru căutări rapide de date.
Distributes workloads across CPU cores using a pipeline for concurrent process execution with ordered callbacks.
Inngest is a durable execution framework and event-driven automation engine designed to orchestrate background workflows. It enables developers to build resilient, stateful processes by memoizing function steps, ensuring that long-running tasks can automatically resume from the last successful operation after failures, timeouts, or infrastructure restarts. The platform distinguishes itself through its event-driven architecture, which uses a schema-validated bus to trigger functions and coordinate complex, multi-step logic. It employs an onion-model middleware approach for cross-cutting concer
Executes multiple independent background tasks simultaneously in response to a single event, ensuring that failures in one task do not impact the execution of others.
GraphQL-Ruby este o bibliotecă Ruby pentru construirea de API-uri GraphQL cu o schemă puternic tipizată și un motor dedicat de execuție a interogărilor. Aceasta oferă un framework cuprinzător pentru maparea obiectelor aplicației la un sistem formal de tipuri, permițând preluarea structurată a datelor prin resolver-e definite. Proiectul se distinge prin mecanisme avansate de performanță și livrare, inclusiv un data loader pentru batching și caching, menit să prevină tiparele de interogare N+1. Suportă livrarea de date de înaltă performanță prin streaming incremental de răspunsuri, răspunsuri amânate la interogări și preluarea paralelă a datelor folosind fibers. În plus, oferă suport nativ pentru convențiile Relay, inclusiv helper-e specializate pentru conexiuni și identificarea obiectelor. Biblioteca acoperă o suprafață largă de gestionare a API-urilor, incluzând controlul accesului granular, versionarea schemei pentru a menține compatibilitatea backward și actualizări în timp real prin subscripții. Include, de asemenea, instrumente de gestionare a traficului pentru a proteja resursele serverului, cum ar fi limitarea complexității interogărilor și limitarea ratei de cereri. Dezvoltarea și observabilitatea sunt susținute prin instrumente de analiză AST, tracing de execuție și utilitare de testare specializate pentru verificarea încărcării în loturi (batch loading).
Runs external service calls and database queries concurrently using asynchronous tasks to prevent sequential queuing.
SparkInternals este un ghid tehnic de referință și arhitectură care detaliază designul intern și implementarea motorului de calcul distribuit Apache Spark. Acesta servește drept studiu de analiză a motoarelor de big data, concentrându-se pe modul în care sistemul gestionează execuția în cluster și interacțiunea dintre nodurile driver, executori și workeri. Proiectul oferă o detaliere a modului în care planurile logice sunt convertite în etape de execuție fizică. Analizează în mod specific mecanica operațiunilor de shuffle a datelor, gestionarea memoriei și coordonarea programării joburilor distribuite. Documentația acoperă o gamă largă de capabilități de calcul distribuit, inclusiv planificarea execuției interogărilor, gestionarea dependențelor de date și strategii de caching în memorie. De asemenea, examinează distribuția sarcinilor, execuția paralelă și procesele utilizate pentru recuperarea în caz de eroare și persistența datelor.
Implements parallel execution of deserialized tasks on worker nodes using thread pools.
FluidX3D este un solver de dinamică a fluidelor computaționale (CFD) accelerat pe GPU și un simulator de fluide bazat pe voxeli. Utilizează metoda lattice Boltzmann pentru a simula comportamentul gazelor și lichidelor, presiunea și viteza printr-o abstractizare hardware bazată pe OpenCL care suportă atât procesoare grafice, cât și CPU-uri. Sistemul se specializează în simularea fluxului multifazic folosind metode volume-of-fluid pentru modelarea suprafeței libere și a picăturilor. Include un simulator termic pentru modelarea transferului de căldură și a convecției termice, alături de instrumente pentru analiza forțelor aerodinamice pentru a calcula portanța, rezistența și cuplul asupra obiectelor fizice. Software-ul oferă o suită cuprinzătoare de capabilități de simulare, inclusiv urmărirea particulelor Lagrangian pentru interacțiunea fluidă bidirecțională, animația obiectelor rotative prin re-voxelizare periodică și stabilizarea fluxului turbulent pentru numere Reynolds ridicate. Gestionează datele prin importul geometriei mesh-urilor triunghiulare și suportă diverse metode de vizualizare, inclusiv extracția suprafeței prin marching cubes, rasterizarea în memorie și randarea video. Performanța este gestionată prin descompunerea domeniului multi-GPU și compresia memoriei în jumătate de precizie (half-precision).
Distributes workloads across multiple CPU threads to accelerate computation time.
Radash este o bibliotecă de utilitare funcționale TypeScript concepută pentru transformarea datelor, validare și gestionarea fluxurilor de lucru. Oferă o colecție de funcții helper tipizate pentru a manipula array-uri, obiecte și șiruri de caractere. Proiectul dispune de un toolkit de flux de lucru asincron pentru gestionarea promisiunilor, reîncercărilor și limitelor de concurență, alături de o suită de validatoare booleene pentru verificarea tipurilor primitive, obiectelor și promisiunilor. De asemenea, implementează modele de programare funcțională, cum ar fi compunerea funcțiilor, aplicarea parțială și modele de răspuns de tip error-first. Biblioteca acoperă o arie largă de capabilități, inclusiv gestionarea stării obiectelor cu deep cloning și merging, manipulări complexe de array-uri și formatarea șirurilor. În plus, oferă instrumente pentru optimizarea execuției, cum ar fi limitarea ratei (rate limiting) și caching-ul rezultatelor.
Offers a utility to process asynchronous functions concurrently with simultaneous execution limits and error aggregation.
statsforecast este o bibliotecă de prognoză statistică a seriilor temporale de înaltă performanță, concepută pentru a genera prognoze punctuale și intervale de predicție. Funcționează ca un framework distribuit de serii temporale care utilizează un motor de prognoză bazat pe C și un selector automat de modele pentru a identifica și potrivi modelul statistic optim pentru fiecare serie unică dintr-un set de date. Sistemul include, de asemenea, un detector de anomalii pentru serii temporale pentru a identifica punctele de date neobișnuite prin compararea valorilor observate cu intervalele de prognoză probabilistice. Proiectul se distinge prin capacitatea sa de a gestiona prognoza paralelă la scară masivă pentru milioane de serii individuale. Realizează acest lucru printr-un framework de calcul distribuit, execuție paralelă multi-core și kernel-uri C compilate care accelerează logica de bază ARIMA și de netezire exponențială. Sistemul optimizează în continuare procesarea la scară largă folosind un layout de date în format lung și un pipeline de date cu evaluare leneșă (lazy-evaluation) pentru a reduce overhead-ul de memorie. Biblioteca oferă o suită cuprinzătoare de modele, inclusiv AutoARIMA, diverse metode de netezire exponențială pentru cererea intermitentă sau sezonieră, descompunerea Theta și modelarea volatilității GARCH pentru riscul financiar. Acoperă domenii mai largi de capabilități, cum ar fi prognoza multivariată cu variabile exogene, descompunerea seriilor temporale și evaluarea modelelor prin cross-validare istorică și analiză sliding window. Biblioteca se integrează cu structuri de date de înaltă performanță precum Polars și oferă utilitare pentru a servi modelele salvate ca endpoint-uri REST pentru predicții accesibile prin rețea.
Distributes model fitting and forecasting tasks across multiple processor cores to handle millions of series.
Acest repository este o colecție de provocări de programare JavaScript și un ghid cuprinzător pentru interviuri. Oferă implementări de referință și exemple educaționale concepute pentru a ajuta dezvoltatorii să stăpânească fundamentele limbajului și să se pregătească pentru interviuri tehnice. Proiectul acoperă o gamă largă de implementări specializate, inclusiv tipare de programare funcțională precum currying și aplicarea parțială, precum și tipare asincrone pentru controlul concurenței. Include, de asemenea, exemple practice de manipulare a Document Object Model (DOM) și implementarea structurilor de date comune, cum ar fi stivele și cozile. În linii mari, colecția acoperă caracteristici avansate ale limbajului, implementări de tipare de design și manipularea structurilor de date. Adresează o suprafață care include programarea asincronă, interacțiunea cu DOM-ul, tipare de creație orientate pe obiecte și operațiuni primitive de nivel scăzut.
Executes multiple asynchronous computations simultaneously and aggregates their results into a single array.