/[xulu]/trunk/src/appl/parallel/spmd/AdvancedSPMDClientInterface.java
ViewVC logotype

Annotation of /trunk/src/appl/parallel/spmd/AdvancedSPMDClientInterface.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 78 - (hide annotations)
Wed Feb 10 16:43:46 2010 UTC (14 years, 10 months ago) by alfonx
File size: 3174 byte(s)
Merged branch 1.8-gt2-2.6 to trunk. Now the trunk is based on GeoTools 2.6.1 and schmitzm-2.0.x
1 mojays 2 package appl.parallel.spmd;
2    
3     import java.io.PrintStream;
4    
5     /**
6     * This class extends the {@link SPMDClientInterface} with additional features for performance tuning. You can merge
7     * partitions in background (so that the not very cpu-intensive communication can
8     * happen during extensive calculations). <br>
9     *
10     * @author Dominik Appl
11     */
12     public interface AdvancedSPMDClientInterface extends SPMDClientInterface {
13    
14     /**
15     * Merges like {@link SPMDClientController#mergePartition(int)}, but in a
16     * separate thread, so that communication does not block computation. See
17     * also {@link SyncPoint synchronization points}
18     *
19     * @param partition
20     * the partition to be merged (must be splittable)
21     * @param s
22     * a syncpoint
23     */
24     public void mergePartition(Object partition, SyncPoint s);
25    
26     /**
27     * Merges like
28     * {@link SPMDClientController#mergeMultiData(MultiDataObject, int)}. But
29     * allows also {@link SyncPoint synchronization points}
30     *
31     * @param multidata
32     * the multidataobject
33     * @param idx
34     * the partition of the {@link MultiDataObject} to be merged
35     * @param s
36     * a {@link SyncPoint}
37     */
38     public void mergeMultiData(MultiDataObject multidata, int idx, SyncPoint s);
39    
40     /**
41     * Same functionality as {@link #mergePartition(Object, SyncPoint)}, gives
42     * a message to the given {@link PrintStream}
43     *
44     * @param partition
45     * the partition to merge
46     * @param s
47     * a {@link SyncPoint}
48     * @param stream
49     * the message is given out to this stream (or null for no
50     * message)
51     * @param message
52     * the message to be displayed when finished (or null for no
53     * message)
54     * @see #mergeMultiData(MultiDataObject, int, SyncPoint)
55     */
56     public void mergePartition(Object partition, SyncPoint s,
57     PrintStream stream, String message);
58    
59     /**
60     * Merges like
61     * {@link SPMDClientController#mergeMultiData(MultiDataObject, int)}. But
62     * allows also {@link SyncPoint synchronization points}. At the end of the
63     * merge a message is given to the provided {@link PrintStream}.
64     *
65     * @param multidata
66     * the multidataobject
67     * @param idx
68     * the partition of the {@link MultiDataObject} to be merged
69     * @param s
70     * a {@link SyncPoint}
71     * @param stream
72     * the message is given out to this stream (or null for no
73     * message)
74     * @param message
75     * the message to be diplayed when finished (or null for no
76     * message)
77     */
78     public void mergeMultiData(MultiDataObject multidata, int idx, SyncPoint s,
79     PrintStream stream, String message);
80    
81     /**
82     * Waits until the Thread with the specified SyncPoint finishes. After that
83     * the Thread is removed. A second thread which synchronizes to the same
84     * Point will directly continue.
85     *
86     * @param s
87     * the {@link SyncPoint}
88     * @throws UnsupportedOperationException
89     * if the SyncPoint does not exist and has never existed
90     */
91     public void synchronizeToSyncPoint(SyncPoint s);
92    
93     }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26