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, . [RFC4301] Kent, S. and K. Seo, "Security Architecture for the Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, December 2005, . [RFC6126] Chroboczek, J., "The Babel Routing Protocol", RFC 6126, DOI 10.17487/RFC6126, April 2011, . [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, . 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, . 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]