-
Notifications
You must be signed in to change notification settings - Fork 30
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
Assise with MPI #3
Comments
To recap our earlier discussion: The benchmark appears to be calling pwrite(), which, as you noted, wasn't supported by Assise. I've now added support to this syscall. Please pull and re-compile LibFS/KernFS. I haven't used Assise with MPI workloads, but hopefully this patch will help get you there. |
Hi @wreda, We have tried to run the benchmark again, but the problem still persists. This time we ran the benchmark with We have come up with the following list, containing system calls that the benchmark uses, but do not exist in Assise:
From this list, several system calls came up (there could be more) that are related to file I/O: From the man page of
These system calls implementation do not exist as well. Do you think that this could be the reason for the benchmark not to work properly? |
Getting to this now. The use of unsupported file system calls would indeed explain why your benchmark is not working. Adding support for these calls is currently not in our roadmap. However, you might find it possible to tweak your benchmark to avoid using these particular syscalls with Assise. Alternatively, you could try to add support for some of them yourself. For instance, it might be possible to quickly implement To use Assise with If you manage to add proper support to any of the aforementioned syscalls, I'd be more than happy to integrate it. Hope this helps! |
I followed your suggestion and edited the source code of our program, so that for each process a call to I am now experiencing an inconsistent behavior from Assise when performing basic file I/O operations such as read and write. When running our benchmark, I got the following error:
I have tried to first create the file because I though it might help, but I am also getting an error when trying to
I have also tried to run 5 python processes in parallel, with each one writing to a different file in /mlfs. At first, only 3 files were created (for processes 2-4). Then, when I tried to run the script again, all of them were created normally. Have you experienced this type of inconsistent behavior by Assise in your work? Thanks, |
This is likely because LibFS hasn't been preloaded. You can try this command instead (with MLFS_DISABLE_INIT set to 0):
The bad file descriptor error is likely due to the
If multiple processes are creating files in the same directory, you will need to enable leases in order to observe consistent behavior. This can be done by enabling the flag |
I'm trying to run a BTIO benckmark (link) with Assise over Intel Optane DCPMM to evaluate the performances of Assise and Optane. I have configured Assise only on one single node, and also have run the benchmark on this node, using 4 MPI ranks (processes).
When running, I get this following error from each MPI rank:
mca_fbtl_posix_pwritev: error in writev:Bad file descriptor
.It seems that Assise does not know to intercept MPI read/write calls.
Assuming Assise is under a continuous development, is Assise expected to support MPI I/Os in the future?
Thank you.
The text was updated successfully, but these errors were encountered: