fallfish / sepbit

GNU General Public License v3.0
28 stars 7 forks source link

QUESTION #2

Open Umiyar opened 1 year ago

Umiyar commented 1 year ago

When tracing is set and split and executed./run.sh, segfault appears, I use gdb to debug the app and find ./nptl/pthread_kill.c: No such file or directory. and will find the algorithm folder sepbit/prototype/build/app/SepBIT: No such file or directory This makes me wonder if there is a problem with the compilation, and I ask the author to answer it in his busy schedule!

fallfish commented 1 year ago

Hi Umiyar,

I went through the building process. I found incompatibilities between the SepBIT prototype and current versions of some dependencies, e.g., ZenFS in RocksDB, which leads to unsuccessful builds.

My workaround to the incompatibilities is to update some files in src/storage_adapter/

  1. remove zoned_adapter in CMakeLists.txt
  2. remove all dependency-related code in the source code files, e.g., headers and code logic. Note: The original intention is to prove that our prototype can run on zoned storage. Removing the code logic means that you do not need to configure RocksDB and tcmu-runner all together.

I compile with the LocalAdapter enabled, and the prototype can run with traces without crash.

Hope the above hints can help you run the prototype and validate the algorithm successfully.

Also, I notice that you could compile the app program. May I know how you manage to do it? I suspect if you use an early version of RocksDB, libzbd, or tcmu-runner, there exist other compatibilities that do not show during the building process. Or did you make some changes when you were doing the build?

Qiuping

Umiyar commented 1 year ago

------------------ 原始邮件 ------------------ 发件人: "fallfish/sepbit" @.>; 发送时间: 2023年4月16日(星期天) 凌晨0:16 @.>; 抄送: " @.**@.>; 主题: Re: [fallfish/sepbit] QUESTION (Issue #2)

Hi Umiyar,

I went through the building process. I found incompatibilities between the SepBIT prototype and current versions of some dependencies, e.g., ZenFS in RocksDB, which leads to unsuccessful builds.

My workaround to the incompatibilities is to update some files in src/storage_adapter/

remove zoned_adapter in CMakeLists.txt

remove all dependency-related code in the source code files, e.g., headers and code logic. Note: The original intention is to prove that our prototype can run on zoned storage. Removing the code logic means that you do not need to configure RocksDB and tcmu-runner all together.

I compile with the LocalAdapter enabled, and the prototype can run with traces without crash.

Hope the above hints can help you run the prototype and validate the algorithm successfully.

Also, I notice that you could compile the app program. May I know how you manage to do it? I suspect if you use an early version of RocksDB, libzbc, or tcmu-runner, there exist other compatibilities that do not show during the building process. Or did you make some changes when you were doing the build?

Qiuping

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>