Crossbow, quo vadis?

Sorry for showing off with my high school Latin here. Don't worry, that's about all I can remember. As I had mentioned in my blog about "Crossbow available on OpenSolaris", the Crossbow team has spent a lot of time last week on planning out the next projects to work on. With our push into Nevada in early December which became available in OpenSolaris in early January we now have a really powerful framework in place that allows not only really sexy network virtualization functionality, but also a highly scalable and performant networking stack.

While we have already seen some significant latency reductions as well as improvements in Specweb throughput, I strongly believe that we can get quite a bit more performance out of the framework and also easily add more bells and whistles. While I'm not allowed to give out specific delivery dates on my blog (sorry, company policy), I'm still able to describe what' on our top priority list:

Performance:
1. Better management of interrupt distribution: Our current interrupt distribution mechanisms are simply inadequate since they don't understand the concept of dynamic interrupt switching that Crossbow introduces, i.e. the ability to switch between interrupt and polling
2. Dealing with NUMA: This is rather critical with growing the number of CPUs/chip going forward
3. Scalability for SW classification: There is some potential for improvement there
4. Move buffer mgmt into GLD: Right now the buffer management happens within the drivers. Moving the control point into the stack allows us to do a much better job of doing that.
5. Since IP Forwarding is going play a more important role for us in the future we are playing iwth the idea of creating a fast path for forwarding

Features:
1. Support of additional HW classification features
x L2/L3: Combination of MAC address, VLAN, transport and FCOE
x L4: Services, connections
2. Additional integration with zones: There is some low hanging fruit here that would make it a lot easier for our zones users to create VNICs and specify bandwidth limits
3. Integration with SR-IOV: This is also a rather obvious one that will give us better performance in a OS virtualized environment
4. Analytics/ stats/ APIs: Both intra-stack as well as inter-machine
x Utilization of MAC address slots
x netstat/dladm stats per Rx/Tx ring basis
x Soft ring stats: packets/sec, chain lengths
x aggr multilevel reporting (unified + per port basis)
x workload type on per link basis (link property)


Aside from that we are also going to make the GLDv3 APIs public now that we have made the changes necessary for Crossbow.

Anyhow, a lot to do, the right way to approach this is the right attitude: Yes, we can!

Cheers,
Markus
Comments:

Post a Comment:
Comments are closed for this entry.
About

MarkusFlierl-Oracle

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today