Hybrid computer system programming technology with adaptation and scaling of calculations
The paper considers the programming technology for hybrid computer systems, which contain reconfigurable and microprocessor computational nodes. The base of the programming technology for hybrid computer systems is the high-level programming language COLAMO with extensions, which allow descriptions of various types of parallel calculations such as structural, structural-procedural, multi-procedural and procedural forms of organization of calculations in a unified parallel-pipeline form. The suggested parallel-pipeline form allows modifications of forms of organization of calculations. Such modifications are performed automatically by the COLAMO language preprocessor, which takes into account current configuration of the hybrid computer system. Owing to the suggested technology, the program can be automatically adapted to the changed architecture or configuration of the hybrid computer system without any modifications of the source code made by the developer. Specially for this the source parallel program, developed in the programming language COLAMO, is transformed by the pre-processor into the canonical form. Then the pre-processor estimates the available computational resource, detects effective parameters of implementation of the program on the available resource and, if necessary, reduces the program performance to adapt it to the current configuration of the hybrid computer system. The technology provides two-way scaling: for increasing of the available computational resource (induction), and for reducing of the available computational resource (reduction), which provides resource independence of programming during implementation of the program, i.e. the developer is not “bound” to the available hardware resource of the computer system.
Полный текст:PDF (English)
Kalyaev I.A., Levin I.I., Semernikov E.A., Shmoilov V.I. Reconfigurable multipipeline computing structures. New York, Nova Science Publishers, 2012. 330 р.
Dong X., Chai J., Yang J., Wen M., Wu N., Cai X., Zhang C., Chen Z. Utilizing mul-tiple xeon Phi coprocessors on one compute node // Lecture Notes in Computer Sci-ence, 2014, Vol. 8631, Issue PART 2, Pp. 68–81. DOI:10.1007/978-3-319-11194-0_6
Liang T.-Y., Li H.-F., Lin Y.-J., Chen B.-S. A Distributed PTX Virtual Machine on Hybrid CPU/GPU Clusters // Journal of Systems Architecture, 2016. Vol. 62. Pp. 63–77. DOI: 10.1016/j.sysarc.2015.10.003
Li H.-F., Liang T.-Y., Lin Y.-J. An OpenMP programming toolkit for hybrid CPU/GPU clusters based on software unified memory // Journal of Information Sci-ence and Engineering, 2016, Vol. 32, Issue 3. Pp. 517–539.
Dordopulo A., Levin I., Kalyaev I., Gudkov V., Gulenok A.. Programming of hybrid computer systems based on the performance reduction method // CEUR Proceedings, 2016, Vol. 1576, Pp. 131–140.
El-Araby E., Taher M., Abouellail M., El-Ghazawi T., Newby G.B. Comparative anal-ysis of high level programming for reconfigurable computers: Methodology and empiri-cal study // 2007 3rd Southern Conference on Programmable Logic, Mar del Plata; 2007; Pp. 99–106. DOI: 10.1109/SPL.2007.371731
Xu J, Subramanian N, Alessio A, Hauck S. Impulse C vs. VHDL for accelerating tomographic reconstruction // 18th IEEE International Symposium on Field-Programmable Custom Computing Machines, 2010, Pp. 171–174. DOI: 10.1109/fccm.2010.33
Dordopulo A., Kalyaev I., Levin I., Slasten L.. High-performance reconfigurable com-puter systems // Lecture Notes in Computer Science, 2011, Vol. 6873. Chapter Paral-lel Computing Technologies. Рp. 272–283. DOI:10.1007/978-3-642-23178-0_24