Difference between revisions of "Project Proposals/DMM"

From fd.io
Jump to: navigation, search
(Name)
 
(38 intermediate revisions by 6 users not shown)
Line 2: Line 2:
 
<!-- Please note: fd.io code is to be licensed under the Apache 2.0 license unless an exception is approved by the board -->
 
<!-- Please note: fd.io code is to be licensed under the Apache 2.0 license unless an exception is approved by the board -->
  
Dual-domain Multi-protocol Multi-instance (DMM)
+
== Name ==
 +
<!-- The name of your project, for example Honeycomb BridgeDomain or NSH Advanced Features etc. -->
 +
Dual-Mode Multi-protocol Multi-instance (DMM)
  
 
== Project Contact Name and Email ==
 
== Project Contact Name and Email ==
 
<!-- Name and email of the project contact -->
 
<!-- Name and email of the project contact -->
 +
George Zhao <george.y.zhao@huawei.com>
 +
 +
Wangyalei <wangyalei2@huawei.com>
  
 
== Repository Name ==
 
== Repository Name ==
Line 13: Line 18:
 
     iii. Suitable for use as a C identifier
 
     iii. Suitable for use as a C identifier
 
-->
 
-->
 +
DMM
  
 
== Description ==
 
== Description ==
 
<!-- Description of the work that will take place in this project -->
 
<!-- Description of the work that will take place in this project -->
 +
DMM (Dual Mode, Multi-protocol, Multi-instance) is a framework between applications and transport layer of networking stack. This framework can hosts different types of networking stack instances operating on different domains (kernel/user-space) or even with different protocol suites (TCP/IP, RDMA, or others). Application can use different type of protocol stack implementations based on functional/performance requirements.
 +
 +
 +
[[File:Dmm-framework.JPG|center|600px]]
 +
 +
As shown in the above picture:
 +
* Applications use Posix compatible and uniform socket API library via system hijacking or LD_PRELOAD.
 +
* Neuro Resource Discovery (nRD) controls the set of protocol policies to route the packet. nRD continuously monitors the network state and updates the policy rules.
 +
* Local protocol orchestrator regularly syncs with nRD on policies.
 +
* Session layer of DMM (nSocket) lookups with protocol orchestrator for session request and manages the session mappings, based on the protocol lookup selects corresponding protocol stack.
  
 
== Scope ==
 
== Scope ==
Line 33: Line 49:
 
         - Integration with other systems
 
         - Integration with other systems
 
-->
 
-->
 +
 +
The scope for DMM (Dual Mode, Multi-protocol, Multi-instance) is to provide a transport agnostic framework for the applications where applications can:
 +
 +
* Work with both user space and kernel space network stack.
 +
* Use different network protocol stack based on their functional and performance requirement (QOS).
 +
* Work with multiple instances of transport protocol stack.
 +
* Engage or adopt new protocol stack dynamically.
  
 
== Initial Committers ==
 
== Initial Committers ==
Line 41: Line 64:
  
 
-->
 
-->
 +
* [mailto:kai.zheng@huawei.com Kai Zheng] (LF ID zhengkai)
 +
* [mailto:wylandrea2@huawei.com Yalei Wang] (LF ID wylandrea)
 +
* [mailto:liuxiaoxu1@huawei.com Liuxiaoxu] (LF ID liuxiaoxu)
 +
* [mailto:George.Y.Zhao@huawei.com George Zhao] (LF ID gzhao)
 +
* [mailto:swarup.nayak1@huawei.com Swarup Nayak] (LF ID swarupn)
 +
* [mailto:satishk@huawei.com Satish Karunanithi] (LF ID satish.karunanithi)
 +
* [mailto:Qing.Chang1@huawei.com Qing Chang] (LF ID qing.chang)
 +
* [mailto:fanhongwei@huawei.com Fanhongwei] (LF ID  fanhongwei007)
 +
* [mailto:ray.kinsella@intel.com Ray Kinsella] (LF ID  )
 +
* [mailto:hotjunfeng@163.com Junfeng Li] (LF ID hotjunfeng)
 +
* [mailto:logwang@tencent.com Hailong Wang] (LF ID wanghailong)
 +
* [mailto:fcoras.lists@gmail.com Florin Coras] (LF ID florin.coras)
  
 
== Vendor Neutral ==
 
== Vendor Neutral ==
Line 60: Line 95:
 
Please describe any such issues here.
 
Please describe any such issues here.
 
-->
 
-->
 +
No current or expected issues with vendor neutrality
 +
 
== 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 06:04, 5 April 2018


Name

Dual-Mode Multi-protocol Multi-instance (DMM)

Project Contact Name and Email

George Zhao <george.y.zhao@huawei.com>

Wangyalei <wangyalei2@huawei.com>

Repository Name

DMM

Description

DMM (Dual Mode, Multi-protocol, Multi-instance) is a framework between applications and transport layer of networking stack. This framework can hosts different types of networking stack instances operating on different domains (kernel/user-space) or even with different protocol suites (TCP/IP, RDMA, or others). Application can use different type of protocol stack implementations based on functional/performance requirements.


Dmm-framework.JPG

As shown in the above picture:

  • Applications use Posix compatible and uniform socket API library via system hijacking or LD_PRELOAD.
  • Neuro Resource Discovery (nRD) controls the set of protocol policies to route the packet. nRD continuously monitors the network state and updates the policy rules.
  • Local protocol orchestrator regularly syncs with nRD on policies.
  • Session layer of DMM (nSocket) lookups with protocol orchestrator for session request and manages the session mappings, based on the protocol lookup selects corresponding protocol stack.

Scope

The scope for DMM (Dual Mode, Multi-protocol, Multi-instance) is to provide a transport agnostic framework for the applications where applications can:

  • Work with both user space and kernel space network stack.
  • Use different network protocol stack based on their functional and performance requirement (QOS).
  • Work with multiple instances of transport protocol stack.
  • Engage or adopt new protocol stack dynamically.

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)