Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computing Simulation in Orders Based Transparent Parallelizing Pavlenko Vitaliy Danilovich, Odessa National Polytechnic University Burdeinyi Viktor Viktorovych,

Similar presentations


Presentation on theme: "Computing Simulation in Orders Based Transparent Parallelizing Pavlenko Vitaliy Danilovich, Odessa National Polytechnic University Burdeinyi Viktor Viktorovych,"— Presentation transcript:

1 Computing Simulation in Orders Based Transparent Parallelizing Pavlenko Vitaliy Danilovich, Odessa National Polytechnic University Burdeinyi Viktor Viktorovych, I.I. Mechnikov Odessa National University

2 Purpose of research ► There’s huge amount of problems that cannot be solved on single processor fast enough ► Clusters are often used because of their comparatively low price and high scalability ► Cluster computing libraries usually offer user only low-level operations for sending and receiving messages Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

3 Requirements to the technology ► High level of technology (to make development and debugging faster and easier) ► Transparency of parallel architecture ► Efficiency of the technology – low overhead, low processors idle time ► High speed and low labor intensiveness of parallel applications development Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

4 First principle Separate processors Main procedure Nested procedures Input parameters Output parameters Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

5 Second principle Data requests Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

6 Implementing the principles How to get values before they are used? ► Data getting logic is added by preprocessor ► Data getting logic is added by bytecode analyzer (.NET, Java) ► Classes encapsulate access to data they contain, and data presence check logic is located in methods of such classes How to declare selected procedures? ► Procedures are declared in external file ► Procedures are marked in source with special comments ► Procedures are annoted (C#, Java) Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

7 Algorithms Order execution algorithm: ► Get ID of procedure to execute from server ► Get values of input and input/output parameters or corresponding IDs from server ► Execute the procedure. ► Send values of output and input/output parameters to server. If these values are not executed yet, send corresponding IDs to server ► Notify the scheduler about a new free processor Algorithm of making an order: ► Send procedure ID to server. ► Send values of input and input/output parameters or corresponding IDs to server. ► Get IDs for output and input/output parameters from server. ► Bind the IDs with corresponding variables. Value getting algorithm: ► Request data from server. ► If there is no value of the server, suspend the current thread and notify the scheduler about a new free processor. Repeat data request after getting a notification from the scheduler. Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

8 States of an order 1. Some computer of cluster gets the order. 2. Order tries to get not computed data. 3. Needed data has been computed. 4. Number of concurrently executed orders is less than number of processors of computer, so we can continue execution of that order. 5. Order execution has been successfully completed. 6. Order execution threw an exception. 7. Other method that had to compute data for current one has thrown an exception. Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

9 Execution time estimation ► During development and optimization ► Profiling and asymptotic analysis ► In the case of parallel computing: large time of test run, no common time scale, communication should be taken into consideration Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

10 Computing emulation, 1 st step Matrix b; ExecutionRuntime.startBlock(Math.pow(a.getN(),3)); if (ExecutionRuntime.executeBlocks()) b = a.mulBy(a); b = a.mulBy(a);else b = new Matrix(a.getN()); b = new Matrix(a.getN());ExecutionRuntime.endBlock(); 1.Asymptotically tight bound for block execution time is known 2.No orders are made inside blocks and do data getting is performed inside blocks. 3.Result of block execution is not used either directly or indirectly in further compare operations 4.There is fast alternative implementation that does not break further execution Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

11 Computing emulation, 2 nd step Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

12 Computing emulation, 3 rd step Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

13 Computing emulation, 4 th step Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

14 Sample problem ► Algorithm:  Find averages of distributions of features for each class and build covariation matrixes  For each non-empty set of features: ► Build quadratic decision rule and calculate its values using provided values of features of objects of both classes ► Find maximal probability of right recognition for this rule ► Save the result as the best one on the first iteration or compare it with current best result on any other iteration ► Parallelizing:  Unite all possible sets of features into groups and create a procedure that performs analyzes a group of sets. Implement classes for all types that can be passed as parameters according to the requirements of the framework. Make the results of groups processing to be compared only after all groups are analyzed.  Declare main procedure and group analyze procedure according to the requirements of the framework. Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

15 Results of experiment Value P=N*T (N – number of computers, T – execution time) grows by not more than 1.13% when using 2, 3 or 5 computers instead of one, and by not more than 3.25% when using 10 computers instead of one Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008

16 Conclusion ► A new parallel applications development technology, based on transparent replacement of methods calls with their execution on other computers of cluster, is proposed. Offered technology has been implemented as a framework on Java programming language. ► The framework has been tested by solving the problem of determination of diagnostic value of formed features diagnostics. ► Efficiency of the technology has been proven by solving a sample problem on a cluster of 10 computers; the value P=N*T (N – number of computers, T – problem solving time) has grown up by not more than 3.25% comparatively to the case of one computer. Computing Simulation in Orders Based Transparent Parallelizing, ICIM-2008, September 15-19 2008


Download ppt "Computing Simulation in Orders Based Transparent Parallelizing Pavlenko Vitaliy Danilovich, Odessa National Polytechnic University Burdeinyi Viktor Viktorovych,"

Similar presentations


Ads by Google