Hi,
I have studied OVS in performance aspect. And, I found out that flow masking and looking up table have quite overhead. I read a paper ' “The Design and Implementation of Open vSwitch.” USENIX NSDI 2015', and discovered that there is why use masking process in the paper. the paper said "*While the microflow cache works well with most traffic* *patterns, it suffers serious performance degradation when* *faced with large numbers of short lived connections. In* *this case, many packets miss the cache, and must not only* *cross the kernel-userspace boundary, but also execute a* *long series of expensive packet classifications.*" I have thought about it, and I have some questions. 1. If only microflow cache works and there are many short lived connections, does it make many tuples in table, and does it suffers serious performance degradation by the many tuples(very many tuple makes context switching to Userlevel)? 2. I know that OVS uses hash for table index. if only microflow cache and there are small amount of entries in the table, is it possible to find entry in O(1) time? 3. In paper, microflow and megaflow use the word 'cache'. However, when I open the OVS code, it looks like they are in main memory area. doesn't the 'cache' mean hardware cache? please let me know if you have some insights. Thanks!
_______________________________________________ discuss mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
