-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exchange network backend from Gsocket to libfabric #124
base: master
Are you sure you want to change the base?
Conversation
also adapt tests
* start implementing jfabric functions
test case assumed communication via GSocket, we need to redesign this test to work with the new api
* fixes bufnr usage * proper shutdown behavior * offset hack for 0 based address
* tcp connections have default request key * tcp memory reads are identified via key and not address!
* removed libfabric_example from builds
some parts are still referenced in the fi_info, and to early freed if hints get freed
Could you please rebase this to current master? There are quite a few conflicts. It seems the PR includes the (already merged) port changes as well, so those should be dropped. |
7bdfa9d
to
919ff5c
Compare
sudo pip3 install meson | ||
sudo apt --yes --no-install-recommends install ninja-build pkgconf libglib2.0-dev libbson-dev liblmdb-dev libsqlite3-dev libleveldb-dev libmongoc-dev libmariadb-dev librocksdb-dev libfuse-dev libopen-trace-format-dev librados-dev libfabric-dev | ||
sudo apt --yes --no-install-recommends install python3 python3-pip python3-setuptools python3-wheel | ||
sudo pip3 install meson |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add libfabric to dependencies
# libfaibrc don't work on Ubuntu 20.04 | ||
- os: | ||
dist: ubuntu-20.04 | ||
dependencies: system |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Disable system test because libfabric won't start properly
sudo pip3 install meson | ||
sudo apt --yes --no-install-recommends install ninja-build pkgconf libglib2.0-dev libbson-dev liblmdb-dev libsqlite3-dev libleveldb-dev libmongoc-dev libmariadb-dev librocksdb-dev libfuse-dev libopen-trace-format-dev librados-dev libfabric-dev | ||
sudo apt --yes --no-install-recommends install python3 python3-pip python3-setuptools python3-wheel | ||
sudo pip3 install meson |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add libfabric to dependencies
@@ -280,9 +284,9 @@ jobs: | |||
run: | | |||
. scripts/environment.sh | |||
./scripts/setup.sh start | |||
./scripts/test.sh | |||
./scripts/test.sh || (journalctl GLIB_DOMAIN=JULEA && $(exit 1)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Print journal from SERVER if test fails
@@ -1109,7 +1109,7 @@ _backend_schema_get(gpointer backend_data, gpointer _batch, gchar const* name, b | |||
return TRUE; | |||
|
|||
_error: | |||
if (G_UNLIKELY(!j_sql_reset(thread_variables->sql_backend, prepared->stmt, NULL))) | |||
if (G_UNLIKELY(!thread_variables || !prepared || !j_sql_reset(thread_variables->sql_backend, prepared->stmt, NULL))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thread_variables
and/or prepared
may be NULL
if initialization failed. Therefore, we must check it in error handling
@@ -110,9 +111,14 @@ gchar const* j_configuration_get_backend_path(JConfiguration*, JBackendType); | |||
guint64 j_configuration_get_max_operation_size(JConfiguration*); | |||
guint16 j_configuration_get_port(JConfiguration*); | |||
|
|||
/// size of data segment which should be injected in message | |||
guint64 j_configuration_get_message_inject_size(JConfiguration*); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reduces RMA reads of small segments
gains: