Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kjarosh/agh-gmmf-prototype

A prototype of the Group Membership Management Framework
https://github.com/kjarosh/agh-gmmf-prototype

distributed-computing kubernetes-deployment membership-management onedata

Last synced: 8 days ago
JSON representation

A prototype of the Group Membership Management Framework

Awesome Lists containing this project

README

        

# GMMF Prototype

A prototype of the Group Membership Management Framework.
Implemented according to the concepts presented in the article entitled
"Group Membership Management Framework for Decentralized Collaborative Systems".

The prototype simulates a P2P environment consisting of multiple so-called "zones",
which represent autonomous organizations in a decentralized network.

## Repository structure

* `config` — exemplary application configurations,
* `tests-docker` — scripts used to benchmark the prototype on bare Docker
(customized for the specific setup used in the article),
* `tests-k8s` — scripts and configuration used to benchmark the prototype in Kubernetes,
* `util` — utility scripts,
* `gmmf-*` — the application source code divided into modules,
* `gmmf-zone-simulator` — the main module which represents the zone,
* `docker-compose.yml` — Compose configuration with an exemplary 3-node setup,
* `docker-compose.util.yml` — Compose configuration for utility images (neo4j, Postgres, etc.).

## Main classes

* `ConstantLoadClientMain` — a client used to generate a constant load on specified servers,
* `GraphGeneratorMain` — graph generator,
* `KubernetesClient` — a Kubernetes client used for management of the application,
* `Neo4jImportMain` — imports the graph into Neo4j,
* `OperationSequenceGeneratorMain` — generator for sequences of operations used for benchmarking,
* `PostgresImportMain` — imports instrumentation data into Postgres,
* `QueryClientMain` — runs queries on specified servers (used for benchmarking),
* `QuerySequenceGeneratorMain` — generates membership queries (used for benchmarking).