17 个仓库
Techniques for pinning processes or threads to specific CPU cores to optimize cache usage and reduce context switching.
Distinct from CPU Optimizations: Candidates focus on hardware architectures or AI-specific optimizations, not general systems programming for server process binding.
Explore 17 awesome GitHub repositories matching operating systems & systems programming · CPU Affinity Binding. Refine with filters or upvote what's useful.
h2o is a high-performance content delivery server and HTTP/3 web server. It functions as a network gateway and reverse proxy that forwards client requests to upstream servers to manage traffic flow and load. The project distinguishes itself as a protocol fuzzing tool, utilizing a testing framework to execute automated stress tests against network protocols to identify memory leaks and crashes. The server provides capabilities for secure web traffic management through encrypted data transmission and high-performance web serving across HTTP/1, HTTP/2, and HTTP/3. It includes tools for server r
Implements CPU affinity binding to pin server threads to specific physical cores for reduced cache misses.
PowerInfer is a high-performance local large language model inference engine and sparse inference framework. It provides a runtime for executing models on consumer-grade hardware, utilizing a GPU acceleration backend to optimize tensor operations for graphics processors. The system distinguishes itself through a sparse inference framework that increases generation speed by skipping computations based on activation sparsity in model weights. It includes a GGUF model converter for transforming weights and metadata into a unified binary format, as well as an OpenAI API compatible server for inte
Binds execution threads to high-performance CPU cores to minimize scheduling latency and maximize generation speed.
iperf 是专为量化数据传输速率和网络稳定性而设计的 IP 网络测量软件。它作为一种网络性能基准测试工具,用于测试两台主机之间的容量和吞吐量,以识别瓶颈和性能限制。 该工具专门使用 TCP 和 UDP 协议测量 IP 网络上的最大带宽和丢包率。它还充当网络数据导出器,以 JSON 格式输出性能结果,以便进行程序化分析和集成。 该软件涵盖了一系列功能,包括网络吞吐量分析和流量测试。它允许通过标准化测试来测量总数据容量并评估网络硬件和配置。
Binds network processing threads to specific CPU cores to reduce cache misses and context switching.
htop is a terminal-based system resource monitor and interactive process viewer. It functions as a text-user interface dashboard for overseeing hardware temperatures, load averages, and battery status while providing a comprehensive tool for monitoring and managing system processes. The application distinguishes itself through detailed process lifecycle management, allowing users to kill processes, adjust priorities via renicing, and assign CPU affinity to specific cores. It provides high-level visibility into system behavior through process hierarchy visualization and the ability to inspect
Enables pinning processes to specific CPU cores to optimize performance and isolate workloads.
OpenBLAS is a high-performance implementation of the Basic Linear Algebra Subprograms standard designed for numerical computing and matrix operations. It serves as a hardware-accelerated numerical library and optimized math kernel library, providing a computational engine for large-scale matrix multiplication and vector operations. The library distinguishes itself through the use of hand-tuned assembly kernels and SIMD instruction mapping, such as AVX and SVE, to maximize floating-point performance on specific CPU architectures. It features a multi-threaded framework that manages parallel exe
Binds specific threads to CPU cores to optimize cache usage and maximize processing efficiency.
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Reduces latency by mapping internal thread categories to designated CPU cores.
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
Restricts where a task, interrupt, or memory allocation may run by respecting affinity masks and memory policies.
htop 是一个用于 Unix 系统的终端用户界面系统监视器。它作为一个交互式进程查看器和实时资源可视化工具,提供了一个仪表板来跟踪 CPU、内存和负载平均指标。 该工具支持对活跃系统进程和线程进行排序、过滤和终止。它以文本模式界面脱颖而出,该界面可以以分层树结构渲染进程,以可视化父子关系,并允许将 CPU 亲和性分配给特定的处理器核心。 监控界面涵盖 CPU 利用率、内存分配、电池状态和系统负载平均值。用户可以通过配置资源仪表、修改进程列和应用特定配色方案来自定义视觉体验。 该界面包含一个持久的功能栏,显示可用的键盘快捷键和命令。
Allows users to pin specific processes to designated CPU cores to optimize performance.
CRI-O is an open-source container runtime that implements the Kubernetes Container Runtime Interface (CRI) to manage container images, pods, and containers on cluster nodes using OCI-compatible runtimes. It serves as a node-level container manager that handles image pulling, container lifecycle, and resource monitoring for Kubernetes clusters, running containers according to the Open Container Initiative specifications. The runtime distinguishes itself through live configuration reloading that applies changes to runtime definitions, registry mirrors, and TLS certificates without restarting th
Assigns system-level commands and the container monitor to a dedicated CPU set for workload isolation.
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
Binds threads to specific processor cores to optimize cache usage and control execution placement.
monoio 是一个高性能的 Rust 异步运行时和执行器。它实现了每个核心一个线程的并发模型,将任务绑定到特定的 CPU 核心,以消除同步开销和数据迁移。 该运行时利用 io_uring 接口执行非阻塞系统调用,并减少内核与用户模式之间的内存拷贝。它利用高性能 I/O 驱动程序和零拷贝 TCP 流封装,通过共享内存缓冲区管理数据传输。 该项目提供了 CPU 核心亲和性管理、低延迟系统编程和高性能网络功能。它包括可插拔的 I/O 驱动程序后端,以及用于在用户空间和内核空间之间维护稳定缓冲区的内存锁定配置。
Optimizes performance by pinning asynchronous tasks to specific CPU cores.
NCCL 是一个高性能通信库和分布式 GPU 计算框架,专为在单节点或多节点系统中的多个 GPU 之间执行集合和点对点数据交换而设计。它充当 RDMA GPU 传输层和内存编排器,为分布式 GPU 训练和推理提供高带宽的数据和模型梯度同步。 该库的特色在于能够直接从 GPU 内核执行通信原语,将主机 CPU 从关键路径中移除。它利用拓扑感知路径选择来优化数据移动,并采用包括 InfiniBand 和 NVLink 在内的基于 RDMA 的网络传输,以实现设备跨不同物理节点之间的零拷贝内存访问。 该项目涵盖了广泛的集合通信模式,包括归约(Reductions)、广播(Broadcasts)、收集(Gathers)和全对全交换(All-to-all exchanges),以及点对点远程内存访问。它提供全面的通信器管理,用于初始化、分区和调整 GPU 组大小,以及用于注册缓冲区和协调共享设备内存的专用内存管理。 该系统包括一套用于健康跟踪、诊断日志记录和实时事件监控的监控与可观测性工具,以及用于机器学习框架、CUDA Graphs、MPI 和 Python 的集成接口。
Binds internal threads to specific processor cores based on hardware proximity to minimize latency.
Asterinas 是一个内存安全的操作系统内核,旨在防止数据竞争和内存损坏。它作为一个兼容 Linux-ABI 的内核,能够运行现有的 Linux 二进制文件和容器工作负载,同时提供声明式的操作系统分发模型。 该项目的特色在于充当虚拟机容器宿主机和机密计算客户机操作系统,使其能够在 Intel TDX 等硬件隔离的可信执行环境(TEE)中运行。它通过隔离不安全底层操作实现了最小化的可信计算基(TCB),并将核心内核机制与特定策略实现分离开来。 该系统涵盖了广泛的能力,包括物理和虚拟内存管理、对称多处理(SMP),以及针对各种 CPU 架构的硬件抽象。它还包括对安全容器运行时的支持、一套全面的网络和 Socket 原语,以及用于内核编译和仿真的专用工具链。 该项目支持在 x86-64、RISC-V 64 和 LoongArch 64 平台上进行多架构部署。
Prevents tasks from executing on multiple CPUs simultaneously using atomic flags during context switches.
Iggy 是一个分布式消息流平台和多协议消息代理,作为持久化分布式日志存储运行。它为使用追加日志(append-only log)发布和消费二进制消息提供了基础设施,通过 Viewstamped Replication 确保跨节点的高可用性和数据一致性。 该平台以其专业的 LLM 流式基础设施而著称,该基础设施使用服务器协议将大语言模型连接到流数据和系统控制。这包括通过 HTTP 或标准输入输出进行上下文管理和数据桥接的标准化协议。 该系统涵盖了广泛的功能,包括带有模块化源和汇插件的数据管道编排、用于水平扩展的消费者组协调,以及跨 TCP、QUIC、HTTP 和 WebSocket 的多协议传输支持。它还集成了诸如用于静态和传输中数据的 AES-256-GCM 加密等安全原语,并通过 Prometheus 指标、OpenTelemetry 追踪和操作 Web 仪表板提供可观测性。 该服务器可以使用容器镜像部署,并通过 Kubernetes 进行编排。
Binds shards to specific CPU cores and detects hardware topology to maximize processing efficiency.
Fastsocket is a high-performance Linux socket implementation designed for linear scalability on multicore systems. It functions as a TCP throughput optimizer and a multicore packet steering engine that reduces system call overhead and lock contention to increase total network processing capacity. The project distinguishes itself through a network system call interceptor that uses a shared library to redirect standard socket calls to optimized interfaces without requiring changes to application binaries. It employs active connection steering by encoding CPU core IDs into source ports and utili
Maps network interface hardware queues to specific CPU cores to distribute interrupt processing.
BytePS is a distributed deep neural network training framework and communication library designed to scale model training across multiple GPUs and compute nodes. It functions as a GPU cluster orchestrator and RDMA network optimizer, providing the necessary primitives to synchronize gradients and data across a server cluster. The project distinguishes itself through high-performance network optimizations, utilizing remote direct memory access and page-aligned memory to reduce latency. It employs topology-aware communication tuning and CPU core affinity management to maximize hardware throughpu
Pins execution threads to specific physical cores and memory nodes to reduce context switching and latency.
uperf is an Android performance tuning tool and Linux kernel parameter manager designed to optimize device responsiveness and battery life. It functions as a CPU affinity and scheduling manager, a hardware power profile controller, and a real-time system monitor that adjusts kernel parameters and CPU frequencies. The project distinguishes itself through real-time system monitoring of touchscreen input and frame rendering to trigger immediate performance boosts. It utilizes hardware performance profiling to apply pre-tuned configuration files tailored to specific hardware platforms, balancing
Implements CPU affinity binding to pin UI threads to high-performance clusters and reduce latency.