15 repositorios
Systems that maintain file consistency across multiple devices without manual intervention.
Distinguishing note: Focuses on the synchronization domain, distinct from general file management.
Explore 15 awesome GitHub repositories matching devops & infrastructure · Distributed Synchronization. Refine with filters or upvote what's useful.
Spacedrive is a decentralized storage client that functions as a distributed file manager, aggregating local, cloud, and network storage into a single virtual filesystem. It operates on a local-first design, prioritizing offline availability by caching metadata and file chunks locally before synchronizing them across devices. By coordinating data access without relying on a central server, it enables users to maintain a private and secure storage network across their own hardware and cloud accounts. The platform distinguishes itself through a virtual storage layer that maps disparate physical
Keeps files consistent across multiple devices and storage locations by automatically syncing changes in the background.
Beads is a versioned, dependency-aware graph database designed for distributed issue tracking and project management. It functions as an agentic workflow orchestrator, providing a structured environment where tasks, dependencies, and project metadata are linked through relational hierarchies. By maintaining a persistent, version-controlled record of project state, the system enables teams to manage complex work items across multiple repositories and environments. The platform distinguishes itself through its deep integration with automated coding agents, acting as a Model Context Protocol ser
Maintains a consistent, versioned record of project tasks and dependencies across distributed environments.
git-bug is a distributed bug tracker and local-first issue manager that stores bug reports and comments as versioned objects directly within a Git repository. It integrates project management by coupling issue history with source code, using Git as the transport layer to synchronize task data across multiple local clones. The system enables distributed bug tracking without relying on a central server or external hosting provider. It utilizes a local indexing cache to provide near-instant searching and filtering of issue metadata without network latency. The project further supports synchroni
Synchronizes issue tracker state across different machines using Git push and pull as the transport mechanism.
Asio is a C++ library for performing network and low-level I/O operations using a consistent asynchronous model that avoids blocking program execution. It provides a portable, cross-platform interface for network socket communication across different operating systems, and manages multiple asynchronous operations without requiring explicit thread management or locking. The library implements a proactor-based asynchronous model where operations post completion handlers to a queue for later execution, and wraps operating system I/O multiplexing mechanisms like epoll, kqueue, IOCP, and select in
Implements a proactor-based completion model where operations post handlers to a queue for later execution.
Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data structures, synchronization primitives, and asynchronous execution patterns. It implements core concurrency abstractions including an actor model framework where isolated actors communicate through asynchronous message passing, a future and promise system for composing non-blocking operations, and thread pool executors that manage reusable worker threads for concurrent task execution. The library distinguishes itself through a broad set of coordination mechanisms that go beyond basic th
Implements a thread barrier that synchronizes a group of threads at a common point before proceeding.
Este proyecto proporciona un conjunto de herramientas integral para WebGPU, actuando como un wrapper de API de gráficos, framework de compute shaders, gestor de recursos y cadena de herramientas de shaders. Permite la aceleración por GPU en el navegador al descargar tareas intensivas en memoria y procesamiento de datos de la CPU a la GPU. El framework gestiona el ciclo de vida completo de las operaciones de GPU, desde la solicitud de adaptadores de hardware físicos y la inicialización de dispositivos lógicos hasta la configuración de pipelines de renderizado y cómputo programables. Soporta específicamente la coordinación de grupos de trabajo paralelos y operaciones colectivas de subgrupos para cálculos de propósito general. El sistema cubre una amplia superficie de capacidades, incluyendo la gestión de recursos de GPU para buffers y texturas, flujos de trabajo de desarrollo de shaders con puntos de entrada personalizados y optimización de rendimiento mediante la grabación de buffers de comandos. También incluye herramientas de observabilidad para consultas de rendimiento de hardware, aislamiento de errores y filtrado de diagnósticos.
Ensures data consistency across concurrent invocations using memory barriers and async completion signals.
TileLang is a Python-embedded domain-specific language compiler that JIT-compiles and autotunes GPU kernels. It uses a tile-based DSL, automatic software pipelining, and parallel autotuning to generate optimized GPU kernels at runtime. It supports tensor core operations with Pythonic syntax, automatic memory management, and thread mapping. The compiler searches over tile sizes, thread counts, and scheduling policies, compiling and benchmarking candidates in parallel to find the fastest kernel. It also caches compiled binaries and tuning results to disk for reuse across sessions. TileLang inc
Allocates synchronization barriers for coordinating thread arrivals in GPU kernels.
Dramatiq is a distributed task queue and workload manager used to offload function execution to background workers. It functions as an asynchronous task orchestrator that enables the distribution of computational tasks across a cluster using a pluggable transport layer supporting RabbitMQ and Redis. The framework provides specialized tools for complex task orchestration, including the ability to link background jobs into sequences, pipelines, and barriers. It further manages distributed concurrency through the use of shared mutexes, rate limiters, and exponential backoff retries to prevent re
Coordinates multiple remote workers by blocking execution until a specific number of tasks reach a checkpoint.
NCCL es una biblioteca de comunicación de alto rendimiento y un framework de computación distribuida en GPU diseñado para ejecutar intercambios de datos colectivos y punto a punto a través de múltiples GPUs en sistemas de uno o varios nodos. Sirve como capa de transporte RDMA para GPU y orquestador de memoria, facilitando la sincronización de gran ancho de banda de datos y gradientes de modelos para el entrenamiento e inferencia distribuida en GPU. La biblioteca se distingue por su capacidad para ejecutar primitivas de comunicación directamente desde kernels de GPU, eliminando la CPU anfitriona del camino crítico. Utiliza la selección de rutas consciente de la topología para optimizar el movimiento de datos y emplea transporte de red basado en RDMA, incluyendo InfiniBand y NVLink, para permitir el acceso a memoria de copia cero entre dispositivos a través de diferentes nodos físicos. El proyecto cubre una amplia gama de patrones de comunicación colectiva, incluyendo reducciones, broadcasts, gathers e intercambios all-to-all, junto con acceso remoto a memoria punto a punto. Proporciona una gestión integral de comunicadores para inicializar, particionar y redimensionar grupos de GPU, así como una gestión de memoria especializada para registrar buffers y coordinar memoria compartida de dispositivo. El sistema incluye un conjunto de herramientas de monitoreo y observabilidad para el seguimiento de la salud, registro de diagnósticos y monitoreo de eventos en tiempo real, así como interfaces de integración para frameworks de aprendizaje automático, CUDA graphs, MPI y Python.
Executes network barriers across a group of peers to ensure all participating threads reach a common point.
Ignite es un framework de entrenamiento de alto nivel para redes neuronales en PyTorch que sirve como motor de entrenamiento y gestor del ciclo de vida del aprendizaje profundo. Proporciona un sistema estructurado para organizar y automatizar bucles de entrenamiento y evaluación, gestionando iteradores de datos y activando manejadores de eventos en hitos específicos durante el proceso de entrenamiento del modelo. El proyecto se distingue por una suite integral de herramientas para el entrenamiento distribuido y la evaluación de modelos. Incluye utilidades para sincronizar gradientes y coordinar la comunicación colectiva a través de múltiples GPUs o nodos, así como una suite de evaluación para calcular métricas de rendimiento y realizar validación cruzada k-fold. Sus capacidades más amplias cubren la automatización del flujo de trabajo de entrenamiento, incluyendo la programación de la tasa de aprendizaje, parada temprana y optimización de hiperparámetros. El framework también proporciona herramientas de observabilidad para el seguimiento de experimentos, perfilado de tiempo de ejecución y entrenamiento de precisión mixta para optimizar el uso de memoria. Se incluyen mecanismos de persistencia de estado para gestionar checkpoints del modelo y recuperar sesiones de entrenamiento. Hay entornos contenedorizados disponibles para simplificar el despliegue y la configuración del entorno.
Provides coordination mechanisms that block process execution until all distributed nodes reach a common synchronization point.
SSH.NET is a .NET library that implements the SSH-2 protocol for encrypted remote connections and secure file transfers. It provides a complete SSH-2 protocol stack implementation with a channel multiplexing engine that manages multiple concurrent channels over a single connection, supporting simultaneous shell sessions, remote command execution, SFTP transfers, and port forwarding tunnels. The library includes a pluggable authentication pipeline supporting password, public key, certificate, keyboard-interactive, and multi-factor authentication combinations. The library distinguishes itself t
Encapsulates async operation results in base classes for consistent completion handling across all remote operations.
Este proyecto es un wrapper de gráficos multiplataforma y capa de traducción que implementa las especificaciones OpenGL ES y EGL. Funciona como un puente de API de gráficos, mapeando llamadas de OpenGL ES y contenido WebGL a APIs de hardware específicas de la plataforma como Vulkan y Metal para asegurar un renderizado consistente en diferentes sistemas operativos. El sistema cuenta con un servicio de traducción de shaders que valida el código del lenguaje de sombreado y lo transpila a múltiples lenguajes de destino, incluyendo HLSL, SPIR-V y Metal SL. Emplea una arquitectura de backend conectable para seleccionar la API de renderizado de hardware adecuada durante la inicialización y puede sobrescribir identificadores de hardware de GPU para mantener la compatibilidad de la aplicación. La superficie de capacidades incluye la abstracción de API de GPU y el mapeo de extensiones de gráficos, así como la traducción de llamadas de cómputo de OpenCL a instrucciones específicas de hardware. Para la gestión de recursos, el proyecto implementa la gestión de buffers de comandos de Vulkan y la sincronización de acceso a recursos utilizando barreras de lectura y escritura. La observabilidad se proporciona a través de la captura de trazas de llamadas de API, emisión de marcadores de depuración de GPU y registro detallado del sistema para llamadas de la API de Vulkan.
Issues read and write barriers for images and buffers to prevent data races between GPU operations.
This project is a comprehensive framework for iOS application development, centered on building mobile applications that feature custom user interface components, asynchronous task management, and local data persistence. It serves as a technical knowledge base for software engineering, providing tools to organize and publish architectural analyses and notes in Markdown format. The framework distinguishes itself through a robust document-based storage layer that utilizes BSON-formatted records to perform CRUD operations within a NoSQL document store. It provides extensive system integration ca
Implements reader-writer locks using dispatch barriers to allow multiple simultaneous reads while ensuring exclusive access for writes.
cppcoro is a C++ coroutine library and concurrency toolkit providing primitives for asynchronous tasks, lazy generators, and non-blocking execution. It functions as an asynchronous I/O framework for managing network sockets and file operations through an event loop. The library features a work-stealing thread pool for distributing tasks across multiple cores and a set of async generators for producing lazy sequences of values both synchronously and asynchronously. It includes a concurrency toolkit with async mutexes, latches, and shared tasks to coordinate multi-threaded execution. Its capab
Implements asynchronous latches that suspend operations until a counter reaches zero.
AsyncEx is a .NET asynchronous synchronization library providing a collection of primitives to coordinate tasks and manage execution flow. It implements mechanisms for asynchronous resource locking, event signaling, and concurrency control to ensure correct execution order in environments supporting async/await. The library includes an asynchronous lock implementation to protect shared resources without blocking threads, an async semaphore controller to limit simultaneous operations, and an event signaling system to manage the startup and shutdown of asynchronous workflows. The toolkit cover
Coordinates the order and timing of multiple async operations using completion signals.