14 Repos
Strategies for partitioning parallel workloads across multiple physical processor cores.
Distinct from Multi-GPU Workload Distribution: Candidates are limited to GPU-specific distribution or networking cores, whereas this is general CPU multi-core scaling.
Explore 14 awesome GitHub repositories matching operating systems & systems programming · Multi-Core Workload Distribution. Refine with filters or upvote what's useful.
HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime in Rust. It functions as a massively parallel functional runtime that uses interaction combinators to achieve automatic parallelism across multi-core CPUs and GPUs. The project distinguishes itself by using a graph-rewriting computational model to execute programs via local reduction rules, which eliminates the need for manual locks or atomic operations. It employs beta-optimal reduction and lazy evaluation to optimize higher-order functions and eliminate redundant computation
Partitions functional workloads across multiple physical processor cores using a work-stealing scheduler.
Crossbeam is a concurrency toolkit for Rust providing low-level primitives for writing multi-threaded programs. It focuses on lock-free data structures and memory management primitives designed for shared-memory concurrent environments. The project includes a work-stealing scheduler that uses double-ended queues to balance workloads across multiple processor cores. This system enables the implementation of work-stealing deques to distribute tasks and prevent bottlenecks. The toolkit covers broader capabilities for parallel algorithm development, multi-threaded task scheduling, and general co
Distributes computational workloads across multiple processor cores to ensure efficient hardware utilization.
oneAPI Threading Building Blocks (oneTBB)
Distributes workload across multiple processor cores without manual thread management, improving throughput on multi-core hardware.
OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and expressiveness. It provides a comprehensive compiling toolchain that transforms source code into either portable bytecode or high-performance native binaries. The project is distinguished by a shared memory parallel runtime that executes computations across multiple processor cores using domains, and an algebraic effect system for managing side effects and control flow through execution context handlers. It also includes a dedicated parser generator to automatically create lexers and
Provides a shared-memory parallel runtime that executes computations across multiple processor cores using domains.
BLAKE3 ist eine Hochleistungs-Implementierung des kryptografischen BLAKE3-Hash-Algorithmus zur Berechnung sicherer Daten-Digests und Fingerabdrücke. Es fungiert als paralleles kryptografisches Hash-Tool, das Workloads über mehrere Prozessor-Threads verteilt, um große Datensätze schnell zu verarbeiten. Das Projekt bietet spezialisierte Tools für Keyed-Hashing und die Generierung von Message Authentication Codes. Es enthält zudem Funktionen für die kryptografische Schlüsselableitung, die die Erstellung eindeutiger geheimer Sub-Keys aus einem Master-Key und Kontext-Strings ermöglichen. Die Implementierung unterstützt die Integritätsprüfung von Daten durch parallele Hash-Berechnung und verifiziertes Daten-Streaming. Diese Funktionen werden als sprachübergreifende Bibliothek für Rust- und C-Umgebungen bereitgestellt und enthalten eine Kommandozeilenschnittstelle zur Berechnung von Digests für Dateien oder Standard-Eingaben.
Distributes the hash tree computation across multiple processor cores to accelerate large file processing.
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
Runs separate single-core kernel instances on each core for multi-core operation.
Leaf ist ein in Go geschriebenes Game-Server-Framework für die Entwicklung von Backends für Multiplayer-Spiele. Es bietet eine modulare Architektur, die Serverlogik in unabhängige Module unterteilt, und enthält einen Task-Scheduler für die Verwaltung geordneter, verzögerter oder wiederkehrender Funktionen. Das Framework verfügt über einen TCP- und WebSocket-Server, der gleichzeitige Verbindungen über ein einheitliches Interface verwaltet. Es enthält einen Message-Router, der Protobuf- und JSON-Daten dekodieren kann, um eingehende Netzwerkpakete bestimmten internen Servermodulen zuzuordnen. Das System umfasst Funktionen für Multi-Protokoll-Netzwerk-Routing, Multicore-Workload-Verteilung und System-Event-Logging. Zudem bietet es Utilities zum Laden von CSV-Konfigurationsdateien in speicherresidenten, indizierten Strukturen für schnelle Datenabfragen.
Distributes processing tasks across multiple physical CPU cores to handle a higher volume of simultaneous users.
nng ist eine brokerlose Messaging-Bibliothek und eine moderne Implementierung des nanomsg-Protokolls. Sie bietet einen asynchronen Netzwerktransport für die Kommunikation zwischen verteilten Prozessen und nutzt nicht-blockierende Ein- und Ausgaben, um Netzwerkverkehr über mehrere CPU-Kerne zu verteilen. Die Bibliothek ermöglicht die Implementierung skalierbarer Messaging-Muster, wie Request-Reply und Publish-Subscribe, ohne die Notwendigkeit eines zentralen Message-Brokers. Sie enthält integrierte Verschlüsselungsprotokolle, um einen sicheren Nachrichtentransport zu gewährleisten und Datenübertragungen zwischen Netzwerkknoten zu schützen. Das Projekt deckt die Architektur verteilter Systeme ab, einschließlich Service-Discovery und Inter-Process-Messaging. Es nutzt eine austauschbare Transportschicht und einen geschichteten Protokoll-Stack, um die Kommunikation über verschiedene Netzwerkmedien hinweg zu verwalten.
Distributes network workloads across multiple CPU cores using asynchronous operations to increase throughput.
Coconut is a functional programming language that compiles to Python. It functions as a source-to-source compiler, translating high-level functional syntax into compatible Python code to maintain runtime compatibility. The language introduces a logic system for pattern matching and destructuring complex data structures. It provides a mechanism for tail call optimization to prevent stack overflow errors during deep recursive function calls and employs a lazy evaluation engine to defer computations until results are explicitly required. The project includes support for algebraic data types, pi
Provides a framework to split mapping operations across multiple CPU cores for parallel data processing.
pgBadger ist ein PostgreSQL-Log-Analyzer und Datenbank-Performance-Profiler, der Datenbank-Logs parst, um detaillierte Berichte über langsame Abfragen und Systemfehler zu generieren. Er fungiert als Statistik-Visualisierungstool, das rohe Logs in interaktive Diagramme und Grafiken umwandelt, um Systemtrends zu überwachen. Das Tool nutzt einen Multi-Core-Log-Prozessor, um das Parsing auf CPU-Kerne zu verteilen und die Analyse großer Mengen von Datenbank-Aktivitäts-Logs zu beschleunigen. Es bietet einen Mechanismus für die Remote-Log-Analyse durch Abrufen und Parsen von Dateien von entfernten Servern über Secure-Shell-Verbindungen. Das System deckt Datenbank-Ressourcenüberwachung, Connection-Pooler-Log-Analyse und Performance-Trend-Visualisierung ab. Es unterstützt die Generierung inkrementeller Berichte zur Erstellung kumulativer Zusammenfassungen und exportiert analysierte Metriken im JSON-Format zur Integration mit externen Monitoring-Tools. Die analysierten Daten werden in statische HTML-Berichte und Bilder für die Offline-Ansicht umgewandelt.
Utilizes multi-core parallel processing to accelerate the analysis of large database log files.
Mezzano is a self-hosted operating system written entirely in Common Lisp. It employs a language-integrated kernel architecture where both the kernel and user-space applications execute within a single, unified high-level language runtime. The system is designed for both bare-metal environments, booting from physical external media, and as a guest operating system within virtual machine software. It implements symmetric multiprocessing to distribute computational workloads across multiple CPU cores. The environment includes capabilities for automated memory recovery via generational garbage
Distributes computational tasks across multiple processor cores using symmetric multiprocessing to increase execution speed.
TinyOBJLoader is a single-header C++ library designed for parsing Wavefront OBJ files. It functions as a stream-based text parser that extracts vertex, normal, and texture data into structured arrays for use in graphics and physics engines. The project distinguishes itself as a high-performance geometry loader that utilizes multi-threading to distribute the processing of large-scale 3D environments across multiple CPU cores. It includes a mesh triangulator that converts complex polygons into triangles to ensure compatibility with standard graphics hardware. The library supports a variety of
Distributes the processing of large 3D model files across multiple CPU cores to reduce scene loading times.
tinyobjloader is a header-only C++ library for parsing Wavefront OBJ and MTL files. It extracts 3D mesh geometry, shape topology, and material definitions into memory, supporting the conversion of formatted text strings or files into vertex, normal, and texture coordinate data structures. The library provides a triangulation pipeline that converts complex, multi-vertex polygons into triangles using 2D projection and ear-clipping algorithms. It supports physically based rendering setups by extracting PBR material parameters and texture maps from material library files. To handle large dataset
Accelerates the conversion of large geometry files into vertex arrays using multi-threaded parallel parsing.
ISPC is a vectorizing compiler and SIMD parallel programming language that implements a single program multiple data model. It serves as a toolchain for translating C-based code with parallel extensions into optimized machine code for various CPU and GPU architectures using an LLVM backend. The compiler is designed for cross-platform SIMD toolchain support, generating specialized instruction sets for x86 SSE/AVX, ARM NEON, and Intel GPU from a single source. It features a runtime dispatch mechanism that selects the most efficient hardware-specific implementation for the current system during
Distributes vectorized workloads across multiple processor cores to achieve near-linear performance scaling.