alto pids


Y. Richard Yang
 

Some revisions... Please see below.

On Tuesday, October 20, 2015, Y. Richard Yang <yry@...> wrote:
I made some changes to make the nearest-anchor more general. Please see below.

On Tue, Oct 20, 2015 at 1:10 PM, Y. Richard Yang <yry@...> wrote:
Good discussions. I have reported it as a bug in https://github.com/snlab/alto. In addition to reporting as a bug, which helps us to get priority, let's start some specific discussions.

What we need is a mechanism so that an admin can define the partition of hosts into PIDs. Let me give a try to start a strawman.

We can consider the hosts in the network as leaves in a graph. Each host also has a set of attributes (e.g., geolocation) beyond the graph properties. Hence, I assume that we need a mechanism to use these properties to group the hosts. A first idea coming to mind is cluster analysis (https://en.wikipedia.org/wiki/Cluster_analysis). 

Let me start with an anchor based approach. Assume that we allow the admin to define a set of anchors, where each anchor is a switch. 
{
   "netmap-grouping-alg": "nearest-anchor",

   "alg-metric": "hopcount",     // it could be "nearest geo-location", if we know

   "anchors": [ "sw1", sw3", "sw4"],

"anchors": [ "pid1": ["sw1", "sw2"] , "pid2" : ["sw3"], "pid3": ["sw4", "sw5"] ],


Hence each PID is seeded with a set, instead of a single switch. We can then approximate other design, for example using regular expressions.


Seeding with fixed switches may not be flexible. For example, what if you want a new switch to be an anchor. An alternative us to provide tags to switches. For example, the nearest-anchor call only defines the network map name and the names of pids. We have an API to allow assign tags to switch: 
sw1 -> netmap1:pid2, netmap3:pid10

In a sense we provide a map management API, which allows create maps, defines the grouping algorithm (e.g., nearest-anchor), and tag switches, ...

Note that link based partition can be interesting as well.

Richard
 
 Richard

   "cost-map-cal-alg": "avg"   // cost from pid1 (sw1 cluster) to pid2 (sw2 cluster) is the average of host pairs
}
Then we can see that it defines three PIDs, where each PID is defined by an anchor in anchors. When an host is added, we can automatically compute which anchor is the nearest and hence assign it to it. We can prove that each PID is a connected component, if we assume the full graph is connected, when we consider graph hopcount. 

How to define a more general mechanism?

Richard

On Tue, Oct 20, 2015 at 12:51 PM, Gao Kai <gaok12@...> wrote:
Hi there,

Unfortunately current implementation doesn't support this.  My guess is that the developers of alto-hosttracker wrote this module mainly to support the Endpoint Cost Service instead of the Network Map/Cost Map so they didn't implement PID partition.  I'll forward your e-mail to confirm that.

However, in an internal meeting this July we did discuss about PID partition using hosttracker so I think there might be some progress on that.

Besides, you can report it as a bug by visiting https://bugs.opendaylight.org/enter_bug.cgi?product=alto.  Since there are some major changes in the latest release and we have limited manpower, I can't really guarantee that this issue can be fixed soon enough. :(

We really appreciate your participation and we look forward to getting more feedbacks from you.  Thanks very much!

Regards,
Kai

On 20/10/15 22:46, adenisiewicz@... wrote:
Is it possibility to define pids for the network created in mininet that is read by hosttracker-network-map? 
When I try, all hosts are grouped into one pid. 
_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev


_______________________________________________
alto-dev mailing list
alto-dev@...
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.opendaylight.org_mailman_listinfo_alto-2Ddev&d=AwICAg&c=-dg2m7zWuuDZ0MUcV7Sdqw&r=4G36iiEVb2m_v-0RnP2gx9KZJjYQgfvrOCE3789JGIA&m=ZBFW8jc61u6TZZ_hrnVbyvrEV7Mj9NHxC86L0AJXeKM&s=zC3GJx0GJ28Q8X7jWZuYaFondueHh2mVdEN4QznLuxs&e=




--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================



--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================


--
Richard


Y. Richard Yang
 

I made some changes to make the nearest-anchor more general. Please see below.

On Tue, Oct 20, 2015 at 1:10 PM, Y. Richard Yang <yry@...> wrote:
Good discussions. I have reported it as a bug in https://github.com/snlab/alto. In addition to reporting as a bug, which helps us to get priority, let's start some specific discussions.

What we need is a mechanism so that an admin can define the partition of hosts into PIDs. Let me give a try to start a strawman.

We can consider the hosts in the network as leaves in a graph. Each host also has a set of attributes (e.g., geolocation) beyond the graph properties. Hence, I assume that we need a mechanism to use these properties to group the hosts. A first idea coming to mind is cluster analysis (https://en.wikipedia.org/wiki/Cluster_analysis). 

Let me start with an anchor based approach. Assume that we allow the admin to define a set of anchors, where each anchor is a switch. 
{
   "netmap-grouping-alg": "nearest-anchor",

   "alg-metric": "hopcount",     // it could be "nearest geo-location", if we know

   "anchors": [ "sw1", sw3", "sw4"],

"anchors": [ "pid1": ["sw1", "sw2"] , "pid2" : ["sw3"], "pid3": ["sw4", "sw5"] ],


Hence each PID is seeded with a set, instead of a single switch. We can then approximate other design, for example using regular expressions.

 Richard

   "cost-map-cal-alg": "avg"   // cost from pid1 (sw1 cluster) to pid2 (sw2 cluster) is the average of host pairs
}
Then we can see that it defines three PIDs, where each PID is defined by an anchor in anchors. When an host is added, we can automatically compute which anchor is the nearest and hence assign it to it. We can prove that each PID is a connected component, if we assume the full graph is connected, when we consider graph hopcount. 

How to define a more general mechanism?

Richard

On Tue, Oct 20, 2015 at 12:51 PM, Gao Kai <gaok12@...> wrote:
Hi there,

Unfortunately current implementation doesn't support this.  My guess is that the developers of alto-hosttracker wrote this module mainly to support the Endpoint Cost Service instead of the Network Map/Cost Map so they didn't implement PID partition.  I'll forward your e-mail to confirm that.

However, in an internal meeting this July we did discuss about PID partition using hosttracker so I think there might be some progress on that.

Besides, you can report it as a bug by visiting https://bugs.opendaylight.org/enter_bug.cgi?product=alto.  Since there are some major changes in the latest release and we have limited manpower, I can't really guarantee that this issue can be fixed soon enough. :(

We really appreciate your participation and we look forward to getting more feedbacks from you.  Thanks very much!

Regards,
Kai

On 20/10/15 22:46, adenisiewicz@... wrote:
Is it possibility to define pids for the network created in mininet that is read by hosttracker-network-map? 
When I try, all hosts are grouped into one pid. 
_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev


_______________________________________________
alto-dev mailing list
alto-dev@...
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.opendaylight.org_mailman_listinfo_alto-2Ddev&d=AwICAg&c=-dg2m7zWuuDZ0MUcV7Sdqw&r=4G36iiEVb2m_v-0RnP2gx9KZJjYQgfvrOCE3789JGIA&m=ZBFW8jc61u6TZZ_hrnVbyvrEV7Mj9NHxC86L0AJXeKM&s=zC3GJx0GJ28Q8X7jWZuYaFondueHh2mVdEN4QznLuxs&e=




--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================



--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================


Y. Richard Yang
 

Good discussions. I have reported it as a bug in https://github.com/snlab/alto. In addition to reporting as a bug, which helps us to get priority, let's start some specific discussions.

What we need is a mechanism so that an admin can define the partition of hosts into PIDs. Let me give a try to start a strawman.

We can consider the hosts in the network as leaves in a graph. Each host also has a set of attributes (e.g., geolocation) beyond the graph properties. Hence, I assume that we need a mechanism to use these properties to group the hosts. A first idea coming to mind is cluster analysis (https://en.wikipedia.org/wiki/Cluster_analysis). 

Let me start with an anchor based approach. Assume that we allow the admin to define a set of anchors, where each anchor is a switch. 
{
   "netmap-grouping-alg": "nearest-anchor",

   "alg-metric": "hopcount",     // it could be "nearest geo-location", if we know

   "anchors": [ "sw1", sw3", "sw4"],

   "cost-map-cal-alg": "avg"   // cost from pid1 (sw1 cluster) to pid2 (sw2 cluster) is the average of host pairs
}
Then we can see that it defines three PIDs, where each PID is defined by an anchor in anchors. When an host is added, we can automatically compute which anchor is the nearest and hence assign it to it. We can prove that each PID is a connected component, if we assume the full graph is connected, when we consider graph hopcount. 

How to define a more general mechanism?

Richard

On Tue, Oct 20, 2015 at 12:51 PM, Gao Kai <gaok12@...> wrote:
Hi there,

Unfortunately current implementation doesn't support this.  My guess is that the developers of alto-hosttracker wrote this module mainly to support the Endpoint Cost Service instead of the Network Map/Cost Map so they didn't implement PID partition.  I'll forward your e-mail to confirm that.

However, in an internal meeting this July we did discuss about PID partition using hosttracker so I think there might be some progress on that.

Besides, you can report it as a bug by visiting https://bugs.opendaylight.org/enter_bug.cgi?product=alto.  Since there are some major changes in the latest release and we have limited manpower, I can't really guarantee that this issue can be fixed soon enough. :(

We really appreciate your participation and we look forward to getting more feedbacks from you.  Thanks very much!

Regards,
Kai

On 20/10/15 22:46, adenisiewicz@... wrote:
Is it possibility to define pids for the network created in mininet that is read by hosttracker-network-map? 
When I try, all hosts are grouped into one pid. 
_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev


_______________________________________________
alto-dev mailing list
alto-dev@...
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.opendaylight.org_mailman_listinfo_alto-2Ddev&d=AwICAg&c=-dg2m7zWuuDZ0MUcV7Sdqw&r=4G36iiEVb2m_v-0RnP2gx9KZJjYQgfvrOCE3789JGIA&m=ZBFW8jc61u6TZZ_hrnVbyvrEV7Mj9NHxC86L0AJXeKM&s=zC3GJx0GJ28Q8X7jWZuYaFondueHh2mVdEN4QznLuxs&e=




--
-- 
 =====================================
| Y. Richard Yang <yry@...>   |
| Professor of Computer Science       |
 =====================================


Gao Kai <gaok12@...>
 

Hi there,

Unfortunately current implementation doesn't support this.  My guess is that the developers of alto-hosttracker wrote this module mainly to support the Endpoint Cost Service instead of the Network Map/Cost Map so they didn't implement PID partition.  I'll forward your e-mail to confirm that.

However, in an internal meeting this July we did discuss about PID partition using hosttracker so I think there might be some progress on that.

Besides, you can report it as a bug by visiting https://bugs.opendaylight.org/enter_bug.cgi?product=alto.  Since there are some major changes in the latest release and we have limited manpower, I can't really guarantee that this issue can be fixed soon enough. :(

We really appreciate your participation and we look forward to getting more feedbacks from you.  Thanks very much!

Regards,
Kai

On 20/10/15 22:46, adenisiewicz@... wrote:

Is it possibility to define pids for the network created in mininet that is read by hosttracker-network-map? 
When I try, all hosts are grouped into one pid. 
_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev


Jensen Zhang
 

Actually, we are discussing about it recently. We have not yet implemented a way to define pids automatically. And as you see, we just group all hosts into one pid.

A possible solution now is to set a new network map manually from cli. However, it is not a good solution. Users still would like to get automatic network map. Maybe we can provide a default algorithm to generate pids, or allow users to define the algorithm by themselves.

Best,
Jensen

2015-10-20 22:46 GMT+08:00 <adenisiewicz@...>:

Is it possibility to define pids for the network created in mininet that is read by hosttracker-network-map?
When I try, all hosts are grouped into one pid.
_______________________________________________
alto-dev mailing list
alto-dev@...
https://lists.opendaylight.org/mailman/listinfo/alto-dev


adenisiewicz@...
 

Is it possibility to define pids for the network created in mininet that is read by hosttracker-network-map?
When I try, all hosts are grouped into one pid.