Scientific Computing (SC) is a multidisciplinary field that uses the computational approach to understand and study complex artificial and natural systems belonging many scientific sectors. Optimization via Simulation (OvS) is a fast developing area in SC field. OvS combines classical optimization algorithms and stochastic simulations to face problems with unknown and/or dynamic data distribution. We present Heterogeneous Simulation Optimization (HSO), an architecture that enable to distribute the OvS process on an Heterogeneous Computing systems. HSO is designed according to two levels of heterogeneity: hardware heterogeneity, that is the ability to exploit the computational power of several general-purpose CPUs and/or hardware accelerators such as Graphics Processing Units (GPUs); programming languages heterogeneity, that is the capability to develop the OvS methodology combining different programming languages such as C++, C, Clojure, Erlang, Go, Haskel, Java, Node.js, Objective-C, PHP, Python, Scala and many others. The proposed HSO architecture has been fully developed and is available on a public GitHub repository. We have validated and tested the scalability of HSO developing two different use cases that show both the levels of heterogeneity, and showing how to exploit Optimal Computing Budget Allocation (OCBA) algorithm and a Genetic Algorithm in a OvS process.
Heterogeneous Scalable Multi-languages Optimization via Simulation
Cordasco, Gennaro;
2018
Abstract
Scientific Computing (SC) is a multidisciplinary field that uses the computational approach to understand and study complex artificial and natural systems belonging many scientific sectors. Optimization via Simulation (OvS) is a fast developing area in SC field. OvS combines classical optimization algorithms and stochastic simulations to face problems with unknown and/or dynamic data distribution. We present Heterogeneous Simulation Optimization (HSO), an architecture that enable to distribute the OvS process on an Heterogeneous Computing systems. HSO is designed according to two levels of heterogeneity: hardware heterogeneity, that is the ability to exploit the computational power of several general-purpose CPUs and/or hardware accelerators such as Graphics Processing Units (GPUs); programming languages heterogeneity, that is the capability to develop the OvS methodology combining different programming languages such as C++, C, Clojure, Erlang, Go, Haskel, Java, Node.js, Objective-C, PHP, Python, Scala and many others. The proposed HSO architecture has been fully developed and is available on a public GitHub repository. We have validated and tested the scalability of HSO developing two different use cases that show both the levels of heterogeneity, and showing how to exploit Optimal Computing Budget Allocation (OCBA) algorithm and a Genetic Algorithm in a OvS process.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.