Large-scale distributed array management on an HPC system
Main Article Content
Abstract
The need for high-performance computing refers to the practice of using computing resources more powerful than a typical personal computer or server to address complex problems that require large amounts of processing power. A large part of the operations to be solved involve large-scale matrices; therefore, a server cluster environment was implemented with the "MATLAB Parallel Server" tool. This allowed them to demonstrate how large matrices can be handled in a parallel and distributed manner using high-performance computing equipment and the high-level language MATLAB.
It was possible to handle and distribute a pair of 49,000 x 49,000 matrices, whereas a typical personal computer with 16 GB of memory can only handle a pair of 23,000 x 23,000 matrices.
This work demonstrated the ease and flexibility with which a problem can be scaled using networked servers with the MATLAB Parallel Server tool, employing the same algorithm simply by adding more servers to the cluster configuration.
This implementation used a three-node system connected to a local network, so if one wishes to replicate it, it is recommended to have your MATLAB license on hand before starting the installation.
The cluster's scalability will be directly related to the number of available servers. In this case, three users from the high-performance computing research group benefited from the system. The operating system used was Ubuntu Server 24.04 LTS (Linux), and the software used was MATLAB R2024a.
Downloads
Article Details

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Este trabajo tiene la licencia CC BY-NC-ND 4.0
References
Delfino, M. (2020). Distributed Computing. En C.W. Fabjan & H. Schopper (Eds.), Particle Physics Reference Library (pp. 613-644). Springer. https://doi.org/10.1007/978-3-030-35318-6_14
Foster, I. (1995). Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering. Addison-Wesley.
https://edoras.sdsu.edu/~mthomas/docs/foster/Foster_Designing_and_Building_Parallel_Programs.pdf
Gu, R., Tang, Y., Tian, C., Zhou, H., Li, G., Zheng, X., & Huang, Y. (2017). Improving Execution Concurrency of Large-Scale Matrix Multiplication on Distributed Data-Parallel Platforms, IEEE Transactions on parallel and distributed systems, 28(9), 2539 – 2552.
HouZhen, W., Yan, G., & HuanGuo, Z. (2020). A Method of Ultra-Large-Scale Matrix Inversion Using Block Recursion. Information, 11(11), 523. https://doi.org/10.3390/info11110523
Lim, R., Lee Y., Kim, R., & Choi, J. (2018). An implementation of matrix–matrix multiplication on the Intel KNL processor with AVX-512. Cluster Computing. 21, 1785–1795. https://doi.org/10.1007/s10586-018-2810-y
MathWorks. (s. f.). Distributed arrays. Recuperado de https://la.mathworks.com/help/parallel-computing/distributed-arrays.html
MathWorks. (s.f.). Get started with MATLAB. Recuperado de https://la.mathworks.com/help/matlab/getting-started-with-matlab.html
MathWorks. (s. f.). MATLAB Parallel Server [Documento digital]. Recuperado de https://la.mathworks.com/help/pdf_doc/matlab-parallel-server/matlab-parallel-server.pdf
MathWorks. (s. f.). Parallel Computing Toolbox [Documento digital]. Recuperado de https://la.mathworks.com/help/pdf_doc/parallel-computing/parallel-computing.pdf
Westrick, S., Fluet, M., Rainey, M., & Acar U. (2024). Automatic Parallelism Management. Proceedings of the ACM on Programming Languages, 8, 1118 – 1149. https://doi.org/10.1145/3632880