13 个仓库
Coordination mechanisms that block process execution until a specific number of participants reach a common point.
Distinct from Distributed Synchronization: Focuses on execution checkpoints and worker synchronization rather than file consistency synchronization.
Explore 13 awesome GitHub repositories matching devops & infrastructure · Barrier Synchronization. Refine with filters or upvote what's useful.
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.
该项目为 WebGPU 提供了一套全面的工具集,充当图形 API 封装器、计算着色器框架、资源管理器和着色器工具链。它通过将内存密集型任务和数据处理从 CPU 卸载到 GPU,实现了基于浏览器的 GPU 加速。 该框架管理 GPU 操作的完整生命周期,从请求物理硬件适配器和初始化逻辑设备,到配置可编程渲染和计算管线。它特别支持并行工作组的协调以及用于通用计算的集体子组操作。 该系统涵盖了广泛的功能,包括缓冲区和纹理的 GPU 资源管理、具有自定义入口点的着色器开发工作流,以及通过命令缓冲区记录进行的性能优化。它还包括用于硬件性能查询、错误隔离和诊断过滤的观测工具。
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 是一个高性能通信库和分布式 GPU 计算框架,专为在单节点或多节点系统中的多个 GPU 之间执行集合和点对点数据交换而设计。它充当 RDMA GPU 传输层和内存编排器,为分布式 GPU 训练和推理提供高带宽的数据和模型梯度同步。 该库的特色在于能够直接从 GPU 内核执行通信原语,将主机 CPU 从关键路径中移除。它利用拓扑感知路径选择来优化数据移动,并采用包括 InfiniBand 和 NVLink 在内的基于 RDMA 的网络传输,以实现设备跨不同物理节点之间的零拷贝内存访问。 该项目涵盖了广泛的集合通信模式,包括归约(Reductions)、广播(Broadcasts)、收集(Gathers)和全对全交换(All-to-all exchanges),以及点对点远程内存访问。它提供全面的通信器管理,用于初始化、分区和调整 GPU 组大小,以及用于注册缓冲区和协调共享设备内存的专用内存管理。 该系统包括一套用于健康跟踪、诊断日志记录和实时事件监控的监控与可观测性工具,以及用于机器学习框架、CUDA Graphs、MPI 和 Python 的集成接口。
Executes network barriers across a group of peers to ensure all participating threads reach a common point.
Ignite is a high-level training framework for PyTorch neural networks that serves as a training engine and deep learning lifecycle manager. It provides a structured system for organizing and automating training and evaluation loops, managing data iterators and triggering event handlers at specific milestones during the model training process. The project distinguishes itself through a comprehensive suite of tools for distributed training and model evaluation. It includes utilities for synchronizing gradients and coordinating collective communication across multiple GPUs or nodes, as well as a
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.
该项目是一个跨平台图形封装器和翻译层,实现了 OpenGL ES 和 EGL 规范。它作为图形 API 桥梁,将 OpenGL ES 调用和 WebGL 内容映射到 Vulkan 和 Metal 等平台特定的硬件 API,以确保跨不同操作系统的一致渲染。 该系统具有着色器翻译服务,可验证着色语言代码并将其转译为多种目标语言,包括 HLSL、SPIR-V 和 Metal SL。它采用可插拔的后端架构,在初始化期间选择合适的硬件渲染 API,并可以覆盖 GPU 硬件标识符以保持应用兼容性。 其能力范围包括 GPU API 抽象和图形扩展映射,以及将 OpenCL 计算调用转换为硬件特定指令。在资源管理方面,该项目实现了 Vulkan 命令缓冲区管理和使用读写屏障的资源访问同步。 通过 API 调用跟踪捕获、GPU 调试标记发射以及针对 Vulkan API 调用的详细系统日志提供可观测性。
Issues read and write barriers for images and buffers to prevent data races between GPU operations.
该项目是一个综合性的 iOS 应用开发框架,专注于构建具有自定义用户界面组件、异步任务管理和本地数据持久化的移动应用。它作为软件工程的技术知识库,提供用于以 Markdown 格式组织和发布架构分析与笔记的工具。 该框架通过一个强大的基于文档的存储层脱颖而出,该层利用 BSON 格式的记录在 NoSQL 文档存储中执行 CRUD 操作。它提供广泛的系统集成功能,包括专门的应用扩展通信、跨沙盒消息传递和原生共享表单呈现,从而允许宿主应用与系统级服务之间的无缝交互。 该项目涵盖了广泛的功能面,包括具有线程安全同步的高级并发管理、卸载到后台的 UI 渲染以保持响应性,以及全面的国际化支持。它还包括面向开发者的工具,用于静态类型生成、自动化资源映射和交互式原型构建,以及用于地理信标监控和自适应图表生成的专门工具。
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.
This repository serves as a technical reference and educational resource for implementing concurrent programming patterns within the Java virtual machine. It provides a collection of examples and architectural approaches designed to manage shared state, thread synchronization, and task execution in multithreaded environments. The library focuses on foundational strategies for building scalable applications, including techniques for data isolation and the implementation of producer-consumer workflows. It covers a range of synchronization mechanisms, such as mutual exclusion for shared memory a
Implements thread barriers to coordinate execution flow across multiple threads.