13 repository-uri
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 este un framework de calcul paralel și un scheduler de sarcini distribuit conceput pentru a scala fluxurile de lucru de știința datelor în Python de la mașini individuale la clustere mari. Acesta funcționează ca un manager de resurse de cluster care orchestrează logica computațională prin reprezentarea sarcinilor și a dependențelor acestora sub formă de grafuri aciclice direcționate. Această arhitectură permite sistemului să automatizeze distribuția sarcinilor de lucru pe hardware-ul disponibil, gestionând în același timp cerințe complexe de execuție. Proiectul se distinge printr-un motor de evaluare leneșă (lazy) care amână operațiunile pe date până când sunt solicitate explicit, permițând optimizarea globală a grafului și alocarea eficientă a resurselor. Acesta încorporează „spilling” de date conștient de memorie pentru a preveni blocarea sistemului la procesarea seturilor de date care depășesc memoria disponibilă și utilizează fuziunea grafului de sarcini pentru a combina secvențe de operațiuni în pași de execuție unici, minimizând overhead-ul de programare și comunicarea între noduri. Platforma oferă o suprafață cuprinzătoare de capabilități pentru analiza datelor la scară largă, inclusiv suport pentru învățare automată distribuită, integrare cu calcul de înaltă performanță și procesare paralelă a datelor. Oferă instrumente extinse pentru gestionarea ciclului de viață al clusterului, profilarea performanței și monitorizarea în timp real a execuției sarcinilor. Utilizatorii pot implementa aceste medii pe diverse infrastructuri, inclusiv hardware local, furnizori de cloud, sisteme containerizate și clustere de calcul de înaltă performanță.
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 este o platformă de servire a modelelor de limbaj mari (LLM) dezagregate și un magazin distribuit de tip cheie-valoare, conceput pentru infrastructura de inferență de înaltă performanță. Funcționează ca un orchestrator de memorie GPU și sistem de gestionare a cache-ului KV care grupează și transferă cache-urile cheie-valoare între clustere pentru a accelera inferența. Sistemul se distinge prin separarea fazelor de prefill și decode ale inferenței în clustere hardware distincte pentru a optimiza utilizarea resurselor. Utilizează un cache distribuit RDMA de înaltă performanță cu transferuri zero-copy pentru a muta datele între nodurile de calcul, ocolind CPU-ul pentru a reduce latența și overhead-ul. Platforma acoperă domenii largi de capabilități, inclusiv gruparea memoriei distribuite, rutarea memoriei acceleratorului prin CXL și descărcarea stocării pe mai multe niveluri către SSD-uri. Gestionează starea clusterului prin servicii de coordonare a metadatelor și implementează guvernanța resurselor prin protecția obiectelor bazată pe lease și evacuarea cache-ului bazată pe watermark. Software-ul este împachetat pentru deployment containerizat cu suport pentru rețelistică host și maparea dispozitivelor hardware.
Aggregates memory across multiple servers into a unified shared pool for scalable remote memory access.
SparkInternals este un ghid tehnic de referință și arhitectură care detaliază designul intern și implementarea motorului de calcul distribuit Apache Spark. Acesta servește drept studiu de analiză a motoarelor de big data, concentrându-se pe modul în care sistemul gestionează execuția în cluster și interacțiunea dintre nodurile driver, executori și workeri. Proiectul oferă o detaliere a modului în care planurile logice sunt convertite în etape de execuție fizică. Analizează în mod specific mecanica operațiunilor de shuffle a datelor, gestionarea memoriei și coordonarea programării joburilor distribuite. Documentația acoperă o gamă largă de capabilități de calcul distribuit, inclusiv planificarea execuției interogărilor, gestionarea dependențelor de date și strategii de caching în memorie. De asemenea, examinează distribuția sarcinilor, execuția paralelă și procesele utilizate pentru recuperarea în caz de eroare și persistența datelor.
Details the use of caching and checkpointing to manage memory and ensure fault tolerance across distributed nodes.
This project is an event-driven PHP application server and HTTP server bridge that allows Laravel applications to run on a persistent engine. By keeping the application in memory, it eliminates the boot overhead typically required for every individual request to increase request speeds. The server includes an application state sandbox that isolates the application container between requests to prevent data leakage and state pollution. It also features a shared memory data store for retrieving information across multiple worker processes and provides a WebSocket server implementation for persi
Provides high-speed information sharing between separate worker processes using memory-mapped tables.
Octane este un accelerator de server de aplicații PHP și manager de procese care încarcă aplicația în memorie pentru a elimina overhead-ul de pornire asociat fiecărei cereri individuale. Funcționează ca o punte de runtime pentru motoare de înaltă concurență precum Swoole și RoadRunner, utilizând procese worker persistente pentru a gestiona cererile HTTP primite. Proiectul include un manager de stare a aplicației în memorie care utilizează tabele atomice pentru a partaja date între workeri și un runner de sarcini concurente care execută mai multe operațiuni în paralel pentru a reduce latența totală a cererii. De asemenea, gestionează ciclurile de viață ale workerilor prin ciclicitatea proceselor după un număr stabilit de cereri pentru a preveni scurgerile de memorie. Capabilitățile suplimentare acoperă programarea periodică a sarcinilor de fundal și reîncărcarea automată în timpul dezvoltării, care monitorizează codul sursă pentru modificări în vederea declanșării restarturilor de server.
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.
Acest proiect este un framework pentru dezvoltarea și orchestrarea agenților software autonomi în cadrul aplicațiilor bazate pe JVM. Oferă un toolkit pentru încorporarea inteligenței artificiale direct în logica de business, permițând agenților să execute sarcini complexe prin planificare dinamică, orientată spre obiective, în loc de mașini de stare rigide. Prin utilizarea adnotărilor declarative, framework-ul permite dezvoltatorilor să definească capabilitățile agenților și să îi integreze în modelele de domeniu orientate pe obiecte existente. Framework-ul se distinge printr-un strat de abstractizare neutru față de furnizor, care permite schimbarea fără probleme a modelelor de limbaj locale și cloud la runtime. Suportă colaborarea distribuită, permițând agenților independenți să partajeze informații și să delege sarcini între diferite servicii. Pentru a asigura vizibilitatea în luarea deciziilor autonome, sistemul include instrumente cuprinzătoare care captează urme de execuție, metrici de performanță și log-uri de operațiuni, care pot fi exportate către platforme de monitorizare externe. Dincolo de orchestrarea de bază, platforma include o suită de instrumente pentru gestionarea ciclurilor de viață ale agenților, inclusiv descoperirea automată a abilităților, validarea și bootstrapping-ul mediului. Dispune de o interfață bazată pe terminal pentru chat interactiv și execuția sarcinilor, alături de primitive de securitate care impun limite de acces pentru operațiunile sistemului de fișiere. Framework-ul menține, de asemenea, un repository de memorie centralizat pentru a oferi context partajat între procesele agenților distribuiți.
Maintains a centralized store for system data and object states to provide shared context across distributed agent processes.
Varnish Cache este un proxy invers HTTP și un accelerator de conținut conceput pentru a sta în fața serverelor web. Funcționează ca un motor de caching care stochează conținutul web accesat frecvent în memorie pentru a reduce sarcina de procesare pe serverele de origine backend și a accelera timpii de livrare pentru utilizatorii finali. Software-ul se distinge printr-un limbaj de configurare specific domeniului care compilează logica de gestionare a cererilor în bytecode la nivel de mașină pentru execuție la viteza firului. Utilizează o buclă de evenimente multi-threaded pentru a gestiona conexiunile concurente și folosește stocarea obiectelor în memorie partajată alături de paginarea memoriei virtuale pentru a facilita regăsirea rapidă a datelor și accesul la disc. Dincolo de capabilitățile sale de bază de caching, sistemul oferă gestionarea cuprinzătoare a traficului, inclusiv procesarea pipeline-ului cerere-răspuns și sondarea sănătății backend-ului. Aceste funcții permit distribuirea cererilor de rețea primite pe mai multe servere pentru a asigura disponibilitatea ridicată și rutarea dinamică a traficului departe de infrastructura supraîncărcată.
Stores cached web content in a shared memory segment accessible by multiple worker processes for rapid retrieval.