TheIdeal HPC Programming Language
TheIdeal HPC Programming Language
TheHigh Productivity Computing (HPC) system’s basic assumption is thatit is a system that has a problem with the absence of or limitedsupport coming from a good programming language. In the artice “TheIdeal HPC Programming Language” by Eugene Loh, it seeks the bestsuitable programming language for high productivity improvement inthe HPC systems. It discusses the Sun Microsystems’ programmabilitystudies which involves HPCS. The objective of the study is to findthe good programming language for HPCS although the study aims toproves some factors that should be considered in the programmabilitystudies. The study also proved the efficiency of FORTRAN which is thecommonly used programming language of HPCS (Loh, 2010).
Theproblem in the HPC programmability can be solved using research ofnew or improving existing programing language. The new programminglanguage model or approach can only be successful if there arefeatures or capabilities that are enabled to perform efficiently inthe HPCS. In the article, the ideal programming language isestablished. It is the programming language that removes the basicbarriers such as ineffective programmability and expressivity. Thefirst approach of the studies is the reduction in the source code ofthe programs using the different programming language. They concludedthat the best programing language or the ideal is the FORTRAN. Evenif the study wasn’t made using the approach provided by the study,every programmer could ended up using FORTRAN as the ideal programinglanguage for HPCS, stated by Eugene Loh (Loh, 2010).
Rewritingthe HPC programs using the FORTRAN is the method for interpreting theprograming language to be readable, verifiable and could remain itsmaintainability. To quantify the program productivity of the HPCprograms, they analyzed the reduction of the source line of codes(SLOC). The study is successful in the quantitative comparison of theSLOC of different HPCS programs. However, several factors should alsobe considered for other tests or studies in the programming languageof the HPCS. The concurrency and the data distribution are the twocategories of the HPC parallelization. It makes the idea of newprogramming language to be a crucial step for HPCS. The large volumeof source codes can also be observed as an effect of the limitationsin the software and hardware. And lastly, programmability studiesshould also consider large HPC programs (Loh, 2010).
Inthe programs involving parallel computing, global arrays are usedmainly in the HPC programs. It is a predecessor of the global addressspace languages which are current developing technology in the HPC.Global arrays have different syntax from the local variables used inthe HPC programs. All arrays should be distributed for the efficientused of the global space name in the HPC programs. Arrays can also beredistributed with suitable library which is possible in the FORTRAN.
Onething that is discovered in the studies is that rewriting some of theHPC program codes can be accelerated by the conversion of the arraysyntax to loops. Loops are more readable and are an intrinsicproperty of the HPC programs. Loops can also be parallelized usingthe analysis of the usage of some source codes. Automaticparallelization or automatic analysis could also help in maintainingthe balance of the loop iterations and loop counts. A programmer oran automatic optimizing compiler can undertake the loop unrollingwhich is a major characteristic of the HPC programs. It is a looptransformation which speedup the speed of execution of the programs.It can boost the program speed by eliminating the loop controllinginstructions.
Loh,E. (2010). . Retrieved fromhttp://queue.acm.org/detail.cfm?id=1820518.