wuklab / pdpm Goto Github PK
View Code? Open in Web Editor NEWPassive Disaggregated Persistent Memory at USENIX ATC 2020.
Passive Disaggregated Persistent Memory at USENIX ATC 2020.
Hi! When I execute "run_clients.sh 1", it reported an error,the screenshot is as follows
I have two ib network cards, mlx_ 0 and mlx_ 1. I want touse mlx_ 1, but it runs in mlx_0 default, I modified ibdev_ ID, but still running in mlx_ 0. I think the error is probably due to the wrong network card. Could you give me some help? Thank you very much!
I am trying to run the default benchmark (mitsume_benchmark_latency) provided in Clover. However, I found several errors from CN. I have attached logs produced from CN.
I have solved this error by changing MITSUME_BENCHMARK_REPLICATION
macro in mitsume_benchmark.h
from 3 to 1. However, I am not sure if it is correct. Could you check it once?
After fixing the first issue (replication factor), the system was blocked somewhere while handling test size 2048.
Hi,
I am trying to run the ycsb experiments using larger datasets per thread than the provided example. From my understanding, the provided example seems to assign 1million keys per thread. However, I would like to run experiments using larger datasets such as 30 million keys (with 32-byte value per key). To run this experiment, I launched 1MN, 1CN, and 1MS from separate physical machines and assigned 30million prepopulated keys to each thread in the CN (Since I am using 8threads in the CN, each thread will take around 3.75 million keys to insert). To run this experiment, I thought MITSUME_MAX_KEYS
should be changed to be larger than the current configuration (100K). I am understanding this parameter should be configured to be the larger number than the maximum dataset, thus should be changed to be over 30million (Could you check if my understanding is correct?). After this configuration, I tested the experiment but observed a failure (the CN was blocked after making the error message below) after allocating 2,012,928 objects using mitsume_tool_open
. Could you check if there's anything I am missing and give me some advice to run larger datasets?
[INFO] mitsume_clt_consumer_get_entry_from_list:94 : ask for size:128 rep:0 too many times
Thanks in advance.
I am trying to run Clover to test it on three ib-enabled cloud machines. However, the metadata server (Memcached) keeps returning "MEMCACHED_NOTFOUND" error in getting the key "shortcut-0", thereby CN is blocked after calling the function "client_get_shortcut". Could you tell me about the possible issues and solutions?
I configured and ran experiments by following the instructions specified in the document. 1MS, 1CN, and 1MN were separately executed in three physical machines respectively. I only modified RSEC_NETWORK_MODE
macro to be RSEC_NETWORK_IB
from the original source codes and changed MEMCACHED_SERVER_IP
in run_memory.sh
and run_client.sh
.
The hardware specs I am using are specified below.
RNIC: Mellanox Technologies MT27500 Family [ConnectX-3]
CPU: Intel Xeon CPU E5-2670 v3 @ 2.30 GHz
DRAM: 128GB
Thanks in advance.
I am trying to run experiments using multiple worker threads in CN. However, the current implementation looks just returning created threads while only allowing a single worker to run due to code lines below in the mitsume_benchmark_latency
function. Is there a specific reason for this implementation?
if (thread_metadata->thread_id != 0)
return NULL;
To enable multiple worker threads, I have tried several things. I removed those lines and used thread_metadata->thread_id
in assigning input/output buffers like below (in the mitsume_benchmark_latency
function). Furthermore, I changed mitsume_tool_open
, mitsume_tool_read
, and mitsume_tool_write
to receive thread_metadata->thread_id
as their coro_id
.
write = local_inf->user_input_space[thread_metadata->thread_id];
read = local_inf->user_output_space[thread_metadata->thread_id];
if (client_id != 0)
return NULL;
if (stick_this_thread_to_core(thread_metadata->thread_id)) {
printf("set affinity fail\n");
return NULL;
}
However, after the modifications, I got errors below during runtime from CN. Could you give me any suggestions to correctly use multiple worker threads?
init: /usr/include/boost/coroutine/detail/symmetric_coroutine_yield.hpp:290: boost::coroutines::detail::symmetric_coroutine_yield<void>& boost::coroutines::detail::symmetric_coroutine_yield<void>::operator()(Coro&, typename boost::enable_if<boost::is_same<typename Coro::value_type, void>, boost::coroutines::detail::symmetric_coroutine_yield<void>::dummy*>::type) [with Coro = boost::coroutines::detail::symmetric_coroutine_call<void>; typename boost::enable_if<boost::is_same<typename Coro::value_type, void>, boost::coroutines::detail::symmetric_coroutine_yield<void>::dummy*>::type = boost::coroutines::detail::symmetric_coroutine_yield<void>::dummy*]: Assertion `other' failed.
init: /usr/include/boost/coroutine/detail/symmetric_coroutine_yield.hpp:290: boost::coroutines::detail::symmetric_coroutine_yield<void>& boost::coroutines::detail::symmetric_coroutine_yield<void>::operator()(Coro&, typename boost::enable_if<boost::is_same<typename Coro::value_type, void>, boost::coroutines::detail::symmetric_coroutine_yield<void>::dummy*>::type) [with Coro = boost::coroutines::detail::symmetric_coroutine_call<void>; typename boost::enable_if<boost::is_same<typename Coro::value_type, void>, boost::coroutines::detail::symmetric_coroutine_yield<void>::dummy*>::type = boost::coroutines::detail::symmetric_coroutine_yield<void>::dummy*]: Assertion `other' failed.
init: /usr/include/boost/coroutine/detail/symmetric_coroutine_yield.hpp:290: boost::coroutines::detail::symmetric_coroutine_yield<void>& boost::coroutines::detail::symmetric_coroutine_yield<void>::operator()(Coro&, typename boost::enable_if<boost::is_same<typename Coro::value_type, void>, boost::coroutines::detail::symmetric_coroutine_yield<void>::dummy*>::type) [with Coro = boost::coroutines::detail::symmetric_coroutine_call<void>; typename boost::enable_if<boost::is_same<typename Coro::value_type, void>, boost::coroutines::detail::symmetric_coroutine_yield<void>::dummy*>::type = boost::coroutines::detail::symmetric_coroutine_yield<void>::dummy*]: Assertion `other' failed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.