Re:PipesFS: Fast Linux I/O in the Unix Tradition (2008)
by amckinlay on Sunday July 15, 2018 @03:14PM
(#17536545)
Still wish the Linux kernel had zero-copy IPC with pipes. vmsplice(1) can zero-copy data into the pipe, but the destination process cannot vmsplice(1) the data out of the pipe without incurring a copy.
Re:PipesFS: Fast Linux I/O in the Unix Tradition (2008)
by gpderetta on Sunday July 15, 2018 @09:01PM
(#17538027)
I've never tried it, but shouldn't you be able to vmsplice into the pipe, splice from pipe to an actual file and mmap the file? Probably the cost of the additional splice call offsets the saved copy.
It is possible to implement a simple shared memory queue which does not requires syscalls unless empty or full, and the time saved avoiding system calls (and expensive VM manipulation) might be more than the cost of copying data in and out for many applications.
Unfortunately, it appears that the institution's internal project hosting system (that would hold the source code I'm after) is down -- I suppose an e-mail to the department would be in order.
It is possible to implement a simple shared memory queue which does not requires syscalls unless empty or full, and the time saved avoiding system calls (and expensive VM manipulation) might be more than the cost of copying data in and out for many applications.
https://web.archive.org/web/20130624173559/http://netstreaml...
If the topic of the paper is interesting to you, you will likely be interested in other parts of the Streamline project.
https://www.cs.vu.nl/~herbertb/projects/streamline/index.htm...
Unfortunately, it appears that the institution's internal project hosting system (that would hold the source code I'm after) is down -- I suppose an e-mail to the department would be in order.
https://www.cs.vu.nl/~herbertb/papers/osreview2008-2.pdf