| Miguel Mira da Silva, Malcolm Atkinson, and Andrew Black. Semantics for parameter passing in a type-complete persistent RPC. In Proceedings of the 16th International Conference on Distributed Computing Systems (Hong-Kong, May, 1996), 1996. Accepted for publication. |
....and Section 8 concludes the paper. 2 Remote References in Conventional RPCs To preserve the autonomy of processes, conventional RPCs do not share a single memory image among cooperating processes but instead reconstruct data structures at each address space. As pointed out in Silva et al. [12], however, owing to the lack of a logical shared address space, most RPC systems compromise on the semantics of remote references. In conventional RPCs, when a reference is transmitted to a remote address space, a copy of the referenced data is created; that is, the referenced data is passed by ....
M. Mira da Silva, M. Atokinson, and A. P. Black. Semantics for parameter passing in a type-complete persistent RPC. In Proc. IEEE 16th Int. Conf. on Distributed Computing Systems, pages 411--418, 1996.
....some literature refers to the call by value semantics as the callby copy semantics. Note that the created copy is not a cache of the original object because subsequent updates on the copy do not affect the original object at all. As a variant of the call by value semantics, Silva et al. [5] recently proposed the call by substitution semantics. This semantics is the same as the call byvalue semantics in the sense that an object identity is not preserved across a remote invocation. However, it does not create a copy of the passed object. When remotely passing an object, the runtime ....
M. Mira da Silva, M. Atokinson, and A. P. Black. Semantics for parameter passing in a type-complete persistent RPC. In Proc. IEEE 16th Int. Conf. on Distributed Computing Systems, pages 411--418, 1996.
....GADV92, Gru92, LDS92] or even to build a distributed persistent operating system itself [KSD 90, DdBF 94] Transparent distribution is a step towards more scalable architectures and offers a simple programming model. However, transparent distribution cannot be made to scale indefinitely [MdSAB96] The main reason is that the many inter store references needed to support transparent distribution run into difficulties with communication delays and with failures increasingly as the number of machines grow. Transparent distribution has a role in smaller sub domains, but other models of ....
....store. On arrival at the target the surrogate has to be substituted by an equivalent object with the same type though not necessarily with the same value as the original object. We have described elsewhere a variety of semantics for parameter passing in a type complete persistent RPC [MdSAB96] As figure 1 indicates, our model of passing by substitution lies somewhere between pure deep copy and passing only a remote reference that points to the original object. Because the equivalent objects at the source and the target have different (local) identities and probably different values, ....
[Article contains additional citation context not shown here]
Miguel Mira da Silva, Malcolm Atkinson, and Andrew Black. Semantics for parameter passing in a type-complete persistent RPC. In Proceedings of the 16th International Conference on Distributed Computing Systems (Hong-Kong, May, 1996), 1996. Accepted for publication.
....arguments to the remote procedures. However, there is a new brand of higher order RPC systems that support much richer data types as arguments to remote procedures, namely procedures themselves [25, 6, 3] Recently, this research area has been extended towards persistence with some novel proposals [17, 16, 20, 19, 18]. 3. Database agent language Relational database systems acting as servers accept queries from client programs written in SQL, a declarative language. In this sense, SQL is a well know, established database agent language (although there are not many references to SQL in the agent literature) ....
....agents should migrate by copy to avoid long term dependencies between persistent programs and the complexity and size of their transitive closures. 1. Reducing the transitive closure Transitive closures in a persistent program may be very large and sometimes even reach the entire store [20]. A well know approach to reduce the transitive closure of an object is to ask application programmers to make a distinction at compile time between those objects that migrate by copy and those that migrate by reference only (i.e. that are not actually sent) 23] Lazy migration can also be used ....
[Article contains additional citation context not shown here]
M. Mira da Silva, M.P. Atkinson, and A. Black. Semantics for parameter passing in a type-complete persistent RPC. In Proceedings of the 16th International Conference on Distributed Computing Systems (Hong-Kong, May, 1996). IEEE Computer Society Press, 1996.
....computation or data, but it depends on the discovery of adequate algorithms for 49 automating data and program movement. Although this approach offers desirable semantic simplicity it does not scale indefinitely, fails to accommodate change and does not have a realistic approach to failures [Mira da Silva et al. 1995]. Others however wish to exploit their knowledge about processes and the network to write efficient distributed persistent systems. This requires that the locality of data be exposed [Liskov, 1988, Liskov et al. 1990, Munro, 1993, Mira da Silva, 1995] As yet, no tidy resolution of these ....
....have a realistic approach to failures [Mira da Silva et al. 1995] Others however wish to exploit their knowledge about processes and the network to write efficient distributed persistent systems. This requires that the locality of data be exposed [Liskov, 1988, Liskov et al. 1990, Munro, 1993, Mira da Silva, 1995]. As yet, no tidy resolution of these conflicting requirements is in sight, and different researchers are pursuing the two models. Obliq is an interesting compromise [Cardelli, 1995] as it allows its programmers to indicate whether data or method should migrate but does not explicitly specify ....
[Article contains additional citation context not shown here]
Mira da Silva, M., Atkinson, M.P. & Black, A., 1995. Semantics for Parameter Passing in a Type-complete Persistent RPC. Submitted to: 6th International Workshop on Database Programming Languages, Gubbio, Italy.
....level [LJGS90, GADV92] or even to build a distributed persistent operating system itself [KSD 90, DdBF 94] Transparent distribution is a step towards more scalable architectures and offers a simple programming model. However, transparent distribution cannot be made to scale indefinitely [MdSAB96] The main reason is that the many inter store references needed to support transparent distribution run into difficulties with communication delays and with failures increasingly as the number of machines grow. Transparent distribution has a role in smaller sub domains, but other models of ....
....like the Library Explorer. These require data migration between autonomous stores, but not higher order objects such as those that include code. For these complex objects, the initial RPC attempts to deep copy the entire transitive closure, which sometimes may reach the entire store [MdSAB96] But copying large parts of the store not only creates efficiency problems. It also creates semantics problems, as many of these objects in the transitive closure are shared by other objects. This sharing relationship is lost when they are copied to other stores and replicas created remotely. ....
[Article contains additional citation context not shown here]
M. Mira da Silva, M.P. Atkinson, and A. Black. Semantics for parameter passing in a type-complete persistent RPC. In Proceedings of the 16th International Conference on Distributed Computing Systems (Hong-Kong, May, 1996). IEEE Computer Society Press, 1996.
....code has to be written with (network) failures in mind. And because there is no centralised control in a distributed application, it is very difficult to determine the cause of the failure (let al..one prevent or fix it) Persistence only amplifies the problems introduced by transparent distribution [47]. Remote references and the need for remote access accumulate through time and only make the problem ever worse. Partial failures are even more problematic since the guarantee of referential integrity provided by a persistent system can no longer be maintained in a distributed environment. ....
.... links to the local runtime are explicitly removed [10] Octopus [27, 28] is another proposal to allow application programmers themselves to manipulate bindings in persistent objects. As part of our work with Napier88 we have designed and implemented a mechanism called migration by substitution [47, 46] in which only a surrogate identifying the object migrates to the target program. In the implementation, the surrogate is just a name that has been previously agreed between the source and target programs (see next paragraph) On arrival at the target program, the name is replaced by an equivalent ....
M. Mira da Silva, M.P. Atkinson, and A. Black. Semantics for parameter passing in a type-complete persistent RPC. In Proceedings of the 16th International Conference on Distributed Computing Systems (Hong-Kong, May, 1996), 1996. Accepted for publication.
....to support facilities 8, 7, and 6 (possibly 5 as well) But facility 9 seems to be compatible with all others due to the initial good design of Java. In addition, mobility and persistence also have a difficult co existence see for example, the work on Tycoon [20, 21, 22] and Napier88 [24, 28, 27, 25]. Facilities 3 and 7 are particularly difficult to achieve together, while 4 and 8 have been achieved only by Tycoon to our knowledge. 4 Survey of Existing Systems We have argued in a previous paper that the combination of mobility and persistence leads to new opportunities and challenges [26] ....
....because its syntax has no resemblance with Java. One of the authors has also worked on similar issues with another persistent programming language called Napier88 [30, 29] As a result, a number of models for communication between autonomous persistent programs have been designed and implemented [24, 28, 27, 25]. Like Tycoon, procedures and threads are first class values in Napier88 and code can migrate between autonomous programs (but not threads) However, Napier88 can also be considered a proprietary language for the very same reasons. PJava [5, 3] is a persistent version of Java that maintains the ....
[Article contains additional citation context not shown here]
M. Mira da Silva, M.P. Atkinson, and A. Black. Semantics for parameter passing in a type-complete persistent RPC. In Proceedings of the 16th International Conference on Distributed Computing Systems (Hong-Kong, May, 1996). IEEE Computer Society Press, 1996.
....section are based on the fact that mobile objects should migrate by copy, and the complexity and size of their transitive closures. Migrating objects by reference, in which only a remote reference for the object is actually sent to the target program, creates availability and scalability problems [MdSAB96] Migrating by reference is even less appropriate for mobile object systems where autonomy between programs is one of the main requirements. 4.1 Reducing the Transitive Closure Migration by copy means that free variables that are bound to the object have also to be copied to the target program. ....
....to the local runtime are explicitly removed [BC95] Octopus [FD93, FD94] is another proposal to allow application programmers themselves to manipulate bindings in persistent objects. As part of our work with Napier88 we have designed and implemented a mechanism called migration by substitution [MdSAB96, MdSA96b, MdS96] in which only a surrogate identifying the object migrates to the target program. In the implementation, the surrogate is just a name that has been previously agreed between the source and target programs (see next paragraph) On arrival at the target program, the name is replaced ....
M. Mira da Silva, M.P. Atkinson, and A. Black. Semantics for parameter passing in a typecomplete persistent RPC. In Proceedings of the 16th International Conference on Distributed Computing Systems (Hong-Kong, May, 1996). IEEE Computer Society Press, 1996.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC