13 Repos
Systems that provide a unified memory space across multiple nodes for efficient data sharing and object storage.
Distinguishing note: Focuses on memory-level object sharing across distributed workers rather than persistent database storage.
Explore 13 awesome GitHub repositories matching data & databases · Distributed Shared Memory. Refine with filters or upvote what's useful.
Ray is a distributed computing framework designed to scale Python and Java applications across clusters by abstracting task scheduling and resource management. It functions as a resource-aware execution engine that manages task dependencies, placement, and fault tolerance across networked compute nodes. At its core, the system provides a stateful actor model, allowing developers to define classes that run in dedicated processes to maintain and mutate internal state across remote method calls. The framework distinguishes itself through a robust cross-language interoperability layer, enabling f
Ray provides a shared memory space to store and retrieve objects, enabling efficient data sharing and asynchronous processing across workers.
Skynet is a distributed game server framework designed for building scalable online game backends. It utilizes distributed actor-based clusters and real-time network communication to manage high-concurrency session coordination across multiple nodes. The framework includes a cluster management orchestrator for coordinating services via cluster-wide messaging and dynamic configuration updates. It features a multi-protocol network gateway supporting TCP, UDP, and WebSockets, alongside a data encoding layer using BSON and Sproto serialization for efficient information transfer between distribute
Maintains consistent datasets across distributed services using a common data layer for real-time state sharing.
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.
Coordinates access to data objects across distributed workers to ensure efficient resource utilization and prevent unnecessary data duplication.
This project is a Go language library that provides a programmatic interface for interacting with the Kubernetes API server. It serves as a client for managing cluster resources, offering both typed interfaces for compile-time safety and dynamic interfaces for unstructured data and custom resource management. The library includes a controller framework designed for building event-driven automation. This framework utilizes informers to maintain local resource caches and rate-limited work queues to decouple event detection from state reconciliation. High availability is supported through a lead
Distributes resource change events to multiple handlers via a centralized cache to reduce API server load.
Berty is a peer-to-peer messaging application and framework designed for decentralized private messaging. It utilizes a distributed identity protocol and a decentralized database to enable end-to-end encrypted communication without relying on central servers, phone numbers, or email addresses. The project distinguishes itself through an offline messaging framework that uses Bluetooth Low Energy and multicast DNS for local device discovery. This allows peers to establish direct connections and exchange messages without internet or cellular data, using QR codes for secure contact exchange. The
Implements a distributed synchronization mechanism for creating shared virtual environments for messages and metadata.
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
Executes data operations against a shared memory space to maintain consistent state across a distributed system.
Mooncake ist eine disaggregierte Plattform für das Serving von Large Language Models und ein verteilter Key-Value-Store, der für eine hochperformante Inferenz-Infrastruktur konzipiert wurde. Es fungiert als GPU-Speicher-Orchestrator und KV-Cache-Managementsystem, das Key-Value-Caches über Cluster hinweg bündelt und überträgt, um die Inferenz zu beschleunigen. Das System zeichnet sich dadurch aus, dass es die Prefill- und Decode-Phasen der Inferenz in separate Hardware-Cluster trennt, um die Ressourcennutzung zu optimieren. Es nutzt einen hochperformanten verteilten RDMA-Cache mit Zero-Copy-Transfers, um Daten zwischen Rechenknoten zu verschieben und dabei die CPU zu umgehen, um Latenz und Overhead zu reduzieren. Die Plattform deckt breite Funktionsbereiche ab, einschließlich verteiltem Memory-Pooling, Beschleuniger-Speicher-Routing via CXL und Multi-Tier-Storage-Offloading auf SSDs. Es verwaltet den Cluster-Status durch Metadaten-Koordinationsdienste und implementiert Ressourcen-Governance mittels lease-basierter Objektschutzmechanismen und wasserzeichenbasierter Cache-Eviction. Die Software ist für containerisierte Deployments verpackt, mit Unterstützung für Host-Networking und Hardware-Device-Mapping.
Aggregates memory across multiple servers into a unified shared pool for scalable remote memory access.
SparkInternals ist ein technisches Referenz- und Architekturhandbuch, das das interne Design und die Implementierung der verteilten Computing-Engine Apache Spark detailliert beschreibt. Es dient als Analyse von Big-Data-Engines und konzentriert sich darauf, wie das System die Cluster-Ausführung sowie das Zusammenspiel zwischen Driver-Nodes, Executors und Workern verwaltet. Das Projekt bietet eine detaillierte Aufschlüsselung, wie logische Pläne in physische Ausführungsstufen konvertiert werden. Es analysiert spezifisch die Mechanik von Data-Shuffle-Operationen, Speicherverwaltung und die Koordination der verteilten Job-Planung. Die Dokumentation deckt ein breites Spektrum an verteilten Computing-Funktionen ab, einschließlich Query-Execution-Planung, Datenabhängigkeitsmanagement und In-Memory-Caching-Strategien. Zudem werden Aufgabenverteilung, parallele Ausführung sowie Prozesse zur Fehlerwiederherstellung und Datenpersistenz untersucht.
Details the use of caching and checkpointing to manage memory and ensure fault tolerance across distributed nodes.
Dieses Projekt ist ein event-gesteuerter PHP-Anwendungsserver und HTTP-Server-Bridge, die es Laravel-Anwendungen ermöglicht, auf einer persistenten Engine zu laufen. Indem die Anwendung im Speicher gehalten wird, eliminiert sie den Boot-Overhead, der normalerweise für jede einzelne Anfrage erforderlich ist, um die Antwortzeiten zu erhöhen. Der Server enthält eine Anwendungszustands-Sandbox, die den Anwendungscontainer zwischen Anfragen isoliert, um Datenlecks und Zustandsverschmutzungen zu verhindern. Er verfügt zudem über einen Shared-Memory-Datenspeicher zum Abrufen von Informationen über mehrere Worker-Prozesse hinweg und bietet eine WebSocket-Server-Implementierung für persistente, bidirektionale Kommunikation. Das System unterstützt nicht-blockierende Datenbankoperationen und asynchrone I/O-Treiber, um mehrere gleichzeitige Anfragen zu verarbeiten. Für die Entwicklung enthält es einen Hot-Reload-Workflow, der den Server automatisch neu startet, sobald Quellcodeänderungen erkannt werden.
Provides high-speed information sharing between separate worker processes using memory-mapped tables.
Octane ist ein PHP-Anwendungsserver-Beschleuniger und Prozessmanager, der eine Anwendung in den Arbeitsspeicher lädt, um den Start-Overhead zu eliminieren, der mit jeder einzelnen Anfrage verbunden ist. Er fungiert als Laufzeitbrücke für High-Concurrency-Engines wie Swoole und RoadRunner und nutzt persistente Worker-Prozesse, um eingehende HTTP-Anfragen zu verarbeiten. Das Projekt enthält einen In-Memory-Anwendungszustandsmanager, der atomare Tabellen verwendet, um Daten über Worker hinweg zu teilen, sowie einen Concurrent-Task-Runner, der mehrere Operationen parallel ausführt, um die Gesamtlatenz der Anfragen zu reduzieren. Es verwaltet zudem Worker-Lebenszyklen, indem Prozesse nach einer festgelegten Anzahl von Anfragen neu gestartet werden, um Speicherlecks zu verhindern. Zusätzliche Funktionen decken periodische Hintergrundaufgabenplanung und automatisiertes Development-Reloading ab, das den Quellcode auf Änderungen überwacht, um Server-Neustarts auszulösen.
Uses atomic in-memory tables to share and synchronize data rapidly across multiple worker processes.
This project is a high-performance application server integration that enables persistent memory execution for PHP applications. By keeping the framework loaded in memory across requests, it eliminates the overhead of repeated bootstrapping, significantly increasing execution speed and reducing latency. It functions as a unified service delivery platform capable of handling HTTP, WebSocket, TCP, and UDP traffic simultaneously within a single instance. The server distinguishes itself through an event-driven worker pool that manages concurrent traffic and offloads time-consuming operations to a
Provides high-performance, lock-free shared memory tables for rapid inter-process communication and state management.
Dieses Projekt ist ein Framework für die Entwicklung und Orchestrierung autonomer Software-Agenten innerhalb JVM-basierter Anwendungen. Es bietet ein Toolkit für die Einbettung künstlicher Intelligenz direkt in die Geschäftslogik, was es Agenten ermöglicht, komplexe Aufgaben durch dynamische, zielorientierte Planung anstelle starrer Zustandsautomaten auszuführen. Durch die Nutzung deklarativer Annotationen ermöglicht das Framework Entwicklern, Agenten-Fähigkeiten zu definieren und in bestehende objektorientierte Domänenmodelle zu integrieren. Das Framework zeichnet sich durch eine herstellerneutrale Abstraktionsschicht aus, die den nahtlosen Austausch lokaler und Cloud-basierter Sprachmodelle zur Laufzeit ermöglicht. Es unterstützt verteilte Zusammenarbeit, wodurch unabhängige Agenten Informationen teilen und Aufgaben über verschiedene Dienste hinweg delegieren können. Um die Transparenz bei autonomen Entscheidungen zu gewährleisten, enthält das System eine umfassende Instrumentierung, die Ausführungs-Traces, Leistungsmetriken und Operations-Logs erfasst, welche an externe Monitoring-Plattformen exportiert werden können. Über die Kern-Orchestrierung hinaus enthält die Plattform eine Suite an Tools für die Verwaltung von Agenten-Lebenszyklen, einschließlich automatisierter Skill-Erkennung, Validierung und Environment-Bootstrapping. Sie bietet ein terminalbasiertes Interface für interaktiven Chat und Aufgabenausführung, neben Sicherheitsprimitiven, die Zugriffsgrenzen für Dateisystemoperationen durchsetzen. Das Framework unterhält zudem ein zentralisiertes Speicher-Repository, um einen gemeinsamen Kontext über verteilte Agentenprozesse hinweg bereitzustellen.
Maintains a centralized store for system data and object states to provide shared context across distributed agent processes.
Varnish Cache ist ein HTTP-Reverse-Proxy und Content-Beschleuniger, der vor Webservern platziert wird. Er fungiert als Caching-Engine, die häufig abgerufene Webinhalte im Speicher speichert, um die Verarbeitungslast auf Backend-Origin-Servern zu reduzieren und die Bereitstellungszeiten für Endbenutzer zu beschleunigen. Die Software zeichnet sich durch eine domänenspezifische Konfigurationssprache aus, die Request-Handling-Logik für die Ausführung mit Wire-Speed in maschinennahen Bytecode kompiliert. Sie nutzt einen Multi-Threaded-Event-Loop zur Verwaltung gleichzeitiger Verbindungen und verwendet Shared-Memory-Objektspeicherung neben virtuellem Memory-Paging, um schnellen Datenabruf und Festplattenzugriff zu ermöglichen. Über die Kern-Caching-Funktionen hinaus bietet das System umfassendes Traffic-Management, einschließlich Request-Response-Pipeline-Verarbeitung und Backend-Health-Probing. Diese Funktionen ermöglichen die Verteilung eingehender Netzwerkanfragen auf mehrere Server, um Hochverfügbarkeit und das dynamische Routing von Traffic weg von überlasteter Infrastruktur sicherzustellen.
Stores cached web content in a shared memory segment accessible by multiple worker processes for rapid retrieval.