Check out the new USENIX Web site. next up previous
Next: Algorithm-chaining across cards. Up: Other Optimizations and Future Previous: Other Optimizations and Future

Smarter load balancing.

The load-balancing currently done in OCF, as discussed in Section 3, is very simple. It performs load-balancing of sessions, by keeping a record of the active sessions per producer and selecting the least-loaded one. However, not all sessions are equivalent in terms of processing requirements: an FTP-over-IPsec session will use the OCF more heavily than a telnet-over-IPsec one. Furthermore, the current scheme does not perform load-balancing for public-key operations. Finally, all producers of crypto services are considered equal, in terms of performance. All these issues point to several potential improvements that can be made to the OCF.

For example, drivers can state their peak performance (experimentally measured, using the vendor-provided numbers, or measured at system boot time), and the OCF can keep a record of the number of operations actively pending on each driver. However, this requires sessions to be simultaneously established on all these cards; as these cards have a limited amount of memory for session caching, this approach is perhaps not optimal for a very busy system. One potential solution is to allow the OCF to do dynamic load-balancing of sessions, replicating and tearing them down on additional cards based on their measured traffic, by maintaining session information internally. Asymmetric operations are easier to load balance, as they do not depend on the concept of the session. An additional benefit of implementing load-balancing in this way is that we can let the software driver handle small requests, reducing latency, and use the hardware producers for larger requests. One complication to this is that many cards (e.g., Hifn) do not export internal state such as IVs or intermediate MAC results, which makes such session sharing difficult.


next up previous
Next: Algorithm-chaining across cards. Up: Other Optimizations and Future Previous: Other Optimizations and Future
Angelos D. Keromytis
3/25/2003