INTERNET DRAFT                                               G. Phillips
Expires: January 1999                                            USC/ISI
draft-phillips-malloc-util-00.txt                              M.Smirnov
                                                               GMD FOKUS
                                                               July 1998

           Address utilization in the MASC/BGMP architecture

Status of this Memo

   This document is an Internet-Draft. Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as ``work in progress''.

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
   Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or
   ftp.isi.edu (US West Coast).

   Distribution of this document is unlimited.

                                 Abstract

         This memo provides a simple analysis for the address
         utilization in the MASC architecture and concludes
         that the number of levels in the hierarchy should be
         kept small.  More specifically, we believe that the
         number of levels should not exceed 3 MASC levels.

         The memo also motivates that MASC should not rely on
         hints from applications for future address
         requirements, but should rather guess future address
         demand and allocate addresses pro-actively thereby
         reducing the latency for address requests.

1. Introduction

   The MALLOC Working Group has recognized the need for a multicast
   address allocation scheme that is both hierarchical and dynamic
   [Handley97,Kumar97].  Hierarchy is required because it avoids the
   high communication costs at the servers of flat addressing schemes



                                                                [Page 1]


Address utilization in the MASC architecture     July 1998


   and because it increases the aggregation of routes that are injected
   into BGP. On the other hand, dynamic allocation is required because
   it improves address utilization.

   We now give an overview of the MASC architecture as described in
   [Kumar97]. The MASC servers form a hierarchical structure that is
   based on the structure of the existing Internet topology.  In the
   top-most Internet domains, MASC servers peer with each other to
   compete for multicast addresses.  These MASC servers then receive
   address requests from their MASC children in lower-level domains.
   Within each domain, Multicast Address Allocation Servers (MAAS)
   mediate between applications and the MASC server in that domain.  The
   address request protocol is driven by the applications in a bottom-up
   fashion.  That is, applications request addresses from MAAS servers,
   which in turn request addresses from the MASC server and so on up the
   MASC hierarchy.

   In this memo, we use the term "pre-allocated address" to mean an
   address that is removed from the set of globally available addresses
   but is not given immediately to an application.  Instead, a pre-
   allocated address is temporarily managed by some address server,
   before being given to an application upon request.

2. Motivation for pre-allocation

   Although the need for pre-allocation has already been identified by
   the MALLOC Working Group we include the following motivation for
   pre-allocation for completeness.

   We claim that the MASC architecture should be designed to ensure that
   the latency required to allocate an address is small enough for most
   applications.  However, the MASC architecture cannot strictly
   guarantee that every address request will be honored in a short time
   (because if the demand is high then there might not be any available
   addresses).  Consequently, those applications that cannot rely on the
   latency offered by the MASC architecture, would necessarily have to
   allocate addresses ahead of time.

   There are several approaches for ensuring that the MASC architecture
   can honour addresses quickly.  First, an application might give a
   hint that it will require addresses in the future.  Second, the MASC
   system might guess the future demand and acquire the necessary
   addresses ahead of time.  The first approach has the disadvantages
   that (i) existing applications would require modification to add the
   additional hint functionality and (ii) the application's behaviour
   would change because it would then be necessary to start the
   application earlier (so that it can send a hint to the MASC system in
   good time).



                                                                [Page 2]


Address utilization in the MASC architecture     July 1998


   We argue that the MASC architecture should not rely on hints because
   applications should not be compelled to use a complex address
   allocation model.  Consequently, the MASC architecture should pro-
   actively allocate addresses in order to accommodate these simple
   applications.   As an aside, we note that it may be prudent for the
   MASC architecture to accommodate hints for future address
   requirements whenever applications are capable to provide them.


3. At what level should addresses be pre-allocated?

   Pre-allocation could take place at every level in the hierarchy or
   only at certain levels.  In this section we discuss the advantages
   and disadvantages of pre-allocating address at various levels in the
   MASC hierarchy.

   The advantage of pre-allocating addresses at the leaf servers of the
   hierarchy is that the servers can honour requests without
   communicating about individual requests to parent servers. On the
   other hand, the disadvantage of pre-allocating addresses at the
   leaves is that it leads to low address utilization (because there is
   less sharing of pre-allocated addresses).  Thus, higher utilization
   is achieved if addresses are pre-allocated at the higher levels of
   the MASC hierarchy, for example, several coordinating servers might
   share a pool of pre-allocated addresses. Of course the argument for
   greater sharing is identical to the motivation for building a dynamic
   multicast address architecture in the first place.  Thus, pre-
   allocation should be avoided as much as possible, with the caveat
   that the architecture should not preclude small latencies for address
   requests.

   In summary, we argue that addresses should be pre-allocated at the
   lowest level in the address hierarchy. Whether higher levels also
   participate in pre-allocating addresses, thereby improving address
   utilization, is an open issue.


4. Ensuring fairness

   We claim that the MASC architecture should ensure that one domain
   cannot pre-allocate addresses at the expense of another.  However,
   because address allocation is driven from the bottom-up (by
   application demand), it is unclear from the MASC/BGMP architecture
   how fairness would be enforced [Kumar97].  It would appear that
   fairness can be achieved only by imposing limits in a top-down
   fashion.  Also, because there is no root server, it is unclear how
   the top-level peering arrangement of MASC servers can prevent one
   server from allocating more than its fair share while other servers



                                                                [Page 3]


