Hi, Dirk 

    Some personal understandings about the route selection:


    Client -----> Ingress node -----> middle nodes----> Egress node1 ----> 
server instance1 supporting serivceID1 (meanwhile unicast address serverIP1)
                                                                    \
                                                                        \
                                                                                
----> Egress node2 ---->server instance2 supporting serivceID1 (meanwhile 
unicast address serverIP2)


    In CAN, the first step is that the client tries to access to the service1 
via an anycast IP address (serviceID1).
            a) Before the first step, the server instances should announce the 
route for the serviceID1.
            b) The Ingress node should have established tunnels to Egress1 and 
Egress2, and keep measuring the delay for the tunnels.
            c) The Ingress node should also receive load information updates 
from the server instances.
   d) The Ingress maintains a route for the serviceID1. It may be the tunnel to 
Egrees1 or the tunnel to the Egrees2.
   In the second step, the Ingress forwards the packet targeting to serviceID1 
into a proper tunnel.

Therefore, the server instances do not care about the path. The path selection 
happens on the Ingress node.
There may be several paths between the Ingress and Egress1, but which path to 
use in CAN should have be decided before the first step. The underlay 
technology, such as SRv6, should be able to provide a low-latency path to the 
Egress1. 

For the underlay routing, the route for the serviceID1 on the Ingress is 
changed in CAN. Traditionally, it is decided by BGP route selection methods. In 
CAN, the route is decided by a more complicated procedure. However, in the 
forwarding plane, it keeps the same, i.e. forwarding according to the routing 
table.


Best Regards
Zongpeng Du



[email protected] & [email protected]
 
From: Dirk Trossen
Date: 2022-06-17 16:21
To: [email protected]; linda.dunbar; dyncast
CC: rtgwg; David R. Oran; jefftant.ietf
Subject: Re: [Dyncast] CAN BoF issues #7 #17 #32
Hi Peng,
 
Please see inline.
 
Best,
 
Dirk
 
From: [email protected] [mailto:[email protected]] 
Sent: 17 June 2022 10:13
To: Dirk Trossen <[email protected]>; linda.dunbar 
<[email protected]>; dyncast <[email protected]>
Cc: rtgwg <[email protected]>; David R. Oran <[email protected]>; jefftant.ietf 
<[email protected]>
Subject: Re: RE: [Dyncast] CAN BoF issues #7 #17 #32
 
Hi Dirk,
 
For mode 1, CAN is only aware of computing information, because the basic 
routing could select the 'best' path naturely. 
[DOT] In mode 1, I can well observe path-related metrics, say latency, and pick 
IP1 over IP2 (both realized over different paths, hence likely experiencing 
different network metrics).This is the ‘indirect’ manner I mentioned. But the 
path themselves to IP1 and IP2 is not something that CAN here impacts since 
they are created entirely separately by the underlay. More, as explained in 
mode 2, there may be a choice of two or more path to IP1, but it’s the network 
that makes the selection here which to use, while CAN only chooses IP1 over 
IP2, tied to the choice of path that the underlay made. 
 
For mode 2, CAN could also know more about the network path when the computing 
node selection is done, for instance, SR policy, network slicing, detnet, etc. 
and then utilize them. I don't think it will influence the underlay routing, 
some apps could require for the specific routing policy/strategy even there is 
no CAN service.
[DOT] How can it not impact the underlay? In the way I describe it, if you want 
to jointly optimize the path constructed to a single instance IP address, you 
will need to do this in the underlay routing, akin to other policy-based 
decisions. 
 
CAN aims to provide the joint optimization service to specific applications. 
The difference is that whether to select the 'best' resource all the time, or 
just select the 'appropriate' one based on more awareness and decision making.
[DOT] I don’t quite see how this relates to my modes since both aim for what 
you call the ‘appropriate’ choice. I am not sure I understand the difference to 
‘best’ though unless ‘best’ is limited to network decisions without compute 
awareness here, which is a limited view. I would argue that we want to extend 
‘best’ to include both.
 
Regards,
Peng


[email protected]
 
From: Dirk Trossen
Date: 2022-06-17 15:01
To: Linda Dunbar; [email protected]; dyncast
CC: rtgwg; David R. Oran; jefftant.ietf
Subject: RE: [Dyncast] CAN BoF issues #7 #17 #32
Hi Linda, Peng, all,
 
Let us tease apart what “include the path selection” may mean since the nature 
of this inclusion may be significant in difference.
 
For this, let us assume a service instance S_1 as one of possibly several ones 
for service S. S_1 may be reachable over a number of network paths, the 
selection of some of which would significantly impact any compute-aware 
selection of S_1 over the other available service instances for S. I can see 
two modes of ‘including path selection”:
 
1.      S_1 exposes two (or more) IP addresses, where each IP address reflects 
a path from the client to the exposed address. IP addresses may be exposed 
across more than one network operator, multi-homing the service instance. Now 
here, ‘path selection’ is indirectly done by picking one IP address over all 
others, including the IP addresses of other service instances, and indeed, such 
indirect path selection may well be done through a metric that measures against 
(at least one) crucial path-related metric. But ultimately, the CAN provider 
selects one of possibly many IP address still, right? More importantly, it 
remains the task of the underlay routing infrastructure (again, which could 
include more than one network operator) to determine what it deems as the 
‘best’ path to each of the IP addresses (including the multi-homed S_1 
addresses). 
2.      Let’s stick with one IP address to S_1 now though but there are still 
at least two possible paths to it, where the selection of one over any of the 
other possible ones could well impact the compute-aware suitability of S_1 over 
any of the other service instances. Problem here is that ‘including the path 
selection’ would mean to impact the routing to the single S_1 IP address in a 
manner that that routing decision takes the compute-awareness into account. The 
path selection here is not indirect but direct, together with the IP address 
(i.e., service instance endpoint) selection. What is required here is that CAN 
provider and underlay somehow work together in selecting one path over another 
(to the same IP address), which in turn would mean to impact the overall 
routing decision for S_1’s IP address, which in turn would mean to impact the 
underlay routing infrastructure since the resulting (compute-aware) path 
configuration, in the form of suitable forwarding entries, needs distribution 
in the underlay infrastructure. 
 
I think we have to be clear which of the two options we see in the CAN scope 
but also if I may have missed options here. As we can see already from those 
two options, they  have a significant impact on the architecture we may 
envision for CAN but also for its solution adoption. From my side, I have seen 
CAN mainly as an endpoint selection problem, so understood ‘path selection’ as 
an indirect one in the manner described in item 1. I just want to throw the 
options out here to solicit feedback from the community on this so that we get 
a good understanding moving forward.
 
Best,
 
Dirk
 
From: Dyncast [mailto:[email protected]] On Behalf Of Linda Dunbar
Sent: 15 June 2022 23:07
To: [email protected]; dyncast <[email protected]>
Cc: rtgwg <[email protected]>; David R. Oran <[email protected]>; jefftant.ietf 
<[email protected]>
Subject: Re: [Dyncast] CAN BoF issues #7 #17 #32
 
Peng, 
 
For Issue #32, you said: “CAN does not compute path, it selects endpoints.”
 
If CAN means Computing Aware Networking, it should include the path selection. 
Maybe CAN is about  Selecting (or computing) the optimal paths based on the 
combination of network conditions and the end point computing available 
resources? 
 
My two cents, 
 
Linda
 
From: Dyncast <[email protected]> On Behalf Of [email protected]
Sent: Monday, June 13, 2022 10:00 PM
To: dyncast <[email protected]>
Cc: rtgwg <[email protected]>; David R. Oran <[email protected]>; jefftant.ietf 
<[email protected]>
Subject: [Dyncast] CAN BoF issues #7 #17 #32
 
Dear All,
 
