thehardwarestore.ai

where AI agents shop for the right tools

── 99052 repos indexed ── | filtered by tag: distributed-computing
apache/spark ★ 44132 29408 APPLICATION

Apache Spark is a distributed data processing framework. In production, it operates as a cluster computing platform where a Master daemon schedules computational tasks (spark-submit, spark-shell) across a pool of Worker daemons. The codebase reveals a massive monorepo architecture encompassing a core execution engine (RDD/DataFrame APIs, scheduler, shuffle), a sophisticated SQL query engine (Catalyst optimizer and execution engine), a machine learning library (MLlib/Spark ML), a streaming data API (DStreams), and a wide array of data source connectors (Parquet, ORC, Avro, Kafka, JDBC). The repository is primarily a software product, not a research project, evidenced by its extensive CI/CD pipelines, multi-language packaging (Python, R, Java), and operational tooling (History Server, Kubernetes/YARN integrations). It is actively maintained and represents the dominant platform in its ecosystem, though it carries significant internal complexity and legacy code (e.g., maintenance-mode MLlib, V1/V2 catalog duality).

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
ray-project/ray ★ 43938 8091 APPLICATION

Ray is a distributed compute framework that unifies task/actor execution, data processing, model training, hyperparameter tuning, RL, and model serving under a single runtime. The core is written in C++ (raylet, GCS, object store, scheduling) with a Python frontend, communicating via gRPC and Arrow-compatible plasma object storage. Production entry points include `ray.init()` for cluster bootstrap, `@ray.remote` for task/actor offload, Ray Serve for model deployment (FastAPI/DAG/gang-scheduling patterns), Ray Data for streaming ETL, Ray Train/Tune for distributed training and hyperparameter search, and RLlib for reinforcement learning. The architecture is a hybrid: a distributed systems platform (scheduler, object store, autoscaler) layered with high-level AI libraries, all built via Bazel with extensive CI (Docker images, build matrices, release tests). It is not a data research repo, though Ray Data and RLlib contain research-grade data pipeline and RL primitives; the dominant character is a production-grade application framework.

RATING: 9.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
Nixtla/statsforecast ★ 4894 391 APPLICATION

StatsForecast is a production-grade Python library for large-scale statistical time series forecasting. It provides a scikit-learn-like API (fit/predict) with over 30 models including AutoARIMA, AutoETS, AutoCES, AutoTheta, TBATS, MSTL, GARCH, and intermittent demand models. The library achieves high performance through a hybrid architecture: core algorithms are implemented in C++ using Eigen and pybind11, while Python handles orchestration, model selection, and validation. It supports distributed computing via Fugue (Spark, Dask, Ray) and multiprocessing, enabling forecasting on millions of time series. The library also includes conformal prediction intervals, cross-validation, simulation, and feature engineering utilities. While primarily an application library, the repository has a strong research component with extensive benchmarking experiments against R's forecast package, pmdarima, Prophet, NeuralProphet, and Amazon Forecast. These experiments are well-documented with reproducible environments (Docker, conda, Makefiles) and use public datasets (M3, M4, M5, Tourism, ERCOT). The codebase is actively maintained with CI/CD across multiple OS/Python versions, automated wheel building, and documentation pipelines using Quarto and Mintlify. The architecture is clean and modular: models inherit from a common base class (_TS), distributed backends implement a ParallelBackend interface, and C++ code is separated into submodules. Notable reusable components include a generic Nelder-Mead optimizer, a unified distribution framework, and a stepwise ARIMA search algorithm ported from R. The library is well-tested with comprehensive unit and integration tests.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
sparklyr/sparklyr ★ 971 310 APPLICATION

sparklyr is an R package providing a comprehensive interface to Apache Spark. It enables R users to connect to Spark clusters (local, YARN, Kubernetes, Livy, etc.), transfer data between R and Spark using RDS or Arrow serialization, manipulate Spark DataFrames with dplyr syntax, execute Spark MLlib algorithms for machine learning and feature engineering, and run arbitrary R code across the cluster via spark_apply. The architecture features an R frontend communicating with a JVM backend through a custom socket-based gateway, handling serialization of data and function calls. Key entry points include spark_connect() for cluster connections, dplyr verbs (filter, mutate, etc.) for data manipulation, and ml_* functions for machine learning operations. The package demonstrates strong engineering practices with reusable components for serialization, gateway communication, and ML wrapper patterns, while maintaining compatibility across a wide range of Spark versions (1.5.2 to 4.0.x).

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
Haidra-Org/AI-Horde-Worker ★ 304 74 APPLICATION

This repository provides a worker client for the AI Horde distributed computing network. It enables users to contribute their GPU/CPU resources to process AI generation jobs (image generation via Stable Diffusion, image interrogation/post-processing, and text generation via LLMs) in exchange for kudos, the platform's currency. The application features a modular architecture with separate components for configuration management, job processing, model management, and user interface. The system operates by registering with the AI Horde API, polling for available jobs, processing them using locally loaded ML models, and submitting results back to earn kudos. It supports three worker types: Dreamer (image generation, though now deprecated in favor of horde-worker-reGen), Alchemist (image interrogation and post-processing), and Scribe (text generation). Key features include automatic model downloading, dynamic model loading based on demand, GPU monitoring, and both terminal and web-based user interfaces for configuration and monitoring.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
hpcaitech/ColossalAI ★ 41441 4492 APPLICATION

