Coder Social home page Coder Social logo

global-localhost / server-data-plane Goto Github PK

View Code? Open in Web Editor NEW

This project forked from arm-software/server-data-plane

0.0 0.0 0.0 2.77 MB

Modified OpenDataPlane APIs for general purpose server applications with example applications.

License: Other

Makefile 1.17% Shell 0.82% M4 0.88% C++ 5.12% Python 0.09% C 85.98% Perl 5.43% Roff 0.06% XSLT 0.06% DTrace 0.12% CSS 0.09% Objective-C 0.16%

server-data-plane's Introduction

Server Data Plane

The server-data-plane (SDP) project aims to develop the Linaro OpenDataPlane (ODP) project into a general purpose library that can be used to accelerate the performance of server applications by using key ODP features. The server-data-plane repository contains not only the modified ODP library but also benchmarks to evaluate the performance and load generation applications to drive the benchmark applications. These are provided with the intention for academics and industry researchers to easily evaluate the performance of the project and pursue new avenues in high performance networking for server applications.

Repository Contents

The server-data-plane project contains multiple sub-directories with different software components. A description of each directory is provided below:

  1. odp-linux-generic-server v1.11.0 of the ODP-Linux-generic library modified to support general purpose server applications with the addition of a TCP termination via the linux networking stack, file IO and a generalized memory allocation.
  2. odp-dpdk-ofp-server v1.11.0 of the ODP-DPDK library modified with the same general purpose server application support as the linux-generic version. The main difference is that it integrates Open Fast Path (OFP) v2.0 for TCP termination and DPDK for fastpath packet IO instead of using the Linux network stack for TCP termination.
  3. memcached-odp This is a modified version of memcached that uses ODP as its networking and event notification library instead of libevent and POSIX sockets. It is compatible with either the linux-generic or dpdk-ofp versions of ODP contained in the server-data-plane repository.
  4. mutilate-memcached Distributed load generation application used for testing memcached-odp.
  5. kv_filestore_odp This is a microbenchmark that stores Key Value pairs in a file-system. It supports replication to other servers and is meant to emulate the Ceph object-store in basic functionality. It uses ODP as its networking, file io and event delivery layer.
  6. kv_filestore_threaded This is the sister microbenchmark to the ODP version, and instead uses multiple threads to perform asynchronous network and file IO instead of an event based architecture provided by ODP. The code structure strongly emulates the OSD software architecture of Ceph and is meant as a comparison point to an ODP enabled application.
  7. mutilate-kv_filestore Distributed load generation application based on original mutilate code but modified to work with the protocol defined by the kv_filestore microbenchmark.
  8. server_data_plane_evaulationg.pdf A whitepaper detailing what drove us to write the server-data-plane library, some of the experiments we ran with the code-base, the results and analysis of server-data-plane using ARM hardware.

Building and running

Instructions on building and running the components can be found in their respective sub-directories.

Reporting and fixing bugs

Bugs can be reported through the github issue tracker for the project to notify the maintainers of issues. Bug fixes can be submitted for review via pull requests to the github repository.

Contact Info

For all other issues not covered by this README, please contact the lead mainainer via email at: [email protected]

server-data-plane's People

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.