Here are the responses to issues #7 #17 #32, any comments are welcome!  The 
issues and responses are also copied to the questioner 
(https://datatracker.ietf.org/doc/minutes-113-can/), hope for further 
suggestions and confirmation. Thanks!
 
#7 This seems to assume conventional non-distributed applications just running 
at the edge. What about modern frameworks like Sapphire? and Ray? 
It would be good to understand the multi-site requirements of such frameworks, 
which seems to mainly run in single DCs.
 
#17 Whether the interests of the organization deploying the application and the 
organization providing the network connectivity are aligned. Google doesn't 
worry about this because they are both.
The question is more what the scope and semantic of information is that will 
need to cross organizational boundaries. This needs further study, in 
particular when assuming stakeholder division between service and network 
provider.
 
 #32 How to effectively compute paths? Shall we put CPUs into account? 
CAN does not compute path, it selects endpoints. Path selection (to a given 
endpoint) is subject to the routing at the IP underlay. For selecting 
endpoints, CPU information may be taken into account to achieve the 
'compute-awareness' that CAN strives for.  
 
You can also add your comments to any of 
them(https://github.com/CAN-IETF/CAN-BoF-ietf113/issues). 
 
Regards,
Peng
 


[email protected]
 
From: Linda Dunbar
Date: 2022-05-11 06:11
To: [email protected]
Subject: [Dyncast] Categories of the CAN BoF issues
CAN BoF proponents:
 
Many thanks for creating the CAN BoF issues tracking  in the Github: 
https://github.com/CAN-IETF/CAN-BoF-ietf113/issues/created_by/CAN-IETF?page=1&q=is%3Aopen+is%3Aissue+author%3ACAN-IETF
 
I went through the issues captured in the Github and characterized them into 
groups. Some issues can be lumped together for the discussion. There are quite 
a few issues related to the requirements, which need to be clarified.
 
Best Regards, Linda
 
 
Issues associated with Applications vs. Underlay networks:
·        Consider not to load underlay network with application details. #35
·        We have multiple upper layer application. Do we have additional needs 
for routing(e.g. WG?) or we are using those applications and won't need such 
new WG? #30
·        It needs application information too, so it can't just make a decision 
at the network layer. #23
·        This is not striked as a routing problem; it's all service discovery 
that can be done in higher layers. #21
·        3GPP and URSP solve this based on UPF selection. It uses both endpoint 
+ application. #20
·        One overlay plane per application. Resources/metric specific to the 
plane. #19
·        How does the application layer or the transport layer learn the 
network status to steering traffic? #16
 
Need more clear requirements for CAN (to be addressed by 
draft-liu-dyncast-ps-usecases):
·        Need to understand if three are requirement to avoid extra messages or 
1ms of latency #36
·        Regarding the flow affinity, is it from network perspective or from 
application/computation perspective? #33
·        How to effectively compute paths? Shall we put CPUs into account? #32
·        What happens when the user moves? If so we also need to move 
application context. #25
·        It can only move the services around as fast as it can update the 
routing plane. which comes back to the point about service discovery (waiting 
for convergence/distribution as opposed to just updating the SD server) #24
·        Whether the interests of the organization deploying the application 
and the organization providing the network connectivity are aligned. Google 
doesn't worry about this because they are both. #17
o   The question is more what the scope and semantic of information is that 
will need to cross organizational boundaries. This needs further study, in 
particular when assuming stakeholder division between service and network 
provider.
·        It seems impossible to satisfy that requirement simultaneously with 
the latency requirement. #15
·        It wasn't clear that how hard of a requirement session persistence is. 
#13
o   A session usually creates ephemeral state. If execution changes from one 
(e.g., virtualized) service instance to another, state/context needs transfer 
to another. Such required transfer of state/context makes it desirable to have 
session persistence (or instance affinity) as the default, removing the need 
for explicit context transfer, while also supporting an explicit state/context 
transfer (e.g., when metrics change significantly).
·        Should it select UPF based on the application? Steering is done per 
user? or per application? #9
·        This seems to assume conventional non-distributed applications just 
running at the edge. what about modern frameworks like Sapphire? and Ray? #7
o   It would be good to understand the multi-site requirements of such 
framework, which I have understood to mainly run in single DCs.
·        Relation to 3GPP UPF #6
·        Relation to ALTO #5
·        Do the mobility issues and associated protocols are also in scope? 
There are scenarios where routing alone would not be sufficient. #4
·        What is the position in the edge location regarding to UPF? #3
·        Is there some sort of authorization model so that an edge can indicate 
whether or not it will provide compute services? #2
·        What is CNC and the relationship with CAN #1
 
Measurement of the Computing Resources (to be addressed by 
draft-du-computing-resource-representation):
·        It is hard to use existing work to measure the computation, but we can 
optimize the latency through the performance monitoring. We have 
performance/measurement matrix over there. #34
·        Clarifications on the computing resource, its requirements and 
characteristics would be helpful. #27
·        Each application may have a different definition of "resources" these 
then have to be boiled down into a single topology Network Aware Computing 
(NAC! :) does scale #14
·        Is computing resource measurable? #10
o   It is, and how to use the measurement would be solution related. See IFIP 
Networking 2022 paper on how to simply expose “computing capability” and 
achieve better steering with such simple measure.
·        Why compute resource is different with other resources? #8
·         
Load Balance based solutions:
·        The point is that we need a standardized LB protocol #18
·        The LB as part of the application itself is superior (part of the 
distributed application itself is to obtain and keep updating the "best" 
unicast location to use). #22
·        If there is anything missing from current lbs that would prevent their 
use as-is? other than there is for market reasons no interop standard between 
different lbs? #12
·        For the load balance, should it learn the network’s status? #11
·         
Dyncast based Solution issues:
·        For Dyncast, when the time is short, is it possible for the router to 
decide the routing? It is too fast. #31
·        Is dyncast proposed to encapsulate? #29
·        Will CAN dyncast impact each and every router? How to avoid loops? #28
·        What's the assumed scale of a D-router? 10 ^ 6 sessions? 100^ 8? 
What's the assumed update rate? !Gb? 1Tb? #26
 
 
 
 
_______________________________________________
rtgwg mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/rtgwg

Reply via email to