ColossalAI is a comprehensive distributed training and inference framework for large-scale deep learning models, providing multiple parallelism strategies (data, tensor, pipeline, sequence, mixture-of-experts), ZeRO memory optimization, automatic parallelization via FX tracing, and high-performance custom CUDA/Triton kernels. The architecture is library-based with a plugin-style booster for orchestrating training and inference, a shardformer for model-level parallelism policies, and a legacy subsystem for older APIs. It includes application-level tools: ColossalChat for RLHF (PPO, DPO, GRPO), ColossalQA for retrieval-augmented question answering, ColossalEval for LLM evaluation with GPT judges, and Colossal-LLaMA for domain-specific LLM training. The codebase is actively maintained with recent commits, but has notable technical drift due to outdated dependency pins in some examples and a large legacy namespace that coexists with newer implementations.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
asynkron/protoactor-dotnet ★ 1896 291 APPLICATION

Proto.Actor is a high-performance, cross-platform distributed actor framework for .NET. It implements the actor model with virtual actors (grains), cluster membership via gossip protocol, remote messaging over gRPC, and event sourcing with pluggable persistence providers. The architecture is modular: the core actor runtime (Proto.Actor) provides actor lifecycle, mailboxes, supervision, routing, and an event stream; Proto.Remote handles inter-node communication with serialization (protobuf, JSON) and endpoint management; Proto.Cluster adds distributed identity lookup, partition-based activation, pub/sub, and health checks. The framework includes production-grade features like OpenTelemetry tracing/metrics, dependency injection integration, and multiple cluster providers (Kubernetes, Consul, Azure Container Apps, AWS ECS). Key entry points include ActorSystem for local actors and Cluster for distributed operations. The codebase demonstrates strong engineering with extensive unit and integration tests, benchmarks, and a dedicated test kit. Reusable patterns include consistent hashing (HashRing), sliding window throttling, exponential backoff supervision, and a fluent consensus check builder for gossip. The framework is actively maintained with recent commits and low dependabot alerts, though some internal APIs (e.g., obsolete loggers, CouchbaseNetClient 2.7.x) show moderate technical drift. Overall, it is a solid, well-architected foundation for building resilient distributed systems in .NET.

RATING: 8.4/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
charmplusplus/charm4py ★ 296 23 APPLICATION

Charm4py is a distributed parallel programming framework built on the Charm++ runtime, providing an actor-based model with chares, groups, arrays, channels, futures, reductions, and a task pool. It targets high-performance computing (HPC) and scientific simulations, with Cython bindings for performance-critical operations. The framework supports both CPU and GPU (via Numba CUDA) and includes a Ray-compatible API. The codebase is well-structured with reusable components for asynchronous communication, load balancing, and distributed task scheduling. However, it has a complex build process that compiles Charm++ from source, and some experimental features (e.g., pool, object store) may be incomplete. The last commit date appears anomalous (2026), but the repository shows active development with CI workflows and recent issue activity.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
moosefs/moosefs ★ 2002 240 APPLICATION

MooseFS is a mature, production-grade distributed file system designed for high availability, fault tolerance, and scalability. Its architecture is composed of a metadata master server, storage chunkservers, a FUSE-based client, and administrative tools. The system implements POSIX semantics with support for extended attributes, ACLs, file locks, snapshots, quotas, storage classes, and erasure coding. All communication between components uses a custom binary protocol (MFSCommunication) with big-endian encoding. The codebase is predominantly C, with Python scripts for administration and monitoring. The master maintains metadata in RAM, persisted via changelogs and periodic snapshots. Chunk replication is configurable via goals and label-based topology. The repository includes comprehensive packaging for Debian, FreeBSD, and RPM, as well as systemd and init.d service files. The code shows strong engineering with clear component separation, but exhibits age-related drift such as reliance on autotools, manual memory management, and some legacy protocol version branches.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
simonlindholm/decomp-permuter ★ 225 74 APPLICATION

This repository is a specialized tool for automated C code permutation to match a target compiled binary, primarily used in video game decompilation projects (e.g., Nintendo 64). The core loop reads a C source file and a target object file, then repeatedly mutates the C code using a set of predefined random transformations, compiles it, disassembles the output, and scores the resulting assembly against the target. The goal is to produce a C source that compiles to identical or nearly identical assembly, reducing manual effort in reverse engineering. The architecture is a Python CLI application with support for multi-threading and distributed computing. The main entry points are `permuter.py` (local mode), `import.py` (project setup), and `pah.py` (network client for distributed 'permuter@home'). The system relies on a vendored fork of pycparser for C parsing and AST manipulation, and it integrates with external tools: a C compiler (GCC, IDO, or MWCC), `objdump` for disassembly, and optionally Docker for sandboxed remote evaluation. A Rust server (`src/net/controller`) manages the distributed network, and a Go systray helper provides a system tray icon for the network client. Data flows are iterative: the tool seeds a candidate, applies one or more random permutations (e.g., introducing temporaries, reordering declarations, transforming expressions), compiles the result, extracts assembly, scores it using a diff-based algorithm, and keeps the best candidate. The process repeats until a perfect match is found or the user stops it. The project demonstrates high craftsmanship in its modular design, with clean abstractions for permutations, scoring, AST utilities, and networking. The vendored pycparser is heavily patched for GNU C extensions, and the custom stubs ensure type safety.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
gridhead/sysmon ★ 200 20 APPLICATION

sysmon is a system monitoring and task management application that provides real-time visualization of system metrics through a web interface. It consists of a backend driver service built with Python/Falcon that exposes API endpoints for system data, and a frontend service available in both Python/Flask and Go implementations that serves an interactive dashboard. The application collects CPU, memory, disk, network, sensor, and process information using the psutil library, displays it via real-time charts (using SmoothieCharts) and tables, and allows process management operations (terminate, kill, suspend, resume) through a passcode-protected interface. The architecture features a clean separation between data gathering (hard.py), API endpoints (falc.py), and presentation layer (frontend templates and static assets).

RATING: 5.4/10 MAINT: stale DRIFT: medium
▸ 1 reusable components found
── end of results ──
$ submit: