Introduction
Overview
HydroCompute is a computational library developed using different web technologies that can be effectively used in web applications through multithreading technology. This is achieved through the implementation of various paradigms and software ontologies that enable fast and easy deployment of code and its relationship with data and data manipulation.
It has been designed with the following structure:
- Connection layer: used as the main interface that interacts with the user for running an instance of the library, manipulating and serving data, and saving results.
- Engine layer: it serves as the fundamental driver for creating schedules based on dependencies, running a simulation, and returning results.
- Thread engine: used as a thread manager that runs based on the requirements of the user, including data and functions to run.
- Scheduler: graph-based scheduling through dependency acyclic behavior.
The code has been developed considering an open-source, open-ended ontology in which the user can modify the framework based on the end-use case required. This means that the user is able to port different type of coding structures into the engine following the guidelines described in the repository and throughout this tutorial.
It is a purely computational library developed to run computationally expensive code on the client-side without any dependencies.
Architecture
Open-source Nature
The code has been developed considering an open-source, open-ended ontology in which the user can modify the framework based on the end-use case required. This means that the user is able to port different type of coding structures into the engine following the guidelines described in the repository and throughout this tutorial.