Crossbow - Current and Future work

Key Features Integrated in Nevada build 105 (Dec 4th, 2008) and available in the next release of OpenSolaris:

  • Performance & latency improvements
    • Dynamic Polling and H/W Classification
    • HW and S/W fanouts to multiple cores
    • Parallelizing the stack all the way from HW to application
  • Virtualization
    • Virtual Wire(TM) - Ability of create Network in a Box
    • NIC Virtualization - HW and S/W based VNICs
    • Etherstubs (Virtual Switches)
    • Service Virtualization - Flows
    • IP Instances for Zones
  • Resource partitioning
    • Bandwidth partitioning for NICs/VNICs/Flows
    • CPU resource and priority assignment on per datalink (NIC/VNIC/Aggr) bassis
    • Class of Service support based on Diffserv tags (DSCP)
  • Flows
    • Based on IP addresses, IP Subnets, Transport and ports
    • Bandwidth control and priority for Flows
  • Analytics/Observability
    • Real Time usage for flows and datalinks
    • Usage history for flows and datalinks
    • Fine grained, per link statistics like packets received via
       intr/poll, chain lengths, Tx block/wakeup count etc.
      (Currently tracked by the kernel on per datalink/flow bassis
       and available from 'mdb' macros such as 'mac_flow' and 'mac_srs').

Ongoing work:

  • Performance Improvement
    • Datapath streamlining (including forwarding performance)
    • NUMA awareness and thread placement
    • Aggressive leveraging HW features like L3/L4 classification
  • APIs
    • Publish stable GLDv3 APIs
    • Publish MAC Client API (evolving)
    • Management libraries (libdladm and libflowadm)
    • Socket options for per connection SLA
    • PF_PACKET port to Crossbow
  • Virtualization
    • Virtual Wire(TM) enhancements
    • Complete Crossbow as a common architecture for all Virtualization
    • IOV and Direct I/O
    • HW based switching
    • Finer grained control over HW resource assignment
    • Enhanced Zone integration
  • Analytics/Observability/Management
    • dlstat(1M) and flowstat(1) for fine grained runtime statistics, capacity planning and network wide analysis, billing, and metering
    • Network shell - netsh(1): A network config/mgmt shell similar to used by common routers and switches

Future Work:

  • Guarantees
  • Dynamic resource assignment based on current usage
  • Advanced NIC features like header/data split etc
  • Support of Real time flows/capabilities
  • Inter VNIC communication fastpath
  • Deep packet inspection/classification
last modified by admin on 2009/10/26 12:13
Collectives
Project


© Sun Microsystems Inc. 2009
XWiki Enterprise 1.8.2.19075 - Documentation
Terms Of Use | Privacy | Trademarks | Copyright Policy | Site Guidelines | Site map | Help
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.