Internet DRAFT - draft-xiang-alto-multidomain-usecases
draft-xiang-alto-multidomain-usecases
ALTO WG Q. Xiang
Internet-Draft Yale University
Intended status: Informational F. Le
Expires: September 12, 2019 IBM
Y. Yang
Yale University
March 11, 2019
ALTO for Multi-Domain Applications: A Review of Use Cases and Design
Requirements
draft-xiang-alto-multidomain-usecases-00.txt
Abstract
With the development of novel network technology, such as software
defined networking and network function virtualization, many novel
multi-domain applications, such as flexible interdomain routing,
distributed, federated machine learning and multi-domain
collaborative dataset transfer, have been deployed. These
applications can benefit substantially from the ALTO protocol
[RFC7285], through which the information of multiple networks can be
provided to applications. This document first introduces several
multi-domain applications and how they can benefit from ALTO. It
then describes a generic framework for multi-domain applications to
use ALTO to improve the performance, followed by a discussion on new
requirements and challenges for ALTO to better support these
applications.
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 http://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 September 12, 2019.
Xiang, et al. Expires September 12, 2019 [Page 1]
Internet-Draft ALTO for Multi-Domain March 2019
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
(http://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
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. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. Review of Multi-Domain Applications . . . . . . . . . . . . . 3
3.1. Flexible Interdomain Routing . . . . . . . . . . . . . . 3
3.1.1. How flexible interdomain routing can benefit from
ALTO? . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.2. Example . . . . . . . . . . . . . . . . . . . . . . . 4
3.2. Resource Orchestration for Collaborative Data Sciences . 4
3.2.1. How multi-domain resource orchestration can benefit
from ALTO . . . . . . . . . . . . . . . . . . . . . . 4
3.2.2. Example . . . . . . . . . . . . . . . . . . . . . . . 5
3.3. Federated Machine Learning . . . . . . . . . . . . . . . 6
3.3.1. How federated machine learning can benefit from ALTO 6
3.3.2. Example . . . . . . . . . . . . . . . . . . . . . . . 6
4. A Generic Framework . . . . . . . . . . . . . . . . . . . . . 7
4.1. Workflow . . . . . . . . . . . . . . . . . . . . . . . . 8
5. Requirements of ALTO in Multi-Domain Applications . . . . . . 9
5.1. Design Requirements . . . . . . . . . . . . . . . . . . . 9
5.2. Existing Efforts in the ALTO Working Group . . . . . . . 10
6. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.1. Normative References . . . . . . . . . . . . . . . . . . 10
7.2. Informative References . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12
1. Introduction
The ALTO protocol [RFC7285] provides network information to
applications so that applications can make network informed decisions
to improve the performance. Not only traditional applications such
peer-to-peer systems, many recent, novel multi-domain applications,
Xiang, et al. Expires September 12, 2019 [Page 2]
Internet-Draft ALTO for Multi-Domain March 2019
which orchestrate resources across multiple networks, can also
benefit substantially from ALTO.
The goal of this document is to explore how ALTO can help improve the
performance of novel multi-domain applications, what ALTO extension
services are needed, and what are the corresponding requirements and
challenges for designing such extensions. To this end, this document
first give a case-by-case review of emerging multi-domain
applications and how they can benefit from ALTO. It then describes a
generic framework for multi-domain applications to use ALTO to
improve the performance, followed by a discussion on the need of new
ALTO services and the corresponding requirements and challenges for
these extensions to better support these applications.
2. 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 [RFC2119].
3. Review of Multi-Domain Applications
3.1. Flexible Interdomain Routing
Flexible interdomain routing can be a highly valuable service for
network providers. Specifically, an autonomous system (AS) providing
such a service (the provider) allows other ASes (clients) to specify
routing actions at the provider based on flexible matching conditions
(e.g., match on TCP/IP 5-tuple). In this way, a client AS using the
flexible interdomain routing service can offload access and traffic
control to provider ASes, leading to a simpler client network
configuration while giving the provider ASes additional business
opportunities.
3.1.1. How flexible interdomain routing can benefit from ALTO?
ALTO provides provider ASes a standardized approach to expose its
routing capability to client ASes. Traditional interdomain routing
protocols such as BGP are not good options because they only expose
the currently used routes, limiting client ASes' choices to specify
flexible routes. In contrast, ALTO and its extensions provide
interfaces for provider ASes to expose not only currently used
routes, but also available yet unused routes, to client ASes so that
they can have the flexibility to specify different routes for
different data traffic.
Xiang, et al. Expires September 12, 2019 [Page 3]
Internet-Draft ALTO for Multi-Domain March 2019
3.1.2. Example
Consider the example in Figure 1. AS A is compromised and being used
to send DDoS traffic to AS E. Without flexible interdomain routing,
AS E can setup a firewall locally, but normal traffic from B to E
will still be congested at C-D-E due to the existence of malicious
traffic from A to E. If AS C provides flexible interdomain routing
service, AS E can specify such a firewall at AS C to block DDoS
traffic from A, and at the same time avoid the congestion of normal
traffic from B to E.
+-----+ DDoS traffic
| AS A|_
| | \ +--+---+ +---+--+ +------+
+-----+ \ | | | | | |
\_| AS C +---------+ AS D |--------| AS E |
+-----+ / | | | | | |
| AS B|__/ +------+ +------+ +------+
| |
+-----+ Normal traffic
Figure 1: Flexible interdomain routing for DDoS mitigation.
3.2. Resource Orchestration for Collaborative Data Sciences
As the data volume increases exponentially over time, data analytics
is transiting from a single-domain network to a multi-domain, geo-
distributed network, where different member networks contribute
various resources, e.g., computation, storage and networking
resources, to collaboratively collect, share and analyze extremely
large amounts of data. Such a paradigm calls for a unified resource
orchestration framework to manage a large set of distributively-
owned, heterogeneous resources, with the objective of efficient
resource utilization, following the autonomy and privacy of different
domains.
3.2.1. How multi-domain resource orchestration can benefit from ALTO
One key design challenge for multi-domain resource orchestration is
its resource information model. Existing design options such as
resource graph and ClassAds are inadequate because they cannot
simultaneously (1) allow member networks to provide accurate
information on different types of resource, (2) avoid the exposure of
private information of member networks such as topology, and (3)
allow data analytics jobs to accurately describe their requirements
of different types of resources. In contrast, the section 7.1 of
Xiang, et al. Expires September 12, 2019 [Page 4]
Internet-Draft ALTO for Multi-Domain March 2019
Figure 2 discusses the advantages of choosing ALTO as the resource
information model for multi-domain resource orchestration, and how
ALTO can simultaneously satisfy the aforementioned design
requirements.
3.2.2. Example
Consider an example of three member networks in Figure 2, where s1
and s2 are storage endpoints and d1 and d2 are computation endpoints.
Assume a data analytics job is composed of two parallel tasks T1 and
T2. T1 needs dataset X as input and T2 needs dataset Y as input.
.------------.
| Network B |
.-------------. ingB| |
| Network A o--------|o-----d1 |
| /| '------------'
| s1\ / |
| o--o | .------------.
| s2/ \ | | Network C |
| \| ingC| |
| o--------|o-----d2 |
'-------------' '------------'
Figure 2: Multi-domain resource orchestration.
Using the ALTO endpoint property service, an ALTO client in the
resource orchestrator can discover that d1 satisfies the computing
requirements of T1 and d2 satisfies the computing requirements of T2.
Hence there are only two candidate endpoint pairs: (s1, d1) and (s2,
d2).
Afterwards, using the ALTO path vector extension, the ALTO client can
retrieve the bandwidth sharing information of task T1 and T2, denoted
as x1 and x2, respectively, as follows.
A: x1 + x2 <= 10Mbps
B: x1 <= 3Mbps
C: x2 <= 3Mbps
With such information, the resource orchestrator can make the optimal
resource orchestration decision to reserve 3 Mbps bandwidth for task
T1, and 3 Mbps bandwidth for task T2.
Xiang, et al. Expires September 12, 2019 [Page 5]
Internet-Draft ALTO for Multi-Domain March 2019
3.3. Federated Machine Learning
Instead of moving large-scale datasets from multiple devices /
networks to a centralized location for training, federated learning,
is a distributed machine learning approach which enables training on
distributed datasets residing on different autonomous systems
(devices or networks). In this way, only updates on the training
model need to be communicated between networks, leading to
substantial reduction of networking resource consumption (e.g.,
saving bandwidth).
3.3.1. How federated machine learning can benefit from ALTO
Federated machine learning requires efficient scheduling algorithms
to decide how networking resources should be allocated to transmit
training model updates between different ASes. Similar as moving
large-scale datasets between multiple ASes, moving updates of
training model between ASes can also benefit from the availability of
networking information, such as the AS-path and bandwidth sharing.
ALTO provides a standardized approach for federated machine learning
schedulers to retrieve such information from networks so that
adaptive scheduling decisions can be made.
3.3.2. Example
Consider the example in Figure 3, where machine learning workers are
located in AS A and D, while AS B and C are transit networks for data
traffic transmitted between A and D. When AS A has a large, critical
training model update to send to D. It first queries the ALTO
servers and B and C for the endpoint cost (e.g., bandwidth) to
transmit data from A to D. Suppose the ALTO server at AS B returns
an endpoint cost of 10Mbps, while the ALTO server at AS C returns an
endpoint cost of 100 Mbps. AS A can then use such information to
make the optimal model update scheduling algorithm to send the
training model update to AS D via AS C, instead of AS B.
Xiang, et al. Expires September 12, 2019 [Page 6]
Internet-Draft ALTO for Multi-Domain March 2019
+-----+
-------| AS B|--
+-----+ / | | \ +--+---+
| AS A|/ +-----+ \ | |
| |\ =| AS D +
+-----+ \ +-----+ / | |
-------| AS C|--/ +------+
| |
+-----+
Figure 3: Federated machine learning.
4. A Generic Framework
After reviewing several important, novel multi-domain applications
that can benefit substantially from ALTO, this document describes a
generic framework for such applications to use ALTO to retrieve
information from networks to improve their performance. The high-
level architecture of this framework is given in Figure 4.
Xiang, et al. Expires September 12, 2019 [Page 7]
Internet-Draft ALTO for Multi-Domain March 2019
.---------------------------------------------------------------------.
|Application Layer |
| .-------------. .-------------. |
| |Application 1| ... |Application N| |
| |ALTO Client 1| |ALTO Client N| |
| '-------------' '-------------' |
'-------------|---------\---------------/----|------------------------'
.- - - - - - -| - - - - -\ - - - - - - /- - -|- - - - - - -- - - - - -.
|Service | \ / | |
|Layer | \ / | |
| .-----------------. .-----------------. |
| | Network 1 | | Network N | |
| | | | | |
| |ALTO Server 1 | ... |ALTO Server N | |
| |Execution Agent 1| |Execution Agent N| |
| '-----------------' '-----------------' |
'- - - - - | - - - - - - - - - - - - - - - - - - - - -|- - - - - - - -'
.----------|------------------------------------------|---------------.
|Signaling | | |
|Layer | | |
| .----------------. .----------------. |
| | Network 1 | ... | Network N | |
| '----------------' '----------------' |
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'
Figure 4: Generic framework of using ALTO in multi-domain
applications.
The top layer of this framework is the application layer, in which
each application deploy one or more ALTO clients to query for
information provided by networks. The middle layer is the service
layer. In this layer, each network deploys one more more ALTO
servers to respond the queries sent by the ALTO clients from
applications, and deploys one or more execution agents to respond to
the applications' resource consumption actions. The bottom layer is
the signaling layer, in which each network deploys interdomain
protocols / systems, such as routing protocol BGP and resource
reservation system OSCARS.
4.1. Workflow
The basic workflow of this framework is as follows.
o An application identifies the networks whose resources (e.g.,
networking, computation and storage) it may want to consume, and
invokes its ALTO clients to query the ALTO servers deployed in
those networks for detailed resource information using base ALTO
Xiang, et al. Expires September 12, 2019 [Page 8]
Internet-Draft ALTO for Multi-Domain March 2019
protocol and its extension services (e.g., path vector, cost
calendar and so on);
o Upon receiving a query from an ALTO client, an ALTO server checks
its local information, contacts the underlying signaling layer
protocol / system of its residing network if local information is
outdated, and returns the latest resource information to the
querying ALTO client;
o The applications uses the resource information collected from ALTO
servers to make resource allocation decisions (e.g., route
selection, resource reservation, etc.), and send such decisions to
corresponding execute agents in the corresponding networks (e.g.,
the simple-reservation-interface of OSCARS).
5. Requirements of ALTO in Multi-Domain Applications
Using ALTO to improve the performance of recent novel multi-domain
applications poses several new design requirements. This section
discusses these requirements and briefly review existing efforts in
the ALTO working group aiming to satisfy them.
5.1. Design Requirements
o Exposing information of alternative resources. Current ALTO
protocols and its extensions only provide information of currently
used resources (e.g., currently used interdomain route). However,
exposing information of alternative resources (e.g., available but
not used interdomain routes) may provide the users of new multi-
domain applications (e.g., flexible interdomain routing) more
flexibility on choosing different resources, giving networks that
provide such applications additional business opportunities.
o Providing a unified, accurate representation of multiple types of
resources. Current ALTO protocols and its extensions mainly focus
on providing network information to applications, with the
exception of endpoint property service. However, as new multi-
domain applications often consume multiple types of resources
across multiple networks, encoding such information accurately in
a unified approach is crucial for deploying ALTO to improve such
applications' performance.
o Providing interfaces for more flexible query. Current ALTO
protocol and its extensions allows applications to query resource
information by specifying IP addresses of endpoints and simple
filters. However, with the emerging of new networking
architecture (e.g., software defined networking and network
function virtualization) and the fine-grained resource requirement
Xiang, et al. Expires September 12, 2019 [Page 9]
Internet-Draft ALTO for Multi-Domain March 2019
of applications (e.g., link-disjoint paths and endpoint
precedence), applications need a more flexible interface to
specify queries of resource information.
5.2. Existing Efforts in the ALTO Working Group
Several documents have been submitted to the ALTO working group, with
the aim to satisfy one or more of the design requirements discussed
above. For example, [DRAFT-PV], [DRAFT-RSA], [DRAFT-UNICORN-INFO]
and several other documents propose and apply the ALTO path vector
extension to provide accurate networking resource information to
support multi-domain resource orchestration. [DRAFT-NFCHAIN]
proposes to use ALTO to support resource orchestration for multi-
domain service function chaining, and proposes a new ALTO extension
to retrieve AS path of network functions across different networks.
[DRAFT-CONTEXT] proposes proposes to extend cost information
specified in RFC7285 by providing several possible cost values for
the same cost metric where each value depends on qualitative criteria
as opposed to quantitative criteria such as time. [DRAFT-UR] makes a
proposal to use mathematical programming constraint as a generic
representation of multiple resources. [DRAFT-FCS] proposes a
flexible flow query extension service to allow applications to
specify query entities based on flexible matching conditions (e.g.,
TCP/IP 5-tuple) instead of IP addresses only.
6. Summary
This document reviews several emerging multi-domain applications and
how they can benefit from ALTO. It then describes a generic
framework for multi-domain applications to use ALTO to improve the
performance. In addition, several design requirements are discussed.
Though different drafts in the working group have been trying to
address one or more these design requirements, a systematic
investigation of these issues is still missing. The authors of this
document plan to perform such an investigation and make a unified
design proposal in the next version of this document.
7. References
7.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>.
Xiang, et al. Expires September 12, 2019 [Page 10]
Internet-Draft ALTO for Multi-Domain March 2019
7.2. Informative References
[DRAFT-CONTEXT]
Randriamasy, S., "ALTO Contextual Cost Values", 2017,
<https://datatracker.ietf.org/doc/draft-randriamasy-alto-
cost-context/>.
[DRAFT-FCS]
Zhang, J., Gao, K., Wang, J., Xiang, Q., and Y. Yang,
"ALTO Extension: Flow-based Cost Query", 2017,
<https://datatracker.ietf.org/doc/draft-gao-alto-fcs/>.
[DRAFT-NFCHAIN]
Perez, D. and C. Rothenberg, "ALTO-based Broker-assisted
Multi-domain Orchestration", 2018,
<https://datatracker.ietf.org/doc/html/draft-
lachosrothenberg-alto-brokermdo-01>.
[DRAFT-PV]
Bernstein, G., Lee, Y., Roome, W., Scharf, M., and Y.
Yang, "ALTO Extension: Abstract Path Vector as a Cost
Mode", 2015, <https://tools.ietf.org/html/draft-yang-alto-
path-vector-01>.
[DRAFT-RSA]
Gao, K., Wang, X., Xiang, Q., Gu, C., Yang, Y., and G.
Chen, "A Recommendation for Compressing ALTO Path
Vectors", 2017, <https://datatracker.ietf.org/doc/draft-
gao-alto-routing-state-abstraction/>.
[DRAFT-UNICORN-INFO]
Xiang, Q., Newman, H., Bernstein, G., Du, H., Gao, K.,
Mughal, A., Balcas, J., Zhang, J., and Y. Yang,
"Implementation and Deployment of A Resource Orchestration
System for Multi-Domain Data Analytics", 2017,
<https://datatracker.ietf.org/doc/draft-xiang-alto-
exascale-network-optimization/>.
[DRAFT-UP]
Roome, W., Chen, S., Randriamasy, S., Yang, Y., and J.
Zhang, "Unified Properties for the ALTO Protocol", 2015,
<https://datatracker.ietf.org/doc/draft-ietf-alto-unified-
props-new/>.
Xiang, et al. Expires September 12, 2019 [Page 11]
Internet-Draft ALTO for Multi-Domain March 2019
[DRAFT-UR]
Xiang, Q., Le, F., and Y. Yang, "ALTO Extension: Unified
Resource Representation", 2018,
<https://datatracker.ietf.org/doc/draft-xiang-alto-
exascale-network-optimization/>.
[RFC7285] Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S.,
Previdi, S., Roome, W., Shalunov, S., and R. Woundy,
"Application-Layer Traffic Optimization (ALTO) Protocol",
RFC 7285, DOI 10.17487/RFC7285, September 2014,
<https://www.rfc-editor.org/info/rfc7285>.
[RFC8189] Randriamasy, S., Roome, W., and N. Schwan, "Multi-Cost
Application-Layer Traffic Optimization (ALTO)", RFC 8189,
DOI 10.17487/RFC8189, October 2017, <https://www.rfc-
editor.org/info/rfc8189>.
Authors' Addresses
Qiao Xiang
Yale University
51 Prospect Street
New Haven, CT
USA
Email: qiao.xiang@cs.yale.edu
Franck Le
IBM
Thomas J. Watson Research Center
Yorktown Heights, NY
USA
Email: fle@us.ibm.com
Y. Richard Yang
Yale University
51 Prospect Street
New Haven, CT
USA
Email: yry@cs.yale.edu
Xiang, et al. Expires September 12, 2019 [Page 12]