Computing-aware Networking Use case
of ALTOChina MobileBeijing100053Chinaliupengyjy@chinamobile.comChina MobileBeijing100053Chinafuyuexia@chinamobile.com
Transport
Application-Layer Traffic OptimizationComputing aware networkingThe ever-emerging new services are imposing more and more highly
demanding requirements on the network. In order to meet these
requirements, some new technology trends of network emerge as the times
require. On the one hand, for the selection of service node and
forwarding path, in addition to considering the network topology and
link state, more factors are also considered, such as the computing
properties of service node; On the other hand, network and application
present the trend of mutual perception, including application to
perceive the state of network path, or network to perceive the demand of
application.This draft describes a new network scenario and architecture
considering computational properties, and assumes that Alto could be
used as an important node to realize the deployment of services, and to
assist in the selection of service nodes.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.For new services with heavy computing tasks, such as AR/VR, video
recognition and so on, the computing time and network transmission delay
are almost the same order of magnitude. In this kind of scenario,
computing attributes become more important than traditional
services.The generation of edge computing is to solve such problems. Edge
computing is to deploy service nodes close to the user side, which
shortens the distance of network transmission. Moreover, it can deploy
specific computing resources, such as CPU/GPU, to meet the needs of
different services.It is predicted by Gartner that by 2025, more than 50% of the
computing data needs to be analyzed, processed, and stored at the edge.
Since the service providers begins to offer the edge computing
infrastructure to provide better response time and transfer rate. There
are also some challenges of edge computing itself, which are pointed out
in the work of dyncast [draft-liu-dyncast-ps-usecases-01],
[draft-li-dyncast-architecture-00] :* Geographically Scattered Large Number of Edge Sites. The edge sites
are highly distributed and may not have proximate distances to user.* Resource Limitation. There are fewer servers of server per
node.* Heterogeneous Hardware, such as CPU, GPU, Memory, ASICs.* Dynamic Load. The available resources may change quickly.* Edge-cloud Coordination. Edge does not solve all requests.* High Cost. On-site maintenance is expensive.* Mission Critical. Users are counting on you for 100% reliability of
industry automation.So how to collaboratively deploy and computing services based on the
computing resources in network to meet the diverse computing
requirements, and achieve the on-demand allocation and dispatch of
service request needs be studied.Some existing works have begun to consider the computing attributes.
For example, coinrg initiated the consideration of computing and storage
resources. Dyncast proposed how to introduce the scheme of computing
metric at the routing level. Semantic routing[], which also extends the
semantics of routing in a broad sense. However, today's routing system
and technology has been relatively good, the introduction of more metric
in routing still need more theoretical and experimental verification. In
the work of ITU, it is more from the perspective of architecture, such
as ITU Y.CAN-reqts [Y.CAN-reqts: “functional requirements of
Computing-aware Networking”] proposed a new network
architecture-computing-aware networking (CAN), CAN schedules service
request to the optimal computing site along optimal path to meet service
requirements both on network and computing. ITU.Y.CPN-arch [Y.CPN-arch:
“Framework and architecture of Computing power
Network”]provides the framework and architecture of Computing
power Network, specifies its functional entities and defines the
functionalities of these functional entities. So the convergence of
network and computing brought by edge computing includes the issue of
service deployment and service request scheduling. ALTO has done the
work of collect the network information for application, it may help to
do some work in the two important issues:How to deploy service nodes based on computing resources. For this
point, [draft-contras-alto-service-edge-02] gives the corresponding idea
of using Alto to deploy edge computing nodes. Alto can better interact
with the upper application, fully understand the requirements of the
application, including computing requirements and collect the
information of infrastructure resources.How to select the most suitable node for service request. Alto can
also help this kind of work to a certain extent. Centralized selection
of service nodes and paths is relatively easy to implement, such as SDN.
However, emerging service requests require high real-time performance,
and there may be some efficiency and complexity problems, which have
been analyzed in the work of dyncast.Any multi-point deployment service that requires high computing power
or low latency will involve the joint scheduling of network and
computing resources.Take the AR/VR as an example. The upper bound latency for
motion-to-photon (MTP) is less than 20 milliseconds to avoid the
motion sickness. It consists of four parts, and the frame rendering
computing delay is 5.5 milliseconds, so the network delay demand can
be calculated as 5.1milliseconds.So the budgets for computing delay and network delay are almost
equivalent. Considering another factor that the computing resources
have a big difference in different edges,it is necessary to apply
dynamically steer traffic to the ‘best’ edge.Under the scenario of Internet of Vehicles, the services are
divided into auxiliary driving and on-board entertainment services .
For the auxiliary driving function, for road traffic conditions
outside the line of sight due to obstructions, blind areas, etc., the
edge computing node obtains comprehensive road traffic information
around the location of the vehicle, performs unified data processing,
and sends out warning signals for vehicles with potential safety
hazards, to assist the safe driving of vehicles.Apparently, there are obviously differences between services
requirements of auxiliary driving services and entertainment services,
which needs to be processed by different edge nodesIn order to realize ubiquitous computing and service awareness,
interconnection and collaborative scheduling, the computing-aware
networking architecture can be divided into computing service layer,
computing resource layer, computing routing layer, network resource
layer, and computing and network management layer. Among them, the
computing routing layer contains the control plane and data plane which
is shown in Figure 2. Based on the ubiquitous computing resources of the
network, the computing resource layer abstracts and models based on a
unified measurement and modeling template, and announces computing
information to the computing routing layer. And then the computing
routing layer comprehensively considers user needs and network resource
status and computing resource status, to schedule service requests to
appropriate computing nodes. In addition, the computing management layer
completes the control and management of computing resources.* Computing service layer: computing service layer is computing
service provider, which deploys, operates and manages many kinds of
computing services and applications. In addition, it can realize the
functions of service decomposition and service scheduling through the
API gateway.* Computing resource layer: it is based on the existing computing
infrastructure, and includes a combination of computing resources from
single-core CPU to multi-core CPU, CPU+GPU+FPGA, etc. And it could
supply computing modeling function, computing API function, computing
resource identification and other functions to meet the diverse
computing needs of different applications based on physical computing
resources.* Computing-aware routing layer: It contains control plane and data
plane, performs computing-aware routing and generates service scheduling
policy in network layer. Based on the discovery of abstracted computing
and network resources, computing routing layer generates new routing
tables which include the information of computing in network, considers
the state of network and computing comprehensively, and thus generates
routing policy for different service requests. Network resource layer:
It utilizes the existing network infrastructure, which includes access
network, metropolitan area network and backbone network, to provide
ubiquitous network connection.* Computing and network management layer: It adds management
functions towards computing resources and computing services based on
the traditional network management function. Therefore, the computing
and network management layer performs service orchestration, resource
management, routing measurement and computing OAM. In addition, the
computing and network management layer could be used to perform the
pre-configuration function and management function, which interacts with
each functional layer.* Network resource layer: using the existing network infrastructure
to provide network connection, network infrastructure includes access
network, metropolitan area network and backbone network.Based on the five functional modules defined above, computing-aware
networking can realize the awareness, control and scheduling of
computing and network resources, and further perform dynamic and
on-demand service scheduling. The function of computing and network
management layer may be realized by Alto or by opening interface with
Alto server.With the development of edge computing, there is multiple services
duplication deployed in different edge nodes. To improve the
effectiveness of service deployment, the problem of how to choose
optimal edge node to deploy services needs to be solved. More stable
static information should be considered in service deployment, such
as:* Network topology: the overall consideration of network access,
connectivity, path protection or redundancy* The topology of computing resources: including the location and
overall distribution of computing resources in network, and the relative
position towards network topology.* Types of computing resources of edge nodes: such as CPU / GPU,
etc* Location: the number of users brought, the differentiation of
service types requested by users, etc* Location of edge nodes: for edge nodes located in popular area,
which with large amount of users and service requests, the service
duplication can be deployed more than other areas.* Capacity of multiple edge nodes: not only a single node, but also
the total number of requests that can be processed by the resource pool
composed of multiple nodes* Service category: different types of services require different
computing resources. It’s necessary to consider the e category of
computing resources required by the services to deploy services. For
example, whether the business is multi-user interaction, such as video
conferencing, games, or just resource acquisition, such as short video
viewing Alto can help to obtain one or more of the above information, so
as to provide suggestions or formulate principles and strategies for
service deployment.For the collection of those information, second level or minute level
frequency is enough, while serious real-time processing isn't necessary.
For example, periodically collecting the total consumption of computing
resources, or the total number of sessions accessed, to notify where to
depoly more VMS or containers. Unlike the scheduling of request, service
deployment should still follow the principle of proximity. The more
local access, the more resources should be deployed. If the resources
are insufficient, the operator can be informed to increase the hardware
resources. Alto can be used to transmit information.Compared to the deployment, scheduling needs to consider more dynamic
information to select and adjust the optimal (rather than the shortest)
path in real timesuch as:* Mobility: CAN schedules service request to the optimal service node
among several service nodes near to users. So when user mobiles, the
nearby service nodes changes and new scheduling are needed to chooses
new path and new service node.* Real time delay of network: network delay is always in the process
of dynamic change, and more and more services propose strict time
requirements, which is one of the most important factors affecting user
experience.* Real time status of computing resources: computing resources change
frequently and the status of computing resources heavily affect the
completion time of service, which is also one of the most important
factors affecting user experience.* Comprehensive status of network status and computing status: the
update frequency of computing status and network status is different, it
is necessary to generate a comprehensive value to reflect the status of
them.* Various service requirements: different services propose different
service requirements on computing and network, including bandwidth,
latency, computing resources etc, and the latency includes both
transmission latency in network and processing latency in service node,
for transmission-intensive services, the transmission latency accounts a
lot , so the network latency of services are more important.Availability of network or computing resources: such as temporary
unavailability caused by network equipment or service node failure.Alto can still help collect real-time network and service node
information:* Providing the best choice of network and service nodes. Based on
the collected network information, computing information, and service
requirements on network and computing, Of course, there are still some
real-time and complexity problems.* Providing data analysis and policy distribution, real-time node
selection still depends on distributed routing, such as dyncast.The converge of network and computing, as well as the interaction
with applications has become one of the current technical development
directions. This draft analyzes the development status of the current
computing aware network and the functional modules in its architecture
that can interact with Alto. As a protocol to connect networks and
applications, Alto may play a more important role.TBD.TBD.Thanks to Yizhou Li, Qin Wu, Tianji Jiang for helpful suggestion.
Thanks go to Dirk Trossen, Luigi Iannone, and Carsten Bormann for their
inspiring Dyncast work.