[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [moca] Locality and Name matching in Pi-Calculus.
Reza Ziaei wrote:
In their paper, "On asynchrony in name-passing calculi ", Merro and
Sangiorgi mention that the motivation for imposing locality and
dropping name matching capability in Lpi comes from language design
issues and compiler optimization considerations. Can anybody point
to or give some concrete examples that illustrate these aspects. For
example, what are some interesting compiler optimizations that would
not hold in the absence of locality or in the presence of name
matching capability.
i don't know about compiler optimisations, but locality is quite natural
if you think about distributed systems. in my phd thesis, i investigated
some pi-based models of distributed systems and gave this justification
for locality. maybe its useful:
To understand locality, think about your machine. It is probably
connected to some Ethernet based LAN, which is in turn connected to
the Internet. This means that your computer will have one or more IP
addresses to identify its points of interaction with other
computers. What is peculiar about IP addresses is that they are
fixed. They cannot be changed (easily). In particular, you
cannot make one of your IP addresses dependent on data that has just
come in from the Internet.
Of course things are more complicated than this. One can always change
IP addresses of a machine, but that would in itself not be very
useful, unless the entire Internet was notified about the address
change. Otherwise routing tables would not contain up-to-date
information that would allow to route messages properly. This is a
time consuming process, taking several hours if not longer. As a
matter of fact, things are even more complicated because some address
changes can be carried out locally, for example from 236.72.1.61 to
236.72.1.62, provided both addresses already live in the same
broadcast LAN and 236.72.1.62 is not already used. Since all
messages going to 236.72.1.62 will be broadcast, either by the
gateway router or by some other machine on the LAN, delivery to the
new address is no problem. But what certainly does not work is to
assign an arbitrary IP address to a computer and expect that
instantly messages from anywhere on the net are delivered. It
is possibly rather crude, but nevertheless illuminating to model this
behaviour as pi-calculus-processes, taking names to stand for IP addresses:
this boils down to prohibiting input subject to be input bound. This
means not allowing processes like $\IN{x}{v}.\IN{v}{w}$, because the
input subject $v$ is bound by $\IN{x}{v}$. \PIcs\ where input subjects
are never bound by inputs are called local. It is easy to
define typing systems such that typability guarantees locality.
in short: input locality is simple, yet appropriate requirement for
modelling contemporary distributed systems.
martin (http://www.dcs.qmul.ac.uk/~martinb)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The "models for mobility" mailing list mailto:moca@xxxxxxxxxxxxxxx
http://www-sop.inria.fr/mimosa/personnel/Davide.Sangiorgi/moca.html