## 5 IO Data Management and Data Sharing
### Distributed SQL Databases with RPC
#### 5.1.1. Replicated Data Bases and Tables
The embedded low-resource Raspberry 3 computer scales up to _PN_ nearly linearly equal the number of cores (4) and sufficient large-grid worlds. The speeding- and scaling up generally decreases with decreasing grid size (and the number of cells per partition). The product of the simulation times (one process) and measured (j) dhrystone benchmark values (relative CPU scaling) \(R=k\)_jystones_:\(T_{1}\)(s)/1000 for a grid size of 200 \(\times\) 200 cells is not constant over the different host architectures using the V8 JS core engine (Byte-code + just-in-time native code compilation), showing limited suitability for host selection and computational time predictions (e.g., by the pool server):

* CFLX6 (Chromium 90): \(R=208\)
* HPG3 (node.js): \(R=117\)
* HPZ620 (node.js): \(R=177\)
* RP3B (node.js) \(R=305\)

The memory architecture (shared memory bus and cache memory architecture, number of RAM access ports) of the used host platform seems to have a significant impact on the performance and computational times. The next case study does not use shared memory, showing closer \(R\) values. Figure 10: Parallel simulation results using shell worker processes, showing the total simulation time for 100 simulation steps in dependency of the parallel partitions (rows, cols), S: speeding up, \(\sigma\): scaling up, (**a**) HP-G3 mini (**b**) HP-Z620 workstation. ### Multi-Model and Distributed-Parallel Ensemble Machine Learning

ML model training from data is an iterative parameter optimization problem, based on a set of data samples and an error (loss) function. It is difficult to parallelize the training of a single model on a control-path level using workers. Therefore, in this case study, parallel multi-model training is demonstrated and evaluated. It is assumed that there is a set of independent models, either inherently, by a distributed data problem, or by creating a forest of models for best-of selection, or by applying model fusion methodologies (like random forest trees), as shown in Figure 12.

Figure 11: **(a)** Parallel simulation results using Web worker processes showing total simulation time for 100 simulation steps (**b**) Results for shell worker processes executed on an embedded computer (Raspberry PI 3+); S: speeding up, \(\sigma\): scaling up. Figure 12: Parallel multi-model training: (**a**) model diversity; (**b**) distributed models using local sensor data. Different models with different parameter settings (and/or structural complexity) can be investigated in parallel. In heterogeneous clusters, the processing nodes can vary in computational power and memory capacity. The relative computational power, measured in dhrystones, can be used to map the computational tasks on nodes. For example, there may be models with different numbers of parameters (neural nodes) and model structures. Smaller models can be processed by slower nodes, and larger models by faster nodes, while still preserving a constant-time scaling (dynamic size problem). All shell workers have direct access to the extended Math and ML modules. The web worker must load the extended Mathematics and ML plug-ins first. It is assumed that the master process can create the requested worker instances on a remote WorkShell directly (or within the same web browser instance, using web workers).