Software technologies for homogenous computing environment
Homogeneous computing environment (HCE) it's special-purpose computer systems, which are represents as the mesh-connected identical processing elements (PE), each of which is configured to perform arithmetic or logic functions and certain kind connections with the "neighboring" PE. HCE programming is a PE array set-up process for the implementation of data processing and transmission algorithm. The main result of programming is "laying" algorithm graphs on lattice of PE. To date, numerous projects dedicated to applying of general-purpose vectorizing compilers for adaptation the common programming languages to systems with massively parallel data processing have not been any success with respect to the parallel programs of any kind. At the same time, some of new languages for parallel programming are not getting noticeable proliferation, indicating that the limited capacity of traditional methods for systems programming of massively parallel computing. The results of numerous researches show that the one of key factor for the efficiency of parallel programming is a radical change of the concept of variable and assignment procedures. That is why the platform of software for parallel data processing based on imperative programming languages, are forced to adopt the basic principles of declarative programming concepts. As examples of such language implementation the FPGA-coprocessor software based on a hybrid language Mitrion-C programming and parallel computing platform based on a declarative language SquenceL are described in article. Analysis of the current status and trends of software techniques for massively parallel computing allows define the basic requirements for the structure and functions of the components of the software platform of HCE. The main components of such a platform are programming system and the subsystem of code layout. The programming system should be based on the declarative language and provide debugging on syntactic and semantic levels and accuracy control. The layout system should be based on the modular principle in order to ensure the iterative adaptation of the object code for optimizes the building boot code and the possibility of further development of the system. In case of HCE both time (data streams computation on PE arrays) and space (rectangular matrix locally connected PE) metric of computations are taking place. It is causes the "geometric" nature of the operation of the compiler. It must take into account the possible propagation path data streams in two-dimensional space of PE and optimize the lengths of these "trajectories". This fact fundamentally distinguishes the principles of construction and functioning of compilers for HCE and usual parallel computer systems.
Keywords
однородные вычислительные среды,
императивные и декларативные языки программирования параллельных вычислений,
системы потоковой обработки,
homogenous computing environment,
imperative and declarative programming languages for parallel computations,
data flow systemsAuthors
Lookin Nick A. | Institute of Engineering Science, Ural Branch of Russian Academy of Science; Ural Federal University | n.a.lookin@urfu.ru |
Filimonov Alexander Yu. | Ural Federal University | af.1015@yahoo.com |
Всего: 2
References
Дмитриенко Н.Н., Каляев И.А., Левин И.И., Семерников Е.А. Семейство многопроцессорных вычислительных систем с динамически перестраиваемой архитектурой // Вестник компьютерных и информационных технологий. 2009. № 6, 7.
Лукин Н.А. Реконфигурируемые процессорные массивы для систем реального времени: архитектуры, эффективность, области применения // Известия ТРТУ. 2004. № 9. C. 36-45.
Maleki S., Yaoqing Gao, Garzaran M.J., Wong T., Padua D.A. An Evaluation of Vectorizing Compilers Parallel Architectures and Compilation Techniques (PACT) // 2011 International Conference. 2011. 10-14 Oct. Р. 372-382.
The Landscape of Parallel Computing Research: A View from Berkeley - Technical Report No. UCB/EECS-2006-183.
Chamberlain B.L., Callahan D., Zima H.P. Parallel Programmability and the Chapel Language // Journal of High Performance Com puting Applications. 2007. August. V. 21, No. 3. P. 291-312.
Bal H.E. Matthew Haines Approaches for Integrating Task and Data Parallelism // Journal IEEE Concurrency - July. 1998. V. 6, Issue 3. P. 74-84.
Kennedy K., Koelbel C., Zima H. The Rise and Fall of High Performance Fortran: An Historical Object Lesson // Communications of the ACM. November. 2011. V. 54, No. 11. P. 74-82.
Dongarra J., Graybill R., Harrod W., Lucas R., Lusk E., Luszczek P., Mcmahon J., Snavely A., Vetter J., Yelick K., Alam S., Camp bell R., Carrington L., Tzu-Yi Chen, Khalili O., Meredith J., Tikir M. DARPA's HPCS Program: History, Models, Tools // Languages Advances in Computers. 2008. V. 72. P. 1-100.
Richards J., Brezin J. A decade of progress in parallel programming productivity // Communications of the ACM. November. 2014. V. 57, Issue 11. P. 60-66.
Weiland M. Chapel, Fortress and X10: Novel languages for HPC. Technical Report from the HPCx Consortium. 2007.
Feldman M. Closing the Parallelism Gap with the Chapel Language // HPCwire. 2008. November 19.
Voemel C. How to talk new computers into working harder. Technical Reports № 603. ETH Zurich. IC0S-08. 2008.
Титов В.Г., Лукин Н.А. Язык макросов для программирования однородной вычислительной среды MiniTera II // Известия Томского политехнического университета. 2008. Т. 313, № 5. С. 93-96.
Васильев С.С., Новосельцев В.Б. Об использовании в программировании проблемно-ориентированных языков // Известия Томского политехнического университета. 2008. Т. 313, № 5. С. 68-72.
Johnston W.M., Hanna J.R.P. and Millar R.J. Advances in dataflow programming languages // ACM Comput. Surv. 2004. V. 36, No. 1.
Solinas M., Badia R.M., Bodin F., Cohen A. The TERAFLUX Project: Exploiting the DataFlow Paradigm in Next Generation Teradevices // 16th Euromicro Conference on Digital System Design. 2013.
Najjar W.A., Bohm W., Draper B.A., Hammes J., Rinker R., Beveridge J.R., Chawathe M., Ross C. High-Level Language Abstraction for Reconfigurable Computing // IEEE Computer. 2003. Aug. P. 63-69.
Bohm W., Hammes J., Draper B., Chawathe M., Ross C., Rinker R., Najjar W. Mapping a Single Assignment Programming Language to Reconfigurable Systems // Supercomputing 21. 2002. P. 117-130.
Hammarlund P., Lisper B. Data Parallel Programming: A Survey and a Proposal for a New Model // Royal Institute of Technology, Department of Teleinformatics. Tech. Rep.TRITA-IT-9308. September. 1993.
Wadler P. Why no one uses functional languages // ACM SIGPLAN Notices. 1998. V. 33, No. 8. P. 23-27.
Budiu M., Goldstein S.C. Compiling application-specific hardware // In International Conference on Field Programmable Logic and Applications (FPL). Montpellier (La Grande-Motte). France. 2002. September. P. 853-863.
Mitrion Users' Guide 2.0.3-001. 2009.
Kryjak T., Gorgon M. Parallel implementation of local thresholding in Mitrion-C // AGH University of Science and Technology, Al. Mickiewicza. Department of Automatics. Laboratory of Biocybernetics Poland. Cracow. 2010. September. V. 20, Issue 3. P. 571-580.
El-Araby E., Taher M., Abouellail M., ElGhazawi T. and Newby G.B. Comparative Analysis of High Level Programming for Reconfigurable Computers: Methodology and Empirical Study // III Southern Conference on Programmable Logic (SPL 2007). Argentina. Mar del Plata, 2007.
Koo J., Fernandez D., Haddad A. Gross W.J. Evaluation of a High-Level-Language Methodology for High-Performance Reconfigurable Computers // Application-specific Systems. Architectures and Processors ASAP - IEEE International Conf. 2007.
Park S.J., Shires D., Henz B. Reconfigurable Computing: Experiences and Methodologies // Army Research Laboratory Aberdeen Proving Ground. MD 21005-5067 ARL-TR-4358. 2008. January.
Kindratenko V.V., Brunner R.J., Myers A.D. Mitrion-C Application Development on SGI Altix 350/RC100 // IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'07). 2006. April 23-25.
Cooke D., Gelfond M., Urban J. Computer Language Advances // Handbook of Software Engineering and Knowledge Representation. World Scientic. 2001. V. 1. P. 121.
Cooke D., Rushton N. SequenceL - An Overview of a Simple Language // Proceedings of The 2005 International Conference on Programming Languages and Compilers PLC. 2005. USA. Nevada. Las Vegas. 2005. June 27-30.
Daniel E., Cooke J., Rushton N., Nemanich B., Watson R., Andersen P. Normalize, transpose, and distribute: An automatic approach for handling nonscalars // ACM Trans. Program. Lang. Syst. 2008. V. 30, No. 2.
Rushton N., Norton D. SequenceL for C++ programmers saves time and angst // Embedded Computing Design August. 2014.