Skip to content

Can Gramine Batch Multiple File Read/Write Requests in One OCall? #2093

Answered by mkow
BaoSKY asked this question in Q&A
Discussion options

You must be logged in to vote

In theory yes, but it's not implemented and would require the following:

  • Your app would need to use scatter-gather I/O syscalls, like readv.
  • The corresponding filesystem you use in Gramine would need to implement readv and writev callbacks in its struct libos_fs_ops.
  • PAL API would need to get scatter-gather I/O API calls.
  • ocall API would also need such a call added.

So, it's quite some work. Not complicated, but adds a bunch of new APIs we'd need to support. Not sure we want that, but I guess we should consider it if it actually significantly helps with performance.

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@BaoSKY
Comment options

Answer selected by BaoSKY
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants