Internet DRAFT - draft-hsingh-ipv6-coin-ml

draft-hsingh-ipv6-coin-ml







COIN                                                            H. Singh
Internet-Draft                                            MNK Consulting
Intended status: Standards Track                        December 9, 2019
Expires: June 11, 2020


               New IPv6 Multicast Addresses for Switch ML
                      draft-hsingh-ipv6-coin-ml-03

Abstract

   Recently, in-network aggregation to scale distributed machine
   learning (ML) has been presented.  A network switch implementation
   uses IPv4 broadcast messages from switch to the hosts to send updates
   to all workers.  IPv6 does not support broadcast addresses.  This
   document proposes, IPv6 implementations use the IPv6 link-local all-
   nodes multicast address, until a new IPv6 link-local multicast
   address is assigned by IANA for switch to hosts multicast
   communications.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on June 11, 2020.

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must



Singh                     Expires June 11, 2020                 [Page 1]

Internet-Draft                   IPv6 ML                   December 2019


   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Requirements Language . . . . . . . . . . . . . . . . . . . .   2
   2.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  Additional Information  . . . . . . . . . . . . . . . . . . .   2
   4.  P4 Considerations . . . . . . . . . . . . . . . . . . . . . .   3
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   3
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   3
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   4
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   4
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   4

1.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

2.  Introduction

   New computing in the network for ML uses IPv4 broadcast
   communications between switch to hosts.  [Switch-ML].  With IPv6,
   multicast communications would be used.  This document proposes a new
   well-known multicast address be defined for such communications.
   Until a new address is defined, the IPv6 link-local all-nodes
   multicast address may be used.  By definition, a layer-2 switch
   operates in the link-local subnet.  Thus, the IPv6 link-local
   multicast address defined by this document suffices for switch to
   host multicast communications.

3.  Additional Information

   It is common when new networking protocols such as RPL [RFC6550] and
   Babel [RFC6126] were developed, each protocol requested IANA for a
   new IPv6 link-local multicast address for use.  Switch ML does not
   have a protocol defined by IETF just yet and may never define one.
   However, experiments in switch ML are already using IP or layer-2
   broadcast communications.  For IPv6, switch ML experiments should use
   IPv6 link-local multicast communications.  A new IPv6 link-local
   multicast address for switch ML facilitates efficient filtering by
   hosts.




Singh                     Expires June 11, 2020                 [Page 2]

Internet-Draft                   IPv6 ML                   December 2019


   If a switch is configured in layer-3 mode and if switch ML
   communicates with hosts to another IPv6 subnet, an IPv6 Site-Local
   Scope Multicast address is recommended for communications.

4.  P4 Considerations

   P4 issues arise when implementing the paper.  A P4 header stack
   (array) is used to represent the vector.  P4 has no for loops, so how
   does one add elements of the vector?  There is the one way.  You can
   have one action that adds 1 header, another that adds 2, another that
   adds 3, etc., and choose between them at run time via a table lookup.
   Even with a vector with 20-50 elements, writing such P4 code manually
   is risky.  One has to write a Python script to generate such code.
   The paper did not think of it, but an alternative exists.  With every
   element in the vector, use a new 1-byte field.  The field has values
   0 or 1.  1 represents bos (bottom of stack) like what MPLS uses.  The
   last element has bos set to 1.  Then, one has a termination condition
   in the P4 parser to terminate recursive parsing of vector.  As the
   parser is recursing through the vector, add the vector elements and
   save sum in metadata.  One does not use a bit for bos because the p4c
   bmv2 model accepts a header on byte boundary.

   The same p4c bmv2 model, also, does not accept an index into array if
   the index is a run-time value.  The p4-16 specification allows run-
   time index.  Algorithm 1 in the paper uses "p.idx" which is a run-
   time value.  Again, one has to use P4 tables.  Include the run-time
   variable index as a table search key, which selects between several
   different actions that are identical, except for the constant array
   index values they use.  This gets cumbersome with 128 or 512 indices
   in the paper.  Again, one would have to generate P4 code to avoid
   mistakes cut-and-pasting code.  For 128 indices with some bit
   shifting, maybe we reduces indices to 32.  If an asic allows run-time
   index into array, then it is better to use the asic simulator rather
   than bmv2 simulator.

5.  Security Considerations

   Use IPSec [RFC4301].

6.  IANA Considerations

   This document requests IANA to assign a new IPv6 link-local multicast
   address for use by network ML.  This multicast address name is
   Switch_ML_Host.  An interface on the host MUST join this well-known
   multicast address.

   Additionally, IANA is requested to assign a new IPv6 Site-Local Scope
   Multicast address for switch ML to host communication across IPv6



Singh                     Expires June 11, 2020                 [Page 3]

Internet-Draft                   IPv6 ML                   December 2019


   subnets.  If configured to do so, an interface on the host MUST join
   this well-known multicast address.

7.  Acknowledgements

   Thanks (in alphabetical order by first name) to Marco Canini for his
   review.

8.  References

8.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC4301]  Kent, S. and K. Seo, "Security Architecture for the
              Internet Protocol", RFC 4301, DOI 10.17487/RFC4301,
              December 2005, <https://www.rfc-editor.org/info/rfc4301>.

   [RFC6126]  Chroboczek, J., "The Babel Routing Protocol", RFC 6126,
              DOI 10.17487/RFC6126, April 2011,
              <https://www.rfc-editor.org/info/rfc6126>.

   [RFC6550]  Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J.,
              Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur,
              JP., and R. Alexander, "RPL: IPv6 Routing Protocol for
              Low-Power and Lossy Networks", RFC 6550,
              DOI 10.17487/RFC6550, March 2012,
              <https://www.rfc-editor.org/info/rfc6550>.

8.2.  Informative References

   [Switch-ML]
              Sapio, A., Canini, M., Ho, C., Nelson, J., Kalnis, P.,
              Kim, C., Krishnamurthy, A., Moshref, M., Ports, D. R., and
              P. Richtarik, "SwitchML: Scaling Distributed Machine
              Learning with In-Network Aggregation", February 2019,
              <https://arxiv.org/pdf/1903.06701.pdf>.

Author's Address









Singh                     Expires June 11, 2020                 [Page 4]

Internet-Draft                   IPv6 ML                   December 2019


   Hemant Singh
   MNK Consulting
   7 Caldwell Drive
   Westford, MA  01886
   USA

   Phone: +1 978 692 2340
   Email: hemant@mnkcg.com
   URI:   http://mnkcg.com/










































Singh                     Expires June 11, 2020                 [Page 5]