next up previous
: Inferring Object Interests : Object Placement : Overview

Cost Model

The object placement component views object placement as an optimization problem. Here we present one possible cost model based on communcation cost, which, as discussed in Section 3.2 is the the limiting factor in a distributed game architecture. However, we do not believe it is difficult to use models that account for other costs as well (such as CPU load). We call the cost that a node expends its load.

Our goal is for the load, $ load_n$, on each node, $ sid_n$, to remain between a low water mark, $ lowwater$, and a high water mark, $ highwater$ (which is less than the node's capacity, to enable it to absorb bursts). The costs of a maintaining a primary $ guid_{prim}$ and a replica $ guid_{rep}$ on $ sid_n$ are, respectively:

$\displaystyle cost(prim) ~~=~~$ $\displaystyle f_{prim} + numreps_{prim} \cdot u_{prim}~,$    
$\displaystyle cost(rep) ~~=~~$ $\displaystyle u_{rep}~,$    

where $ f_{x}$ is the fixed cost associated with object $ guid_x$ (i.e., the cost associated with its periodic publications and subscriptions and possible communication with an associated client if it is a player avatar), $ numreps_x$ is the number of remote replicas of $ guid_x$ that exist in the system (and hence, must be periodically synchronized), and $ u_x$ is the average cost of updates generated to and from an object $ guid_x$ to maintain a single replica.

Since $ f_x$ must be incurred by some node in the system (i.e., the one maintaining the primary), the object placement component's goal is to reduce the the number of replicas in the system that must be maintained, 8 while balancing load between the nodes.




next up previous
: Inferring Object Interests : Object Placement : Overview
Ashwin Bharambe 平成17年3月2日