Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/kjarosh/agh-gmmf-prototype
- Owner: kjarosh
- License: gpl-2.0
- Created: 2020-03-28T23:24:10.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-06-14T22:52:50.000Z (over 1 year ago)
- Last Synced: 2023-10-20T21:01:01.688Z (about 1 year ago)
- Topics: distributed-computing, kubernetes-deployment, membership-management, onedata
- Language: Java
- Homepage:
- Size: 2.32 MB
- Stars: 1
- Watchers: 2
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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).