17 repository-uri
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 este un software de măsurare a rețelelor IP conceput pentru a cuantifica ratele de transfer de date și stabilitatea rețelei. Acesta funcționează ca un instrument de benchmarking al performanței rețelei care testează capacitatea și debitul între două gazde pentru a identifica blocajele și limitele de performanță. Instrumentul măsoară în mod specific lățimea de bandă maximă și pierderea de pachete pe rețele IP folosind protocoalele TCP și UDP. De asemenea, servește ca exportator de date de rețea, oferind rezultatele performanței în format JSON pentru analiză programatică și integrare. Software-ul acoperă o gamă de capabilități, inclusiv analiza debitului rețelei și testarea traficului. Acesta permite măsurarea capacității totale de date și evaluarea hardware-ului și a configurațiilor de rețea prin teste standardizate.
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 este un monitor de sistem cu interfață utilizator de terminal pentru sisteme Unix. Acesta funcționează ca un vizualizator interactiv de procese și vizualizator de resurse în timp real, oferind un dashboard pentru a urmări metricile CPU, memoriei și încărcării medii. Instrumentul permite sortarea, filtrarea și terminarea proceselor și firelor de execuție active ale sistemului. Se distinge printr-o interfață în mod text care poate reda procesele într-o structură arborescentă ierarhică pentru a vizualiza relațiile părinte-copil și permite alocarea afinității CPU către nuclee de procesor specifice. Suprafața de monitorizare acoperă utilizarea CPU, alocările de memorie, starea bateriei și mediile de încărcare a sistemului. Utilizatorii pot personaliza experiența vizuală prin configurarea contoarelor de resurse, modificarea coloanelor de procese și aplicarea unor scheme de culori specifice. Interfața include o bară de funcții persistentă care afișează comenzile rapide de la tastatură și comenzile disponibile.
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 este un runtime asincron de înaltă performanță și un executor pentru Rust. Implementează un model de concurență thread-per-core care fixează sarcinile pe nuclee CPU specifice pentru a elimina overhead-ul de sincronizare și migrarea datelor. Runtime-ul utilizează interfața io_uring pentru a efectua apeluri de sistem non-blocante și pentru a reduce copierea memoriei între kernel și user mode. Utilizează un driver I/O de înaltă performanță și wrapping zero-copy pentru fluxuri TCP pentru a gestiona transferul de date prin buffere de memorie partajată. Proiectul oferă capabilități pentru gestionarea afinității nucleelor CPU, programarea sistemelor cu latență scăzută și rețelistică de înaltă performanță. Include un backend de driver I/O pluggable și configurații pentru blocarea memoriei pentru a menține buffere stabile între spațiul utilizatorului și cel al kernelului.
Optimizes performance by pinning asynchronous tasks to specific CPU cores.
NCCL este o bibliotecă de comunicare de înaltă performanță și un framework de calcul distribuit pe GPU, conceput pentru executarea schimburilor de date colective și punct-la-punct pe mai multe GPU-uri în sisteme cu un singur nod sau multi-nod. Servește ca strat de transport RDMA pentru GPU și orchestrator de memorie, facilitând sincronizarea cu lățime de bandă mare a datelor și a gradienților de model pentru antrenarea și inferența distribuită pe GPU. Biblioteca se distinge prin capacitatea sa de a executa primitive de comunicare direct din kernel-urile GPU, eliminând CPU-ul gazdă din calea critică. Utilizează selecția de căi conștientă de topologie pentru a optimiza mișcarea datelor și folosește transportul de rețea bazat pe RDMA, inclusiv InfiniBand și NVLink, pentru a permite accesul la memorie zero-copy între dispozitive pe diferite noduri fizice. Proiectul acoperă o gamă largă de tipare de comunicare colectivă, inclusiv reduceri, broadcast-uri, gather-uri și schimburi all-to-all, alături de accesul la memorie la distanță punct-la-punct. Oferă gestionare cuprinzătoare a comunicatorului pentru inițializarea, partiționarea și redimensionarea grupurilor GPU, precum și gestionarea specializată a memoriei pentru înregistrarea bufferelor și coordonarea memoriei partajate a dispozitivului. Sistemul include o suită de instrumente de monitorizare și observabilitate pentru urmărirea stării, logarea diagnostică și monitorizarea evenimentelor în timp real, precum și interfețe de integrare pentru framework-uri de machine learning, CUDA graphs, MPI și Python.
Binds internal threads to specific processor cores based on hardware proximity to minimize latency.
Asterinas is a memory-safe operating system kernel designed to prevent data races and memory corruption. It functions as a Linux-ABI compatible kernel, enabling the execution of existing Linux binaries and container workloads while providing a declarative operating system distribution model. The project distinguishes itself by acting as a virtual machine container host and a confidential computing guest OS, allowing it to run within hardware-isolated Trusted Execution Environments such as Intel TDX. It implements a minimal trusted computing base by isolating unsafe low-level operations and se
Prevents tasks from executing on multiple CPUs simultaneously using atomic flags during context switches.
Iggy este o platformă distribuită de streaming de mesaje și un broker de mesaje multi-protocol care funcționează ca un magazin de log-uri distribuite persistente. Oferă infrastructură pentru publicarea și consumarea mesajelor binare folosind un log de tip append-only, asigurând disponibilitate ridicată și consistența datelor între noduri prin Viewstamped Replication. Platforma se distinge prin infrastructura sa specializată de streaming pentru LLM-uri, care utilizează un protocol de server pentru a conecta modelele de limbaj mari la datele de streaming și la controalele sistemului. Aceasta include protocoale standardizate pentru gestionarea contextului și bridging-ul datelor prin HTTP sau input-output standard. Sistemul acoperă un set larg de capabilități, inclusiv orchestrarea pipeline-urilor de date cu plugin-uri modulare de sursă și destinație, coordonarea grupurilor de consumatori pentru scalare orizontală și suport pentru transport multi-protocol prin TCP, QUIC, HTTP și WebSocket. De asemenea, încorporează primitive de securitate precum criptarea AES-256-GCM pentru datele stocate și în tranzit, și oferă observabilitate prin metrici Prometheus, tracing OpenTelemetry și un dashboard web operațional. Serverul poate fi implementat folosind imagini de container și orchestrat prin 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.