[kea-dev] Request for comments on Design for Lease Pre-Allocation
Victoria Risk
vicky at isc.org
Tue May 19 20:03:34 UTC 2020
A few months ago we came up with a list of possible ways to improve Kea performance. https://gitlab.isc.org/isc-projects/kea/-/wikis/performance1.7 The best idea was to implement multithreading, which we are doing now and plan to release soon with Kea 1.8.
This has allowed us to look at other areas where we can improve performance (after Kea 1.8 is released). One scenario where performance degrades significantly is when you try to get a lease from a pool that is nearly all already allocated. The problem is that the way we ask for the lease is by asking repeatedly, "is address x available?” With the current allocation, and a pool with high utilization, it can take quite a few exchanges to find an available lease.
We have come up with a proposed design for a revised lease allocation strategy. This would be a pretty significant change in Kea, so we are taking our time to consider the design. Our proposal is posted at https://gitlab.isc.org/isc-projects/kea/-/wikis/designs/Backend-Assisted-Lease-Selection-design . We welcome your review and comments on this.
The Basic Concept (excerpted from the design document mentioned)
The proposed new lease lookup scheme shifts some logic from the allocation engine to the lease backend implementations. We're migrating away from the lease allocation strategy in which the allocation engine "blindly" picks a candidate lease and then verifies if it is available, to the strategy in which the lease backend finds and offers a candidate lease.
If you have review comments, the most efficient way to share them might be to comment on the Gitlab issue here - https://gitlab.isc.org/isc-projects/kea/-/issues/1126. Please note we are in active discussion about this design proposal and what we actually move forward with could end up being significantly different.
Thank you
Vicky
More information about the kea-dev
mailing list