On Fri, Dec 18, 2015 at 9:07 PM, Patrick Kelsey <[email protected] <mailto:[email protected]>> wrote:
> > Further, per-thread FIBs may not solve your scaling problem. You >initially > > stated that your objection to VNET was that you would need a minimum >of "A > > * B * C threads to ensure that any given service on any single tenant > > network could fully utilize the system's resources to process >requests". > > If you assign threads to a particular FIB, then you are back in the A >* B > > * C scaling model that you didn't want. > > I think it would be reduced to A * C threads, where A was the number of > services and C the number of CPUs - what you would drop is the B >dimension > (replication of service connections across all tenant networks). I may not have stated this clearly, so I'll restate it. I see two main alternatives: 1. There is a stable relationship between threads and FIBs. This requires dedicating threads to a particular FIB (and potentially leads back to the A * B * C scaling model, although I admit that depends on some of the implementation details). 2. Threads service requests from multiple FIBs. This requires changing the default FIB for a thread every time it switches to servicing a different request. This could be quite complex. If Ryan is thinking about a different model, he can correct me. :-) Jonathan _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-transport To unsubscribe, send any mail to "[email protected]"
