Hacker News new | past | comments | ask | show | jobs | submit login
PipesFS: Fast Linux I/O in the Unix Tradition (2008) (vu.nl)
65 points by mpweiher on July 15, 2018 | hide | past | favorite | 10 comments



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.


Modifying virtual mappings tends to be just as expensive as copying.


I'd be curious to see if this is still true with large page sizes and to see on current processors where the cross over point is.


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.


The paper mentions that the source code is available at netstreamline.net, which is now a spam domain. Here's the most recent IA link:

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.


Looks like it's been re-hosted to university services:

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.


This is probably very interesting but I would need to pay for access to the article...


Second Google hit when searching for the paper title:

https://www.cs.vu.nl/~herbertb/papers/osreview2008-2.pdf


Oh thanks !


ooh, this sounds wicked cool! unix pipelines and unix tools is what made me like computers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: