Skip to content

Commit 11bfb1c

Browse files
committed
better Readme
1 parent eef1eff commit 11bfb1c

File tree

1 file changed

+100
-17
lines changed

1 file changed

+100
-17
lines changed

README.md

Lines changed: 100 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,131 @@
1+
# <img src="doc/source/img/DTLMod_logo.png" alt="DTLMod Logo" width="60" style="vertical-align: middle; margin-right:12px;"> DTLMod: a versatile simulated Data Transport Layer
2+
13
[![License: LGPL v2.1](https://img.shields.io/badge/License-LGPL_v2.1-blue.svg)](https://www.gnu.org/licenses/lgpl-2.1)
24
[![Build-Linux](https://github.com/simgrid/DTLMod/actions/workflows/build.yml/badge.svg)](https://github.com/simgrid/DTLMod/actions/workflows/build.yml)
35
[![Doc](https://readthedocs.org/projects/pip/badge/?version=stable)](https://simgrid.github.io/DTLMod/)
46
[![SonarCloud Status](https://sonarcloud.io/api/project_badges/measure?project=simgrid_dtlmod&metric=alert_status)](https://sonarcloud.io/summary/new_code/?id=simgrid_dtlmod)
57
[![codecov](https://codecov.io/gh/simgrid/DTLMod/graph/badge.svg?token=6x9KmpEvpS)](https://codecov.io/gh/simgrid/DTLMod)
68
[![CodeFactor](https://www.codefactor.io/repository/github/simgrid/DTLMod/badge)](https://www.codefactor.io/repository/github/simgrid/DTLMod)
79

8-
# <img src="doc/source/img/DTLMod_logo.png" width="60" style="vertical-align: middle; margin-right:12px;"> DTLMod: a versatile simulated Data Transport Layer
10+
## What is DTLMod?
11+
12+
DTLMod is a high-performance simulation library that provides realistic data transport layer modeling for distributed systems. Built on top of [SimGrid](https://simgrid.org), it enables researchers and developers to accurately simulate complex data movement patterns in HPC workflows, in-situ processing, and distributed computing scenarios without the cost and complexity of physical infrastructure.
13+
14+
### Key Features
15+
16+
- 🚀 **High-fidelity simulation** of data transport protocols
17+
- 🔧 **Flexible API** for easy integration into SimGrid-based simulators
18+
- 📊 **Performance modeling** for in-situ workflows and data movement
19+
-**Well-tested** with comprehensive unit test coverage
20+
- 📖 **Extensively documented** with examples and API reference
21+
22+
### Use Cases
23+
24+
- Evaluating in-situ workflow performance
25+
- Modeling data-intensive scientific applications
26+
- Testing distributed system architectures
27+
- Optimizing data placement and movement strategies
28+
29+
## Table of Contents
30+
31+
- [What is DTLMod?](#what-is-dtlmod)
32+
- [📖 Documentation](#-documentation)
33+
- [🛠️ Dependencies and Installation](#️-dependencies-and-installation)
34+
- [🤝 Contributing](#-contributing)
35+
- [💬 Support](#-support)
36+
- [📝 Citation](#-citation)
37+
38+
## 📖 Documentation
39+
40+
The complete documentation is available at [simgrid.github.io/DTLMod](https://simgrid.github.io/DTLMod/), including:
41+
42+
### User Manual
43+
44+
- **Getting Started**: Installation and project setup
45+
- **Workflow Design**: Creating simulated in-situ processing workflows with the programming interface
46+
- **Platform Configuration**: Describing simulated platforms
47+
48+
### DTLMod's Internals
49+
50+
- Connection manager architecture
51+
- Engine implementations (File engine and Staging engine)
52+
53+
The documentation provides insights on evaluating performance of different execution scenarios for in-situ workflows at scale.
54+
55+
## 🛠️ Dependencies and Installation
956

10-
## Overview
11-
This project implements a versatile simulated data transport layer "module" on top of
12-
[SimGrid](https://simgrid.frama.io/simgrid/), to be used in any SimGrid-based simulator.
57+
### Prerequisites
1358

14-
## Documentation
59+
**Required:**
1560

16-
The concepts and API of DTLMod API are documented on [this page](https://simgrid.github.io/DTLMod/).
61+
- [SimGrid](https://simgrid.frama.io/simgrid/) 4.1 or higher
62+
- [File System Module](https://github.com/simgrid/file-system-module) 0.3.1 or higher
63+
- [Boost](https://www.boost.org/) 1.48 or higher
64+
- [nlohmann/json](https://github.com/nlohmann/json)
65+
- CMake 3.12 or higher
66+
- C++17 compatible compiler
1767

18-
## Dependencies and installation
68+
**Optional:**
1969

20-
The only required dependencies are on [SimGrid](https://simgrid.frama.io/simgrid/) and its
21-
[File System Module](https://github.com/simgrid/file-system-module). An optional dependency
22-
is [Google Test](https://github.com/google/googletest) for compiling the unit tests.
70+
- [Google Test](https://github.com/google/googletest) (for C++ unit tests)
71+
- [Python 3](https://www.python.org/) and [pybind11](https://github.com/pybind/pybind11) 2.4+ (for Python bindings)
2372

24-
Here is the typical Ubuntu installation procedure:
73+
### Building and Installing
74+
75+
Here is the typical installation procedure:
2576

2677
```bash
27-
cd DTL
78+
cd DTLMod
2879
mkdir build
2980
cd build
3081
cmake ..
3182
make -j4
3283
sudo make install
3384
```
3485

35-
after which the dtlmod library and header files will be installed in `/usr/local/`.
86+
The dtlmod library and header files will be installed in `/usr/local/`.
87+
88+
### Running Tests
3689

37-
To compile and run the unit tests, just run the following command in the `build` directory:
90+
**C++ unit tests:**
3891

3992
```bash
93+
# From the build directory
4094
make unit_tests
4195
./unit_tests
4296
```
4397

44-
## Citation
98+
**Python unit tests:**
99+
100+
```bash
101+
# From the build directory
102+
cd test/python
103+
python ./unit_tests_python.py
104+
```
105+
106+
## 🤝 Contributing
107+
108+
Contributions are welcome! Here's how you can help:
109+
110+
- **Report bugs**: Open an issue on the [GitHub issue tracker](https://github.com/simgrid/DTLMod/issues)
111+
- **Submit pull requests**: Fork the repository, make your changes, and submit a PR
112+
- **Improve documentation**: Help us improve examples and API documentation
113+
- **Share use cases**: Let us know how you're using DTLMod in your research
114+
115+
Please ensure your code follows the existing style and includes appropriate tests.
116+
117+
## 💬 Support
118+
119+
If you need help or have questions:
120+
121+
- **Documentation**: Check the [complete documentation](https://simgrid.github.io/DTLMod/) first
122+
- **Issues**: Search existing [GitHub issues](https://github.com/simgrid/DTLMod/issues) or open a new one
123+
- **SimGrid Community**: For general SimGrid questions, visit [simgrid.org](https://simgrid.org/)
124+
125+
## 📝 Citation
45126

46127
If you use this software in your research, please cite:
128+
47129
```bibtex
48130
@inproceedings{dtlmod,
49131
title = {{A Versatile Simulated Data Transport Layer for In Situ
@@ -59,7 +141,8 @@ If you use this software in your research, please cite:
59141
}
60142
```
61143

62-
This article comes with a complete experimental artifact that can be
63-
found on [figshare](https://doi.org/10.6084/m9.figshare.28872509.v1).
144+
### Reproducibility Artifact
145+
146+
The complete experimental artifact for this paper, including all datasets, scripts, and instructions for reproducing the results, is available on [figshare](https://doi.org/10.6084/m9.figshare.28872509.v1).
64147

65148
---

0 commit comments

Comments
 (0)