An optimization method for openmp task parallelism in a multi-core environment

An optimization method and task technology, applied in the direction of multi-program device, program control design, instrument, etc., can solve the problems of not suitable for multi-tree, control task granularity, not suitable for OpenMP, etc., to increase user burden and reduce system overhead , the effect of saving memory

Active Publication Date: 2016-08-31
HUAZHONG UNIV OF SCI & TECH
View PDF2 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0005] Although it is very important to control the task granularity, it is a very difficult thing
Some programs have different suitable granularity under different input conditions. In addition, for some irregular programs, it is difficult to predict when, how many parallel tasks will be generated, and the amount of calculation of parallel tasks. Therefore it is difficult to decide whether a task should be created as a parallel task
At present, GCC does not help programmers to automatically control the task granularity in the OpenMP runtime library, which increases the burden on programmers. For irregular programs, it is very difficult for programmers to manually control, and it will be serious if it is too large or too small. Reduce program performance
At present, there are some researches on controlling task granularity in other task parallel programming models. Some studies adopt the strategy of manual pruning (cut-off), but it can only convert parallel tasks to serial execution, but not from serial execution to parallel tasks.
There are also adaptive methods, but each has some problems, such as only suitable for binary tree applications, not suitable for multi-fork trees; it has not achieved complete self-adaptation, and parallel and serial can only be switched twice at most, which is prone to load instability. Balanced; not suitable for problems such as OpenMP

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • An optimization method for openmp task parallelism in a multi-core environment
  • An optimization method for openmp task parallelism in a multi-core environment

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0028] In order to make the objectives, technical solutions and advantages of the present invention clearer, the following further describes the present invention in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention, but not to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.

[0029] The following first explains and describes the technical terms of the present invention:

[0030] Parallel task compilation instruction statement: OpenMP provides programmers with a statement to describe parallel tasks, which is "#pragma omp task" in OpenMP.

[0031] Task depth: The depth of the task in the entire task derivation tree, that is, the recursion depth of recursive calls.

[0032] Task T...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

The invention discloses an optimizing method for OpenMP task parallelism under a multi-core environment. A programmer can be helped to control the task granularity through a self-adaptation task granularity control method to optimize the task parallelism, and the task granularity is an important factor affecting the fine granularity task parallelism program performance. The self-adaptation task granularity control method comprises the steps that firstly, the assistance priority and the serialization execution are selected in a self-adaptation mode; secondly, the establishing of a fine granularity task is limited. The assistance priority strategy is adopted when the parallelism tasks are needed, and the serialization execution strategy is adopted when the number of tasks is enough. The threshold depth capable of being adjusted is set to limit the establishing of the fine granularity task, and if the depth of the task is larger than the threshold depth, the serialization execution is carried out. The task granularity can be controlled in a self-adaptation mode, the performance is close to the result of programmer manual control, the burden of the programmer is relieved through the self-adaptation mode, and internal storage can be saved.

Description

Technical field [0001] The invention belongs to the field of computer parallel programming models, and more specifically, relates to an optimization method for OpenMP task parallelism in a multi-core environment. Background technique [0002] Due to the limitation of power consumption, the era of getting free lunch only by increasing the main frequency has passed. Multi-core technology has become the mainstream of the times, but it also increases the difficulty of writing programs, so some parallel programming models are widely used. OpenMP Is one of the most important members. [0003] OpenMP was originally used to deal with relatively regular parallel applications based on large arrays, but as the actual applications become more and more complex, there are more and more irregular parallel applications, such as some applications in linked lists, trees, and graphs. For some recursive applications, OpenMP3.0 introduces "task parallelism", which is a task-centric rather than thread-...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Patents(China)
IPC IPC(8): G06F9/46G06F9/45
Inventor 廖小飞金海毕建民
Owner HUAZHONG UNIV OF SCI & TECH
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products