This document provides an overview of the research module in the HORAO project, which contains various validation suites for different aspects of distributed systems.
In order to install the corresponding libraries for research, execute the following:
poetry install --with research
The research
folder is organized into several subdirectories, each focusing on a specific research area related to distributed systems:
This area focuses on testing and validating consistency models in distributed systems:
This area examines deployment patterns and operational practices:
This area focuses on security aspects across multi-cloud deployments:
This area examines system observability capabilities:
This area focuses on efficient cloud resource utilization:
Each research area conducts validation tests that generate datasets stored in the research/data
directory. These datasets are organized by research area and test type, containing various metrics and measurements from test executions.
The data_validation.ipynb
Jupyter notebook provides comprehensive statistical validation of these datasets, including:
The research module provides several ways to run validations:
# Example for running consistency tests
python -m research.distributed_systems_consistency.run_validation
python -m research.run_all_validations
python -m research.distributed_systems_consistency.run_validation --test network_partition
The research module leverages core HORAO components:
horao.conceptual.crdt
- For testing conflict resolution and consistencyhorao.logical.infrastructure
- For simulating different network topologieshorao.persistence.store
- For testing data persistence across distributed systemsAfter running validations, use the data_validation.ipynb
notebook to analyze generated datasets and identify patterns, anomalies, or areas for improvement in the distributed system design.
The notebook provides: