uka.patch
Class PartitionedObjectSpace.Distribution
java.lang.Object
uka.patch.PartitionedObjectSpace.Distribution
- All Implemented Interfaces:
- java.io.Serializable
- Enclosing class:
- PartitionedObjectSpace
- public class PartitionedObjectSpace.Distribution
- extends java.lang.Object
- implements java.io.Serializable
- See Also:
- Serialized Form
|
Method Summary |
private void |
broadcast(PatchWriter[] writers,
boolean[] enabled,
int data)
|
void |
checkConsistency(java.util.logging.Logger log)
|
private void |
commitLocalModification(int id)
|
private void |
commitLocalModifications()
|
IntIterator |
getActiveRanks()
|
private int |
getRefCnt(int id,
int maxInterest)
|
IntIterator |
getSharedIDs()
|
private void |
initTransient()
|
boolean |
isModified(int id)
|
boolean |
isReferenced(int id)
|
boolean |
isShared(int id)
|
void |
readDistributionUpdate(PatchReader reader)
|
private void |
readObject(java.io.ObjectInputStream in)
|
private void |
restoreAfterUnmarshal()
|
void |
setActual(int id,
int rank,
boolean value)
|
void |
setLocal(int id,
int rank)
|
void |
setLocalRank(int rank)
|
void |
setReadOnly(int id,
boolean value)
|
void |
setSpecified(int id,
boolean value)
|
void |
setSpecified(int id,
int rank,
boolean value)
|
boolean |
testActual(int id,
int rank)
|
boolean |
testActualBefore(int id,
int rank)
|
boolean |
testReadOnly(int id)
|
boolean |
testSpecified(int id,
int rank)
|
java.lang.String |
toStringActual(int id)
|
java.lang.String |
toStringDiff(int id)
|
java.lang.String |
toStringSpecified(int id)
|
private void |
updateSharedCnt(int id)
|
(package private) void |
updateSharedIDs(IntIterator newlySharedIDs,
IntIterator newlyUnsharedIDs)
|
void |
writeDistributionUpdate(PatchWriter[] writers)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BITS_PER_OBJECT
private final int BITS_PER_OBJECT
size
private final int size
offsetActual
private final int offsetActual
offsetSpecified
private final int offsetSpecified
offsetReadOnly
private final int offsetReadOnly
rank
private transient int rank
orig
private final EnlargingBooleanArray2D orig
copy
private transient EnlargingBooleanArray2D copy
modifiedIDs
private transient IntOpenHashSet modifiedIDs
sharedIDs
private transient IntOpenHashSet sharedIDs
- Set of indentifiers being shared among the current
rank and other ranks. An object is considered shared, if
it is present in more than one subspace of this PartitionedObjectSpace and it is not marked
read-only.
sharedCnt
private transient int[] sharedCnt
- Counts the number of non-read-only objects that are shared
between the local rank and each other rank. If this counter
reaches zero for some rank, there is no need for
communication with this rank during a collective update.
PartitionedObjectSpace.Distribution
public PartitionedObjectSpace.Distribution(int size,
int rank)
initTransient
private void initTransient()
setLocalRank
public void setLocalRank(int rank)
getSharedIDs
public final IntIterator getSharedIDs()
- See Also:
sharedIDs
updateSharedIDs
void updateSharedIDs(IntIterator newlySharedIDs,
IntIterator newlyUnsharedIDs)
testActual
public boolean testActual(int id,
int rank)
testActualBefore
public boolean testActualBefore(int id,
int rank)
testSpecified
public boolean testSpecified(int id,
int rank)
getActiveRanks
public IntIterator getActiveRanks()
- Returns:
- the ranks that have shared non-read-only objects
with the local rank.
setLocal
public void setLocal(int id,
int rank)
setActual
public void setActual(int id,
int rank,
boolean value)
testReadOnly
public boolean testReadOnly(int id)
setReadOnly
public void setReadOnly(int id,
boolean value)
setSpecified
public void setSpecified(int id,
int rank,
boolean value)
setSpecified
public void setSpecified(int id,
boolean value)
isShared
public boolean isShared(int id)
- See Also:
sharedIDs
isModified
public boolean isModified(int id)
isReferenced
public boolean isReferenced(int id)
getRefCnt
private int getRefCnt(int id,
int maxInterest)
restoreAfterUnmarshal
private void restoreAfterUnmarshal()
throws java.lang.ClassNotFoundException,
java.io.IOException
- Throws:
java.lang.ClassNotFoundException
java.io.IOException
readObject
private void readObject(java.io.ObjectInputStream in)
throws java.io.IOException,
java.lang.ClassNotFoundException
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
broadcast
private void broadcast(PatchWriter[] writers,
boolean[] enabled,
int data)
throws java.io.IOException
- Throws:
java.io.IOException
writeDistributionUpdate
public void writeDistributionUpdate(PatchWriter[] writers)
throws java.io.IOException
- Throws:
java.io.IOException
updateSharedCnt
private void updateSharedCnt(int id)
commitLocalModification
private void commitLocalModification(int id)
commitLocalModifications
private void commitLocalModifications()
readDistributionUpdate
public void readDistributionUpdate(PatchReader reader)
throws java.io.IOException
- Throws:
java.io.IOException- See Also:
#writeDistributionUpdate(PatchWriter[], int)
checkConsistency
public void checkConsistency(java.util.logging.Logger log)
toStringSpecified
public java.lang.String toStringSpecified(int id)
toStringActual
public java.lang.String toStringActual(int id)
toStringDiff
public java.lang.String toStringDiff(int id)