Skip to content

Latest commit

 

History

History
63 lines (63 loc) · 2.31 KB

TODO.org

File metadata and controls

63 lines (63 loc) · 2.31 KB

Licensing

Licensing headers

License choice

Documentation

Comment review

Ensure that comments are accurate and clear

Spellcheck comments

README

What is libbasket?

How do I use libbasket?

INSTALL

How do I compile libbasket?

Dependencies

General procedure

(eg. `cmake .`, `make`, `make install`)

Tests

CMakeLists integration

One test per structure

Fix test cases

cpplint

Make sure source code fits Google C++ style by running cpplint.py on it

rdma

MercuryRPC vs RPCLib

NVM Journal

first Branch off 0.0.1 and 0.0.2

Master stable branch

0.0.1

Client and server on different nodes

LocalPut to put to local shared memory

rpc put maps to LocalPut instead of regular put
methods have notion of local and remote
separate node check

Do changes and run on Ares cluster

0.0.2

Changes in network fabric

mercuryRPC

100K local, 0.6K remote too slow

mercuryRPC works with instances, objects (C-style)

uint8 enum to choose mercuryRPC / libRPC

Template rpc_lib.h

rpc interface template with virtual methods (rpc.h)
As in /home/kbateman/School/Spring-19/cs491/hfetch/src/core/interfaces/io_client.h
librpc.h and mercuryrpc.h
As in /home/kbateman/School/Spring-19/cs491/hfetch/src/core/hdf5_impl/hdf5_client.h

Factory rpc_factory.h (class name all caps RPC, camelcase)

As in /home/kbateman/School/Spring-19/cs491/hfetch/src/core/io_client_factory.h

Create all switches, then install mercuryrpc, create demo C program

Ensure demo works
Create class/function and bind to mercuryrpc ugly way as in hstream demo

Evaluate

Generate callback functions

Two types, synchronous and asynchronous

synchronous for now

Call map, ship function to RPC call, execute main map and callback function

callback function should be called on server, registered with RPC

Evaluate

Profiling Hooks

Autotracer

Partial update on unordered_map

Make all methods asynchronous (call and wait)

Persistence

NVM-enabled data structures

Make method call names and variable names consistent (eg. in rpc_lib.cpp some calls have improper CamelCase)