diff --git a/src/architecture/hardware.md b/src/architecture/hardware.md index aff6d0c..6ca4e39 100644 --- a/src/architecture/hardware.md +++ b/src/architecture/hardware.md @@ -1,6 +1,5 @@ # Hardware - -The server configuration was chosen to best cover the various requirements. The budget of XXX was too small to build a high-performance AI cluster and would also have been the wrong approach for this use case. This is because a configuration was needed where smaller AI models could be trained and deployed using GPU power, providing students with a platform on which to experiment/learn. Therefore, we opted for a rather unusual configuration with high performance CPU's, high performance GPU and a lot of Memory. With the help of the CPU, many students can experiment and gain initial experience. If the performance of the CPU's is no longer sufficient, you have the possibility to start a GPU image, in which a limited GPU capacity is available. If this is also no longer sufficient and you want to train your own model over several hours or days, for example, you can use Git and CI to write your own pipeline that allows you to train the model. However, this involves some technical effort and is therefore only recommended for scientific users. To ensure that this does not affect the normal training process or experiments of the students, it was necessary to ensure that there is always enough memory available for the A100 GPU to work correctly. +![Sandbox Architecture](res/dell-server.jpeg) ## Sandbox Server Configuration @@ -15,15 +14,8 @@ The server configuration was chosen to best cover the various requirements. The ## NAS -NAS is located at https://ikarus.iuk.hdm-stuttgart.de - -xx tb backup HDD - -tbd. +Additional 20TB backup storage is located at IKARUS NAS. -## vserver Configuration -## Monitoring Server Configuration -## \ No newline at end of file diff --git a/src/architecture/overview.md b/src/architecture/overview.md index 3dad65f..18641e2 100644 --- a/src/architecture/overview.md +++ b/src/architecture/overview.md @@ -1,33 +1,36 @@ -# Architecture Overview (mixed use->praesi) +# Architecture Overview + +## Conceptual Design +![Sandbox Architecture](res/sandbox-architecture.png) +## Development Environment +An interactive, browser-based, development playground provides beginners and advanced users an isolated and safe AI playground. +## Training Environment +For long running processes (building/training) a userfriendly pipeline is available. +## Use Cases +The sandbox offers the possibility to provide interactive use cases and demo scripts for online courses. +## Data Generator +In order to analyse training behaviour of maschine learning models, synthetic data can be generator according to the user requirements. (tbd) +## Data Pool +The Data Pool allows the user to exchange data with other sandbox users, advanced users, and scientific users. Therefore the users can use the storage for their assignments (notebook files), data (training) and other sandbox driven data. +## Sandbox Use Cases The following scenarios can be derived for the system: on the one hand, the system is to be used for teaching and on the other hand, the system is to be used for training. Therefore, a mixed-use architecture is provided, which allows the system to be used for these two different requirements, hence following role concept has been designed: -# Roles +### Roles -## User +**User** * Teaching/Use Cases in the area of ethics, business and law. * Assignments Editing -* Grading -* Provide examples / demos +* Provide interactive examples / demos and course material -## advanced User -* Teaching/Use Cases in the field of technology +**Advanced User** +* Teaching/Use Cases in the field of IT * Tasks Editing -* Grading * Provide/develop (own) examples/demos. -## scientific User -* Data generation using MAX -* GPU performance -* CI/CD/GIT +**Scientific User** +* Data generation using synthetic data generator (tbd) +* GPU usage +* version control (GIT) +* CI/CD for long running tasks * Storage -* SANDBOX MM Platform - -following technical requirements can be derived: -* Sandbox NB for testing examples and editing tasks (GPU limit of 1GB per user). -* 1GB memory per user -* CPU 0.5/ limit 2 -* Data provisioning by user: - * REST-Interface - * Git Large File Storage - * Upload File inside Sandbox-NB (GUI) \ No newline at end of file diff --git a/src/architecture/res/dell-server.jpeg b/src/architecture/res/dell-server.jpeg new file mode 100644 index 0000000..b22ca09 Binary files /dev/null and b/src/architecture/res/dell-server.jpeg differ diff --git a/src/architecture/res/sandbox-architecture.png b/src/architecture/res/sandbox-architecture.png new file mode 100644 index 0000000..f827c40 Binary files /dev/null and b/src/architecture/res/sandbox-architecture.png differ diff --git a/src/architecture/res/vms.png b/src/architecture/res/vms.png new file mode 100644 index 0000000..7735410 Binary files /dev/null and b/src/architecture/res/vms.png differ diff --git a/src/architecture/software.md b/src/architecture/software.md index bcdb171..8e8fcb0 100644 --- a/src/architecture/software.md +++ b/src/architecture/software.md @@ -1,9 +1,10 @@ # Software - -//container verteilte system - -# Virtuelle Server - -# k8s +## Software Defined Architecture +![SDA](res/vms.png) +The server is separated into three virtual machines, according to their responsibilities, and is highly extendable regarding new external hardware. +- Master VM: Management environment for software orchestration +- Node 1 VM: Application node for software foundation like databases, sandbox controller, ci/cd controller +- Node 2 VM: Worker node for ci/cd and sandbox playground + diff --git a/src/sandbox/services.md b/src/sandbox/services.md index 4929cfc..6dcec04 100644 --- a/src/sandbox/services.md +++ b/src/sandbox/services.md @@ -1,4 +1,6 @@ -# Services                                                   ![sandbox](https://uptime.monitoring.iuk.hdm-stuttgart.de/api/badge/1/status) +# Services + +![sandbox](https://uptime.monitoring.iuk.hdm-stuttgart.de/api/badge/1/status) # Playground