29 dépôts
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 29 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 est une bibliothèque et un framework de parallélisme C++ conçu pour ajouter le parallélisme multi-cœur aux applications. Il fournit un modèle de parallélisme basé sur les tâches qui mappe les tâches computationnelles logiques aux cœurs matériels disponibles pour éliminer le besoin de gestion manuelle des threads. La bibliothèque fonctionne comme un outil de mise à l'échelle multi-cœur, utilisant des templates génériques pour mettre à l'échelle les opérations de parallélisme de données sur les processeurs pour une performance portable. Elle emploie un framework basé sur les tâches pour assurer que les charges de travail computationnelles sont distribuées sur les ressources matérielles. Le projet couvre le parallélisme à mémoire partagée, la planification de tâches multi-cœur et la mise à l'échelle du parallélisme de données. Il utilise un planificateur de tâches avec vol de travail (work-stealing), le découpage récursif de plages et l'équilibrage de charge dynamique pour gérer la distribution du travail sur les cœurs à l'exécution.
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 est un moteur de jeu open source pour Heroes of Might and Magic III qui recrée le gameplay, la logique et le rendu du jeu de stratégie original. Il sert de runtime de jeu multiplateforme prenant en charge Windows, Linux, macOS, Android et iOS, fournissant un simulateur de stratégie au tour par tour pour la navigation sur carte du monde stratégique et le combat tactique. Le projet est construit comme un framework de jeu moddable, présentant un système de modding piloté par les données et une intégration de script Lua en bac à sable (sandboxed). Ceux-ci permettent la définition d'une logique de gameplay personnalisée, d'effets de sorts et l'ajout de nouvelles factions, personnages et ressources via des fichiers de configuration externes et une validation de schéma. Le moteur inclut un synchroniseur d'état multijoueur qui coordonne les tours simultanés et les mises à jour d'état du jeu entre les clients via une sérialisation binaire. Il incorpore également une intelligence artificielle intégrée pour la simulation de stratégie, un système dédié de création et de génération de cartes, et des outils pour les surcharges de ressources et la localisation. Le logiciel prend en charge les configurations de build multiplateformes et fournit des outils pour extraire les données de jeu et déboguer les états de jeu.
Distributes demanding computations across multiple CPU threads to prevent application freezes.
Leaf est un framework de serveur de jeu écrit en Go, conçu pour construire des backends de jeux multijoueurs. Il propose une architecture modulaire qui organise la logique serveur en modules indépendants et inclut un ordonnanceur de tâches concurrent pour gérer les fonctions ordonnées, différées ou récurrentes. Le framework dispose d'un serveur TCP et WebSocket qui gère les connexions simultanées via une interface unique. Il intègre un routeur de messages capable de décoder les données Protobuf et JSON pour mapper les paquets réseau entrants vers des modules serveur internes spécifiques. Le système inclut des capacités de routage réseau multi-protocole, de distribution de charge multicœur et de journalisation des événements système. Il fournit également des utilitaires pour charger des fichiers de configuration CSV dans des structures indexées en mémoire pour des recherches rapides.
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 est une bibliothèque Ruby pour construire des API GraphQL avec un schéma fortement typé et un moteur d'exécution de requêtes dédié. Elle fournit un framework complet pour mapper les objets de l'application à un système de types formel, permettant une récupération de données structurée via des résolveurs définis. Le projet se distingue par des mécanismes avancés de performance et de livraison, incluant un data loader pour le batching et le cache afin d'éviter les patterns de requêtes N+1. Il supporte la livraison de données haute performance via le streaming de réponses incrémentales, les réponses de requêtes différées et la récupération de données en parallèle utilisant des fibers. De plus, il offre un support natif pour les conventions Relay, incluant des helpers spécialisés pour les connexions et l'identification d'objets. La bibliothèque couvre une large surface de gestion d'API, incluant un contrôle d'accès granulaire, le versioning de schéma pour maintenir la rétrocompatibilité et des mises à jour en temps réel via des abonnements. Elle inclut également des outils de gestion de trafic pour protéger les ressources serveur, tels que la limitation de complexité des requêtes et le rate limiting. Le développement et l'observabilité sont supportés par des outils d'analyse AST, le traçage d'exécution et des utilitaires de test spécialisés pour la vérification du chargement par lots.
Runs external service calls and database queries concurrently using asynchronous tasks to prevent sequential queuing.
SparkInternals est une référence technique et un guide d'architecture détaillant la conception interne et l'implémentation du moteur de calcul distribué Apache Spark. Il sert d'étude sur l'analyse des moteurs de big data, en se concentrant sur la gestion de l'exécution en cluster et l'interaction entre les nœuds drivers, les exécuteurs et les workers. Le projet fournit une décomposition détaillée de la manière dont les plans logiques sont convertis en étapes d'exécution physiques. Il analyse spécifiquement la mécanique des opérations de shuffle, la gestion de la mémoire et la coordination de la planification des jobs distribués. La documentation couvre un large éventail de capacités de calcul distribué, incluant la planification de l'exécution des requêtes, la gestion des dépendances de données et les stratégies de mise en cache en mémoire. Elle examine également la distribution des tâches, l'exécution parallèle et les processus utilisés pour la reprise sur erreur et la persistance des données.
Implements parallel execution of deserialized tasks on worker nodes using thread pools.
FluidX3D est un solveur de dynamique des fluides computationnelle accéléré par GPU et un simulateur de fluide basé sur voxel. Il utilise la méthode de Boltzmann sur réseau pour simuler le comportement des gaz et liquides, la pression et la vitesse via une abstraction matérielle basée sur OpenCL qui prend en charge à la fois les processeurs graphiques et les CPU. Le système se spécialise dans la simulation d'écoulement multiphasique en utilisant des méthodes de volume de fluide pour la modélisation de surface libre et les gouttelettes. Il inclut un simulateur thermique pour modéliser le transfert de chaleur et la convection thermique, aux côtés d'outils pour l'analyse de force aérodynamique afin de calculer la portance, la traînée et le couple sur des objets physiques. Le logiciel fournit une suite complète de capacités de simulation, incluant le suivi de particules lagrangiennes pour l'interaction fluide bidirectionnelle, l'animation d'objets rotatifs via re-voxelisation périodique et la stabilisation d'écoulement turbulent pour des nombres de Reynolds élevés. Il gère les données via l'importation de géométrie de maillage triangulaire et prend en charge diverses méthodes de visualisation, incluant l'extraction de surface par marching cubes, la rastérisation en mémoire et le rendu vidéo. La performance est gérée via la décomposition de domaine multi-GPU et la compression mémoire demi-précision.
Distributes workloads across multiple CPU threads to accelerate computation time.
Radash est une bibliothèque d'utilitaires fonctionnels TypeScript conçue pour la transformation de données, la validation et la gestion de workflow. Elle fournit une collection de fonctions d'aide typées pour manipuler les tableaux, les objets et les chaînes de caractères. Le projet propose une boîte à outils de workflow asynchrone pour gérer les promesses, les tentatives et les limites de concurrence, aux côtés d'une suite de validateurs booléens pour vérifier les types primitifs, les objets et les promesses. Il implémente également des patterns de programmation fonctionnelle tels que la composition de fonctions, l'application partielle et les patterns de réponse error-first. La bibliothèque couvre une large surface de capacités, incluant la gestion d'état d'objet avec clonage profond et fusion, des manipulations de tableaux complexes et le formatage de chaînes. Elle fournit en outre des outils pour l'optimisation de l'exécution, tels que le rate limiting et la mise en cache des résultats.
Offers a utility to process asynchronous functions concurrently with simultaneous execution limits and error aggregation.
statsforecast est une bibliothèque de prévision de séries temporelles statistiques haute performance conçue pour générer des prévisions ponctuelles et des intervalles de prédiction. Elle fonctionne comme un framework de séries temporelles distribué qui utilise un moteur de prévision basé sur C et un sélecteur de modèle automatisé pour identifier et ajuster le modèle statistique optimal pour chaque série unique dans un jeu de données. Le système inclut également un détecteur d'anomalies de séries temporelles pour identifier les points de données inhabituels en comparant les valeurs observées aux intervalles de prévision probabilistes. Le projet se distingue par sa capacité à gérer la prévision parallèle à très grande échelle pour des millions de séries individuelles. Il y parvient grâce à un framework de calcul distribué, une exécution parallèle multi-cœur et des noyaux C compilés qui accélèrent la logique de base ARIMA et de lissage exponentiel. Le système optimise davantage le traitement à grande échelle en utilisant une disposition de données au format long et un pipeline de données à évaluation paresseuse (lazy-evaluation) pour réduire la surcharge mémoire. La bibliothèque fournit une suite complète de modèles, notamment AutoARIMA, diverses méthodes de lissage exponentiel pour la demande intermittente ou saisonnière, la décomposition Theta et la modélisation de volatilité GARCH pour le risque financier. Elle couvre des domaines de capacités plus larges tels que la prévision multivariée avec des variables exogènes, la décomposition de séries temporelles et l'évaluation de modèles via la validation croisée historique et l'analyse par fenêtre glissante. La bibliothèque s'intègre avec des structures de données haute performance comme Polars et fournit des utilitaires pour servir les modèles enregistrés en tant qu'endpoints REST pour des prédictions accessibles par réseau.
Distributes model fitting and forecasting tasks across multiple processor cores to handle millions of series.
Ce dépôt est une collection de défis de codage JavaScript et un guide d'entretien complet. Il fournit des implémentations de référence et des exemples éducatifs conçus pour aider les développeurs à maîtriser les fondamentaux du langage et à se préparer aux entretiens techniques. Le projet couvre un large éventail d'implémentations spécialisées, incluant des modèles de programmation fonctionnelle comme le currying et l'application partielle, ainsi que des modèles asynchrones pour le contrôle de la concurrence. Il inclut également des exemples pratiques de manipulation du Document Object Model (DOM) et l'implémentation de structures de données courantes telles que les piles et les files d'attente. Globalement, la collection couvre des fonctionnalités avancées du langage, des implémentations de modèles de conception et la manipulation de structures de données. Elle aborde une surface qui inclut la programmation asynchrone, l'interaction DOM, les modèles de création orientés objet et les opérations primitives de bas niveau.
Executes multiple asynchronous computations simultaneously and aggregates their results into a single array.