[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
About optimality of inter-AS parallel computation in draft-dachille-inter-area-path-protection
Dear ccampers, Dimitri,
we were reported by Vishal several comments collected at Seoul regarding
draft-dachille, proposing the parallel computation (or
joint-computation) approach with ARO for diverse path-pair computation.
After several internal discussions and thoughts, we are now going to
react to these, as anticipated in the recent mail by Vishal.
Among other comments there was one issued by Dimitri.
If I correctly understood, his point was the following: the joint
computation (with ARO) is guaranteed to *achieve* the global optimum
only in the trivial case of a single AS, but not along a path with
multiple AS. This is indeed due to the distributed nature of the route
selection process, that can optimize local route segments, but can not
generally achieve the *global* optimum (in fact, distributed
optimization would need an iterative process to converge to global
optimum, which is not the case here). Now, the Dimitri point was: why
prefer the joint computation (with ARO) to sequential computation (with
XRO), since neither of the two in general achieve the global optimum ?
This is a good question and gives me the opportunity to make some more
general considerations about the ARO approach scketched in the draft.
1. If you consider the classical problem (i.e., find two disjoint paths
with the objective of minimizing some link metric) despite
joint-computation does not reach the global optimum, it definitely
improves the quality of the solution w.r.t. sequential-computation. The
exact gain depends on the particular topology, and there are of course
cases in which it can be zero (see note 1).
2. An additional benefit of joint- (or "parallel-") vs.
sequential-computation is robusteness against trap-topologies (ref. to
draft-dachille)
3. The joint-computation with ARO can be applied to a vast class of
problems dealing with path-pair computation. I'm giving below some few
examples.
(I think this also adrresses some comment by Jean-Louis). In general, in
each problem of path-pair computation one can distinguish the
constraint(s) from the optimization objective:
Case-I: find a pair of disjoint paths (i.e., disjointedness is a
constraint) wich minimize some link metric (hop-length, link-load, etc.)
Case-II: find a pair of maximally disjoint paths (disjointedness becomes
an objective)
Case-III: find a pair of disjoint paths P1 and P2 that minimizes the
difference |d(P1)-d(P2)|, where d() is some metric associated to the
path (e.g., delay....might make sense in optical networks ??).
Case-IV: Assuming that for each link pair (i,j) it is possible to assign
a "correlation" factor r(i,j) accounting for the probability of
contemporary failures, find a pair of paths that minimizes the
max{r(i,j)} over all pairs such that i is in P1 and j is in P2 [see note 2].
Maybe not all the above items are of practical interest in real
applications, but the fact that our approach encompasses all of them
proves the flexibility and usefulness of joint-computation with ARO.
Several other problems can be found.
In general, joint-selection with ARO can address to all problems
presenting some *joint constraints* and/or *joint optimization
objective* on the pair of paths.
Needless to say, each such case requires ad-hoc route-selection
_algorithms_ to be implemented in the ingress border nodes (or in a
centralized server within each AS), but all can be accommodated with the
signaling procedure based on ARO.
Admittedly, the current draft version exclusively focused on case-I, and
fails to make it clear that the set of possible applications is far
broader. We will improve this point in the future version. Incidentally,
I notice here that this is indeed the reason why we proposed the (quite
neutral) term "Associated Route Object" instead of the more specific
"Disjoint R.O." or "Backup R.O." etc.: we wanted to leave it open to a
broad set of possible applications.
Maybe it would make sense to add some additional semantic in the PATH
messages that specify the contraint(s) and/or the objectives to which
the primary (in the ERO) and secondary (in the ARO) paths should
(jointly!) comform.
This might be an associated sub-object of the ARO, perhaps ?
Might be named "Route Pair Requirements" (RPR) ?
In other words, the overall semantic in the PATH messages should sound like:
"compute a primary route segment (in the ERO), and an associated
secondary route segment (in the ARO), such that they are subject to the
contraint(s) X and optimize objective Y (X,Y are contained somehow in
the RPR)".
The ERO+ARO+RPR scheme, in the framework of distributed *joint* route
selection, would be really a quite flexible and general scheme.
What do you think about that ?
Looking forwards to get more comments,
best regards
Fabio Ricciato
Note 1: Having available some guidelines about realistic inter- and
intra-AS topologies, we would be available to run extensive simulations
to assess this gain in realistic case. Is there anyone interested in
this activity ?
Note 2: In general 0<=r(i,j)<=1. This is a "fuzzy" extension of the SRLG
concept. In fact, a SLRG can be defined as a set of links S having
r(i,j)=1 for each i,j in S.