Font Size: a A A

Research On Data Partitioning For Application On Heterogeneous Multi-core Processor

Posted on:2019-10-08Degree:MasterType:Thesis
Country:ChinaCandidate:H H ChenFull Text:PDF
GTID:2428330593950546Subject:Computer technology
Abstract/Summary:PDF Full Text Request
Data partitioning is one of the main collaborative parallel computing patterns of CPU-GPU heterogeneous computing in heterogeneous multi-core processors.Different processors perform the same operations on different data.After the program reads the data into the memory,both the CPU and the GPU can acquire the data and calculate.After the calculation is completed,the CPU directly obtains the result in the memory and presents it to the user.There are variable factors in computing process that affect the completion of task time.The data distribution strategy between the CPU and the GPU directly affect the task completion time.A good strategy must ensure the minimum load imbalance,so that the CPU and the GPU complete the task as much as possible at the same time,avoiding one processor waiting for another processor to complete the calculation.Heterogeneous system load balancing has been researched for decades.Most of them do not consider the dependencies between tasks or data.The platforms used are systems with discrete GPU or multiple computing nodes.The performance of the CPU-GPU cooperative parallel computing program written by the model on heterogeneous multi-core processors with new heterogeneous architecture features has not been thoroughly studied.The load of the processor is directly proportional to the performance of the program on the processor.It is the basic principle followed by the task scheduling strategy or the load balancing strategy.In the latest heterogeneous architecture,there is a fierce resource contention among the processors.The speed of the program on the processor constantly varies,and the performance of the processor changes with the load.The multi-granularity of collaboration the new programming model and the new heterogeneous features introduces brings new characteristics for the data partitioning between CPU and GPU.Consider the above problems,this paper proposes a static data partitioning mechanism NSDP for programs dealing with small amounts of data,and proposes a workload-aware dynamic data partitioning strategy(WADP)for large data volumes.NSDP is an offline training strategy.It obtains the execution speed of an application program on different processors through one or more whole running,and then divides the data between processors according to the execution speed.WADP is an online runtime allocation strategy.It does not need to run a program completely.It determines the speed of different processors during the running and determines the subsequent data division.This strategy corrects the shortcomings of the previous sampling strategy and data sharing strategy.Avoid the overhead caused by the pre-sampling and the prediction error caused by the change of the processor speed with the load,and avoid the data sharing strategy that without considering the speed of the processor.This article uses the full-system model of the gem5-gpu heterogeneous cycleaccurate multi-core simulator as the experimental environment,and runs Chai benchmark that supports the latest CPU-GPU heterogeneous architecture features to verify the two proposed data partitioning strategies.The NSDP can predict the nearoptimal partitioning ratio of four collaborative-friendly programs in seven programs that support data partitioning.Compared with the pre-sampling strategy and data sharing strategy,the WADP strategy has a higher speedup than the GPU-only.
Keywords/Search Tags:data partitioning, heterogeneous computing, collaborative parallel computing, load balancing
PDF Full Text Request
Related items