Modify

Ticket #206 (closed enhancement: fixed)

Opened 9 years ago

Explicitly distributing arrays within a replicated graph

Reported by: Bernhard Haumacher (haui at haumacher dot de) Owned by:
Priority: normal Milestone: 2.0
Component: uka.karo Version:
Severity: normal Keywords:
Cc:

Description

If partial replication (see ticket:171) requires to declare the class of an explicitly distributed object to implement a special interface (as described in ticket:205), there is no way to explicitly distribute array objects. Therefore, there should be another way to specify the distribution of an object without requiring its class to be modified. This could be achieved with a distribution API within the replicated object class. After creating an arbitrary object, the application could call distributeTo(Object obj, int[] ranks) to restrict the distribution of obj to the ranks of the replicated object specified by ranks.

Solution

The specified and actual distribution of objects within a replicated graph are stored explicitly. The distribution is part of the state of a replicated object, and the view to it is kept consistent on all nodes, where a copy of the corresponding object is allocated. To send incremental updates to the distribution, there is also a backup copy of the distribution that can be used to find local modifications by comparing it with the current distribution. This backup copy (that represents the distribution at the start of an update) is also used for deciding about the receivers for a certain patch, see ticket:183.

Test

jp.test.TestReplicaDistribution

See also

ticket:178

implemented since 1.08b.

Attachments

View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.