Font Size: a A A

Research On Task Flowing Technology On Heterogeneous Architecture System

Posted on:2013-02-22Degree:DoctorType:Dissertation
Country:ChinaCandidate:D ZhangFull Text:PDF
GTID:1228330395480634Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Heterogeneous architecture is an important developing direction of present study of highperformance computing. Heterogeneous architecture not only provides a new developmentmethod for high performance computing technology, but also brings new developmentopportunities for the improvement of high performance computing system. Nevertheless, it alsoputs forward a series of problems for the researchers, such as programming barrier, poor usability,and high requirement for users.First of all, heterogeneous architecture computing system includes a variety of computingcomponents with different architectures, which results in different usage of these components,based on their hardware architecture features. Under this situation, each kind’s architecture ofheterogeneous computing components should be analyzed respectively. Second, differentapplications (or algorithms) and disparate computing components are completely heterogeneous,which means there is no one computation model or programming mode that can fully meet thevarious needs of heterogeneous architecture computing systems right now. The high levelabstraction of programming and the transparency of hardware make it extremely difficult to usethe heterogeneous computing systems. In addition, the present popular heterogeneous computingcomponents have strong processing capacity, but they are still limited by its own designcharacteristics, such as poor inheritance of high performance computing program, highrequirement of the programmer and the lack of a generally acceptable parallel application designmode based on heterogeneous architecture. Therefore, based on the features of disparatecomponents of heterogeneous computing systems and the execution characteristics of differentapplications, make reliable mapping between each computing components and tasks, reduce thedifficulty of programming and usage are the urgent problems that need to solve in heterogeneouscomputing technology research.For the problems and challenges faced by high performance computing technologydevelopment based on heterogeneous architecture, the main contents and innovations of thedissertation includes as follows:1. According to double heterogeneity of disparate computing components and differentapplications, this dissertation puts forward a task flow model which based on heterogeneousarchitecture. Based on the features’ abstraction of heterogeneous computing componentshardware and the characteristic’s abstraction of application execution, the reasonable mappingand logical configuration of hardware are achieved by a series of analysis and estimation method.Accordingly, the pertinence and effectiveness of using heterogeneous computing components toaccelerate application execution is improved. The difficulty of using heterogeneous computingsystem and programming is reduced.2. For heterogeneous computing components’ diversity of hardware architecture andimplementation mode, based on the analysis of GPU and FPGA, this dissertation puts forwardtwo kinds of parallelization cost model respectively. One is GPU parallelization cost model, the other is FPGA parallelization cost model. Through analysis of heterogeneous hardwarearchitecture, abstracts the parametric representation of the key factors which affect theimplementation performance of GPU and FPGA, such as processing capacity, memory accesscapacity and communication capacity, estimates application execution performance byconsidering all overhead in the implementation process of GPU and FPGA. The experimentalresults show that the mean error of GPU parallelization cost model does not exceed10%, andalong with increase of data size of the matrix, the estimation results are more accurate. Theestimation results of FPGA parallelization cost model is lower than actual execution results, theerror rate is less than9.8%, and along with the increase of data size, the error rate is more andmore small. The accuracy of using GPU or FPGA to improve the performance for applicationexecution is achieved.3. According to the property of heterogeneous computing system architecture from taskflow model, this dissertation presents a task partitioning method based on static load balancingstrategy among heterogeneous computing system nodes. In this method, the executioncharacteristics of application are representation by task flow graph through the abstraction of theapplication, thus use graph partition algorithm to solve the load balance among heterogeneouscomputing system nodes. A P-PMETIS algorithm is been proposed through the improvement ofthe PMETIS algorithm of graph partition tools. The targets of reduce the communication amongheterogeneous computing system nodes and the volume of calculation balanced are achieved.The experimental results show that P-PMETIS algorithm has better efficiency and shorterexecution time than PMETIS algorithm under the situation of similar load balance degree.4. For the diversity of heterogeneous computing components in processing capacity,memory access capacity and communication capacity, a task mapping method is proposed basedon heterogeneous architecture. This method using the results of heterogeneous computingcomponents performance evaluation and the vertexes’ attribution of task flow graph, select thetask flow graph as mapping scheme which critical path is shortest by changing the mappingrelation between heterogeneous computing components and parallel process able tasks. After thatthe reasonable mapping relation is achieved. The experiment results show that the speedup oftasks which are mapped to FPGA can reach43times, the speedup of tasks which are mapped toGPU can reach14times, and the speedup of entire application can reach three times.5. For the poor inheritance of traditional high performance program and high requirement ofprogrammer, a task flowing tool is proposed based on Open64compiler. The source to sourcetransformation of application is achieved through task partition, task flowing, granularityadjustment and task mapping. By this way, the difficulty of programming can be reduced, theefficiency of using heterogeneous computing components can be improved by add theappropriate compiler directive statement. Experimental results show that, the task flowing toolscan generate the mapping between hardware and software based on PMC features ofheterogeneous computing components and PMC characteristic of the applications in executionprocess. The application execution performance can be improved by using these tools, and thegoal of guidance the program rewriting can be achieved.
Keywords/Search Tags:heterogeneous, reconfigurable, FPGA, GPU, task, task flow, load balance, graphpartition
PDF Full Text Request
Related items