zhemao / rmem-server

Remote memory pool over infiniband RDMA
5 stars 1 forks source link

Micro-Benchmarks and Bug-Fixes #11

Closed zhemao closed 9 years ago

zhemao commented 9 years ago

While implementing the micro-benchmarks, I uncovered some bugs.

The primary problem is that frees are not transactional, which leaves the possibility of a double-free. I've changed it so that frees occur transactionally along with copies.

Now the full test and microbenchmarks seem to work properly.

NathanTP commented 9 years ago

I love how no changes were required to rvm.c! Good job on modularization us!

On Tue, May 5, 2015 at 6:18 PM, Howard Mao notifications@github.com wrote:

zhemao wants to merge 13 commits into master from ubenchmarks:

While implementing the micro-benchmarks, I uncovered some bugs.

The primary problem is that frees are not transactional, which leaves the possibility of a double-free. I've changed it so that frees occur transactionally along with copies.

Now the full test and microbenchmarks seem to work properly.

You can view, comment on, or merge this pull request online at:

https://github.com/zhemao/rmem-server/pull/11 Commit Summary

  • let run_rvm_full use different hosts and ports
  • add commit microbenchmark
  • implement recovery benchmark
  • fix issues in rmem_table_alloc
  • in rmem_multi_cp_go, post_receive should be called before waiting on send semaphore
  • trying to fix micro-benchmarks
  • get rid of sleep after sending MR msg
  • don't attempt to free anything in microbenchmark
  • make sure acknowledgement expectations are consistent btw client and server
  • add rvm_test_full to the makefile
  • make rmem free transactional
  • fully working micro-benchmarks
  • extra debug info when completion fails

File Changes

Patch Links:

— Reply to this email directly or view it on GitHub https://github.com/zhemao/rmem-server/pull/11.

Nathan Pemberton