next up previous
Next: Interpane Communication Up: Integration Framework and Middleware Previous: Integration Framework and Middleware

Management of Distributed Objects

To facilitate interactions between modules, we have developed an object-oriented, data-centric integration framework called Roccom. Its design is based on an important observation and assumption of persistent objects. An object is said to be persistent if it lasts beyond a major coupled simulation step. In a typical physics module, especially in the high-performance regime, data objects are allocated during an initialization stage, reused for multiple iterations of calculations, and deallocated during a finalization stage. Therefore, most objects are naturally persistent in multipcomponent simulations.

Based on the assumption of persistence, Roccom defines a registration mechanism for data objects and organizes data into distributed objects called windows. A window encapsulates a number of data attributes, such as the mesh (coordinates and connectivities) and some associated field variables. A window can be partitioned into multiple panes for exploiting parallelism or for distinguishing different material or boundary-condition types. In a parallel setting, a pane belongs to a single process, while a process may own any number of panes. A module constructs windows at runtime by creating attributes and registering their addresses. Different modules can communicate with each other only through windows, as illustrated in Figure 2.

Figure 2: Schematic of windows and panes.
Image roccom

Roccom also introduces the novel concept of partial inheritance of windows to construct a sub-window by using or cloning a subset of the mesh or attributes of another window. In addition, the registered attributes in Roccom can be referenced as an aggregate, such as using ``mesh'' to refer to the collection of nodal coordinates and element connectivity. These advanced features enable performing complex tasks, such as reading or writing data for a whole window, with only one or two function calls.[3].

On top of Roccom, we have developed a number of reusable service modules, including middleware services, such as communication and performance tools, which we describe in the following subsections, as well as mathematical services, which we discuss in the next section.


next up previous
Next: Interpane Communication Up: Integration Framework and Middleware Previous: Integration Framework and Middleware
Gengbin Zheng 2005-07-07