Difference between revisions of "Project Proposals/VSAP"

From fd.io
Jump to: navigation, search
(Description)
(Description)
 
(24 intermediate revisions by 3 users not shown)
Line 8: Line 8:
 
* [mailto:ping.yu@intel.com Ping Yu], @ Intel
 
* [mailto:ping.yu@intel.com Ping Yu], @ Intel
 
* [mailto:fcoras@cisco.com Florin Coras], @ Cisco  
 
* [mailto:fcoras@cisco.com Florin Coras], @ Cisco  
* [mailto:sbelair@cisco.com Stephen Belair], @ Cisco
+
* [mailto:li-jian@sjtu.edu.cn Jian Li], @ Shanghai Jiaotong University
* [mailto:li-jian@sjtu.edu.cn Jian Li], @ SJTU
+
* [mailto:cweixu@tencent.com Wei Xu], @ Tencent
* [mailto:yuwei1.zhang@intel.com Yuwei Zhang], @ Intel
+
 
* [mailto:shujun.zhuang@intel.com Shujun Zhuang], @ Intel
+
* [mailto:hongjun.ni@intel.com Hongjun Ni], @ Intel
+
 
* To be added
 
* To be added
  
Line 19: Line 17:
  
 
== Description ==
 
== Description ==
VSAP(VPP Stack Acceleration Project) is to use VPP host stack to accelerate a serial of network infrastructures such as Nginx, Envoy etc. This project is to demonstrate that with VPP working together with DPDK high performance user space host stack acceleration, the well-deployed network infrastructure project can benefit from this new innovative user space optimization, and VSAP can help industry to achieve more performance gain and reduce data center OPEX.
+
VSAP(VPP Stack Acceleration Project) aims to establish an industry user space application ecosystem based on VPP host stack. VSAP will adapt existing open source projects, e.g., Nginx and Envoy, with the host stack and will upstream changes whenever possible. The project will benefit both VPP host stack and the applications. Firstly, VSAP aims to help stabilize the host stack through community effort. Secondly, if possible, VSAP will try to enhance both host stack and the applications' performance. VSAP will firstly focus on Nginx and VPP host stack integration and long term the goal is to cover more projects.
VSAP will firstly focus on Nginx VPP host stack acceleration, and then cover more projects in the long term.
+
The initial code is contributed from Intel and Shanghai Jiaotong University.
+
  
== Scope ==
+
[[File:nginx example.jpg|500px|The architecture of VSAP taking Nginx as example]]
<!-- Project scope. The project scope should be well defined.  It should be possible from the scope to crisply answer whether something belongs or not within the scope of this particular project.  Scopes should not be overly broad.  A Project scope must also lie within the overall scope set by the board for projects in fd.io:
+
    - IO
+
        – Hardware/vHardware <-> threads/cores
+
    - Processing
+
        - Classify
+
        - Transform
+
        - Prioritize
+
        - Forward
+
        - Terminate
+
    - Management Agents
+
        - Control/Manage IO/Processing
+
    - Supporting Projects
+
        - Testing/Tools/Infrastructure
+
        - Integration with other systems
+
-->
+
  
== Initial Committers ==
+
The initial code is contributed by Intel and Shanghai Jiaotong University. POC code is ready, and we can achieve around 100% RPS improvement for 1KB Nginx requests. Below is the performance test result for reference.  
<!-- A list of the name/email/IRC nick of the initial project committers
+
+
IMPORTANT:  Committers should be people who will actually write code, being a committer is an actual commitment of time. Please also note that committerness is an individual trait.  If a committer changes employers, they remain a committer. New committers arise via meritocracy after the project is created, this typically involves some time of establishing history of meritocractic code contribution to the project..  Therefore, it is crucial that a committer is committed to ongoing work on the project in the longer term, not just short term.  For more information on how committers are added after project creation see:
+
https://fd.io/sites/cpstandard/files/pages/files/exhibit_c_-_fd.io_technical_community_charter.pdf section 3.2.2.1.
+
  
-->
+
[[File:Perf test3.png|500px|Nginx performance test]]
  
