-
Notifications
You must be signed in to change notification settings - Fork 779
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
TS_USE_MMAP: mmap+memcopy instead pread+pwrite #10832
base: 9.2.x
Are you sure you want to change the base?
Conversation
Do you have a benchmark comparing the performance of mmap vs pread? New features would go into the master branch and we most likely wouldn't backport this change into 9.x at this point in time because we are focusing on releasing ATS 10. If this feature gets added to master / ATS 10. You could cherry pick the change to your branch of 9.x. |
is there a reason why this cannot be a configuration parameter in records.yaml and has to be a compile time option? |
@bryancall The main use cases are the users who are targeting lower-volume data with very low desired latency (like live video). |
@SolidWallOfCode |
@bryancall Would you be able to review this PR? |
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.
Wait, why is this against the 9.2.x branch? Is this a back port of something from Master?
We developed it for 9.2.x, but we can also make it work for the master branch. Can it be incorporated into 9.2? |
@moleksy Our development flow is a). merge in to the master branch first, and b). backport commits to the latest branch if needed Please open a PR against the master branch. (or change the target branch of this PR) You might need to adjust your autotools config into CMake because we're in the middle of building tool migration.
We also need more benchmark with this, but the number you talked is pretty interesting. |
Allows for only-in-memory caching for usecases where such behavior is needed (i.e. Live Video caching). It maps storage directly into user space memory, so reads and writes are being done by a memcpy (without calls to io).
apt install libaio-dev
autoreconf -if
./configure --enable-mmap --enable-experimental-linux-native-aio
./configure --enable-mmap