16 Repos
Methods for distributing data across nodes to balance load.
Distinct from Load Balancing: Distinct from Load Balancing: focuses on data partitioning logic rather than network traffic distribution.
Explore 16 awesome GitHub repositories matching devops & infrastructure · Partitioning Algorithms. Refine with filters or upvote what's useful.
This project serves as a comprehensive technical reference for the architecture and design of data-intensive applications. It provides a structured analysis of the fundamental principles required to build reliable, scalable, and maintainable software systems, covering the core trade-offs inherent in modern data infrastructure. The repository explores the mechanics of distributed data management, including strategies for replication, partitioning, and achieving consensus across multiple nodes. It details the design of storage engines, indexing techniques, and transaction management models, whi
Uses key-range or hash-based partitioning to distribute data load evenly across nodes.
Dask ist ein Framework für paralleles Rechnen und ein verteilter Task-Scheduler, der darauf ausgelegt ist, Python-Data-Science-Workflows von einzelnen Maschinen auf große Cluster zu skalieren. Es fungiert als Cluster-Ressourcenmanager, der die Berechnungslogik orchestriert, indem Aufgaben und deren Abhängigkeiten als gerichtete azyklische Graphen dargestellt werden. Diese Architektur ermöglicht es dem System, die Verteilung von Workloads auf verfügbare Hardware zu automatisieren und gleichzeitig komplexe Ausführungsanforderungen zu verwalten. Das Projekt zeichnet sich durch eine Lazy-Evaluation-Engine aus, die Datenoperationen verzögert, bis sie explizit angefordert werden, was eine globale Graphoptimierung und effiziente Ressourcenzuweisung ermöglicht. Es integriert speicherbewusstes Data-Spilling, um Systemabstürze bei der Verarbeitung von Datensätzen zu verhindern, die den verfügbaren Speicher überschreiten, und nutzt Task-Graph-Fusion, um Sequenzen von Operationen in einzelne Ausführungsschritte zu kombinieren, wodurch Scheduling-Overhead und Inter-Node-Kommunikation minimiert werden. Die Plattform bietet eine umfassende Oberfläche für die Datenanalyse im großen Maßstab, einschließlich Unterstützung für verteiltes maschinelles Lernen, Integration in das Hochleistungsrechnen und parallele Datenverarbeitung. Sie bietet umfangreiche Werkzeuge für das Cluster-Lebenszyklusmanagement, Performance-Profiling und die Echtzeitüberwachung der Aufgabenausführung. Benutzer können diese Umgebungen über verschiedene Infrastrukturen hinweg bereitstellen, einschließlich lokaler Hardware, Cloud-Anbietern, containerisierten Systemen und Hochleistungsrechner-Clustern.
Organizes large datasets into partitioned arrays and dataframes to enable parallel processing across distributed clusters.
Rayon is a data parallelism library for Rust that provides a framework for converting sequential computations into parallel operations. It enables the transformation of standard data structures and loops into parallel iterators, allowing workloads to be distributed across multiple processor cores. By utilizing a work-stealing scheduler, the library dynamically balances tasks to maximize throughput and minimize execution time. The library distinguishes itself through its focus on safe, scoped task synchronization, which ensures that all spawned operations complete before a scope exits to preve
Provides a framework for transforming sequential data structures into parallel iterators for concurrent processing.
Taskflow is a C++ task-parallel framework designed to build high-performance parallel workflows and complex dependency graphs. It provides a programming model that organizes computational work into directed acyclic graphs, enabling developers to manage concurrency, resource scheduling, and task dependencies across multi-core CPUs and GPU accelerators. The framework distinguishes itself through its ability to orchestrate heterogeneous systems, allowing for the integration of hardware-accelerated kernels and memory operations into unified execution pipelines. It supports dynamic runtime subflow
Configures how computational workloads are divided among threads to optimize parallel execution.
Kafka Manager is a web-based management interface and monitoring tool for Apache Kafka clusters. It serves as a central control plane for topic administration, consumer monitoring, and cluster health inspection. The project provides specialized utilities for data rebalancing and partition reassignment to distribute workloads across brokers. It also includes tools to optimize partition leadership by electing preferred replicas. The platform covers a broad range of administrative capabilities, including the creation and configuration of message topics, tracking of consumer offsets, and the col
Generates and executes new partition assignments across brokers to balance workload and optimize performance.
KEDA is a Kubernetes event-driven autoscaler and cloud event scaling engine. It functions as a custom metrics provider that monitors external event sources—including message brokers, databases, and cloud metrics—to dynamically adjust the replica counts of containerized workloads. The project is distinguished by its scale-to-zero workflow, which reduces workloads to zero replicas during inactivity and automatically restarts them when new events are detected. It operates as a multi-cloud event trigger system, using a pluggable scaler interface to integrate with a wide array of third-party servi
Ensures the number of scaled replicas is a divisor of the total partition count to maintain even work distribution.
AutoMQ is a cloud-native streaming platform and Kafka-compatible message broker. It implements the Kafka protocol to provide integration with existing clients and ecosystems while functioning as a message queue that persists data directly to cloud object storage. The system decouples compute from storage, allowing processing power and storage capacity to scale independently. It utilizes a shared-log architecture and object-storage-based persistence to remove dependencies on local disks, which reduces operational costs and eliminates manual disk management. The platform includes mechanisms fo
Provides automated reassignment of partitions to balance network traffic and data distribution across brokers.
AutoMQ is a cloud-native streaming platform and Apache Kafka distribution that implements a decoupled compute and storage architecture. It functions as an S3-backed message queue, using object storage as the primary log repository to eliminate dependencies on local disks. The platform utilizes a stateless broker architecture to enable dynamic compute scaling and automated partition balancing. This design allows the system to adjust the number of brokers in seconds and distribute network traffic without requiring manual data migration or partition reassignment. The system provides multi-avail
Provides automated redistribution of network partitions across brokers to optimize resource utilization without manual intervention.
oneAPI Threading Building Blocks (oneTBB)
Splits large data sets into smaller blocks and processes each block on a separate thread for parallel execution.
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
Provides automated data rebalancing across cluster nodes to maintain consistent performance and prevent hotspots.
Wraps fitness evaluation in a parallel map for transparent multiprocessing without changing algorithm logic.
Urho3D is a cross-platform 3D game engine written in C++. It uses a component-based scene graph to compose game objects from nodes and attached components, separating transforms from behaviors for modular design. The engine integrates AngelScript and Lua scripting for game logic, uses the Bullet library for physics simulation, and renders scenes with OpenGL or Direct3D through forward, deferred, or light pre-pass pipelines with customizable render passes and shadow mapping. The engine distinguishes itself with a built-in visual scene and UI editor for composing 3D worlds and interface layouts
Dispatches work items to background threads for parallel processing across CPU cores.
KafkaJS ist ein reiner JavaScript-Client für Apache Kafka, der die notwendigen Tools bereitstellt, um Nachrichten aus einem Kafka-Cluster zu produzieren und zu konsumieren, ohne native Abhängigkeiten oder externe Addons zu erfordern. Er fungiert als umfassende Integrationsbibliothek für Node.js-Anwendungen, um an verteilter Nachrichtenverarbeitung und Echtzeit-Event-Streaming teilzunehmen. Das Projekt zeichnet sich durch seine native Implementierung des Kafka-Wire-Protokolls aus, wodurch C++-Abhängigkeiten vermieden werden. Es verfügt über einen Security-Client, der SSL-, TLS- und SASL-Authentifizierung unterstützt, sowie über transaktionale Funktionen, die atomares Nachrichten-Senden und verknüpfte Offset-Commitments ermöglichen, um Exactly-Once-Processing sicherzustellen. Die Bibliothek deckt ein breites Spektrum an operativen Bereichen ab, einschließlich vollständiger Cluster-Administration zur Verwaltung von Topics und Consumer-Groups, fortgeschrittenem Partition-Routing und Zuweisungsstrategien sowie umfassender Telemetrie durch event-gesteuertes Monitoring. Sie implementiert zudem Netzwerk-Zuverlässigkeitsmuster wie Exponential-Backoff-Retries und Rack-Aware-Data-Fetching, um die Latenz zu optimieren.
Moves partition replicas between different brokers and monitors the migration progress.
Garage is a distributed object storage system that provides an S3-compatible API gateway. It is designed to synchronize metadata across distributed nodes using conflict-free replicated data types and Merkle-tree state alignment to maintain cluster-wide consistency. The system ensures data resilience through zone-aware replication, distributing data copies across multiple physical locations. It employs quorum-based request routing and versioned layout management to validate and commit cluster configuration changes. The project covers a broad range of operational capabilities, including automa
Automatically redistributes data partitions across storage nodes to balance load and maintain replica counts.
Connector-X is a high-performance SQL data extraction library and bridge for transferring relational database records into memory-efficient data structures. It functions as a parallel database connector and federated query engine capable of executing and joining queries across multiple remote database connections to aggregate data locally. The project distinguishes itself through a zero-copy approach to data loading, which transfers SQL query results into memory structures without duplicating data. It maximizes throughput by partitioning SQL queries into threads, employing parallel columnar a
Increases data throughput by splitting SQL queries into partitions and downloading them via multiple simultaneous threads.
This project is an autonomous workflow engine and orchestration platform designed to coordinate specialized AI agents. It functions as a development framework that manages the end-to-end lifecycle of complex, multi-step tasks, including persona definition, persistent memory management, and the execution of automated coding workflows. By acting as a Model Context Protocol server, it enables standardized communication between development tools and external AI models. The platform distinguishes itself through an event-driven architecture that routes typed messages between agent personas, allowin
Triggers concurrent execution of agent contexts by emitting events that spawn bounded parallel backend instances.