== Vendor Neutral ==
+
== Scope ==
<!--
+
VSAP's main goal is to adapt existing popular open source projects to work with VPP's host stack and, whenever possible, to upstream such changes to their respective projects. Additionally, VSAP will provide necessary configuration parameters and test scripts to help users easily start from scratch or to automate testing.  
The goal here is to capture the degree of vendor neutrality of the code.
+
* Integrated/adapt Projects
The concerns are two fold: avoiding trademark issues, and maintaining openness.
+
** Start from Nginx, and will cover more projects such as Envoy, gRPC etc.
 +
* Environment
 +
** Adapt to all environment such as bare mental, containers and VMs.
 +
* Performance tuning
 +
** Add CSIT tests
 +
** Find VCL bottlenecks
  
For this reason, use of vendor names should be purely functional, and only if necessary to
+
== Initial Committers ==
reasonably communicate functional information to the user.
+
* [mailto:ping.yu@intel.com Ping Yu], @ Intel
 +
* [mailto:fcoras@cisco.com Florin Coras], @ Cisco
 +
* [mailto:sbelair@cisco.com Stephen Belair], @ Cisco
 +
* [mailto:li-jian@sjtu.edu.cn Jian Li], @ Shanghai Jiaotong University
 +
* [mailto:yuwei1.zhang@intel.com Yuwei Zhang], @ Intel
 +
* [mailto:shujun.zhuang@intel.com Shujun Zhuang], @ Intel
 +
* [mailto:hongjun.ni@intel.com Hongjun Ni], @ Intel
 +
* [mailto:cweixu@tencent.com Wei Xu], @ Tencent
  
Acceptable Examples:
+
== Vendor Neutral ==
Indicating the presence of particular hardware
+
No current or expected issues with vendor neutrality
Indicating drivers for particular hardware
+
Indicating integration with particular technologies.
+
 
+
Unacceptable Examples:
+
Use of vendor trademarks or product names purely for marketing purposes.
+
  
Please describe any such issues here.
 
-->
 
 
== Meets Board Policy (including IPR, being within Board defined Scope etc) ==
 
== Meets Board Policy (including IPR, being within Board defined Scope etc) ==
  

Latest revision as of 15:41, 9 January 2020


Name

VSAP

Project Contact Name and Email

  • To be added

Repository Name

vsap

Description

VSAP(VPP Stack Acceleration Project) aims to establish an industry user space application ecosystem based on VPP host stack. VSAP will adapt existing open source projects, e.g., Nginx and Envoy, with the host stack and will upstream changes whenever possible. The project will benefit both VPP host stack and the applications. Firstly, VSAP aims to help stabilize the host stack through community effort. Secondly, if possible, VSAP will try to enhance both host stack and the applications' performance. VSAP will firstly focus on Nginx and VPP host stack integration and long term the goal is to cover more projects.

The architecture of VSAP taking Nginx as example

The initial code is contributed by Intel and Shanghai Jiaotong University. POC code is ready, and we can achieve around 100% RPS improvement for 1KB Nginx requests. Below is the performance test result for reference.

Nginx performance test

Scope

VSAP's main goal is to adapt existing popular open source projects to work with VPP's host stack and, whenever possible, to upstream such changes to their respective projects. Additionally, VSAP will provide necessary configuration parameters and test scripts to help users easily start from scratch or to automate testing.

  • Integrated/adapt Projects
    • Start from Nginx, and will cover more projects such as Envoy, gRPC etc.
  • Environment
    • Adapt to all environment such as bare mental, containers and VMs.
  • Performance tuning
    • Add CSIT tests
    • Find VCL bottlenecks

Initial Committers

Vendor Neutral

No current or expected issues with vendor neutrality

Meets Board Policy (including IPR, being within Board defined Scope etc)

Meets board policy as expressed in Technical Community Charter and IP Policy

Administrata

  • Request for Project proposal consideration
    • Email: (place link to email to TSC proposing project, this can be obtained from TSC Archives
    • Date: (date proposed, makes it simpler to calculate the pre-requisite 2 week time period of gestation before being permitted to be voted on)