[Next] [Up] [Previous]
Next: Global Object Pointers Up: A Tutorial Introduction to Previous: Introduction

The Basic Programming Model

TACO implements a global memory for Single Program Multiple Data (SPMD) programs that consists of all combined local address spaces of the participating processes. TACO's objects are instances of arbitrary C++ classes and the basic object model is therefore very lightweight and resource efficient. Each process i can create and access all objects within its own local space using standard C++ access methods. However, creation of remote objects and accesses to objects residing in other spaces can only be performed by means of various synchronous and asynchronous remote method invocation (RMI) techniques.

TACO is based on a notion of global object pointers that are capable of addressing all objects uniquely in the global space. Such global pointers are conceptually tuples consisting of a reference to the local address space where the object resides (usually a node or process number) as well as a local pointer that points to a memory location within that space. Consequently we can build dynamic distributed data-structures with global pointers in the same way as we can build dynamic data structures locally.

Such object groups can be addressed collectively using collective methods. Thus the basic object invocation paradigm is appropriately extended to entire distributed object groups.



 
[Next] [Up] [Previous]
Next: Global Object Pointers Up: A Tutorial Introduction to Previous: Introduction