Code Monkey home page Code Monkey logo

dmm's Introduction

1. Introduction

nStack_Architecture

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

2. History

Emerging applications are bringing extremely high-performance requirements to the network system. Eg. AR/VR, IOT etc. And many of them come with their unique demand of QOS/SLA. Some applications need low latency network, some need high reliability etc. Though such performance targets should be required for the complete communication system, the transport layer protocols play a key role and there are relatively bigger challenges, because traditionally the TCP-based transport layer exploits the “best-effort” principle and provides no performance guarantees by its nature. However, as Internet applications rapidly grow and diversify, all-powerful or one-fits-all protocol or algorithm become less feasible. Thus, the traditional single-instance TCP-based network stack bears great challenges when serving many applications with different QoS/SLA requirements simultaneously on the same platform. Also moving the networking stack out of the kernel is an obvious trend in both the industry and literature. Technologies, e.g. DPDK, improve performance of network stack, by bypassing the kernel, avoiding context-switching and data copies, as well as providing a complete set of packet-processing acceleration libraries. Keeping above trends in mind,the DMM/nStack provides a framework where, system operators can plug in dedicated types of networking stack instances according to performance and/or functional requirements from the user space applications. Application doesn't have to worry about change their transport layer API. A lightweight nStack management daemon is responsible for maintaining the stack instances and the app/socket-to-stack-mappings, which are provided via the orchestration /management interface. So DMM provide a framework which can hide all the complexity of different transport layer protocol and also provide the flexibility to choose a protocol stack from manybased on functional/performance requirements.

3. Quick Start

Refer doc/Build_DMM.md

4. Involved

5. More Information

dmm's People

Contributors

george-zhao avatar julisjohn avatar khemendra0 avatar rgrahul avatar sharath-boyapally avatar swarupn avatar vvalderrv avatar yaliee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dmm's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.