A Software Based Many-Core Architecture Simulator
DOI:
https://doi.org/10.5753/ijcae.2023.4831Keywords:
Software simulator, many-core, digital image processing, parallel processingAbstract
As technology continuously advances, engineers are constantly faced with challenges that require numerous computational designs and implementations that, usually, go beyond practical feasibility, considering the available resources at hand. An area that might be considered for dealing with these problems relates to the use of many-core architectures for parallel processing. This type of architecture can be extremely efficient for intensive computational tasks and has the power to operate with low energy and low clock frequencies; however scalability issues attached to the process can significantly affect its design. This paper presents the technicalities involved in developing a scalable many-core software-based simulator named SImulator for Many-Cores (SIMC) that includes features such as package routing and efficient inter-process communication. It is intended as a project goal that SIMC becomes a useful software package that allows students with interests in simulating many-core based hardware projects as software systems. It is also intended that by practicing with SIMC on a diverse set of problems, students can acquire experience in analyzing metrics, such as speed and latency, among others that are commonly used in this sort of scenario. The type of practice provided by SIMC promotes a way of fixing the several hardware related concepts involved as well as to enlarge and refine student´s skills in programming. For the case study described in this paper, the validation of SIMC has been carried out by means of solving a relatively trivial problem i.e., that of the execution of simple morphological filters, where the allocation of tasks can be optimized for improving either the execution speed or latency. SIMC allows a direct comparison of values of both metrics, as well as a quantitative evaluation of the implemented network as a whole.
Descargas
Citas
I.H. Sarker, “AI-based modeling techniques, applications and research issues towards automation, intelligent and smart systems,” SN Computer Science, vol. 3, no. 158, 2022, DOI: 10.1007/s42979-022-01043-x
T. Schupbach, I. Xenarios, S. Bergmann and K. Kapur, “FastEpostasos: a high performance computing solution for quantitative trait epistasis,” Bioinformatics, vol. 26, no. 11, pp. 1468-1469, 2010. DOI: 10.1093/bioinformatics/btq147
D. A. Bader, “Computational biology and high-performance computing,” Communications of the ACM, vol. 47, no. 11, pp. 35-41, 2004.
S. Ghiasvand† and F. M. Ciorba, “Anomaly detection in high performance computers: a vicinity perspective,” Proc. 18th International Symposium on Parallel and Distributed Computing (ISPDC), pp. 112-120, 2019. DOI: 10.1109/ispdc.2019.00024
E. J. Topol, “High-performance medicine: the convergence of human and artificial intelligence,” Nature Medicine, vol. 25, pp. 44-56, 2019. DOI: 10.1038/s41591-018-0300-7
G. W. Schoonderbeek, A. Szomoru, A. W. Gunst, L. Hiemstra, and J. Hargreaves, “UniBoard2, a generic scalable high-performance computing platform for radio astronomy”, Journal of Astronomical Instrumentation, vol. 8, no. 2, 1950003, 2019. DOI: 10.1142/S225117171950003X
R. Gonzales and R. Woods, “Digital Image Processing,” 3rd ed. Pearson, 2009. DOI: 10.1117/1.3115362
I. Yoda, K. Yamamoto and H. Yamada, “Automatic acquisition of hierarchical mathematical morphology procedures by genetic algorithms,” Image and Vision Computing, vol. 17, no. 10, pp. 749-760, 1999. DOI: 10.1016/s0262-8856(98)00151-6
C. Bonney, P. Campos, N. Dahir and G. Tempesti, “Fault tolerant task mapping on many-core arrays,” Proc. 2016 IEEE Symposium Series on Computational Intelligence (SSCI), pp. 1-8, 2016. DOI: 10.1109/SSCI.2016.7850174
M. Quintana, R. Poli and E. Claridge, “Morphological algorithm design for binary images using genetic programming,” Genetic Programming and Evolvable Machines, vol. 7, no. 1, pp. 81-102, 2006. DOI: 10.1007/s10710-006-7012-3
E. Pedrino, D. Lima and G. Tempesti, “Multiobjective metaheuristic approach for morphological filters on many-core architectures,” Integrated Computer-Aided Engineering, vol. 26, no. 4, pp. 383-397, 2019. DOI: 10.3233/ICA-190607
H. Giefers and M. Platzner, “An FPGA-based reconfigurable mesh many-core,” IEEE Transactions on Computers, vol. 63, no. 12, pp. 2919-2932, 2014. DOI: 10.1109/TC.2013.174
R. Kobayashi and K. Kise, “FACE: fast and customizable sorting accelerator for heterogeneous many-core systems,” Proc. IEEE 9th International Symposium on Embedded Multicore/Many-core Systems-on-Chip, pp. 49-56, 2015, DOI: 10.1109/MCSoC.2015.40
M. Atagoziyev, “Routing algorithms for on chip networks,” M.Sc. Thesis, Middle East Technical University, 79 pgs., 2007.
T. Khan, “Performance Analysis of XY Routing Algorithm Using 2-D Mesh (M × N) Topology”, M.Sc, Thesis, University of Victoria, 25 pgs., 2017. [link]
S. Pllana and F. Xhafa (Eds.), “Programming Multicore and Many-core Computing Systems”, Wiley Series on Parallel and Distributed Computing, Wiley Publishers, 528 pgs., 2017.
A. Vajda, “Programming Many-Core Chips,” Springer, Boston, MA. Springer US, 2011. DOI: 10.1007/978-1-4419-9739-5
J. Hu and R. Marculescu, “Energy-aware mapping for tile-based NoC architectures under performance constraints,” Proc. ASP-DAC Asia and South Pacific Design Automation Conference, pp. 233-239, 2003 DOI: 10.1109/ASPDAC.2003.1195022
T. Lei and S. Kumar, “A two-step genetic algorithm for mapping task graphs to a network on chip architecture,” Proc. Euromicro Symposium on Digital System Design, pp. 180-187, 2003, DOI: 10.1109/DSD.2003.1231923
S. D. Chawade, M.A. Gaikwad, M and R.M. Patrikar, “Review of XY routing algorithm for network-on-chip architecture,” International Journal of Computer Applications, vol. 43, pp. 20-23, 2012.
Descargas
Published
Cómo citar
Issue
Section
Licencia
Derechos de autor 2023 Os autores
Esta obra está bajo una licencia internacional Creative Commons Atribución 4.0.