CN101661409A - Extraction method of parallel program communication mode and system - Google Patents

Extraction method of parallel program communication mode and system Download PDF

Info

Publication number
CN101661409A
CN101661409A CN200910093067A CN200910093067A CN101661409A CN 101661409 A CN101661409 A CN 101661409A CN 200910093067 A CN200910093067 A CN 200910093067A CN 200910093067 A CN200910093067 A CN 200910093067A CN 101661409 A CN101661409 A CN 101661409A
Authority
CN
China
Prior art keywords
communication
program
variable
concurrent program
data
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.)
Granted
Application number
CN200910093067A
Other languages
Chinese (zh)
Other versions
CN101661409B (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN2009100930673A priority Critical patent/CN101661409B/en
Publication of CN101661409A publication Critical patent/CN101661409A/en
Application granted granted Critical
Publication of CN101661409B publication Critical patent/CN101661409B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

The invention relates to an extraction method of parallel program communication mode and a system. The method includes the following steps of: analyzing a parallel program source code, identifying thecommunication function call in the parallel program, determining the communication variable in the communication function and putting the communication variable in a setting set; analyzing the control stream and data stream of the parallel program and collecting the information of data dependence, control dependence and communication dependence of the parallel program; collecting the call information in the parallel program and constructing a program call graph; conducting program cut on the parallel program through a cut algorithm based on LIVE variable transmission to obtain the program slice of the parallel program; executing the program slice and collecting and outputting communication records; and according to the communication records, acquiring the communication mode of the parallel program according to set objectives. The method and the system can reduce the resource requirement and time cost in collecting large-scale parallel program communication mode and realize the objectof collecting the large-scale parallel program communication mode on a small-scale system.

Description

The extracting method of parallel program communication mode and system
Technical field
The present invention relates to the parallel program communication mode analysis field, relate in particular to a kind of extracting method and system of the parallel program communication mode based on the program cutting technique.
Background technology
Communication performance is the key factor of influence based on the parallel program performance of message transmission.The communication pattern of concurrent program can be weighed by three aspects: the space attribute of the traffic, communication and the time attribute of communicating by letter.Understand the communication pattern of concurrent program accurately, not only can help to optimize performance of parallel program, and can the better communication subsystem module of Aided Design, expense improved based on the concurrent program debugging acid of reproducing process.
For example, the tool set MPIPP of Intel company utilizes the communication pattern of concurrent program, optimized the performance of program on the heterogeneous network communications platform, referring to: H.Chen, W.G.Chen, et al.MPIPP:An automatic profile-guided parallel process placementtoolset for SMP clusters and multi-clusters (2006ICS).MPIWIZ has utilized concurrent program communication locality characteristic optimization based on the expense of the concurrent program debugging acid of reproducing process, referring to: R.Xue, X.Liu, et al.MPIWIZ:Subgroup reproduciblereplay of MPI applications (2009 PPoPP).
The communication pattern of concurrent program can obtain by the communications records (Traces) of routine analyzer.The communications records that traditional method obtains program mainly are the methods that relies on based on plug-in mounting, ITC/ITA for example, KOJAK, TAU etc.These instruments all need the plug-in mounting original program, then the program behind operation plug-in mounting on the parallel system of a full scale, collection communication record in the process of implementation.The method of tradition collection communication record has following shortcoming:
(1) resource requirement is big: large-scale parallel program generally all needs very big parallel system to move, for example, NPB (NAS parallel Benchmark, concurrent testing program program) FT program, the data set of test procedure comprises seven groups, scale is ascending to be respectively S, W, A, B, C, D, E, and the FT program is under the E scale at data set, needs the 600GB internal memory to move; The SAGE program needs 2000-4000 processor just can move among the ASCI.Because traditional method need be carried out whole plug-in mounting program, is subject to resource requirement, can't obtain required communications records a small-scale system.
(2) the communications records acquisition time is long: although traditional method is not introduced significant expense in the collection communication recording process, they need carry out whole concurrent program.For example, SAGE moves the time that once needs about some months among the ASCI on 2000-4000 processor.Therefore, for very long program of an execution time, traditional method is unacceptable on the obtaining communication record, especially need collect communications records under the different mode repeatedly to a program.
In a word, the communication pattern resource requirement that traditional method based on plug-in mounting is obtained concurrent program is big, and the time that needs is long, can't collect the communication pattern of large-scale concurrent program in a small-scale system.
Summary of the invention
The extracting method and the system that the purpose of this invention is to provide a kind of parallel program communication mode, these method and system can reduce resource requirement and the time overhead of collecting the large-scale parallel program communication pattern, be implemented in the target of collecting the large-scale parallel program communication pattern on the minisystem, to overcome the deficiency that prior art exists.
The present invention adopts following technical scheme for achieving the above object.
One embodiment of the present invention provides a kind of extracting method of parallel program communication mode, and the method comprising the steps of:
S1. resolve the concurrent program source code, the communication functions of discerning in the described concurrent program is called, and determines the communication variable in the described communication functions, and described communication variable is put into the setting set;
S2. analyze the control stream and the data stream of described concurrent program, the data of collecting described concurrent program rely on, control relies on and communication dependence information;
S3. collect the recalls information in the described concurrent program, the construction procedures calling graph;
S4. by the cutting algorithm of propagating based on the LIVE variable described concurrent program is carried out the program cutting, obtain the program slice of described concurrent program;
S5. carry out described program slice, collect and outputting communication records;
S6. according to described communications records, obtain the communication pattern of described concurrent program according to target setting.
Wherein, step S1 further comprises:
S1.1 discerns communication functions all in the described concurrent program according to predefined function name;
S1.2 determines each communication variable in the described communication functions according to predefined form, and puts it into described setting set.
Wherein, step S2 further comprises:
S2.1 is by data-flow analysis, sets up linking relationship between the using and define of each variable in the described concurrent program, and promptly data rely on, and described data dependence information is stored in use-definition UD data structure;
S2.2 analyzes the control branch of described concurrent program, the control in the described concurrent program is relied on be converted into described data dependence, and the data dependence information that transforms is stored in use-definition UD data structure;
S2.3 calls all communications of described concurrent program and carries out pair analysis, and the traffic operation of all transmissions and reception is set up linking relationship, i.e. communication relies on, and described communication dependence information is stored in message dependence MD data structure.
Wherein, step S3 further comprises:
S3.1 writes down the parametric variable that is called function name and needs transmission of each function call point in the described concurrent program;
S3.2 is according to the information of described record, the construction procedures calling graph.
Wherein, step S4 further comprises:
S4.1 puts into the set of LIVE variable with described communication variable;
Each node function of the described routine call figure of the top-down traversal of S4.2, to described each node function, if exist the communication variable in the described setting set to rely on, control the related variable of dependence that relies on and communicate by letter, then the variable of respective associated put into described LIVE variable set by described data;
Each node function of the described routine call figure of the bottom-up traversal of S4.3, to described each node function, if exist the communication variable in the described setting set to rely on, control the related variable of dependence that relies on and communicate by letter, then the variable of respective associated put into described LIVE variable set by described data;
S4.4 is if the set of described LIVE variable remains unchanged, execution in step S4.5 then, otherwise return step S4.2;
The statement of variable-definition in all described LIVE variable set in the described concurrent program of S4.5 mark;
S4.6 is to all receive statements in the described concurrent program, and mark receives the communication statement of variable in described LIVE variable set, and relies on the transmission function of information flag correspondence according to described communication;
S4.7 deletes unlabelled non-communication statement in the described concurrent program, reaches the not variable in described LIVE variable set, obtains the program slice of described concurrent program.
Wherein, step S5 further comprises:
S5.1 writes down the message content of communication statement in the actual transmissions communication statement of described mark, and record: the source and destination address of type of message, message size, message;
S5.2 writes down type of message, the message size of described unlabelled communication statement, the source and destination address of message.
Another embodiment of the present invention also provides a kind of extraction system of parallel program communication mode, this system comprises: the variable determining unit, be used to resolve the concurrent program source code, the communication functions of discerning in the described concurrent program is called, determine the communication variable in the described communication functions, and described communication variable is put into the setting set; Analytic unit is used to analyze the control stream and the data stream of described concurrent program, and the data of collection procedure rely on, control relies on and communication dependence information; The calling graph construction unit, the recalls information that is used for collecting described concurrent program, construction procedures calling graph; The program cutter unit is used for by the cutting algorithm of propagating based on the LIVE variable described concurrent program being carried out the program cutting, obtains the program slice of described concurrent program; Performance element is used to carry out described program slice, collects and outputting communication records; Extraction unit is used for obtaining the communication pattern of described concurrent program according to target setting according to described communications records.
Beneficial effect:
Use the inventive method and system to extract the communication pattern of concurrent program, because by the static analysis technology---the program cutting, incoherent computing statement and Memory Allocation statement in the program have been deleted, the program slice that obtains needs computational resource and memory source seldom in the process of implementation, so resource requirement is little; Owing to do not need to carry out whole Accounting Legend Codes and traffic operation, therefore, the time of comparing the whole collection communication record of traditional communications records collection method based on plug-in mounting can significantly reduce.
Description of drawings
Fig. 1 is the extracting method process flow diagram according to the parallel program communication mode of one embodiment of the present invention;
Fig. 2 is the realization module in compiler according to the extracting method of the parallel program communication mode of one embodiment of the present invention;
Fig. 3 is according to the memory requirements to test procedure of the extracting method of the parallel program communication mode of one embodiment of the present invention;
Fig. 4 is the original execution time of BT program and communications records acquisition time according to the extracting method of the parallel program communication mode of one embodiment of the present invention;
Fig. 5 is the original execution time of CG program and communications records acquisition time according to the extracting method of the parallel program communication mode of one embodiment of the present invention;
Fig. 6 is the original execution time of EP program and communications records acquisition time according to the extracting method of the parallel program communication mode of one embodiment of the present invention;
Fig. 7 is the original execution time of FT program and communications records acquisition time according to the extracting method of the parallel program communication mode of one embodiment of the present invention;
Fig. 8 is the original execution time of LU program and communications records acquisition time according to the extracting method of the parallel program communication mode of one embodiment of the present invention;
Fig. 9 is the original execution time of MG program and communications records acquisition time according to the extracting method of the parallel program communication mode of one embodiment of the present invention;
Figure 10 is the original execution time of SP program and communications records acquisition time according to the extracting method of the parallel program communication mode of one embodiment of the present invention;
Figure 11 is the original execution time of Sweep3D program and communications records acquisition time according to the extracting method of the parallel program communication mode of one embodiment of the present invention;
Figure 12 is the extraction system block diagram according to the parallel program communication mode of one embodiment of the present invention.
Embodiment
The extracting method and the system of the parallel program communication mode that the present invention proposes are described as follows in conjunction with the accompanying drawings and embodiments.
Method of the present invention is based on a significant observation to concurrent program: most Accounting Legend Code and Content of Communication are all irrelevant with the traffic and two attributes of communication space of program in the concurrent program, delete the communication pattern that these Accounting Legend Codes and traffic operation do not influence program reality.Therefore, method of the present invention relies on, controls the dependence that relies on and communicate by letter by the data of static analysis technology collection procedure, in when compiling delete program,, obtain a program slice (Program Slice) of original program with irrelevant computing statement and the Memory Allocation statement of communication pattern; On a minisystem, carry out the communications records that this program slice obtains program then, from the communications records of program, extract the communication pattern of concurrent program.
As shown in Figure 1, the extracting method according to the parallel program communication mode of one embodiment of the present invention may further comprise the steps:
S1. resolve the concurrent program source code, the communication functions in the identification concurrent program is called, and determines the communication variable in the communication functions, and above-mentioned communication variable is put into setting set C;
S2. analyze the control stream and the data stream of concurrent program, the data of collection procedure rely on, control relies on and communication dependence information;
S3. collect the recalls information in the concurrent program, the construction procedures calling graph;
S4. by the cutting algorithm of propagating based on the LIVE variable concurrent program is carried out the program cutting, obtain an also program slice of delivery stroke preface;
S5. on a small-scale parallel computer, carry out the said procedure section, collect the also communications records of written-out program;
S6. communications records that obtain according to step S5 obtain the communication pattern of concurrent program according to target setting.
Wherein, the key used of method of the present invention is defined as follows:
Following table has provided the communication variable in the MPI_Send function, and wherein the variable of mark COMM all is the communication variable, comprises count, type, dest, tag and comm.Count and type have determined the size of message, and dest and comm have determined the destination address of message.
MPI_Send (buf, count, type, dest, tag, comm) buf: send buffer zone [COMM] count: message number [COMM] type that sends buffer zone: the data type of transmission [COMM] dest: the destination address of transmission [COMM] tag: the label of transmission [COMM] comm: communication domain
In a concurrent program, communication variable (COMM Variable) refers to some call parameters in the communication functions, and these call parameters have following feature: their value will directly determine the communication pattern of concurrent program; The use (Use) of related each variable of UD chain does not have other definition statement to occur between using and defining to its all definition (Define), and the UD chain is used for the data dependence relation in the save routine; Communication relies on (CommunicationDependence): the communication statement x among the process i depends on the communication statement j among the process j, and and if only if:
(1) process j sends a message to process i by the communication functions that shows;
(2) statement x is a communications reception operation, and statement y is a communication transmit operation, and x is not identical statement with y.
It is a kind of dependence intrinsic in the concurrent program that communication relies on, and communication relies on needs to determine communication call statements all in the matcher
The LIVE variable: a variable is the LIVE variable, and and if only if, its value change can rely on by the data of program, control relies on and the propagation effect that relies on of communicate by letter arrives the value of any communication variable.
Step S1 further comprises:
S1.1 compile and go procedure code source is discerned all communication functions in the concurrent program at the front end of compiler according to predefined function name;
The communication functions of S1.2 to discerning among the step S1.1 according to predefined form, determined each communication variable, and put it among the setting set C.
Step S2 further comprises:
S2.1 is by the data-flow analysis of compiler, set up a link between the using and define of each variable in the concurrent program, promptly can follow the tracks of the corresponding definition statement that expires by the use of variable, be that data rely on, the use of above-mentioned variable depends on the definition of above-mentioned variable, these data dependence information are stored in use-definition (Use-Define, UD) data structure;
S2.2 analyzes the control branch of concurrent program in compiler, the variable that control statement comprises relies on control statement itself, the control in the concurrent program is relied on be converted into the described data dependence of step S2.1, and it is stored in the UD data structure;
S2.3 calls all communications of concurrent program and carries out pair analysis, traffic operation to all transmissions and reception is set up linking relationship, the reception variable of communication relies on the transmission variable of communication, this communication dependency information is stored in message relies on (Message Dependence, MD) data structure.
Step S3 further comprises:
The parametric variable that is called function name and needs transmission of each function call point in the S3.1 record concurrent program;
S3.2 is according to the information of step S3.1 record, and (ProgramCall Graph, PCG), each node of calling graph is a function of program to make up a routine call figure.
Step S4 further comprises:
S4.1 initialization LIVE variables set is combined into sky, and the communication variable that step S1.2 obtains is put into the set of LIVE variable;
Each node function N of the routine call figure that the top-down traversal step S3.2 of S4.2 obtains, to each node function N, if the data that exist the communication variable of setting among the set C to pass through step S2.1, S2.2, S2.3 rely on, control relies on and the related variable of communication dependence, then the variable of respective associated is put into the described LIVE variable set of step S4.1;
Each node function N of the routine call figure that the bottom-up traversal step S3.2 of S4.3 obtains, to each node function N, if the data that exist the communication variable of setting among the set C to pass through step S2.1, S2.2, S2.3 rely on, control relies on and the related variable of communication dependence, then the variable of respective associated is put into described LIVE variable set;
S4.4 is if LIVE variable set remains unchanged, execution in step S4.5 then, otherwise return step S4.2;
All are to the statement of variable-definition in the described LIVE variable set of step S4.1 in the S4.5 mark concurrent program;
S4.6 is to all receive statements in the concurrent program, if receive variable in the described LIVE variable set of step S4.1, this communication statement of mark then, and according to step S2.3 described communication relies on the transmission function of information flag correspondence;
The non-communication statement of mark in step S4.5, S4.6 not in the S4.7 deletion concurrent program, and the variable in described LIVE variable set not obtain the program slice of concurrent program.
The program cutting algorithm of propagating based on the LIVE variable that the inventive method step S4 is provided has following characteristics:
(1) based on the process analysis of LIVE variable: defined the LIVE variable and come to rely on, to control by data in the description program to rely on the variable that can influence the interprogram communication pattern with the transmission of the dependence of communicate by letter.The dependence of wherein communicating by letter is the distinctive dependence of concurrent program, and traditional serial program analysis does not relate to communication and relies on.The target of cutting algorithm of the present invention is a LIVE variable all in the clear and definite program, and the program computing statement and the traffic operation statement of influence communication variable.
(2) cutting of the program between supporting process: adopt the iteration traversal of top-down and bottom-up both direction to analyze the LIVE variable of propagating by global variable and parameter transmission in the trace routine.By finding the solution an inter procedure data flow equation, calculate all LIVE variablees between various process.
The method according to this invention has realized that cutting algorithm based on the LIVE variable is at a product-level compiler, Open64.As shown in Figure 2, cutting algorithm is primarily implemented in the preceding optimization (PreOPT) and interprocedural analysis and two modules of optimization of Open64.LIVE variable analysis between the cutting algorithm supporting process, find out the computing statement and the traffic operation of influential interprogram communication pattern, and mark respective communication operation.
In addition, step S5 further comprises:
The message content of the communication statement of mark in the Network Transmission communication statement of reality among the S5.1 recording step S4.8, and write down following information: the source and destination address of type of message, message size, message;
S5.2 need only not need record: the source and destination address of type of message, message size, message at the message content in the Network Transmission communication statement to unlabelled communication statement among the step S4.8.
With 7 NPB:BT, CG, EP, FT, LU, MG, SP and ASCI Sweep3D have verified method of the present invention, and the input data set of NPB program is the D scale.Experimental result shows that the inventive method can effectively reduce the calculating and the memory requirements of program, and to most of program, the resource requirement of program has reduced by 1-2 the order of magnitude.The inventive method can be on the minisystem of 32 cores, successful collection up to the communications records of the D of 512 processes scale NPB program and Sweep3D (150*150*150).Because the restriction of internal memory, traditional method based on plug-in mounting can't be in so little system the communications records of collection procedure.
Fig. 3 has provided 8 test procedures under different processes, the memory size that the inventive method is required.Wherein NULL represents a concurrent program that does not have calculating and traffic operation, and it provides the lower limit of a concurrent program required memory.AVG represents the arithmetic mean of 8 test procedures collection communication record consumes memory under the inventive method.As can be seen from the figure, the memory source that needs in the collection communication recording process of the inventive method is considerably less.For example, under 512 processes, for EP and CG program, the inventive method only needs 1.11GB and 1.22GB memory size, and the NULL program needs the 1.04GB internal memory.
Fig. 4-Figure 11 provides the contrast of 8 original execution time of test procedure and the inventive method collection communication writing time, white box is the original execution time of program, and band oblique line frame is the time (among Fig. 5,6 writing time too virgule frame do not show) of the inventive method collection communication record.The inventive method is compared original program in the collection communication recording process as can be seen, needs very little time overhead.For example, to the BT program, under 64 processes, original program needs 1175.65 seconds execution time, and the inventive method only needs just can finish in 0.28 second the collection of communications records because deletion is most of and incoherent computing statement of communication pattern and traffic operation statement.
As shown in figure 12, the extraction system according to the parallel program communication mode of one embodiment of the present invention mainly comprises two critical system modules: module when collector and operation.
Collector 100 is divided into two stages, process inner analysis unit and interprocedural analysis.In the process inner analysis:
At first, variable confirmation unit 101 is resolved the concurrent program source code, and the communication functions in the identification concurrent program is called, and determines the communication variable in the communication functions, and above-mentioned communication variable is put into setting set C; Analytic unit 102 is analyzed the control stream and the data stream of concurrent program, and the data of collection procedure rely on, control relies on and communication dependence information.
At interprocedural analysis:
The recalls information that calling graph construction unit 103 is collected in the concurrent program, the calling graph of construction procedures; Program cutter unit 104 is by incoherent computing statement and Memory Allocation statement in the cutting algorithm delete program of propagating based on the LIVE variable, and mark corresponding communication action statement, and collector 100 obtains and export a program slice of concurrent program.
Module 200 during operation: the program slice that collector 100 obtains can not directly move on parallel system, and the execution of module 200 participates in when needing an operation.The performance element 201 of module 200 provides the communication plug-in mounting storehouse of a customization during operation, and program slice link plug-in mounting storehouse obtains executable code, carries out on a minisystem then; According to the information of compiling tense marker, the whether real in the process of implementation message content in the transmission over networks program of decision; Also be responsible for the relevant information of record communication pattern, comprise type of message, message greatly down, message source and destination address etc., be kept in the local journal file; Final extraction unit 202 obtains the communication pattern of concurrent program according to the communications records of performance element 201 according to target setting.
Above embodiment only is used to illustrate the present invention; and be not limitation of the present invention; the those of ordinary skill in relevant technologies field; under the situation that does not break away from the spirit and scope of the present invention; can also make various variations and modification; therefore all technical schemes that are equal to also belong to category of the present invention, and scope of patent protection of the present invention should be defined by the claims.

Claims (7)

1, a kind of extracting method of parallel program communication mode, the method comprising the steps of:
S1. resolve the concurrent program source code, the communication functions of discerning in the described concurrent program is called, and determines the communication variable in the described communication functions, and described communication variable is put into the setting set;
S2. analyze the control stream and the data stream of described concurrent program, the data of collecting described concurrent program rely on, control relies on and communication dependence information;
S3. collect the recalls information in the described concurrent program, the construction procedures calling graph;
S4. by the cutting algorithm of propagating based on the LIVE variable described concurrent program is carried out the program cutting, obtain the program slice of described concurrent program;
S5. carry out described program slice, collect and outputting communication records;
S6. according to described communications records, obtain the communication pattern of described concurrent program according to target setting.
2, the extracting method of parallel program communication mode as claimed in claim 1 is characterized in that, step S1 further comprises:
S1.1 discerns communication functions all in the described concurrent program according to predefined function name;
S1.2 determines each communication variable in the described communication functions according to predefined form, and puts it into described setting set.
3, the extracting method of parallel program communication mode as claimed in claim 1 is characterized in that, step S2 further comprises:
S2.1 is by data-flow analysis, sets up linking relationship between the using and define of each variable in the described concurrent program, and promptly data rely on, and described data dependence information is stored in use-definition UD data structure;
S2.2 analyzes the control branch of described concurrent program, the control in the described concurrent program is relied on be converted into described data dependence, and the data dependence information that transforms is stored in use-definition UD data structure;
S2.3 calls all communications of described concurrent program and carries out pair analysis, and the traffic operation of all transmissions and reception is set up linking relationship, i.e. communication relies on, and described communication dependence information is stored in message dependence MD data structure.
4, the extracting method of parallel program communication mode as claimed in claim 1 is characterized in that, step S3 further comprises:
S3.1 writes down the parametric variable that is called function name and needs transmission of each function call point in the described concurrent program;
S3.2 is according to the information of described record, the construction procedures calling graph.
5, the extracting method of parallel program communication mode as claimed in claim 1 is characterized in that, step S4 further comprises:
S4.1 puts into the set of LIVE variable with described communication variable;
Each node function of the described routine call figure of the top-down traversal of S4.2, to described each node function, if exist the communication variable in the described setting set to rely on, control the related variable of dependence that relies on and communicate by letter, then the variable of respective associated put into described LIVE variable set by described data;
Each node function of the described routine call figure of the bottom-up traversal of S4.3, to described each node function, if exist the communication variable in the described setting set to rely on, control the related variable of dependence that relies on and communicate by letter, then the variable of respective associated put into described LIVE variable set by described data;
S4.4 is if the set of described LIVE variable remains unchanged, execution in step S4.5 then, otherwise return step S4.2;
The statement of variable-definition in all described LIVE variable set in the described concurrent program of S4.5 mark;
S4.6 is to all receive statements in the described concurrent program, and mark receives the communication statement of variable in described LIVE variable set, and relies on the transmission function of information flag correspondence according to described communication;
S4.7 deletes unlabelled non-communication statement in the described concurrent program, reaches the not variable in described LIVE variable set, obtains the program slice of described concurrent program.
6, as the extracting method of claim 3 or 5 described parallel program communication modes, it is characterized in that step S5 further comprises:
S5.1 writes down the message content of communication statement in the actual transmissions communication statement of described mark, and record: the source and destination address of type of message, message size, message;
S5.2 writes down type of message, the message size of described unlabelled communication statement, the source and destination address of message.
7, a kind of extraction system of parallel program communication mode, this system comprises:
The variable determining unit is used to resolve the concurrent program source code, and the communication functions of discerning in the described concurrent program is called, and determines the communication variable in the described communication functions, and described communication variable is put into the setting set;
Analytic unit is used to analyze the control stream and the data stream of described concurrent program, and the data of collection procedure rely on, control relies on and communication dependence information;
The calling graph construction unit, the recalls information that is used for collecting described concurrent program, construction procedures calling graph;
The program cutter unit is used for by the cutting algorithm of propagating based on the LIVE variable described concurrent program being carried out the program cutting, obtains the program slice of described concurrent program;
Performance element is used to carry out described program slice, collects and outputting communication records;
Extraction unit is used for obtaining the communication pattern of described concurrent program according to target setting according to described communications records.
CN2009100930673A 2009-09-22 2009-09-22 Extraction method of parallel program communication mode and system Active CN101661409B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100930673A CN101661409B (en) 2009-09-22 2009-09-22 Extraction method of parallel program communication mode and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100930673A CN101661409B (en) 2009-09-22 2009-09-22 Extraction method of parallel program communication mode and system

Publications (2)

Publication Number Publication Date
CN101661409A true CN101661409A (en) 2010-03-03
CN101661409B CN101661409B (en) 2011-11-09

Family

ID=41789455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100930673A Active CN101661409B (en) 2009-09-22 2009-09-22 Extraction method of parallel program communication mode and system

Country Status (1)

Country Link
CN (1) CN101661409B (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760085A (en) * 2011-04-29 2012-10-31 无锡江南计算技术研究所 Communication track expanding method and device, communication track drive simulation method and system
CN103645961A (en) * 2013-11-20 2014-03-19 清华大学 Anomaly detection method and system for calculating intensive parallel tasks
CN103677753A (en) * 2012-09-20 2014-03-26 艾默生零售解决方案公司 Multi-task control method and device and industrial control system
CN103729244A (en) * 2013-12-17 2014-04-16 华为技术有限公司 Collection method and collection device
CN104850411A (en) * 2015-06-10 2015-08-19 清华大学 Storage system reference evaluation program generating method and apparatus
CN109710419A (en) * 2018-11-13 2019-05-03 北京航空航天大学 MPI code communication process analysis method based on text analyzing
WO2022041024A1 (en) * 2020-08-27 2022-03-03 清华大学 Parallel program scalability bottleneck detection method and computing device

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760085A (en) * 2011-04-29 2012-10-31 无锡江南计算技术研究所 Communication track expanding method and device, communication track drive simulation method and system
CN102760085B (en) * 2011-04-29 2014-10-22 无锡江南计算技术研究所 Communication track expanding method and device, communication track drive simulation method and system
CN103677753A (en) * 2012-09-20 2014-03-26 艾默生零售解决方案公司 Multi-task control method and device and industrial control system
CN103645961B (en) * 2013-11-20 2016-09-21 清华大学 The method for detecting abnormality of computation-intensive parallel task and system
CN103645961A (en) * 2013-11-20 2014-03-19 清华大学 Anomaly detection method and system for calculating intensive parallel tasks
CN103729244A (en) * 2013-12-17 2014-04-16 华为技术有限公司 Collection method and collection device
CN103729244B (en) * 2013-12-17 2017-04-26 华为技术有限公司 Collection method and collection device
CN104850411A (en) * 2015-06-10 2015-08-19 清华大学 Storage system reference evaluation program generating method and apparatus
CN104850411B (en) * 2015-06-10 2018-06-22 清华大学 Storage system benchmark evaluation program generation method and device
CN109710419A (en) * 2018-11-13 2019-05-03 北京航空航天大学 MPI code communication process analysis method based on text analyzing
WO2022041024A1 (en) * 2020-08-27 2022-03-03 清华大学 Parallel program scalability bottleneck detection method and computing device
CN114503084A (en) * 2020-08-27 2022-05-13 清华大学 Parallel program expandability bottleneck detection method and computing device
CN114503084B (en) * 2020-08-27 2023-07-25 清华大学 Parallel program expandability bottleneck detection method and computing device
US11768754B2 (en) 2020-08-27 2023-09-26 Tsinghua University Parallel program scalability bottleneck detection method and computing device

Also Published As

Publication number Publication date
CN101661409B (en) 2011-11-09

Similar Documents

Publication Publication Date Title
CN101661409B (en) Extraction method of parallel program communication mode and system
CN100589418C (en) The generation method and the generation system of alarm correlation rule
CN114095273A (en) Deep learning-based internet vulnerability mining method and big data mining system
CN102479225B (en) Distributed data analyzing and processing method and system
CN102222035A (en) Software behavior detection system based on symbolic execution technology and detection method thereof
CN108664635B (en) Method, device, equipment and storage medium for acquiring database statistical information
CN103713933B (en) Focus function, the assemblage method of variable, apparatus and system in computer program
CN108628600B (en) Software dynamic behavior modeling method and device based on control flow analysis
CN103914379B (en) Fault is automatically injected the method with fault detect and system thereof
CN101853200A (en) High-efficiency dynamic software vulnerability exploiting method
CN105630797B (en) Data processing method and system
CN108319788A (en) A method of the identification in line pollution sources of Storm Sewer Network sewage
CN103049377A (en) Parallel symbolic execution method based on path cluster reductions
CN104640138A (en) Method and device for locating problematic terminals
CN116186759A (en) Sensitive data identification and desensitization method for privacy calculation
CN106294136B (en) The online test method and system of performance change between the concurrent program runtime
CN103744788B (en) The characteristic positioning method analyzed based on multi-source software data
CN103077080B (en) Based on parallel program performance collecting method and the device of high performance platform
CN108932199B (en) Automatic taint analysis system based on user interface analysis
CN110287700A (en) A kind of iOS application safety analytical method and device
CN106294132B (en) A kind of method and device managing log
CN116257922B (en) Coding method, device, terminal equipment and medium of water conservancy facility model
CN104750812A (en) Automatic data collecting method based on webpage label analysis
CN105138445A (en) New method for mining invisible tasks in service process based on probability behavior relationship
CN105404608A (en) Formula analysis based complicated index set calculation method and system

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