26 Repos
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 26 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 ist eine C++-Parallelitätsbibliothek und ein Framework, das darauf ausgelegt ist, Anwendungen um Multi-Core-Parallelität zu erweitern. Es bietet ein auf Tasks basierendes Parallelitätsmodell, das logische Rechenaufgaben auf verfügbare Hardware-Kerne mappt, wodurch die manuelle Thread-Verwaltung entfällt. Die Bibliothek fungiert als Multi-Core-Skalierungstool und nutzt generische Templates, um datenparallele Operationen für portable Performance über Prozessoren hinweg zu skalieren. Sie verwendet ein Task-basiertes Framework, um sicherzustellen, dass Rechenlasten auf Hardware-Ressourcen verteilt werden. Das Projekt deckt Shared-Memory-Parallelität, Multi-Core-Task-Scheduling und die Skalierung von Datenparallelität ab. Es nutzt einen Work-Stealing-Task-Scheduler, rekursive Range-Splitting-Verfahren und dynamisches Load-Balancing, um die Arbeitsverteilung zur Laufzeit über Kerne hinweg zu verwalten.
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 ist eine Open-Source-Game-Engine für Heroes of Might and Magic III, die das Gameplay, die Logik und das Rendering des Original-Strategiespiels nachbildet. Sie dient als plattformübergreifende Game-Runtime, die Windows, Linux, macOS, Android und iOS unterstützt und einen rundenbasierten Strategiesimulator für die Navigation auf der Weltkarte und taktische Kämpfe bereitstellt. Das Projekt ist als moddbares Game-Framework aufgebaut und bietet ein datengesteuertes Modding-System sowie eine integrierte, sandboxed Lua-Skripting-Umgebung. Diese ermöglichen die Definition benutzerdefinierter Gameplay-Logik, Zaubereffekte sowie das Hinzufügen neuer Fraktionen, Charaktere und Assets über externe Konfigurationsdateien und Schema-Validierung. Die Engine enthält einen Multiplayer-State-Synchronizer, der gleichzeitige Züge und Game-State-Updates zwischen Clients mittels binärer Serialisierung koordiniert. Sie integriert zudem eine KI für Strategiesimulationen, ein dediziertes System zur Kartenerstellung und -generierung sowie Werkzeuge für Asset-Overrides und Lokalisierung. Die Software unterstützt Multi-Plattform-Build-Konfigurationen und bietet Werkzeuge zum Extrahieren von Spieldaten und zum Debuggen von Game-States.
Distributes demanding computations across multiple CPU threads to prevent application freezes.
Leaf ist ein in Go geschriebenes Game-Server-Framework für die Entwicklung von Backends für Multiplayer-Spiele. Es bietet eine modulare Architektur, die Serverlogik in unabhängige Module unterteilt, und enthält einen Task-Scheduler für die Verwaltung geordneter, verzögerter oder wiederkehrender Funktionen. Das Framework verfügt über einen TCP- und WebSocket-Server, der gleichzeitige Verbindungen über ein einheitliches Interface verwaltet. Es enthält einen Message-Router, der Protobuf- und JSON-Daten dekodieren kann, um eingehende Netzwerkpakete bestimmten internen Servermodulen zuzuordnen. Das System umfasst Funktionen für Multi-Protokoll-Netzwerk-Routing, Multicore-Workload-Verteilung und System-Event-Logging. Zudem bietet es Utilities zum Laden von CSV-Konfigurationsdateien in speicherresidenten, indizierten Strukturen für schnelle Datenabfragen.
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 ist eine Ruby-Bibliothek zum Erstellen von GraphQL-APIs mit einem stark typisierten Schema und einer dedizierten Query-Execution-Engine. Sie bietet ein umfassendes Framework zum Mappen von Anwendungsobjekten auf ein formales Typsystem, was strukturiertes Datenabrufen durch definierte Resolver ermöglicht. Das Projekt zeichnet sich durch fortschrittliche Performance- und Bereitstellungsmechanismen aus, darunter einen Data Loader für Batching und Caching zur Vermeidung von N+1-Abfragemustern. Es unterstützt leistungsstarke Datenbereitstellung durch inkrementelles Response-Streaming, verzögerte Abfrageantworten und paralleles Datenabrufen mittels Fibers. Zudem bietet es native Unterstützung für Relay-Konventionen, einschließlich spezialisierter Helfer für Connections und Objektidentifikation. Die Bibliothek deckt ein breites Spektrum an API-Management ab, einschließlich fein abgestufter Zugriffskontrolle, Schema-Versionierung zur Wahrung der Abwärtskompatibilität und Echtzeit-Updates via Subscriptions. Sie enthält zudem Traffic-Management-Tools zum Schutz von Serverressourcen, wie z. B. die Begrenzung der Abfragekomplexität und Request-Rate-Limiting. Entwicklung und Observability werden durch AST-Analysewerkzeuge, Execution-Tracing und spezialisierte Test-Utilities zur Verifizierung von Batch-Loading unterstützt.
Runs external service calls and database queries concurrently using asynchronous tasks to prevent sequential queuing.
SparkInternals ist ein technisches Referenz- und Architekturhandbuch, das das interne Design und die Implementierung der verteilten Computing-Engine Apache Spark detailliert beschreibt. Es dient als Analyse von Big-Data-Engines und konzentriert sich darauf, wie das System die Cluster-Ausführung sowie das Zusammenspiel zwischen Driver-Nodes, Executors und Workern verwaltet. Das Projekt bietet eine detaillierte Aufschlüsselung, wie logische Pläne in physische Ausführungsstufen konvertiert werden. Es analysiert spezifisch die Mechanik von Data-Shuffle-Operationen, Speicherverwaltung und die Koordination der verteilten Job-Planung. Die Dokumentation deckt ein breites Spektrum an verteilten Computing-Funktionen ab, einschließlich Query-Execution-Planung, Datenabhängigkeitsmanagement und In-Memory-Caching-Strategien. Zudem werden Aufgabenverteilung, parallele Ausführung sowie Prozesse zur Fehlerwiederherstellung und Datenpersistenz untersucht.
Implements parallel execution of deserialized tasks on worker nodes using thread pools.
FluidX3D ist ein GPU-beschleunigter Solver für numerische Strömungsmechanik und ein Voxel-basierter Fluidsimulator. Er nutzt die Lattice-Boltzmann-Methode zur Simulation von Gas- und Flüssigkeitsverhalten, Druck und Geschwindigkeit durch eine OpenCL-basierte Hardware-Abstraktion, die sowohl Grafikprozessoren als auch CPUs unterstützt. Das System ist auf Mehrphasen-Strömungssimulation unter Verwendung von Volume-of-Fluid-Methoden für freie Oberflächenmodellierung und Tröpfchen spezialisiert. Es enthält einen thermischen Simulator zur Modellierung von Wärmeleitung und thermischer Konvektion, neben Tools zur aerodynamischen Kraftanalyse zur Berechnung von Auftrieb, Widerstand und Drehmoment auf physische Objekte. Die Software bietet eine umfassende Suite an Simulationsfunktionen, einschließlich Lagrangian-Partikel-Tracking für Zwei-Wege-Fluid-Interaktion, Animation rotierender Objekte via periodischer Re-Voxelisierung und turbulenter Strömungsstabilisierung für hohe Reynolds-Zahlen. Sie handhabt Daten durch Import von Dreiecks-Mesh-Geometrien und unterstützt verschiedene Visualisierungsmethoden, einschließlich Marching-Cubes-Oberflächenextraktion, In-Memory-Rasterisierung und Video-Rendering. Die Performance wird durch Multi-GPU-Domain-Decomposition und Half-Precision-Speicherkompression verwaltet.
Distributes workloads across multiple CPU threads to accelerate computation time.
Radash is a TypeScript functional utility library designed for data transformation, validation, and workflow management. It provides a collection of typed helper functions to manipulate arrays, objects, and strings. The project features an asynchronous workflow toolkit for managing promises, retries, and concurrency limits, alongside a suite of boolean validators for verifying primitive types, objects, and promises. It also implements functional programming patterns such as function composition, partial application, and error-first response patterns. The library covers a broad surface of cap
Offers a utility to process asynchronous functions concurrently with simultaneous execution limits and error aggregation.
statsforecast ist eine statistische Hochleistungs-Bibliothek für Zeitreihenprognosen, die darauf ausgelegt ist, Punktprognosen und Vorhersageintervalle zu generieren. Sie fungiert als verteiltes Zeitreihen-Framework, das eine C-basierte Prognose-Engine und einen automatisierten Modellselektor nutzt, um das optimale statistische Modell für jede einzigartige Serie in einem Datensatz zu identifizieren und anzupassen. Das System enthält zudem einen Zeitreihen-Anomaliedetektor, um ungewöhnliche Datenpunkte durch den Vergleich beobachteter Werte mit probabilistischen Prognoseintervallen zu identifizieren. Das Projekt zeichnet sich durch seine Fähigkeit aus, massiv parallele Prognosen für Millionen individueller Serien zu verarbeiten. Dies erreicht es durch ein verteiltes Computing-Framework, Multi-Core-Parallel-Ausführung und kompilierte C-Kernels, die die Kernlogik von ARIMA und exponentieller Glättung beschleunigen. Das System optimiert die großskalige Verarbeitung weiter unter Verwendung eines Long-Format-Datenlayouts und einer Lazy-Evaluation-Datenpipeline, um den Speicher-Overhead zu reduzieren. Die Bibliothek bietet eine umfassende Suite von Modellen, einschließlich AutoARIMA, verschiedenen Methoden der exponentiellen Glättung für intermittierende oder saisonale Nachfrage, Theta-Dekomposition und GARCH-Volatilitätsmodellierung für finanzielles Risiko. Sie deckt breitere Funktionsbereiche ab, wie multivariate Prognosen mit exogenen Variablen, Zeitreihen-Dekomposition und Modellevaluierung mittels historischer Kreuzvalidierung und Sliding-Window-Analyse. Die Bibliothek integriert sich mit Hochleistungs-Datenstrukturen wie Polars und bietet Dienstprogramme, um gespeicherte Modelle als REST-Endpunkte für netzwerkzugängliche Vorhersagen bereitzustellen.
Distributes model fitting and forecasting tasks across multiple processor cores to handle millions of series.
Dieses Repository ist eine Sammlung von JavaScript-Coding-Challenges und ein umfassender Interview-Leitfaden. Es bietet Referenzimplementierungen und pädagogische Beispiele, die Entwicklern helfen sollen, Sprachgrundlagen zu beherrschen und sich auf technische Interviews vorzubereiten. Das Projekt deckt eine breite Palette spezialisierter Implementierungen ab, darunter funktionale Programmiermuster wie Currying und partielle Anwendung sowie asynchrone Muster für die Nebenläufigkeitskontrolle. Es enthält zudem praktische Beispiele für die Manipulation des Document Object Models und die Implementierung gängiger Datenstrukturen wie Stacks und Queues. Die Sammlung umfasst fortgeschrittene Sprachfeatures, Implementierungen von Designmustern und die Manipulation von Datenstrukturen. Sie adressiert einen Bereich, der asynchrone Programmierung, DOM-Interaktion, objektorientierte Erzeugungsmuster und Low-Level-Primitive umfasst.
Executes multiple asynchronous computations simultaneously and aggregates their results into a single array.