13 repositorios
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 es un framework de computación paralela y un programador de tareas distribuido diseñado para escalar flujos de trabajo de ciencia de datos en Python desde máquinas individuales hasta grandes clústeres. Funciona como un gestor de recursos de clúster que orquesta la lógica computacional representando las tareas y sus dependencias como grafos acíclicos dirigidos. Esta arquitectura permite al sistema automatizar la distribución de cargas de trabajo a través del hardware disponible mientras gestiona requisitos de ejecución complejos. El proyecto se distingue por un motor de evaluación perezosa que difiere las operaciones de datos hasta que se solicitan explícitamente, permitiendo la optimización global del grafo y una asignación eficiente de recursos. Incorpora el volcado de datos consciente de la memoria para evitar fallos del sistema al procesar conjuntos de datos que exceden la memoria disponible, y utiliza la fusión de grafos de tareas para combinar secuencias de operaciones en pasos de ejecución únicos, minimizando la sobrecarga de programación y la comunicación entre nodos. La plataforma proporciona una superficie de capacidades integral para el análisis de datos a gran escala, incluyendo soporte para aprendizaje automático distribuido, integración de computación de alto rendimiento y procesamiento de datos en paralelo. Ofrece herramientas extensas para la gestión del ciclo de vida del clúster, perfilado de rendimiento y monitoreo en tiempo real de la ejecución de tareas. Los usuarios pueden desplegar estos entornos en diversas infraestructuras, incluyendo hardware local, proveedores de nube, sistemas en contenedores y clústeres de computación de alto rendimiento.
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 es una plataforma de servicio de modelos de lenguaje grandes (LLM) desagregados y un almacén distribuido de clave-valor diseñado para infraestructura de inferencia de alto rendimiento. Funciona como un orquestador de memoria GPU y un sistema de gestión de caché KV que agrupa y transfiere cachés de clave-valor a través de clústeres para acelerar la inferencia. El sistema se distingue por separar las fases de prellenado (prefill) y decodificación (decode) de la inferencia en clústeres de hardware distintos para optimizar la utilización de recursos. Utiliza una caché distribuida RDMA de alto rendimiento con transferencias de copia cero para mover datos entre nodos de cómputo, evitando la CPU para reducir la latencia y la sobrecarga. La plataforma cubre áreas de capacidad amplias, incluyendo agrupación de memoria distribuida, enrutamiento de memoria de aceleradores mediante CXL y descarga de almacenamiento multinivel a SSDs. Gestiona el estado del clúster a través de servicios de coordinación de metadatos e implementa gobernanza de recursos mediante protección de objetos basada en arrendamiento y desalojo de caché basado en marcas de agua. El software está empaquetado para despliegue en contenedores con soporte para redes de host y mapeo de dispositivos de hardware.
Aggregates memory across multiple servers into a unified shared pool for scalable remote memory access.
SparkInternals es una referencia técnica y guía de arquitectura que detalla el diseño interno y la implementación del motor de computación distribuida Apache Spark. Sirve como un estudio de análisis de motores de big data, centrándose en cómo el sistema gestiona la ejecución en clúster y la interacción entre nodos driver, ejecutores y workers. El proyecto proporciona un desglose detallado de cómo los planes lógicos se convierten en etapas de ejecución física. Analiza específicamente la mecánica de las operaciones de shuffle de datos, la gestión de memoria y la coordinación de la programación de trabajos distribuidos. La documentación cubre una amplia gama de capacidades de computación distribuida, incluyendo la planificación de ejecución de consultas, la gestión de dependencias de datos y estrategias de caché en memoria. También examina la distribución de tareas, la ejecución paralela y los procesos utilizados para la recuperación ante fallos y la persistencia de datos.
Details the use of caching and checkpointing to manage memory and ensure fault tolerance across distributed nodes.
Este proyecto es un servidor de aplicaciones PHP basado en eventos y un puente de servidor HTTP que permite que las aplicaciones Laravel se ejecuten en un motor persistente. Al mantener la aplicación en memoria, elimina la sobrecarga de arranque típicamente requerida para cada solicitud individual para aumentar la velocidad de las mismas. El servidor incluye un sandbox de estado de la aplicación que aísla el contenedor de la aplicación entre solicitudes para evitar fugas de datos y contaminación de estado. También cuenta con un almacén de datos de memoria compartida para recuperar información a través de múltiples procesos de trabajo y proporciona una implementación de servidor WebSocket para una comunicación persistente y bidireccional. El sistema soporta operaciones de base de datos no bloqueantes y drivers de E/S asíncronos para manejar múltiples solicitudes simultáneas. Para el desarrollo, incluye un flujo de trabajo de recarga en caliente (hot-reload) que reinicia automáticamente el servidor al detectar cambios en el código fuente.
Provides high-speed information sharing between separate worker processes using memory-mapped tables.
Octane is a PHP application server accelerator and process manager that boots an application into memory to eliminate the startup overhead associated with each individual request. It functions as a runtime bridge for high-concurrency engines such as Swoole and RoadRunner, utilizing persistent worker processes to handle incoming HTTP requests. The project includes an in-memory application state manager that uses atomic tables to share data across workers and a concurrent task runner that executes multiple operations in parallel to reduce total request latency. It also manages worker lifecycles
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.
This project is a framework for developing and orchestrating autonomous software agents within JVM-based applications. It provides a toolkit for embedding artificial intelligence directly into business logic, enabling agents to perform complex tasks through dynamic, goal-oriented planning rather than rigid state machines. By leveraging declarative annotations, the framework allows developers to define agent capabilities and integrate them into existing object-oriented domain models. The framework distinguishes itself through a vendor-neutral abstraction layer that allows for the seamless swap
Maintains a centralized store for system data and object states to provide shared context across distributed agent processes.
Varnish Cache es un proxy inverso HTTP y acelerador de contenido diseñado para situarse frente a servidores web. Funciona como un motor de caché que almacena contenido web accedido frecuentemente en memoria para reducir la carga de procesamiento en los servidores de origen backend y acelerar los tiempos de entrega para los usuarios finales. El software se distingue por un lenguaje de configuración específico del dominio que compila la lógica de manejo de solicitudes en bytecode a nivel de máquina para su ejecución a velocidad de cable. Utiliza un bucle de eventos multihilo para gestionar conexiones concurrentes y emplea almacenamiento de objetos en memoria compartida junto con paginación de memoria virtual para facilitar la recuperación rápida de datos y el acceso al disco. Más allá de sus capacidades centrales de caché, el sistema proporciona una gestión integral del tráfico, incluyendo el procesamiento de pipelines de solicitud-respuesta y sondeos de salud del backend. Estas características permiten la distribución de solicitudes de red entrantes a través de múltiples servidores para garantizar una alta disponibilidad y el enrutamiento dinámico del tráfico lejos de la infraestructura sobrecargada.
Stores cached web content in a shared memory segment accessible by multiple worker processes for rapid retrieval.