Code Monkey home page Code Monkey logo

eunomiatree2's Introduction

#Eunomia Tree Example

This is copy of source code of Eunomia Tree with several examples to show the effectiveness of such a tree design.

##Implementation

Most implementation code of Eunomia Tree is in memstore/memstore_eunotree.h. There is a copy of memstore_eunotree.h in the top directory. All the functions related to pseudocode issues are explained in detail in the source file.

##Core Algorithm Implementations

###Section 3.2.1 Splitting HTM Region In this section, we split the monolithic HTM scope into two parts: upper region and lower region.

Such design is implemented in GetWithInsert() function in memstore/memstore_eunotree.h.

###Section 3.2.2 Distributed Leaf Nodes This section relates the partitioned leaf node structure, including the write scheduler, segments, and reserved keys.

Such design is implemented in struct LeafNode in memstore/memstore_eunotree.h.

###Section 3.2.3 Conflict Control Module This section explains the data structure and mechanism of Conflict Control Module.

Such design is implemented in util/ccm.h

###Section 3.3.1 Get/Put Interfaces This section describes the Get/Put interfaces of Eunomia, including a piece of pseudocode (Algorithm 2).

Such algorithm is implemented in GetWithInsert() and Get() function in memstore/memstore_eunotree.h.

###Section 3.3.2 Insertions This section elaborates the mechanism of inserting new keys in an existing leaf node, including a piece of pesudocode (Algorithm 3).

Such algorithm is implemented in ShuffleLeafInsert() function in memstore/memstore_eunotree.h.

###Section 3.3.3 Splits This section illustrates the mechanism of spliting a full leaf node.

Such algorithm is implemented in ShuffleLeafInsert() and ScopeInsert() function in memstore/memstore_eunotree.h

##Experimental Setup in Our Paper

  • CPU: 2.30GHz Intel(R) Xeon(R) E5-2650
  • Cores: 2 sockets, each with 10 cores
  • Cache: 32KB L1-I Cache, 32KB L1-D Cache, 256KB L2 Cache, 25MB L3 Cache
  • DRAM: 256GB
  • Workloads: Yahoo! Cloud Serving Benchmark (YCSB)

##Building Eunomia Tree with YCSB Workloads ./make_ycsb.sh

##Running Exmaples
cd ./script ./run_example.sh

eunomiatree2's People

Contributors

wangxinalex avatar zhaoguowang avatar

Watchers

James Cloos avatar

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.