12 repositorios
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 es un motor de servidor de juegos distribuido e infraestructura backend diseñada para entornos multijugador masivos en línea (MMO). Proporciona una arquitectura multiproceso para manejar una alta concurrencia de jugadores e interacciones en tiempo real dentro de un mundo virtual compartido. El sistema cuenta con un framework de lógica de juego programable que combina un núcleo de alto rendimiento con un lenguaje de scripting de alto nivel. Esto permite modificaciones en el comportamiento del juego a través de un runtime actualizable en caliente que actualiza la lógica sin requerir reinicios del servidor. El motor gestiona el escalado del servidor mediante balanceo de carga dinámico a través de múltiples nodos de hardware y garantiza una visión del mundo consistente a través de la sincronización de estado en tiempo real entre el servidor y los clientes del juego. También incluye mecanismos para la persistencia de datos del juego, como copias de seguridad programadas de entidades e instantáneas del estado del servidor. Las capacidades administrativas incluyen herramientas de depuración del servidor en vivo para monitorear el estado del sistema y gestionar los ciclos de vida del servidor.
Utilizes a distributed multi-process architecture and dynamic load balancing to handle high player concurrency across hardware nodes.
Tdarr es una herramienta de procesamiento de video distribuido y automatización de librerías multimedia. Funciona como una arquitectura de servidor-nodo que gestiona el escaneo, análisis y normalización de archivos de audio y video basados en reglas personalizadas. El sistema distribuye cargas de trabajo de cómputo pesado, como transcodificación y comprobaciones de salud, a través de múltiples nodos remotos para optimizar la utilización del hardware. Utiliza un pipeline basado en plugins para ejecutar secuencias de filtros y transformaciones, automatizando la conversión de medios mediante FFmpeg y HandBrake para estandarizar formatos de archivo y contenedores. El proyecto cubre la auditoría de salud de librerías multimedia para verificar la integridad de los archivos y errores de reproducción, así como la indexación basada en metadatos para extraer propiedades técnicas de los archivos de video. Incluye monitoreo del sistema de archivos para activar trabajos de procesamiento automáticamente cuando se detectan nuevos medios.
Offloads compute-intensive video processing and health auditing to a distributed network of remote nodes.
Bee-queue es un sistema de procesamiento en segundo plano para Node.js que utiliza Redis para la puesta en cola de trabajos y persistencia. Está diseñado para descargar tareas pesadas del hilo de ejecución principal a trabajadores en segundo plano para mantener la capacidad de respuesta de la aplicación. El proyecto proporciona procesamiento de trabajos distribuido, permitiendo que los nodos de trabajo se ejecuten a través de múltiples procesos para manejar grandes volúmenes de tareas de forma concurrente. Asegura una ejecución de tareas confiable mediante reintentos automáticos y la recuperación de procesos bloqueados. Su superficie de capacidades cubre la programación de tareas asíncronas para trabajos diferidos, control de concurrencia para nodos de trabajo y gestión del ciclo de vida de los trabajos. Incluye herramientas para monitorear la salud de la cola, rastrear el progreso de los trabajos y recuperar resultados basados en el estado del trabajo. El sistema soporta la puesta en cola de trabajos en bloque para reducir la sobrecarga de red y permite identificadores de trabajo personalizados y estrategias de backoff configurables para tareas fallidas.
Distributes computational tasks across multiple worker processes to handle high volumes concurrently.