Review of "Fine-Grained Mobility in the Emerald System"

From: Jeff Duzak (jduzak_at_exchange.microsoft.com)
Date: Wed Feb 04 2004 - 00:32:50 PST

  • Next message: Praveen Rao: "Review of Emerald paper"

    This paper describes the Emerald, which is a language and underlying operating system which allows movement of objects containing data and processes between nodes in a network. The paper briefly talks about related work and the motivation for such a system. Next, the bulk of the paper discusses a great deal of features. There is a lot to describe, so unfortunately, the descriptions are not extremely deep. Finally, the paper talks briefly about the performance of the system.
     
    The paper mentions eight advantages of a fine-grained mobility system, including load sharing, communication performance, availability, and others. I found this section somewhat lacking, in that while each listed advantage is indeed a good thing, I was left trying to figure out what the primary, *net* benefits were. For example, is Emerald intended to make applications such as an email system perform better than on a traditional procedural system? Is Emerald intended to simplify the development of a distributed system? Is Emerald intended to give a distributed system benefits such as load sharing and reconfiguration for free? It seems hard to imagine that an Emerald application could outperform a procedural distributed application with any kind of performance tuning. So, I'm left to think that the main benefits of Emerald are the same as those of OO programming languages - simplified conceptualization of a program resulting, hopefully, in faster development time, fewer bugs, easier maintenance, etc.
     
    The paper describes a great number of features and requirements of the design, including, for example, a description of the makeup of an object, local and global invocation methods, remote object finding, types of parameter passing, and movement of objects. A few areas were unclear to me. First, I didn't completely understand what exactly an activation record was, how exactly it was used to govern a process. Second, and probably related, I didn't understand how exactly the states of registers are extracted from activation records when an object moves.
     
    Last, the paper talks about the performance of the system. The performance numbers that are given are absolute numbers, not compared with any other system. This section does talk about relative performance of the pass-by-move and pass-by-reference parameter passing conventions in an example mail system. However, I would have liked some kind of comparison to a traditional, procedural mail system, in order to gain some perspective.
     
    All in all, the Emerald system seems like a cool idea. It seems like a system that would be implemented mostly just to see what would happen with a change of programming paradigm.


  • Next message: Praveen Rao: "Review of Emerald paper"

    This archive was generated by hypermail 2.1.6 : Wed Feb 04 2004 - 00:32:57 PST