|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface SPMDClientInterface
Using this interface the programmer can access the parallel functionality.
Method Summary | |
---|---|
void |
addBaseParameter(Object parameter,
String parameterName)
Base Parameters are Objects which are used during the
execution of multiple SPMD-Tasks . |
void |
addBaseParameters(Object[] parameters,
String[] parameterNames)
Adds multiple Base-parameters at once. |
MultiDataObject |
addToMultiDataSplitControl(MultiGrid multiGrid,
String name)
This method is specialized on handling MultiGrids. |
MultiDataObject |
addToMultiDataSplitControl(Object[] splittableResources,
String name)
All resources of the array are submitted to split-control. |
void |
addToSplitControl(Object splittableResource,
String name)
The resource is submitted to splitControl. |
void |
mergeAllPartitions()
Merges all the partitions from the server into the sources, from which the objects were loaded (which may be the Xulu-Client, but may also be a database or an other location if this feature is implemented). |
void |
mergeMultiData(MultiDataObject multidata)
Merges all elements of the specified multidata object |
void |
mergeMultiData(MultiDataObject multidata,
int idx)
Merges the element at the specified index |
void |
mergePartition(int rootID)
The counterpart of addToSplitControl(Object, String) . |
void |
mergePartition(Object splittableResource)
The counterpart of addToSplitControl(Object, String) . |
Object[] |
runSPMDModelTask(SPMDTask task,
Object... parameters)
Run the given task on with the given parameters. |
void |
setBoxingMode(AbstractSplitMap.NeighborhoodBoxingMode boxingMode)
Here you can set the boxing mode. |
void |
setNeighborhoodRange(int neighborhoodRange)
Sets the neighborhood range. |
void |
setReferenceResource(Object splittableResource)
All local bounds are calculated on server side using the reference resource. |
void |
updateNeighborhood(MultiDataObject multiDataObject,
int index)
Signals to all participating servers to update the neighborhood and waits until the update is finished. |
void |
updateNeighborhood(Object splittableResource)
Signals to all participating servers to update the neighborhood and waits until the update is finished. |
Method Detail |
---|
void addBaseParameter(Object parameter, String parameterName)
Base Parameters
are Objects which are used during the
execution of multiple SPMD-Tasks
. They are transfered
to each of the participating
computing resources
but are not synchronized
with the client and of course in no way splitted. addBaseParameters(Object[], String[])
method.
parameter
- parameterName
- SPMDServerController
void addBaseParameters(Object[] parameters, String[] parameterNames)
addBaseParameter(Object, String)
.
parameters
- an array of parametersparameterNames
- an array of names. The indexes of parameters and parameter
names must of course matchMultiDataObject addToMultiDataSplitControl(Object[] splittableResources, String name)
SPMDServerController.getMultiData(String)
method. It is assumed,
that all resources have the same Dimension. The same SplitMap
and
splitmap Position is used for all elements. used for every element.
splittableResources
- the resource to be splittedname
- the name of the resource
UnsupportedOperationException
- if splitHeight and splitWidth of the resouces does not matchSPMDServerController
MultiDataObject addToMultiDataSplitControl(MultiGrid multiGrid, String name)
addToMultiDataSplitControl(Object[], String)
could be used, but
using this method won't handle updates to the MultiGrid required for
correct display in the XuluModellingPlatform.
The elements of the Multigrid are split and send to the participating
computing units. The partitions can be requested on server side using the
SPMDServerController.getMultiData(String)
method. It is assumed,
that all resources have the same Dimension. The same SplitMap
and
splitmap position is used for all elements.
name
- the name of the resource
UnsupportedOperationException
- if splitHeight and splitWidth of the resources does not matchSPMDServerController
void addToSplitControl(Object splittableResource, String name)
SPMDServerController.getPartition(String)
method. runSPMDModelTask
is run
next time, the metadata (and all
base Parameters
btw.) are
Transfered to the servers.
splittableResource
- the resource to be splittedname
- a name for the resource (you will be able to request the
resource on server side using this name)SPMDServerController
void mergeAllPartitions()
mergeAllPartitions()
,
addToSplitControl(Object, String)
void mergeMultiData(MultiDataObject multidata)
multidata
- the multidata to mergevoid mergeMultiData(MultiDataObject multidata, int idx)
multidata
- the multidata object containing the element to mergeidx
- the position of the element to mergevoid mergePartition(int rootID)
addToSplitControl(Object, String)
.
Merges the partitions from the server into the sources, from which the
objects were loaded (which will be the Xulu-Client in most cases, but may
also be a database at an other location if this feature is implemented).
Uses multithreading.
rootID
- the ID of the source to be merged.mergeAllPartitions()
,
addToSplitControl(Object, String)
void mergePartition(Object splittableResource)
addToSplitControl(Object, String)
.
Merges the partitions from the server into the sources, from which the
objects were loaded (which will be the Xulu-Client in most cases, but may
also be a database at an other location if this feature is implemented).
Use mergeAllPartitions()
to merge all partitions at once.
splittableResource
- the resource to be merged. (must be an instance of
SplittableResource
mergeAllPartitions()
,
addToSplitControl(Object, String)
Object[] runSPMDModelTask(SPMDTask task, Object... parameters) throws Throwable
task
- the task to be submitted. There may be certain restrictions of
the task to be submitted.parameters
-
null
values inside the array.
Throwable
- the Exceptions thrown on serverside!void setBoxingMode(AbstractSplitMap.NeighborhoodBoxingMode boxingMode)
AbstractSplitMap.NeighborhoodBoxingMode
boxingMode
- the boxing modevoid setNeighborhoodRange(int neighborhoodRange)
neighborhoodRange
- the width of the neighborhood range (in cells)void setReferenceResource(Object splittableResource)
splittable resources
of different
sizes or with different SplitMaps
are used, it is
possible to get the local bounds of an special resource using the
SPMDServerController.getLocalCalculationBounds(appl.parallel.spmd.split.DataPartition)
method of the SPMDServerController. addToSplitControl(Object, String)
will set the reference.
splittableResource
- the new reference resource (must be an instance of
SplittableResource
)void updateNeighborhood(Object splittableResource)
splittableResource
- (must be an instance of SplittableResource
void updateNeighborhood(MultiDataObject multiDataObject, int index)
multiDataObject
- the MultiDataObject
to be updatedindex
- the index of the partition to be updated
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |