Programming method for concurrent programs and program supporting apparatus thereof
First Claim
1. An apparatus for supporting parallelization comprising:
- serialization means for converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed;
parallelization means for performing parallelization of the sequential program to convert the sequential program into a second concurrent program; and
concurrency introduction means for introducing information associated with concurrency to the sequential program.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus for supporting parallelization according to the invention is characterized by comprising a serialization unit for converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed, a debugging unit for debugging the sequential program and forming debugging information, and a concurrent program programming unit for performing parallelization of the debugged sequential program on the basis of the debugging information to convert the sequential program into a second concurrent program. With above configuration, the debugging unit includes a unit for introducing information associated with concurrency to the sequential program.
51 Citations
52 Claims
-
1. An apparatus for supporting parallelization comprising:
-
serialization means for converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; parallelization means for performing parallelization of the sequential program to convert the sequential program into a second concurrent program; and concurrency introduction means for introducing information associated with concurrency to the sequential program. - View Dependent Claims (2, 3, 4, 10)
-
-
5. An apparatus for supporting parallelization comprising:
-
serialization means for converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; parallelization means for performing parallelization of the sequential program to convert the sequential program into a second concurrent program; and first analysis means for analyzing dependency relations between instructions in the first concurrent program, and wherein said parallelization means includes means for using an analysis result from said first analysis means to parallelize the sequential program, thereby converting the sequential program into the second concurrent program. - View Dependent Claims (6, 7)
-
-
8. An apparatus for supporting parallelization, comprising:
-
serialization means for converting a predetermined section of a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; concurrent structure analysis means for analyzing the concurrent structure of the predetermined section of the first concurrent program; sequential structure analysis means for analyzing a sequential structure of a predetermined section of the sequential program; graph information display means for displaying, as graph information, a correlation associated with the concurrent structure analyzed by said concurrent structure analysis means and a correlation associated with the sequential structure analyzed by said sequential structure analysis means; concurrency introduction means for performing parallelization of selected sections of the sequential program to convert the sections into a partial sequential program partially having the concurrent structure; and parallelization means for performing parallelization of the partial sequential program to convert the partial sequential program into a second concurrent program. - View Dependent Claims (9)
-
-
11. An apparatus for supporting parallelization comprising:
-
serialization means for converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; parallelization means for performing parallelization of the sequential program to convert the sequential program into a second concurrent program; field data generating means for converting a flow of processes of the sequential program into a field consisting of a constraint and a transition condition to generate field data representing said field; tuning means for tuning said field represented by the field data generated by said field data generating means; and display means for displaying said field represented by the field data generated by said field data generating means.
-
-
12. An apparatus for supporting parallelization, comprising:
-
serialization means for converting a first concurrent program to a plurality of sequential programs; concurrency introduction means for introducing information associated with concurrency to the plurality of sequential programs; debugging means for independently debugging the plurality of sequential programs; and parallelization means for performing parallelization of the debugged plurality of sequential programs to convert the plurality of debugged sequential programs into a second concurrent program.
-
-
13. An apparatus for supporting parallelization, comprising:
-
serialization means for converting a first concurrent program to a plurality of sequential programs; first analysis means for analyzing dependency relations between instructions in the first concurrent program; debugging means for independently debugging the plurality of sequential programs; and parallelization means for performing parallelization of the debugged plurality of sequential programs to convert the plurality of debugged sequential programs into a second concurrent program by using an analysis result from said first analysis means.
-
-
14. An apparatus for supporting parallelization, comprising:
-
serialization rule storing means for storing a serializing rule; serialization means for converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed in accordance with the serializing rule stored in said serializing rule storing means; serializing rule changing means for changing the serializing rule stored in said serializing rule storing means to introduce information associated with concurrency to the sequential program; debugging means for debugging the sequential program; and parallelization means for performing parallelization of the sequential program, debugged by said debugging means, in which the information associated with the concurrency is introduced by said serializing rule changing means, to convert the sequential program into a second concurrent program.
-
-
15. A method of programming a concurrent program, comprising:
-
the step of converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; the step of introducing information associated with concurrency to the sequential program; and the step of performing parallelization of the sequential program to convert the sequential program into a second concurrent program. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A method of programming a concurrent program, comprising:
-
the first step of converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; the second step of performing parallelization of the sequential program to convert the sequential program into a second concurrent program, wherein the first step includes the substep of analyzing a dependency relation between instructions in the first concurrent program, and the second step includes the substep of performing parallelization of the sequential program by using the concurrent structure of the first concurrent program. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A method of programming a concurrent program, comprising:
-
the step of converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; the step of introducing designated nondeterminism to the sequential program; and the step of performing parallelization of the sequential program to convert the sequential program into a second concurrent program.
-
-
27. A method of programming a concurrent program, comprising:
-
the first step of converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; the second step of performing parallelization of the sequential program to convert the sequential program into a second concurrent program, wherein the first step includes the first substep of converting a predetermined section of the first concurrent program having the concurrent structure into the sequential program capable of being sequentially executed, the second substep of analyzing the concurrent structure of the predetermined section of the first concurrent program, the third substep of analyzing a sequential structure of a predetermined section of the sequential program, the fourth substep of displaying, as graph information, a correlation associated with the concurrent structure analyzed in the second substep and a correlation associated with the sequential structure analyzed in said third step, and the fifth substep of performing parallelization of the selected predetermined section of the sequential program to convert the section into a partial sequential program partially having the concurrent structure, and wherein the second step includes the substep of performing parallelization of the partial sequential program to convert the partial sequential program into a second concurrent program.
-
-
28. A method of programming a concurrent program, comprising:
-
the first step of converting a predetermined section of a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; the second step of analyzing the concurrent structure of the predetermined section of the first concurrent program; the third step of analyzing a sequential structure of a predetermined section of the sequential program; the fourth step of displaying, as graph information, a correlation associated with the concurrent structure analyzed in the second step and a correlation associated with the sequential structure analyzed in the third step; the fifth step of performing parallelization of at least two selected sections of the sequential program to convert the sections into a partial sequential program partially having the concurrent structure; and the sixth step of performing parallelization of the partial sequential program to convert the partial sequential program into a second concurrent program. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A method of programming a concurrent program, comprising:
-
the first step of converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; and the second step of performing parallelization of the sequential program to convert the sequential program into a second concurrent program, wherein the first step includes the first substep of executing the concurrent program, the second substep of storing a set of execution logs generated in the first substep, the third substep of analyzing the set of execution logs stored in the second substep and the first concurrent program, and the fourth substep of rearranging execution logs stored in the second substep on the basis of an analysis result in the third substep, and wherein the third substep includes the substep of extracting precedence constraints between processes and their sections from the set of execution logs stored in the second substep and the first concurrent program and storing the precedence constraints as an analysis result.
-
-
38. A method of programming a concurrent program, comprising:
-
the step of converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; the step of converting a flow of processes of the sequential program into a field consisting of a constraint and a transition condition; the step of tuning said field; the step of introducing information associated with the concurrency; and the step of performing parallelization of the sequential program to convert the sequential program into a second concurrent program.
-
-
39. A method of programming a concurrent program, comprising:
-
the first step of converting a predetermined process group of a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed in accordance with a predetermined execute order; the second step of designating some processes in the predetermined process group as a parallelization candidate for the sequential program; the third step of changing the execution order of said process group designated in the second step to convert the sequential program into a pseudo-concurrent program; the fourth step of converting the pseudo-concurrent program into a partial sequential program partially having a sequential structure; and the fifth step of performing parallelization of the partial sequential program to convert the partial sequential program into a second concurrent program. - View Dependent Claims (40, 41, 42, 43, 44)
-
-
45. A method of programming a concurrent program, comprising:
-
the first step of converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; and the second step of performing parallelization of the sequential program to convert the sequential program into a second concurrent program, wherein the first step includes the first substep of converting the first concurrent program into the sequential program in accordance with a serializing rule, and the second substep of changing the serializing rule to introduce information associated with concurrency to the sequential program, and the second step includes the substep of performing parallelization of the sequential program on the basis of debugging information and the information associated with the concurrency to convert the sequential program into a second concurrent program.
-
-
46. An apparatus for supporting parallelization comprising:
-
serialization means for converting a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; parallelization means for performing parallelization of the sequential program to convert the sequential program into a second concurrent program; and nondeterminism introduction means for introducing designated nondeterminism to the sequential program as information associated with the concurrency. - View Dependent Claims (47)
-
-
48. An apparatus for supporting parallelization, comprising:
-
serialization means for converting a predetermined section of a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; graph information display means for displaying, as graph information, the sequential program; concurrency introduction means for performing parallelization of at least two selected sections of the sequential program to convert the sections into a partial sequential program partially having the concurrent structure; and parallelization means for performing parallelization of the partial sequential program to convert the partial sequential program into a second concurrent program.
-
-
49. An apparatus for supporting parallelization, comprising:
-
serialization means for converting a predetermined section of a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; graph information display means for displaying, as graph information, the sequential program; concurrency introduction means for canceling a sequential part of the sequential program and introducing designated concurrency to the sequential program by using information of the graph information display means to provide a partial sequential program; and parallelization means for performing parallelization of the partial sequential program to convert the sequential program into a second concurrent program.
-
-
50. An apparatus for supporting parallelization, comprising:
-
serialization means for converting a predetermined process group of a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed in accordance with a predetermined execution order; process designating means for designating some processes in the predetermined process group as parallelization candidates for the sequential program; simulated concurrent program conversion means for changing an execution order of said processes designated by said process designating means to convert the sequential program into a plurality of pseudo-concurrent programs; concurrency introduction means for converting the plurality of pseudo-concurrent programs into a partial sequential program partially having a concurrent structure; and parallelization means for performing parallelization of the partial sequential program to convert the partial sequential program into a second concurrent program.
-
-
51. A method of programming a concurrent program, comprising:
-
the first step of converting a predetermined section of a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; the second step of displaying, as graph information, the sequential program; the third step of introducing concurrency of at least two selected predetermined sections of the sequential program to convert the sections into a partial sequential program partially having the concurrent structure; and the fourth step of performing parallelization of the partial sequential program to convert the partial sequential program into a second concurrent program.
-
-
52. A method of programming a concurrent program, comprising:
-
the first step of converting a predetermined section of a first concurrent program having a concurrent structure into a sequential program capable of being sequentially executed; the second step of displaying, as graph information, the sequential program; the third step of canceling a sequential part of the sequential program and introducing designated concurrency to the sequential program by using information of the graph information display means; and the fourth step of performing parallelization of the sequential program to convert the sequential program into a second concurrent program.
-
Specification