12 dépôts
Systems for offloading and distributing computational tasks across multiple nodes or external services.
Distinguishing note: Focuses on the distribution of processing tasks.
Explore 12 awesome GitHub repositories matching devops & infrastructure · Distributed Processing. Refine with filters or upvote what's useful.
Open WebUI is a self-hosted, web-based platform designed for interacting with local and remote artificial intelligence models. It functions as a unified interface and orchestration suite, enabling users to build, deploy, and manage specialized AI agents equipped with custom instructions, external tool access, and private knowledge bases. The platform distinguishes itself through a modular architecture that supports complex AI workflows. It features a plugin-based framework for custom logic and pipeline-based request processing, allowing developers to filter or transform data streams before th
Allows offloading processing tasks to external machines for distributed setups.
Airflow is a workflow orchestration platform for authoring, scheduling, and monitoring complex data pipelines as code using Python. It employs a DAG-based task scheduler to manage execution timing and dependencies via directed acyclic graphs, utilizing a distributed task execution engine to run workloads across a cluster of worker nodes. The platform provides a data pipeline monitor for tracking the health and execution history of programmatic workflows. This includes a web interface for workflow progress visualization and health monitoring to identify and troubleshoot pipeline failures. The
Offloads and distributes heavy computational workloads across a cluster of worker nodes for parallel processing.
Fastai is a high-level deep learning library built on PyTorch that provides a unified interface for managing the entire machine learning lifecycle. It functions as a comprehensive training toolkit, abstracting hardware management and automating complex training loops to simplify the construction and execution of neural network models. The framework is distinguished by its notebook-centric development environment and a type-dispatching data pipeline that automatically applies transformations based on input data formats. It emphasizes transfer learning through discriminative layer-wise optimiza
Implements barriers in multi-process training to synchronize execution points across distributed sub-processes.
Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It functions as a distributed task worker, job scheduler, and priority queue manager designed to handle asynchronous workloads across multiple processes. The project distinguishes itself by providing a persistent communication channel that decouples servers through the exchange of serializable data objects. It ensures distributed system reliability by detecting stalled tasks and recovering from process crashes to ensure every queued job is completed. The system covers a broad ran
Distributes asynchronous task processing across multiple Node.js worker processes using a shared Redis backend.
ImageMagick is a comprehensive software suite for the creation, editing, composition, and conversion of digital images. It functions as both a command-line utility for batch processing and automation, and as a programming library that allows developers to integrate advanced image manipulation capabilities into external applications. The project is distinguished by its modular architecture, which supports hundreds of image formats through a pluggable coder system and external delegate libraries. It is designed for high-performance environments, utilizing memory-mapped pixel caching, stream-ori
Offloads pixel cache operations to remote servers to support large-scale image processing across networked machines.
Nightingale is a Prometheus-compatible monitoring and alerting platform designed to centralize telemetry management across multiple time-series databases. It functions as a multi-source alerting engine and metric data pipeline that ingests telemetry via remote write protocols and triggers alarms based on data from sources such as Prometheus, Elasticsearch, Loki, and ClickHouse. The system is distinguished by its automated alert healing system, which executes predefined scripts and RPC-based corrective actions when monitoring thresholds are breached. It supports distributed alert processing, a
Spreads alert evaluation tasks across multiple processing nodes to balance load and provide automatic failover.
Meshroom is a node-based photogrammetry software designed to transform collections of two-dimensional images into three-dimensional models and scene geometry. It provides a visual interface for constructing and managing modular data pipelines, allowing users to automate complex computer vision tasks such as feature extraction, depth map estimation, and mesh generation. The software distinguishes itself through a distributed computational framework that dispatches resource-intensive tasks across local hardware or remote render farms. By utilizing a directed acyclic graph execution model, it en
Dispatches and manages heavy reconstruction tasks across local hardware or remote render farms to optimize execution speed.
Synapse is a decentralized communication server implementation that enables real-time messaging and data exchange across the global Matrix federation. It functions as a homeserver, allowing operators to host their own nodes while maintaining control over personal data and user identity within a distributed network. The server utilizes a federated messaging protocol to exchange messages and user data with independent servers, ensuring consistent state across the network. To support high-traffic environments, it employs a distributed service architecture that offloads tasks to independent backg
Distributes server workloads across independent background processes to enable horizontal scaling and high availability.
Colyseus is a real-time multiplayer game framework for Node.js that provides an authoritative server model, delta-compressed state synchronization, and room-based session orchestration. It is designed to handle the core infrastructure of multiplayer games, including matchmaking, state management, and scalable process distribution across multiple servers. The framework distinguishes itself through its schema-based state definition, which enables automatic serialization and change tracking, combined with a binary WebSocket protocol for low-latency updates. Its matchmaking pipeline routes player
Distributes room instances across multiple Node.js processes or machines via a central coordinator.
KBEngine est un moteur de serveur de jeu distribué et une infrastructure backend conçue pour les environnements massivement multijoueurs en ligne. Il fournit une architecture multi-processus pour gérer une forte concurrence de joueurs et des interactions en temps réel au sein d'un monde virtuel partagé. Le système présente un framework de logique de jeu scriptable qui combine un cœur haute performance avec un langage de script de haut niveau. Cela permet des modifications du comportement du jeu via un runtime corrigeable à chaud (hot-fixable) qui met à jour la logique sans nécessiter de redémarrages du serveur. Le moteur gère la mise à l'échelle du serveur via un équilibrage de charge dynamique sur plusieurs nœuds matériels et assure une vue du monde cohérente via une synchronisation d'état en temps réel entre le serveur et les clients de jeu. Il inclut également des mécanismes pour la persistance des données de jeu, tels que des sauvegardes d'entités planifiées et des instantanés d'état du serveur. Les capacités administratives incluent des outils de débogage de serveur en direct pour surveiller l'état du système et gérer les cycles de vie du serveur.
Utilizes a distributed multi-process architecture and dynamic load balancing to handle high player concurrency across hardware nodes.
Tdarr est un outil distribué de traitement vidéo et d'automatisation de bibliothèque multimédia. Il fonctionne selon une architecture serveur-nœud qui gère le scan, l'analyse et la normalisation des fichiers audio et vidéo basés sur des règles personnalisées. Le système distribue les charges de travail de calcul intensives, telles que le transcodage et les vérifications de santé, sur plusieurs nœuds distants pour optimiser l'utilisation du matériel. Il utilise un pipeline basé sur des plugins pour exécuter des séquences de filtres et de transformations, automatisant la conversion multimédia via FFmpeg et HandBrake pour standardiser les formats de fichiers et les conteneurs. Le projet couvre l'audit de santé de la bibliothèque multimédia pour vérifier l'intégrité des fichiers et les erreurs de lecture, ainsi que l'indexation basée sur les métadonnées pour extraire les propriétés techniques des fichiers vidéo. Il inclut une surveillance du système de fichiers pour déclencher automatiquement des tâches de traitement lorsqu'un nouveau média est détecté.
Offloads compute-intensive video processing and health auditing to a distributed network of remote nodes.
Bee-queue est un système de traitement en arrière-plan pour Node.js qui utilise Redis pour la mise en file d'attente des travaux et la persistance. Il est conçu pour décharger les tâches lourdes du thread d'exécution principal vers des travailleurs en arrière-plan afin de maintenir la réactivité de l'application. Le projet fournit un traitement distribué des travaux, permettant aux nœuds de travail de s'exécuter sur plusieurs processus pour gérer de grands volumes de tâches simultanément. Il garantit une exécution fiable des tâches grâce à des tentatives automatiques (retries) et à la récupération des processus bloqués. Sa surface de capacités couvre la planification asynchrone des tâches pour les travaux différés, le contrôle de la concurrence pour les nœuds de travail et la gestion du cycle de vie des travaux. Il inclut des outils pour surveiller la santé de la file d'attente, suivre la progression des travaux et récupérer les résultats en fonction de l'état du travail. Le système prend en charge la mise en file d'attente en masse pour réduire la surcharge réseau et permet des identifiants de travail personnalisés ainsi que des stratégies de backoff configurables pour les tâches échouées.
Distributes computational tasks across multiple worker processes to handle high volumes concurrently.