14 Repos
Systems that maintain file consistency across multiple devices without manual intervention.
Distinguishing note: Focuses on the synchronization domain, distinct from general file management.
Explore 14 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.
Dieses Projekt bietet ein umfassendes Toolset für WebGPU und dient als Grafik-API-Wrapper, Compute-Shader-Framework, Ressourcen-Manager und Shader-Toolchain. Es ermöglicht browserbasierte GPU-Beschleunigung, indem speicherintensive Aufgaben und Datenverarbeitung von der CPU auf die GPU ausgelagert werden. Das Framework verwaltet den gesamten Lebenszyklus von GPU-Operationen, von der Anforderung physischer Hardware-Adapter und der Initialisierung logischer Geräte bis hin zur Konfiguration programmierbarer Render- und Compute-Pipelines. Es unterstützt speziell die Koordination paralleler Workgroups und kollektiver Subgroup-Operationen für allgemeine Berechnungen. Das System deckt ein breites Spektrum ab, einschließlich GPU-Ressourcenmanagement für Buffer und Texturen, Shader-Entwicklungs-Workflows mit benutzerdefinierten Einstiegspunkten und Performance-Optimierung durch Command-Buffer-Recording. Zudem enthält es Observability-Tools für Hardware-Performance-Abfragen, Fehlerisolierung und diagnostische Filterung.
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 ist eine Hochleistungs-Kommunikationsbibliothek und ein Framework für verteiltes GPU-Computing, das für die Ausführung kollektiver und Punkt-zu-Punkt-Datenaustausche über mehrere GPUs in Einzel- oder Multi-Node-Systemen entwickelt wurde. Es dient als RDMA-GPU-Transportschicht und Speicher-Orchestrator, der die hochbandbreitige Synchronisation von Daten und Modellgradienten für verteiltes GPU-Training und Inference erleichtert. Die Bibliothek zeichnet sich durch ihre Fähigkeit aus, Kommunikationsprimitive direkt aus GPU-Kernels auszuführen, wodurch die Host-CPU aus dem kritischen Pfad entfernt wird. Sie nutzt topologiebewusste Pfadauswahl zur Optimierung der Datenbewegung und verwendet RDMA-basierten Netzwerktransport, einschließlich InfiniBand und NVLink, um Zero-Copy-Speicherzugriffe zwischen Geräten über verschiedene physische Knoten hinweg zu ermöglichen. Das Projekt deckt eine breite Palette an kollektiven Kommunikationsmustern ab, darunter Reduktionen, Broadcasts, Gathers und All-to-All-Austausche, neben Punkt-zu-Punkt-Remote-Speicherzugriffen. Es bietet umfassendes Communicator-Management für die Initialisierung, Partitionierung und Größenanpassung von GPU-Gruppen sowie spezialisiertes Speichermanagement für das Registrieren von Buffern und das Koordinieren von gemeinsam genutztem Gerätespeicher. Das System enthält eine Suite von Monitoring- und Observability-Tools für Health-Tracking, diagnostisches Logging und Echtzeit-Ereignisüberwachung sowie Integrationsschnittstellen für Machine-Learning-Frameworks, CUDA-Graphs, MPI und Python.
Executes network barriers across a group of peers to ensure all participating threads reach a common point.
Ignite ist ein High-Level-Trainings-Framework für PyTorch-Neuronale Netze, das als Trainings-Engine und Deep-Learning-Lifecycle-Manager dient. Es bietet ein strukturiertes System zur Organisation und Automatisierung von Trainings- und Evaluierungsschleifen, verwaltet Daten-Iteratoren und löst Event-Handler bei bestimmten Meilensteinen während des Modelltrainings aus. Das Projekt zeichnet sich durch eine umfassende Suite von Tools für verteiltes Training und Modellevaluierung aus. Es enthält Dienstprogramme zur Synchronisierung von Gradienten und zur Koordination kollektiver Kommunikation über mehrere GPUs oder Knoten hinweg sowie eine Evaluierungssuite zur Berechnung von Leistungsmetriken und zur Durchführung von k-facher Kreuzvalidierung. Die breiteren Funktionen umfassen die Automatisierung von Trainings-Workflows, einschließlich Learning-Rate-Scheduling, Early Stopping und Hyperparameter-Optimierung. Das Framework bietet zudem Observability-Tools für Experiment-Tracking, Profiling der Ausführungszeit und Mixed-Precision-Training zur Optimierung der Speicherauslastung. Mechanismen zur Statuspersistenz sind enthalten, um Modell-Checkpoints zu verwalten und Trainingssitzungen wiederherzustellen. Containerisierte Umgebungen sind verfügbar, um die Bereitstellung und Einrichtung zu vereinfachen.
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.
Dieses Projekt ist ein plattformübergreifender Grafik-Wrapper und eine Übersetzungsschicht, die die OpenGL-ES- und EGL-Spezifikationen implementiert. Es fungiert als Grafik-API-Brücke, die OpenGL-ES-Aufrufe und WebGL-Inhalte auf plattformspezifische Hardware-APIs wie Vulkan und Metal abbildet, um ein konsistentes Rendering über verschiedene Betriebssysteme hinweg zu gewährleisten. Das System verfügt über einen Shader-Übersetzungsdienst, der Shading-Language-Code validiert und in mehrere Zielsprachen transpiliert, einschließlich HLSL, SPIR-V und Metal SL. Es verwendet eine steckbare Backend-Architektur, um die geeignete Hardware-Rendering-API während der Initialisierung auszuwählen, und kann GPU-Hardware-Identifikatoren überschreiben, um die Anwendungskompatibilität aufrechtzuerhalten. Der Funktionsumfang umfasst GPU-API-Abstraktion und Grafik-Extension-Mapping sowie die Übersetzung von OpenCL-Compute-Aufrufen in hardwarespezifische Anweisungen. Für das Ressourcenmanagement implementiert das Projekt Vulkan-Command-Buffer-Management und Ressourcen-Zugriffssynchronisation mittels Read- und Write-Barriers. Die Beobachtbarkeit wird durch API-Call-Trace-Capture, GPU-Debug-Marker-Emission und detailliertes System-Logging für Vulkan-API-Aufrufe bereitgestellt.
Issues read and write barriers for images and buffers to prevent data races between GPU operations.
Dieses Projekt ist ein umfassendes Framework für die iOS-App-Entwicklung, das sich auf den Aufbau mobiler Anwendungen mit benutzerdefinierten UI-Komponenten, asynchronem Task-Management und lokaler Datenpersistenz konzentriert. Es dient als technische Wissensdatenbank für Software-Engineering und bietet Tools zur Organisation und Veröffentlichung architektonischer Analysen und Notizen im Markdown-Format. Das Framework zeichnet sich durch eine robuste dokumentenbasierte Speicherschicht aus, die BSON-formatierte Datensätze nutzt, um CRUD-Operationen innerhalb eines NoSQL-Dokumentenspeichers durchzuführen. Es bietet umfangreiche Systemintegrationsfunktionen, einschließlich spezialisierter App-Extension-Kommunikation, Cross-Sandbox-Messaging und nativer Share-Sheet-Präsentation, was eine nahtlose Interaktion zwischen der Host-Anwendung und Systemdiensten ermöglicht. Das Projekt deckt eine breite Funktionsfläche ab, einschließlich fortgeschrittenem Concurrency-Management mit thread-sicherer Synchronisierung, Auslagerung des Hintergrund-UI-Renderings zur Wahrung der Reaktionsfähigkeit und umfassender Internationalisierungsunterstützung. Es enthält zudem entwicklerfokussierte Utilities für statische Typgenerierung, automatisierte Asset-Mappings und interaktive Prototypenkonstruktion sowie spezialisierte Tools für geografisches Beacon-Monitoring und adaptive Diagrammerstellung.
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.