Address utilization in the MASC architecture     July 1998


   struggle to allocate addresses for their domains.


5. Simple analysis of pre-allocation

   In this section we develop a simple analytical model for the address
   utilization of the MASC architecture.   We show that, given our
   assumptions, the utilization decreases exponentially as the number
   levels in the hierarchy increases. We acknowledge that the model is
   overly simple, but the model is provided as a starting point for
   further analysis.

   We assume that the MASC hierarchy forms a tree with 'L' levels and
   that each node has degree 'd'.  Furthermore, we assume that each leaf
   server has allocated M addresses which are actively used by
   applications. Finally, we assume that each server in the tree, pre-
   allocates an additional 'h * M' addresses.  We call 'h' the pre-
   allocation factor and typically 0 <= h <= 1.

   Let UA be the total number of addresses actively used in the tree and
   let PA be total the number of "pre-allocated" addresses. The address
   utilization for the tree is given by:
                                      UA
                     utilization = ---------
                                    UA + PA

   The number of actively used addresses is:
                            UA = M * d^(L-1)

   As we have mentioned above, we assume that all the servers in the
   tree pre-allocate an additional 'h * M' addresses and therefore:
                           PA = M * d^(L-1) * h

   Therefore the utilization is:
                                      1
                    utilization = -----------
                                  (1+h)^(L-1)

   Note that the utilization is independent of the degree of the
   hierarchy.  Actually this independence is not surprising because it
   is a direct consequence of our assumption that the amount of pre-
   allocated addresses at each node is independent of the node degree.

   The following table shows several values of utilization as a function
   of the number of levels 'L' and the pre-allocation factor 'h'.






                                                                [Page 4]


Address utilization in the MASC architecture     July 1998


                                    L
                +------+--------------------------+
                |      |    2       3       4     |
                +------+--------------------------+
                | 0.20 |   0.83    0.69    0.58   |
             h  | 0.30 |   0.77    0.59    0.46   |
                | 0.33 |   0.75    0.56    0.42   |
                +------+--------------------------+
                    Table of address utilization.


6. Discussion

   Our interpretation of the formula for address utilization is that the
   utilization decreases exponentially as a function of the number of
   levels in the hierarchy.  Consequently, there should be strong
   reasons for using more than three levels in the hierarchy because
   otherwise the advantages of sharing addresses will be lost.

   We briefly compare the results of our analysis with the simulation
   results provided in [Kumar97].   In the simulation, the address
   servers perform pre-allocation by requesting blocks of addresses from
   address servers. The address servers impose a steady-state minimum
   utilization of 75% for each level in the hierarchy.   This
   utilization implies that the address servers impose a maximum value
   of approximately 0.33 for the pre-allocation factor 'h' at each level
   in the hierarchy.  (This value is found by solving the equation
   1/(1+h) = 0.75 for h.) The conclusion from the simulation results in
   [Kumar97] are that the utilization converges to 50% for two levels.
   This result should be compared with the table above for h=0.33 and
   L=3.  Note that in our analysis the lower level represents the level
   of applications, while in the simulation cited above the applications
   are not represented, thus in our model L=3 rather than L=2.


7. Future work

   We acknowledge that the above analysis is overly simple.  However we
   claim that our model does capture the essence of address utilization
   under addresses pre-allocation.  To quote from the Russian Physicist,
   Yakov Frenkel:
         "A good theory of a complex system is merely a good
         caricature of this system, which exaggerates the most
         typical properties of the system and deliberately
         ignores all the other, insignificant, properties."

   The analysis in this memo might be enhanced (i) to study different
   pre-allocation techniques or (ii) to improve the accuracy of the



                                                                [Page 5]


Address utilization in the MASC architecture     July 1998


   model for the real system.  Examples of different pre-allocation
   techniques might be (i) pre-allocating addresses only at leaf servers
   to improve utilization or (ii) dividing each "pre-allocation" pool
   into two pools, one being managed by a single server and the other by
   a collaboration of peer servers.  On the other hand, the accuracy of
   the model might be improved by modelling the dynamic behaviour of the
   system, for example, by taking into account the stream of address
   requests.

8. Bibliography

   [Handley97a]    M.Handley, "On scalable Internet Multimedia
   Conferencing Systems.  PhD Thesis, University of London, 1997.

   [Handley97b]    M. Handley, D. Thaler, D. Estrin, "The Internet
   Multicast Address Allocation Architecture", Internet Draft, draft-
   handley-malloc-arch-00.txt, December 15, 1997

   [Kumar97]       S.Kumar, P. Radoslavov, D. Thaler, C. Alaettinoglu,
   D. Estrin, M. Handley, "The MASC/BGMP Architecture for Inter-domain
   Multicast Routing". To appear in ACM Sigcomm 98, September 1998,
   Vancouver, Canada.

Authors Addresses

   Graham Phillips
   USC Information Sciences Institute
   4676 Admiralty Way, Suite 1001
   Marina del Rey, CA 90292-6695
   USA

   Phone: (+1) (310) 822-1511
   Fax:   (+1) (310) 823-6714
   EMail: graham@isi.edu

   Michael Smirnov
   GMD FOKUS
   Kaiserin-Augusta-Allee 31, Berlin 10589

   Phone: +49 30 34637113
   Fax:   +49 30 34638000
   EMail: smirnow@fokus.gmd.de









                                                                [Page 6]