[ 
https://issues.apache.org/jira/browse/DISPATCH-1532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Ross updated DISPATCH-1532:
-------------------------------
    Description: 
The code in Qpid Dispatch Router currently does mobile address synchronization 
between routers in the Python router module.  This has a couple of drawbacks in 
cases where there are large numbers of addresses:
 * The address strings are stored twice:  once in the main address lookup hash 
table and again in the Python mobile address module.
 * Address lookup on the Python side is inefficient and has been a bottleneck 
(improved recently by a patch from Gordon Sim).
 * Python processing is single threaded.  A large mobile address update can 
cause delays in processing management requests and link-state topology 
maintenance.

The python router module was intended to be an on-the-side control-plane module 
that was not in the critical path for any performance-related activities.  With 
large numbers of addresses in a network, synchronizing address locations 
becomes performance-related.

To address these issues, mobile address synchronization can be moved into a 
core module where it can use and share the same address table that is used by 
the router core for making high speed routing decisions.  In the process, it 
will leave the python modules alone to process management requests and topology 
maintenance uninterrupted.

  was:
The code in Qpid Dispatch Router currently does mobile address synchronization 
between routers in the Python router module.  This has a couple of drawbacks in 
cases where there are large numbers of addresses:
 * The address strings are stored twice:  once in the main address lookup hash 
table and again in the Python mobile address module.
 * Address lookup on the Python side is inefficient and has been a bottleneck 
(improved recently by a patch from Gordon Sim).
 * Python processing is single threaded.  A large mobile address update can 
cause delays in processing management requests and link-state topology 
maintenance.

The python router module was intended to be an on-the-side control-plane moduel 
that was not in the critical path for any performance-related activities.  With 
large numbers of addresses in a network, synchronizing address locations 
becomes performance-related.

To address these issues, mobile address synchronization can be moved into a 
core module where it can use and share the same address table that is used by 
the router core for make high speed routing decisions.  In the process, it will 
leave the python modules alone to process management requests and topology 
maintenance uninterrupted.


> Reimplement mobile-sync as a core module
> ----------------------------------------
>
>                 Key: DISPATCH-1532
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1532
>             Project: Qpid Dispatch
>          Issue Type: Improvement
>          Components: Routing Engine
>            Reporter: Ted Ross
>            Assignee: Ted Ross
>            Priority: Major
>             Fix For: 1.11.0
>
>
> The code in Qpid Dispatch Router currently does mobile address 
> synchronization between routers in the Python router module.  This has a 
> couple of drawbacks in cases where there are large numbers of addresses:
>  * The address strings are stored twice:  once in the main address lookup 
> hash table and again in the Python mobile address module.
>  * Address lookup on the Python side is inefficient and has been a bottleneck 
> (improved recently by a patch from Gordon Sim).
>  * Python processing is single threaded.  A large mobile address update can 
> cause delays in processing management requests and link-state topology 
> maintenance.
> The python router module was intended to be an on-the-side control-plane 
> module that was not in the critical path for any performance-related 
> activities.  With large numbers of addresses in a network, synchronizing 
> address locations becomes performance-related.
> To address these issues, mobile address synchronization can be moved into a 
> core module where it can use and share the same address table that is used by 
> the router core for making high speed routing decisions.  In the process, it 
> will leave the python modules alone to process management requests and 
> topology maintenance uninterrupted.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to