CN101571814B - Communication behavior information extraction method based on message passing interface device and system thereof - Google Patents

Communication behavior information extraction method based on message passing interface device and system thereof Download PDF

Info

Publication number
CN101571814B
CN101571814B CN2009100858011A CN200910085801A CN101571814B CN 101571814 B CN101571814 B CN 101571814B CN 2009100858011 A CN2009100858011 A CN 2009100858011A CN 200910085801 A CN200910085801 A CN 200910085801A CN 101571814 B CN101571814 B CN 101571814B
Authority
CN
China
Prior art keywords
circulation
communication
mpi
program
variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2009100858011A
Other languages
Chinese (zh)
Other versions
CN101571814A (en
Inventor
王毅
李鹏程
陈莉
支援
郭午平
张定飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN2009100858011A priority Critical patent/CN101571814B/en
Publication of CN101571814A publication Critical patent/CN101571814A/en
Application granted granted Critical
Publication of CN101571814B publication Critical patent/CN101571814B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention relates to communication behavior information of a device based on message passing interface extraction method and a system thereof. The device runs MPI program by the message passing interface MPI. The method includes: step one, problem cycle of communication associated with calculation is searched in the MPI program; step two, the problem cycle is analyzed to determine communication mode, if the communication mode is cyclic constant, step three is executed, if the communication mode is cyclic variation, the method is stopped; step three, the outlet conditions of the problem cycle are processed to cause the communication and the calculation in the problem cycle are not interdependent; step four, communication splitting is carried out on the MPI program to extract the communication behavior information of the device. The invention can effectively reduces overhead for extracting the communication behavior information of the device based on the message passing interface.

Description

Communication behavior information extracting method and system based on the equipment of message passing interface
Technical field
The present invention relates to computer realm, relate in particular to extracting method and system based on the communication behavior information of the equipment of message passing interface.
Background technology
Along with the continuous increase of new application to the calculated performance demand, the parallel computation scale is also in continuous expansion.The CPU number of machine has reached up to ten thousand even more above the world TOP500Supercomputer (preceding 500 supercomputers).The parallel feature of using also presents multidisciplinary multiple dimensioned complex features such as multilingual.On so large-scale computing system, the behavioural analysis of the equipment of the correctness analysis of concurrent program and error detection, working procedure and performance optimization all become more important, and the expense of analysis is the important topic that the user faces.
Expense may be from two aspects: on the one hand, the complicacy of the program code that is moved itself, a large amount of built-in functions, dynamic language feature etc. bring very big challenge for omnidistance preface analysis, and the balance of analysis tool between accuracy of analysis and expense causes the decline of analysis ability; On the other hand, performance analysis is a kind of important analysis means, but two problems are arranged, the one, and acquisition time is subjected to process number and the influence of iterative algorithm convergent, and the 2nd, the quantity of information sharp increase of collecting makes that complete performance analysis is impracticable.
In order to address the above problem, people begin to consider the method for some thin fractional analysis processes, comprise that the rule of the dicing method and the trace of communicating by letter is extracted.But the defective of these two kinds of methods is not have radical section for dicing method, and for the routine indeterminable problem of cutting into slices, section does not have effect.Method for the rule of communication trace is extracted just reduces the time of information extraction, the time of information gathering is not reduced.
At present, in world TOP500 Supercomputer, the number of the distributed memory system equipment of group type constantly increases, by 2007, there has been 80% equipment to belong to this class distributed memory system of cluster among the TOP500 Supercomputer, for the parallel system of distributed memory, MPI (MessagePassing Interface, message passing interface is one of message standard of transmitting parallel Programming) be most widely used.
Prior art is incorporated into program slicing technique in the MPI process analysis, in instrument to the design of the equipment of MPI program and performance prediction, utilize microtomy, extract the communications portion program segment of program, and obtain communication behavior on the target machine by operational communications subprogram section, finally instruct the design of equipment.Utilize microtomy, extract the communication behavior information of equipment, can carry out program debug and error detection, also can be by the scheduling and the process mapping of resource in the communication behavior information guiding equipment of acquisition equipment.
Communication behavior information is with the relevant information of the communication behavior of equipment.
But, use the communication behavior information existing problems of dicing method extraction in the prior art based on the equipment of message passing interface.When the communication behavior of equipment depends on calculating, utilize the dicing method of prior art, can not extract the communications portion program segment in the original program of slave unit operation, thereby can't realize reducing the purpose of time overhead acquisition based on the communication behavior information of the equipment of message passing interface.
The communication dicing method to the MPI program of prior art is as described below.
Communication dicing method to the MPI program utilizes dependence intrinsic in the program, comprises data stream and control stream dependence, extracts the relevant program segment of a certain type from the program of operation.The basic thought of MPI interprogram communication section is, the communications portion program segment in the program of operation is extracted, and acquisition has only the section program of communications portion program segment.The communication behavior of section program and original program is consistent, thereby can analyze the section program, obtain the communication behavior information of the equipment of working procedure, and time overhead can reduce.
The communication section flow process of MPI program comprises:
Step S101 is to MPI program creation facilities program (CFP) dependency graph.
Utilize the control flow graph of the MPI program of operation, the creation facilities program (CFP) dependency graph is embodied in the data stream of MPI program and control stream information on the program dependency graph.Each node above the program dependency graph is represented a small fragment in the MPI program, a fundamental block of program.The program dependency graph has comprised data stream and the control stream information between the fundamental block of program.
Step S102 looks for seed on the program dependency graph.
Seed is MPI function call point and the node of corresponding communication parameter correspondence on the program dependency graph thereof in the MPI program.The seed collection of the communication of MPI program section is got up, be put in the set of section seed.This seed shows as the node on the program dependency graph.The collection of seed is determined according to the category feature that the user was concerned about usually, is shown as the node of representation feature program segment on the program dependency graph.For example, the seed of selecting for the communication section of MPI program is the messaging parameter of MPI communication functions, and the corresponding node of the point of invocation of MPI communication functions on the program dependency graph.
Step S103 on the program dependency graph, carries out the figure propagation to seed, finds all nodes relevant with seed.
Plant the node of child node and figure propagation acquisition and formed set of slices.The pairing MPI usability of program fragments of set of slices is the section program.Utilize the figure propagation algorithm, on the program dependency graph node in the seed set is propagated, essence is to find on the program dependency graph, and the every other program segment that seed relies on comprises that control relies on and data stream relies on.All nodes in the seed set all at first are added in the set of slices, then all nodes in the set of slices are propagated on the program dependency graph, are propagated the node that obtains and also are added in the set of slices.Thus, in the figure communication process, set of slices constantly enlarges, till set of slices no longer enlarges.At this moment, the pairing program segment of all nodes program of cutting into slices exactly in the set of slices.Program outside the section program segment for the communication section of MPI program, is thought the calculating section of program.
For example, communicate section before, the MPI program is as follows.
read(*,*)convertdouble
root=0
do?100?i=1,201
sx(i)=0.d0
100 continue
dp_type=MPI_REAL
if(convertdouble)then
dp_type=MPI_DOUBLE_PRECISION
endif
if(iam.eq.root)then
write(*,*)″I?am?root!″
endif
do?10?i=1,100
x(i)=2.d0*x(2*i-1)-1.d0
if(x(i).lt.1000)then
a(2*i+1)=a(2*i)*a(2*i)
else
a(2*i+1)=0.d0
endif
10 continue
call?vranlc(sx,.true.,a,x)
call?mpi_allreduce(sx,x,1,dp_type,
>MPI_SUM,MPI_COMM_WORLD,ierr
After communicating section, the part that extracts is as follows.
read(*,*)convertdouble
root=0
dp_type=MPI_REAL
if(convertdouble)then
dp_type=MPI_DOUBLE_PRECISION
endif
call?mpi_allreduce(sx,x,1,dp_type,
>MPI_SUM,MPI_COMM_WORLD,ierr)
But not every program all shown in above-mentioned giving an example, exists communication to depend on the situation of calculating in practice.This kind situation generally shows as, and a round-robin outlet is by the decision of the results of intermediate calculations in the circulation, and the calculating of this intermediate result generally is exactly the main calculating of program, can take most program runtime.And this results of intermediate calculations has been controlled the round-robin outlet, thereby has controlled calling of the communication functions in the circulation, and has controlled the communication behavior of program indirectly.
For example, program segment for the communications portion that depends on calculating, the method of existing communication section can't successfully extract the communications portion program segment, thereby can't extract communication behavior information, and utilize the communication behavior information of extracting when analyzing, to reduce the purpose of time overhead based on the equipment of message passing interface.Adopt existing communication dicing method, owing to can't extract the communications portion program segment, causing the communication section almost the same with original program, depend on the application of calculating for communication, existing communication dicing method will lose efficacy.
Summary of the invention
For addressing the above problem, the invention discloses extracting method and system based on the communication behavior information of the equipment of message passing interface, can effectively reduce the expense of extraction based on the communication behavior information of the equipment of message passing interface.
The invention discloses the extracting method based on the communication behavior information of the equipment of message passing interface, described equipment is by message passing interface MPI operation MPI program, and described method comprises:
Step 1 is searched in the MPI program communication with calculating the problem circulation that is associated;
Step 2 is resolved described problem circulation, determines communication pattern, if communication pattern is that circulation is constant, and execution in step 3;
Step 3 is handled described problem round-robin exit condition, so that the calculating in the circulation of described problem does not interdepend with communicating by letter;
Step 4 communicates section to the described MPI program after described step 3 processing, to extract the communication behavior information of described equipment.
Described step 2 also comprises, when communication pattern is circulation change, finishes described method.
Described step 1 further is,
Step 31 is not the control of export variable of induction variable for whether not having induction variable in the described circulation of each cycle criterion in the MPI program or existing, if then described circulation is a problem round-robin candidate;
Step 32, the creation facilities program (CFP) dependency graph is a seed with the control of export variable of described candidate corresponding node in described program dependency graph, and described MPI program is communicated section, obtains the set of slices of each candidate;
Step 33, the node number of set of slices that calculates each candidate is with the ratio of node number in the described dependency graph, cutting degree as described candidate, the candidate of selecting described cutting degree maximum is described problem circulation, if described cutting degree is greater than cutting degree preset value, carry out described step 2, otherwise, described method finished.
Described step 2 further is,
All value data objects in the described problem circulation are collected and analyzed to step 41, determines the state of described value data object, and described state comprises circulation change and circulates constant;
Step 42, in described problem circulation, search the communication correlation parameter of MPI communication functions, and the control variable of described MPI communication functions place control structure, with described communication correlation parameter and described control variable as described problem round-robin communication functions related data object;
Step 43 if the state of the value data object of described communication functions related data object correspondence all is that circulation is constant, determines that communication pattern is that circulation is constant, carries out described step 3, otherwise, determine that communication pattern is a circulation change, finishes described method.
Described step 3 further is,
Step 51 if do not have induction variable in the circulation of described problem, then changes the controlled condition of described problem round-robin control of export variable into the cycle index of a constant;
Step 52 if having induction variable in the circulation of described problem, then keeps described induction variable, with the control of export variable cancellation that is not induction variable.
It is 0.6 that preset value is read in described cutting.
The invention also discloses the extraction system based on the communication behavior information of the equipment of message passing interface, this equipment is by message passing interface MPI operation MPI program, and described system comprises:
Problem circulation searching module is used for searching communication with calculating the problem circulation that is associated in the MPI program;
The legitimacy determination module is used to resolve described problem circulation, determines communication pattern, if communication pattern is that circulation is constant, starts the exit condition processing module;
Described exit condition processing module is used to handle described problem round-robin exit condition, so that the calculating in the circulation of described problem does not interdepend with communicating by letter;
Module is carried out in the communication section, is used for described MPI program is communicated section, to extract the communication behavior information of described equipment.
Described legitimacy determination module also is used for finishing the operation of described system when communication pattern is circulation change.
Described problem circulation searching module is further used for not being the control of export variable of induction variable for whether not having induction variable in the described circulation of each cycle criterion in the MPI program or existing, if then described circulation is a problem round-robin candidate; The creation facilities program (CFP) dependency graph is a seed with the control of export variable of described candidate corresponding node in described program dependency graph, and described MPI program is communicated section, obtains the set of slices of each candidate; The node number of set of slices that calculates each candidate is with the ratio of node number in the described dependency graph, cutting degree as described candidate, the candidate of selecting described cutting degree maximum is described problem circulation, if described cutting degree is greater than cutting degree preset value, start described legitimacy determination module, otherwise, end operation.
Described legitimacy determination module is further used for collecting and analyzes all value data objects in the described problem circulation, determines the state of described value data object, and described state comprises circulation change and circulates constant; In described problem circulation, search the communication correlation parameter of MPI communication functions, and the control variable of described MPI communication functions place control structure, with described communication correlation parameter and described control variable as described problem round-robin communication functions related data object; If the state of the value data object of described communication functions related data object correspondence all is that circulation is constant, determine that communication pattern is that circulation is constant, start the exit condition processing module, otherwise, determine that communication pattern is a circulation change, end operation.
When described exit condition processing module is further used for not having induction variable in described problem circulation, the controlled condition of described problem round-robin control of export variable is changed into the cycle index of a constant; When in described problem circulation, having induction variable, keep described induction variable, with the control of export variable cancellation that is not induction variable.
It is 0.6 that preset value is read in described cutting.
Beneficial effect of the present invention is, the present invention has enlarged the range of application of communication microtomy, make the MPI program be suitable for communicating section by the processing before communicating section, and effectively reduce time overhead, guarantee the practical communication behavioural information that the communication behavior information that obtains by the present invention can consersion unit simultaneously.
Description of drawings
Fig. 1 is the process flow diagram of prior art communication dicing method;
Fig. 2 is the process flow diagram of extracting method of the communication behavior information of the equipment based on message passing interface of the present invention;
Fig. 3 is a searching problem round-robin embodiment process flow diagram of the present invention;
Fig. 4 is the embodiment process flow diagram of definite communication mode of the present invention;
Fig. 5 is the structural drawing of extraction system of the communication behavior information of the equipment based on message passing interface of the present invention.
Embodiment
Below in conjunction with accompanying drawing, the present invention is described in further detail.
Step S201 searches in the MPI program communication with calculating the problem circulation that is associated.
The problem circulation is the circulation that makes in the MPI program that communication and calculating connect.Usually, comprise intercycle result of calculation in the problem round-robin exit condition, and the ratio that accounts for the program total run time working time of the calculating that this round-robin exit condition is relied on reaches preset value, analyzing this preset value according to experiment statistics is 0.6, according to concrete condition, this preset value can have 0.2 fluctuate choosing.
Described step S201 embodiment comprises that step 211 is to step 213.
Step 211 is not the control of export variable of induction variable for whether not having induction variable in the described circulation of each cycle criterion in the MPI program or existing, if then described circulation is a problem round-robin candidate.
Traversal MPI program is sought the circulation in the MPI program.For each circulation, if do not have induction variable in the circulation, perhaps there is the control of export variable outside the induction variable, then note this round-robin information, comprise the control of export variable outside the induction variable in this information.For the circulation of noting, as problem round-robin candidate.If in the program, do not find the problem circulation that can be used as candidate, then finish the extraction of communication behavior information.
Induction variable, variable in the art for directly constantly increasing progressively or successively decrease and newly be worth by self.Refer in particular in the embodiment for the variable in the cycle control condition of for statement in the MPI program.
Step 212, the creation facilities program (CFP) dependency graph is a seed with the control of export variable of described candidate corresponding node in described program dependency graph, and described MPI program is communicated section, obtains the set of slices of each candidate.
Step 213, the node number of set of slices that calculates each candidate is with the ratio of node number in the described dependency graph, cutting degree as described candidate, select the candidate of described cutting degree maximum to circulate as problem, if this cutting degree is greater than cutting degree preset value, execution in step S202 then, otherwise, finish to extract operation.
Cutting degree preset value is 0.6 in the embodiment.
Searching problem round-robin embodiment process flow diagram as shown in Figure 3
Step S301, traversal MPI program is searched circulation.
Step S302 judges the control of export variable that whether exists in the circulation outside the induction variable, if, execution in step S303, otherwise, execution in step S301.
If do not have induction variable in the circulation, then necessarily there is the control of export variable outside the induction variable in circulation.
Step S303, this circulation adding problem round-robin set of candidates.
Step S304 judges whether traversal finishes, if, execution in step S305, otherwise, execution in step S301.
Step S305 judges whether set of candidates is empty, if, execution in step S309, otherwise, execution in step S306.
Step S306 to all candidates, is a seed with the control of export variable of candidate corresponding node in the program dependency graph, and described MPI program is communicated section, obtains the set of slices of each candidate, calculated candidate person's cutting degree.
Step S307, the candidate of cutting degree maximum are the problem circulation, whether judge maximum cutting degree greater than cutting degree preset value, if, execution in step S308, otherwise, execution in step S309.
Step S308 carries out step S202.
Step S309 finishes to extract operation.
Step S202, communication pattern is determined in the circulation of parsing problem, if communication pattern is that circulation is constant, execution in step S203 if communication pattern is a circulation change, finishes to extract operation.
Described step S202 embodiment comprises that step 221 is to step 223.
Step 221 is collected all value data objects in the also problem analysis circulation, determines the state of described value data object, and this state comprises circulation change and circulates constant.
State to the value data object carries out record.
Step 222 is searched the communication correlation parameter of MPI communication functions in problem circulation, and the control variable of this MPI communication functions place control structure, with described communication correlation parameter and described control variable as problem round-robin communication functions related data object
For example, the control variable of MPI communication functions place control structure is the control variable in MPI communication functions place if statement or for statement.
Step 223, if the state of the value data object of this communication functions related data object correspondence all is that circulation is constant, execution in step S203, otherwise, finish to extract operation.
For the communication functions related data object that finds in the step 222, the state of the value data object of query communication functional dependence data object correspondence in the record of step 221.If the state of the value data object of all communication functions related data object correspondences all is that circulation is constant, determine that communication pattern is that circulation is constant; If having the state of the value data object of communication functions related data object correspondence is circulation change, determine that then communication pattern is a circulation change.
The embodiment process flow diagram of definite communication mode of the present invention as shown in Figure 4.
Step S401, value data object in the circulation that searches problem.
Step S402 analyzes the value data object that finds, and determines its state.
Step S403 judges whether the state of value data object changes, if, execution in step S402, otherwise, execution in step S404.
Step S404 searches communication functions related data object.
Step S405, in conjunction with the state of round-robin value data object, analyzing communication functional dependence data object is determined communication pattern.
Step S406 judges whether that the state of communication functions related data object changes, if, execution in step S405, otherwise, execution in step S407.
Step S407 judges whether that the state of all communication functions related data objects is constant for circulation, if, execution in step S408, otherwise, execution in step S409.
Step S408 carries out step S203.
Step S409 finishes to extract operation.
To providing the communication behavior circulation constant prerequisite, can reflect actual communication behavior feature with the communication behavior that guarantees the program after cutting into slices of communicating by letter for the communication slicing treatment.Precondition to the processing of problem round-robin control variable is: condition one, and it is constant that circulation is satisfied in the problem circulation; Condition two, the communication behavior of problem round-robin communication behavior lead programmer.Verify guaranteed conditions one by the communication mode of step S202.By select the problem circulation time in step S201, check problem round-robin cutting degree is greater than cutting degree preset value, and cutting degree preset value is 0.6, has 0.2 float up and down, comes guaranteed conditions two.
Step S203, handling problem round-robin exit condition is not so that the calculating in the problem circulation interdepends with communicating by letter.
Described step S203 embodiment comprises step 231 and step 232.
Step 231 if do not have induction variable in the circulation of described problem, then changes the controlled condition of described problem round-robin control of export variable into the cycle index of a constant.
Step 232 if having induction variable in the circulation of described problem, then keeps described induction variable, with the control of export variable cancellation that is not induction variable.
Step S204 communicates section to the MPI program, to extract the communication behavior information based on the equipment of message passing interface.
To the application that the existing communication dicing method can't be handled, find to cause to crop in the application main calculate former because be not the control of export variable of induction variable in the problem circulation.Thereby, by step S203 in the inventive method, the control of export variable is handled, make the communication section of prior art can reduce wherein main calculating section to program after treatment, extract the communication behavior information of equipment.
Handle by this method for following program.
program?main
……
do?istep=1,niter
call?compute(rsdnm)
if(rsdnm(1).lt.TIMES)
return
end?if
call?communicate()
end?do
……
end
subroutine?compute(rsdnm)
……
do?k=2,nz0-1
do?m=1,5
rsdnm(1)=rsdnm(1)/2
end?do
end?do
……
end
subroutine?communicate()
……
call?mpi_allreduce(……)
……
Call?mpi_send(……)
……
end
Wherein, calculate relevant portion and be,
call?compute(rsdnm)
subroutine?compute(rsdnm)
……
do?k=2,nz0-1
do?m=1,5
rsdnm(1)=rsdnm(1)/2
end?do
end?do
……
end
Wherein, the communication relevant portion is
call?communicate()
subroutine?communicate()
……
call?mpi_allreduce(……)
……
Call?mpi_send(……)
……
End
Also comprise third part, as follows:
if(rsdnm(1).lt.TIMES)
return
end?if
Because third part and calculating section data stream rely on, communications portion control stream relies on, and causes calculating with communication and can not separate.
After this method processing, the part of extraction is as follows.
program?main
……
do?istep=1,niter
call?communicate()
end?do
……
end
subroutine?communicate()
……
call?mpi_allreduce(……)
……
Call?mpi_send(……)
……
End
System architecture of the present invention as shown in Figure 5.
Problem circulation searching module 501 is used for searching communication with calculating the problem circulation that is associated in the MPI program.
Problem circulation searching module 501 is not the control of export variable of induction variable for whether not having induction variable in the described circulation of each cycle criterion in the MPI program or existing, if then described circulation is a problem round-robin candidate; The creation facilities program (CFP) dependency graph is a seed with the control of export variable of described candidate corresponding node in described program dependency graph, and described MPI program is communicated section, obtains the set of slices of each candidate; The node number of set of slices that calculates each candidate is with the ratio of node number in the described dependency graph, cutting degree as described candidate, the candidate of selecting described cutting degree maximum is described problem circulation, if described cutting degree is greater than cutting degree preset value, start legitimacy determination module 502, otherwise, end operation.
It is 0.6 that preset value is read in cutting.
Legitimacy determination module 502 is used to resolve described problem circulation, determines communication pattern, if communication pattern is that circulation is constant, starts exit condition processing module 503, if communication pattern is a circulation change, and end operation.
All value data objects in the described problem circulation are collected and analyzed to legitimacy determination module 502, determines the state of described value data object, and described state comprises circulation change and circulates constant; In described problem circulation, search the communication correlation parameter of MPI communication functions, and the control variable of described MPI communication functions place control structure, with described communication correlation parameter and described control variable as described problem round-robin communication functions related data object; If the state of the value data object of described communication functions related data object correspondence all is that circulation is constant, determine that communication pattern is that circulation is constant, start exit condition processing module 503, otherwise, determine that communication pattern is a circulation change, end operation.
Exit condition processing module 503 is used to handle described problem round-robin exit condition, so that the calculating in the circulation of described problem does not interdepend with communicating by letter.
When there is not induction variable in exit condition processing module 503 in described problem circulation, the controlled condition of described problem round-robin control of export variable is changed into the cycle index of a constant; When in described problem circulation, having induction variable, keep described induction variable, with the control of export variable cancellation that is not induction variable.
Module 504 is carried out in the communication section, is used for described MPI program is communicated section, to extract the communication behavior information of described equipment.
Those skilled in the art can also carry out various modifications to above content under the condition that does not break away from the definite the spirit and scope of the present invention of claims.Therefore scope of the present invention is not limited in above explanation, but determine by the scope of claims.

Claims (6)

1. extracting method based on the communication behavior information of the equipment of message passing interface, described equipment is characterized in that by message passing interface MPI operation MPI program described method comprises:
Step 1 is searched in the MPI program communication with calculating the problem circulation that is associated;
Step 2 is resolved described problem circulation, determines communication pattern, if communication pattern is that circulation is constant, and execution in step 3;
Step 3 is handled described problem round-robin exit condition, so that the calculating in the circulation of described problem does not interdepend with communicating by letter;
Step 4 communicates section to the described MPI program after described step 3 processing, to extract the communication behavior information of described equipment;
Described step 2 also comprises, when communication pattern is circulation change, finishes described method;
Described step 2 further is,
All value data objects in the described problem circulation are collected and analyzed to step 41, determines the state of described value data object, and described state comprises circulation change and circulates constant;
Step 42, in described problem circulation, search the communication correlation parameter of MPI communication functions, and the control variable of described MPI communication functions place control structure, with described communication correlation parameter and described control variable as described problem round-robin communication functions related data object;
Step 43 if the state of the value data object of described communication functions related data object correspondence all is that circulation is constant, determines that communication pattern is that circulation is constant, carries out described step 3, otherwise, determine that communication pattern is a circulation change, finishes described method;
Described step 3 further is,
Step 51 if do not have induction variable in the circulation of described problem, then changes the controlled condition of described problem round-robin control of export variable into the cycle index of a constant;
Step 52 if having induction variable in the circulation of described problem, then keeps described induction variable, with the control of export variable cancellation that is not induction variable.
2. the extracting method of the communication behavior information of the equipment based on message passing interface as claimed in claim 1 is characterized in that, described step 1 further is,
Step 31 is not the control of export variable of induction variable for whether not having induction variable in the described circulation of each cycle criterion in the MPI program or existing, if then described circulation is a problem round-robin candidate;
Step 32, the creation facilities program (CFP) dependency graph is a seed with the control of export variable of described candidate corresponding node in described program dependency graph, and described MPI program is communicated section, obtains the set of slices of each candidate;
Step 33, the node number of set of slices that calculates each candidate is with the ratio of node number in the described dependency graph, cutting degree as described candidate, the candidate of selecting described cutting degree maximum is described problem circulation, if described cutting degree is greater than cutting degree preset value, carry out described step 2, otherwise, described method finished.
3. the extracting method of the communication behavior information of the equipment based on message passing interface as claimed in claim 2 is characterized in that it is 0.6 that preset value is read in described cutting.
4. extraction system based on the communication behavior information of the equipment of message passing interface, this equipment is characterized in that by message passing interface MPI operation MPI program described system comprises:
Problem circulation searching module is used for searching communication with calculating the problem circulation that is associated in the MPI program;
The legitimacy determination module is used to resolve described problem circulation, determines communication pattern, if communication pattern is that circulation is constant, starts the exit condition processing module;
Described exit condition processing module is used to handle described problem round-robin exit condition, so that the calculating in the circulation of described problem does not interdepend with communicating by letter;
Module is carried out in the communication section, is used for described MPI program is communicated section, to extract the communication behavior information of described equipment;
Described legitimacy determination module also is used for finishing the operation of described system when communication pattern is circulation change;
Described legitimacy determination module further comprises:
Collect determination module, be used for collection and analyze described all value data objects of problem circulation, determine the state of described value data object, described state comprises circulation change and circulates constant;
Search processing module, be used for searching the communication correlation parameter of MPI communication functions in described problem circulation, and the control variable of described MPI communication functions place control structure, with described communication correlation parameter and described control variable as described problem round-robin communication functions related data object; And
The pattern determination module, the state that is used at the value data object of described communication functions related data object correspondence all is that circulation is constant, determines that communication pattern is that circulation is constant, start the exit condition processing module, otherwise, determine that communication pattern is a circulation change, end operation;
Described exit condition processing module further comprises:
The first condition processing module is used for the controlled condition of described problem round-robin control of export variable being changed into the cycle index of a constant when there is not induction variable in described problem circulation; And
The second condition processing module is used for keeping described induction variable when there is induction variable in described problem circulation, with the control of export variable cancellation that is not induction variable.
5. the extraction system of the communication behavior information of the equipment based on message passing interface as claimed in claim 4 is characterized in that described problem circulation searching module further comprises:
There is judge module in variable, is used for not being the control of export variable of induction variable for whether not having induction variable in the described circulation of each cycle criterion of MPI program or existing, if then described circulation is a problem round-robin candidate;
The set of slices acquisition module is used for the creation facilities program (CFP) dependency graph, is seed with the control of export variable of described candidate corresponding node in described program dependency graph, and described MPI program is communicated section, obtains the set of slices of each candidate;
Module is selected in the problem circulation, the node number of set of slices that is used for calculating each candidate is with the ratio of described dependency graph node number, cutting degree as described candidate, the candidate of selecting described cutting degree maximum is described problem circulation, if described cutting degree is greater than cutting degree preset value, start described legitimacy determination module, otherwise, end operation.
6. the extraction system of the communication behavior information of the equipment based on message passing interface as claimed in claim 5 is characterized in that it is 0.6 that preset value is read in described cutting.
CN2009100858011A 2009-06-01 2009-06-01 Communication behavior information extraction method based on message passing interface device and system thereof Active CN101571814B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100858011A CN101571814B (en) 2009-06-01 2009-06-01 Communication behavior information extraction method based on message passing interface device and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100858011A CN101571814B (en) 2009-06-01 2009-06-01 Communication behavior information extraction method based on message passing interface device and system thereof

Publications (2)

Publication Number Publication Date
CN101571814A CN101571814A (en) 2009-11-04
CN101571814B true CN101571814B (en) 2011-08-24

Family

ID=41231176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100858011A Active CN101571814B (en) 2009-06-01 2009-06-01 Communication behavior information extraction method based on message passing interface device and system thereof

Country Status (1)

Country Link
CN (1) CN101571814B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778088B (en) * 2015-04-17 2018-03-27 华中科技大学 A kind of Parallel I/O optimization methods and system based on reduction interprocess communication expense
CN105528243B (en) * 2015-07-02 2019-01-11 中国科学院计算技术研究所 A kind of priority packet dispatching method and system using data topology information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782537B1 (en) * 1999-09-23 2004-08-24 International Business Machines Corporation Establishing a communicator across multiple processes in a multithreaded computing environment
CN1588323A (en) * 2004-09-23 2005-03-02 上海交通大学 Parallel program visuable debugging method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782537B1 (en) * 1999-09-23 2004-08-24 International Business Machines Corporation Establishing a communicator across multiple processes in a multithreaded computing environment
CN1588323A (en) * 2004-09-23 2005-03-02 上海交通大学 Parallel program visuable debugging method

Also Published As

Publication number Publication date
CN101571814A (en) 2009-11-04

Similar Documents

Publication Publication Date Title
CN111104335B (en) C language defect detection method and device based on multi-level analysis
KR101505546B1 (en) Keyword extracting method using text mining
CN105159828B (en) The context sensitivity detection method of source code level
CN105183650A (en) LLVM-based automatic performance prediction method for scientific calculation program
CN112084150B (en) Model training and data retrieval method, device, equipment and storage medium
CN102662825A (en) Method for detecting memory leakage of heap operational program
Gu et al. Deepprof: Performance analysis for deep learning applications via mining gpu execution patterns
CN110134517A (en) A kind of parallel calculating method and device based on Formula Parsing
CN109388573A (en) A kind of driving program Runtime error checking method and system of the interruption that nothing is failed to report
CN101571814B (en) Communication behavior information extraction method based on message passing interface device and system thereof
CN107688595B (en) Information retrieval Accuracy Evaluation, device and computer readable storage medium
CN107066302A (en) Defect inspection method, device and service terminal
Panadero et al. A tool for selecting the right target machine for parallel scientific applications
CN102087629A (en) Agent embedded software-based invariant test method and tool
CN112149828B (en) Operator precision detection method and device based on deep learning framework
CN103793653A (en) Program dependence relationship analysis method and system based on tree optimization
CN116610931B (en) Method, device, medium and equipment for extracting numerical control countersink influencing factors of airplane
CN102063373A (en) Method for positioning performance problems of large-scale parallel program
CN110895529B (en) Processing method of structured query language and related device
Chhabra Search-based object-oriented software re-structuring with structural coupling strength
CN107180193A (en) It is a kind of by program code conversion into data constraint method and apparatus
CN109710419B (en) MPI code communication process analysis method based on text analysis
Li et al. dCCPI-predictor: A state-aware approach for effectively predicting cross-core performance interference
CN113495841A (en) Compatibility detection method, device, equipment, storage medium and program product
WO2021104027A1 (en) Code performance testing method, apparatus and device, and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant