Computational & Technology Resources
an online resource for computational,
engineering & technology publications
PROCEEDINGS OF THE THIRD INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, GRID AND CLOUD COMPUTING FOR ENGINEERING
Edited by: B.H.V. Topping and P. Iványi
Porting Existing MATLAB Applications to the Cloud using the mOSAIC Platform
J. Juzna, P. Cesarek and V. Stankovski
Faculty of Civil and Geodetic Engineering, University of Ljubljana, Slovenia
J. Juzna, P. Cesarek, V. Stankovski, "Porting Existing MATLAB Applications to the Cloud using the mOSAIC Platform", in B.H.V. Topping, P. Iványi, (Editors), "Proceedings of the Third International Conference on Parallel, Distributed, Grid and Cloud Computing for Engineering", Civil-Comp Press, Stirlingshire, UK, Paper 30, 2013. doi:10.4203/ccp.101.30
Keywords: MATLAB, software design, framework, cloud-enabling, legacy application, software as a service, MOSAIC platform.
Many complex MATLAB engineering applications have been built in the course of recent decades that solve both complex and very specific engineering problems. Unfortunately, such applications are not widely available to the professional communities or general public. Key technical problems include heavy dependence on the MATLAB environment with a suitable licence, absence of web interface and lack of easily supporting many concurrent users. Additionally, these applications require significant computing resources, which need to be optimised at runtime to avoid unnecessary costs. Porting such applications to the Cloud could overcome many of the listed problems but transition is far from easy. When using the infrastructure as a service (IaaS) cloud model, fully exploiting cloud capabilities such as scalability, elasticity or fault tolerance is very complex and must be added manually. On the other hand, the platform as a service (PaaS) cloud model offers many cloud capabilities automatically but does not support the modification of the underlying system in order to execute legacy code and therefore significant modification of the existing code is required.
In this paper, a generic framework for porting existing MATLAB applications to the Cloud, is presented, where only small modifications to an existing code is required to fully embrace cloud capabilities and be offered to the general public as a software service. Our solution is based on the hybrid mOSAIC Cloud computing platform  and its API which offers all the advantages of a PaaS model on top of the IaaS model while still allowing control over the underlying system. Additionally, platform provided software components such as message queue system, key-value database and HTTP gateway are used to avoid unnecessary programming complexity. Moreover, the mOSAIC platform makes it possible to redeploy the application from one IaaS to another without modifying the application itself, thus avoiding vendor lock-in.
The feasibility of our approach is demonstrated with the successful port of an existing engineering MATLAB application, which is used for analysis of structures under static loading. Our tests executed on multiple cloud providers are showing that execution time of ported application is comparable to the original one and can thus scale well when used by many concurrent users.