27 repositorios
Architectural components for managing lifecycles and communication between multiple processes.
Distinguishing note: Focuses on inter-process coordination, distinct from simple process spawning.
Explore 27 awesome GitHub repositories matching software engineering & architecture · Process Coordinators. Refine with filters or upvote what's useful.
Servo is a high-performance, memory-safe web rendering engine designed for cross-platform embedding. It provides a modular framework that allows developers to integrate web content rendering into native applications across desktop, mobile, and embedded systems. By enforcing strict process isolation and memory safety, the engine creates a secure execution environment for processing web content. The engine distinguishes itself through a task-based, parallelized architecture that decouples layout, style, and rendering processes to maximize responsiveness. It utilizes a hardware-abstracted graphi
Manages web content processes and frame lifecycles using a centralized thread that coordinates communication.
This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a robust framework for managing application state by synchronizing data across browsers, mobile devices, and server-side runtimes. By treating local storage as the primary source of truth, it enables applications to remain functional without network connectivity, automatically reconciling changes with remote backends once a connection is restored. The database distinguishes itself through a modular architecture that supports cross-environment synchronization and high-performance d
Manages concurrent read and write operations across multiple processes to prevent data corruption.
Presto is a distributed SQL query engine designed for high-performance analytical processing across heterogeneous data sources. It functions as a data federation platform and massively parallel processing engine, allowing users to execute interactive queries against diverse storage systems without requiring data migration. By mapping remote metadata and structures to a unified relational namespace, it enables seamless cross-platform analysis through a standard SQL interface. The engine distinguishes itself through a pluggable connector architecture and a shared-nothing distributed processing
Deploys native sidecar processes to provide the cluster coordinator with specialized worker information and custom configuration capabilities.
Proton GE Custom is a compatibility layer designed to execute Windows games on Linux by translating binary instructions and API calls. It focuses on improving game stability and performance through a Wine-based translation system. The project utilizes custom patches and per-game configuration overrides to resolve specific application crashes and glitches. It implements specialized media foundation patching to ensure stable playback of proprietary cinematic formats and adds support for High Dynamic Range output. The software covers a range of gaming optimizations, including raw input latency
Synchronizes in-process execution primitives via a kernel module to increase system stability.
Firefox is a cross-platform web browser engine designed to render web content, execute JavaScript, and manage secure browsing sessions. It utilizes a multi-process isolation architecture that distributes browser tasks across independent operating system processes to ensure stability and prevent site-specific failures from impacting the entire application. The engine incorporates a sandboxed execution environment to restrict web content and untrusted scripts to isolated memory compartments, enforcing security policies that prevent unauthorized access to system resources. The project distinguis
Coordinates state and messaging between different browser processes to ensure consistent behavior.
This repository is a comprehensive collection of reference implementations and sample libraries for the Universal Windows Platform. It provides practical examples of how to use Windows Runtime APIs to build cross-device applications, including detailed guidance on XAML-based declarative user interfaces and DirectX-integrated rendering. The project distinguishes itself by providing a wide array of hardware integration suites, covering low-level communication with USB, Serial, I2C, SPI, and GPIO peripherals. It includes specialized implementations for mixed reality holographic rendering, advanc
Implements architectural components for managing communication and data exchange between multiple applications.
POCO is a comprehensive C++ application framework that provides a cross-platform set of libraries for building network-centric applications. It offers a unified abstraction layer that wraps platform-specific APIs, enabling the same code to run across desktop, server, mobile, IoT, and embedded systems. The framework is organized into modular libraries that can be compiled and linked selectively, allowing developers to include only the components their application needs. The framework distinguishes itself through its broad coverage of application infrastructure needs, including threading and sy
Provides threading primitives, mutexes, events, and semaphores for coordinating concurrent execution.
Concurrently is a Node.js process manager and concurrent process runner designed to execute multiple shell commands simultaneously within a single terminal session. It provides core primitives for managing the lifecycles of child processes, coordinating parallel tasks, and establishing communication bridges to exchange data between parent and child processes. The tool features an ANSI terminal output formatter that styles process logs using custom prefixes, timestamps, and colors to differentiate between multiple output streams. It includes utilities for detecting terminal color depth and con
Automatically terminates active sibling processes based on the exit status of a related command.
This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation
Teaches mutex, semaphore, and condition variable usage for coordinating concurrent threads.
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
Uses mutexes, semaphores, and binary semaphores for mutual exclusion and coordination among component threads.
This project provides a comprehensive technical guide and framework for engineering large-scale machine learning systems. It covers the full lifecycle of model development, focusing on the infrastructure and computational principles required to build, train, and serve generative AI models across distributed GPU clusters. The repository distinguishes itself by offering deep-dive tutorials and implementation strategies for complex system challenges. It emphasizes high-performance architectural primitives, such as collective communication orchestration, distributed tensor sharding, and static gr
Coordinates distributed processes via remote procedure calls to synchronize state and trigger collective actions.
Este proyecto es un recurso de descubrimiento de código abierto que proporciona listas curadas de código reutilizable y librerías para ayudar a los desarrolladores a encontrar soluciones técnicas para tareas específicas. Utiliza un sistema de indexación basado en categorías para organizar diversas herramientas de software por sus capacidades funcionales. El repositorio está estructurado como una colección de documentación basada en Markdown y contenido estático, sirviendo como un directorio para el descubrimiento manual y la referencia. El directorio cubre una amplia gama de áreas de capacidad, incluyendo desarrollo de aplicaciones multiplataforma, creación de herramientas de ciberseguridad, implementación de protocolos de red y flujos de trabajo de computación científica. También incluye recursos para la automatización de web scraping, almacenamiento de datos e interfaces multimedia.
Lists primitives for coordinating execution flow and sharing memory between concurrent threads and processes.
Este proyecto es una colección de librerías de un solo encabezado (single-header) que proporcionan una implementación sin dependencias de sistemas principales de motores de juego. Sirve como un kit de herramientas portátil para el desarrollo de juegos 2D, centrándose en la carga de activos, la optimización de gráficos y la coordinación de sistemas de bajo nivel. Las librerías ofrecen capacidades especializadas para el renderizado de sprites 2D y el procesamiento de activos, incluyendo la compilación de atlas de texturas y el renderizado por lotes para reducir las llamadas de dibujo (draw calls). Incluye un pipeline dedicado para analizar archivos de Aseprite y datos de mapas formateados en JSON desde Tiled. El kit de herramientas cubre varios dominios funcionales, incluyendo la detección de colisiones 2D mediante raycasts y pruebas de barrido, transmisión de audio y activación de muestras, y coordinación multihilo mediante pools de tareas. Su capa de red implementa confiabilidad basada en UDP y transporte cifrado con TLS para una comunicación cliente-servidor segura.
Implements multithreading coordination via task pools and locks to balance processor load.
Este repositorio es un programa educativo integral y un framework de deep learning diseñado para enseñar aprendizaje profundo práctico usando PyTorch a través de notebooks y ejemplos de código. Sirve como una librería de alto nivel para construir, entrenar y desplegar redes neuronales, actuando como un orquestador de entrenamiento de modelos que coordina modelos de PyTorch, optimizadores y funciones de pérdida. El proyecto proporciona kits de herramientas especializados para visión artificial, procesamiento de lenguaje natural y preprocesamiento de datos tabulares. Se distingue por controles de entrenamiento avanzados como tasas de aprendizaje discriminativas, un sistema de callbacks bidireccional para personalizar la lógica de entrenamiento y una abstracción de learner de alto nivel que automatiza la colocación en dispositivos y los bucles de entrenamiento. El framework cubre una amplia superficie de capacidades, incluyendo la construcción automatizada de pipelines de datos, análisis de arquitectura de modelos y evaluación de rendimiento en tareas de clasificación, regresión y segmentación. También incluye utilidades para entrenamiento distribuido en múltiples GPUs, entrenamiento de precisión mixta para optimización de memoria y soporte especializado para datos de imágenes médicas. El proyecto se entrega como una serie de Jupyter Notebooks.
fastai ensures specific tasks run only once on a primary process before executing across parallel workers.
Asterinas es un kernel de sistema operativo con seguridad de memoria diseñado para prevenir condiciones de carrera (data races) y corrupción de memoria. Funciona como un kernel compatible con la ABI de Linux, permitiendo la ejecución de binarios de Linux existentes y cargas de trabajo en contenedores mientras proporciona un modelo de distribución de sistema operativo declarativo. El proyecto se distingue por actuar como host de contenedores de máquinas virtuales y como SO invitado de computación confidencial, permitiendo su ejecución dentro de entornos de ejecución confiables (TEE) aislados por hardware como Intel TDX. Implementa una base de computación confiable mínima al aislar operaciones inseguras de bajo nivel y separa los mecanismos centrales del kernel de las implementaciones de políticas específicas. El sistema cubre una amplia gama de capacidades, incluyendo gestión de memoria física y virtual, multiprocesamiento simétrico y abstracción de hardware para varias arquitecturas de CPU. También incluye soporte para runtimes de contenedores seguros, un conjunto completo de primitivas de red y sockets, y una cadena de herramientas especializada para la compilación y emulación del kernel. El proyecto admite el despliegue en múltiples arquitecturas en plataformas x86-64, RISC-V 64 y LoongArch 64.
Implements primitives for coordinating execution flow and sharing memory between concurrent execution units to prevent data races.
Esta biblioteca de concurrencia de Java proporciona un conjunto de herramientas para gestionar la ejecución multihilo, la sincronización y la consistencia de la memoria. Sirve como un framework integral para implementar la ejecución concurrente a través de atómicos sin bloqueo (lock-free), colecciones seguras para hilos, primitivas de coordinación de tareas y grupos de trabajadores (worker pools). El proyecto incluye un kit de herramientas de sincronización de hilos dedicado que cuenta con latches, barreras y semáforos para coordinar el tiempo y el orden de las tareas concurrentes. También proporciona una suite de colecciones concurrentes de mapas, colas y listas que permiten compartir datos sin bloqueo manual, junto con un framework de operaciones atómicas para actualizaciones sin bloqueo a tipos y referencias básicos. La biblioteca cubre áreas de capacidad amplias, incluyendo la gestión de grupos de hilos para optimizar la utilización de recursos, el análisis del modelo de memoria para garantizar la visibilidad de los datos y varios mecanismos de gestión de bloqueos para evitar condiciones de carrera. Estas herramientas apoyan colectivamente el desarrollo de aplicaciones multihilo que mantienen transiciones de estado consistentes a través de la memoria compartida.
Provides a toolkit of latches, barriers, and semaphores to coordinate the timing and order of concurrent tasks.
Parallel is a Ruby library and multi-process execution framework designed to accelerate CPU-intensive operations. It functions as a parallel job orchestrator and concurrent task runner that enables the execution of code across multiple processes or threads. The project distinguishes itself through secure inter-process communication, utilizing signed data serialization to prevent the injection of forged payloads between parent and child processes. It further differentiates its worker management by assigning unique identifiers to individual processes to prevent collisions when accessing shared
Manages the lifecycle and resource allocation of multiple child processes to perform parallel operations safely.
PowerDNS is DNS server software used for serving authoritative and recursive DNS records. It functions as both an authoritative DNS server, providing definitive records for specific domains from trusted databases, and a recursive DNS resolver that finds answers for any domain by iteratively querying external servers. The project distinguishes itself through a backend-abstraction layer that decouples server logic from data storage, allowing records to be served from SQL databases, zone files, and external APIs. It includes a geo-aware DNS router to direct users to the nearest server based on t
Implements architectural components to manage the lifecycle and coordination of multiple related services within a single container.
Este proyecto proporciona materiales instructivos y de referencia para el desarrollo en C++, centrándose en el framework Qt. Sirve como guía y biblioteca de ejemplos para programación de red, compilaciones multiplataforma, ejecución multihilo y personalización de GUI. La colección presenta patrones especializados para construir interfaces de usuario y personalizar widgets mediante pintura y estilos personalizados. También proporciona una referencia para implementar comunicación cliente-servidor y gestionar tareas concurrentes utilizando primitivas de sincronización. El proyecto cubre una amplia gama de capacidades, incluyendo el despliegue de aplicaciones multiplataforma, gestión de bibliotecas para archivos estáticos y dinámicos, y programación de sistemas para el control del ciclo de vida de procesos y comunicación entre procesos. También incluye utilidades para la gestión de pantallas de alta densidad (high-DPI) y la recuperación de versiones de controladores de hardware.
Provides a reference for managing concurrent tasks using synchronization primitives to ensure thread-safe memory access.
Easyloggingpp is a header-only C++ logging framework and diagnostic tool designed for recording system events and diagnostic messages. It functions as a thread-safe logging library that synchronizes access across multiple concurrent execution threads to prevent data corruption during event recording. The framework features an asynchronous logger that processes messages on a background thread to minimize latency and prevent blocking the main application. It also acts as a log dispatcher, capable of routing data to local files, system syslog facilities, or remote network destinations for system
Implements mutexes and synchronization primitives to ensure thread-safe access to shared logging state.