14 مستودعات
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 هو تطبيق عالي الأداء لخوارزمية التجزئة التشفيرية BLAKE3 المستخدمة لحساب ملخصات البيانات الآمنة والبصمات. يعمل كأداة تجزئة تشفيرية متوازية توزع أعباء العمل عبر خيوط معالجة متعددة لمعالجة مجموعات البيانات الكبيرة بسرعة. يوفر المشروع أدوات متخصصة للتجزئة بالمفتاح وتوليد رموز مصادقة الرسائل. كما يتضمن وظائف لاشتقاق مفاتيح التشفير، مما يسمح بإنشاء مفاتيح فرعية سرية فريدة من مفتاح رئيسي وسلاسل سياق. يدعم التطبيق التحقق من سلامة البيانات من خلال حساب التجزئة المتوازي وبث البيانات الذي تم التحقق منه. يتم توفير هذه القدرات كمكتبة عبر اللغات لبيئات Rust و C وتتضمن واجهة سطر أوامر لحساب ملخصات الملفات أو الإدخال القياسي.
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 is a game server framework written in Go designed for building multiplayer game backends. It provides a modular backend architecture that organizes server logic into independent modules and includes a concurrent task scheduler for managing ordered, delayed, or recurring functions. The framework features a TCP and WebSocket server that manages simultaneous connections through a single interface. It incorporates a message router capable of decoding Protobuf and JSON data to map incoming network packets to specific internal server modules. The system includes capabilities for multi-protoco
Distributes processing tasks across multiple physical CPU cores to handle a higher volume of simultaneous users.
nng is a brokerless messaging library and a modern implementation of the nanomsg protocol. It provides an asynchronous network transport for communication between distributed processes, utilizing non-blocking input and output to distribute network traffic across multiple CPU cores. The library enables the implementation of scalable messaging patterns, such as request-reply and publish-subscribe, without the need for a central message broker. It includes built-in encryption protocols to provide secure message transport and protect data transmissions between network nodes. The project covers d
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 هو محلل سجلات PostgreSQL ومحلل أداء قاعدة البيانات يقوم بتحليل سجلات قاعدة البيانات لإنشاء تقارير مفصلة عن الاستعلامات البطيئة وأخطاء النظام. يعمل كمصور للإحصائيات، حيث يحول السجلات الخام إلى مخططات ورسوم بيانية تفاعلية لمراقبة اتجاهات النظام. تستخدم الأداة معالج سجلات متعدد النواة لتوزيع التحليل عبر أنوية CPU، مما يسرع تحليل أحجام كبيرة من سجلات نشاط قاعدة البيانات. وتوفر آلية لتحليل السجلات عن بعد عن طريق استرجاع وتحليل الملفات من خوادم بعيدة عبر اتصالات shell آمنة. يغطي النظام مراقبة موارد قاعدة البيانات، وتحليل سجلات مجمع الاتصالات، وتصور اتجاهات الأداء. ويدعم إنشاء تقارير تزايدية لإنشاء ملخصات تراكمية ويصدر المقاييس المحللة بتنسيق JSON للتكامل مع أدوات المراقبة الخارجية. يتم تحويل البيانات المحللة إلى تقارير HTML ثابتة وصور للعرض دون اتصال.
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.