Large-scale distributed array management on an HPC system

Main Article Content

Adrián Durán Chavesti
https://orcid.org/0000-0002-0542-1627

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

Download data is not yet available.

Article Details

How to Cite
Durán Chavesti, A. (2026). Large-scale distributed array management on an HPC system. Cuadernos Técnicos Universitarios De La DGTIC, 4(2). https://doi.org/10.22201/dgtic.30618096e.2026.4.2.150
Section
Reportes técnicos
Author Biography

Adrián Durán Chavesti, Instituto de Investigaciones en Matemáticas Aplicadas y en Sistemas, UNAM

.

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