14 repositorios
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 es una implementación de alto rendimiento del algoritmo de hash criptográfico BLAKE3 utilizado para calcular resúmenes y huellas digitales de datos seguros. Funciona como una herramienta de hash criptográfico en paralelo que distribuye cargas de trabajo a través de múltiples hilos de procesador para procesar grandes conjuntos de datos rápidamente. El proyecto proporciona herramientas especializadas para el hashing con clave y la generación de códigos de autenticación de mensajes. También incluye funcionalidad para la derivación de claves criptográficas, permitiendo la creación de sub-claves secretas únicas a partir de una clave maestra y cadenas de contexto. La implementación admite la verificación de integridad de datos mediante el cálculo de hash en paralelo y la transmisión de datos verificada. Estas capacidades se proporcionan como una librería multilingüe para entornos Rust y C, e incluyen una interfaz de línea de comandos para calcular resúmenes de archivos o entrada estándar.
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 es un framework de servidores de juegos escrito en Go, diseñado para construir backends de juegos multijugador. Proporciona una arquitectura modular que organiza la lógica del servidor en módulos independientes e incluye un planificador de tareas concurrente para gestionar funciones ordenadas, diferidas o recurrentes. El framework cuenta con un servidor TCP y WebSocket que gestiona conexiones simultáneas a través de una única interfaz. Incorpora un enrutador de mensajes capaz de decodificar datos en Protobuf y JSON para mapear paquetes de red entrantes a módulos específicos del servidor. El sistema incluye capacidades para enrutamiento de red multiprotocolo, distribución de carga en múltiples núcleos y registro de eventos del sistema. También proporciona utilidades para cargar archivos de configuración CSV en estructuras indexadas residentes en memoria para búsquedas rápidas de datos.
Distributes processing tasks across multiple physical CPU cores to handle a higher volume of simultaneous users.
nng es una librería de mensajería sin broker y una implementación moderna del protocolo nanomsg. Proporciona un transporte de red asíncrono para la comunicación entre procesos distribuidos, utilizando entrada y salida sin bloqueo para distribuir el tráfico de red a través de múltiples núcleos de CPU. La librería permite la implementación de patrones de mensajería escalables, como solicitud-respuesta y publicación-suscripción, sin necesidad de un broker de mensajes central. Incluye protocolos de cifrado integrados para proporcionar un transporte de mensajes seguro y proteger las transmisiones de datos entre nodos de red. El proyecto cubre la arquitectura de sistemas distribuidos, incluyendo el descubrimiento de servicios y la mensajería entre procesos. Utiliza una capa de transporte conectable y una pila de protocolos en capas para gestionar la comunicación a través de varios medios de red.
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 es un analizador de logs de PostgreSQL y perfilador de rendimiento de bases de datos que analiza los logs de la base de datos para generar informes detallados sobre consultas lentas y errores del sistema. Funciona como un visualizador de estadísticas, transformando logs crudos en gráficos interactivos para monitorear las tendencias del sistema. La herramienta utiliza un procesador de logs multinúcleo para distribuir el análisis entre los núcleos de la CPU, acelerando el análisis de grandes volúmenes de logs de actividad de la base de datos. Proporciona un mecanismo para el análisis remoto de logs mediante la recuperación y análisis de archivos desde servidores distantes a través de conexiones SSH. El sistema cubre el monitoreo de recursos de bases de datos, análisis de logs de pooler de conexiones y visualización de tendencias de rendimiento. Soporta la generación de informes incrementales para crear resúmenes acumulativos y exporta métricas analizadas en formato JSON para su integración con herramientas de monitoreo externas. Los datos analizados se transforman en informes HTML estáticos e imágenes para su visualización offline.
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.