[ https://issues.apache.org/jira/browse/HDFS-4953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13737430#comment-13737430 ]
Colin Patrick McCabe commented on HDFS-4953: -------------------------------------------- HDFS-4949 is a related, but independent change. In HDFS-4949, the DataNode manages regions of memory using {{mmap}} and {{mlock}}. The {{mmap}} on the DataNode side is done only to make {{mlock}} possible. The {{mmap}} on the client side is done to allow the client to read from the {{mmap}} rather than using the {[read}} syscall. {{mmap}} regions are specific to a particular process-- an {{mmap}} in the DataNode is of no use to the client process. ClientMmapManager is named the way it is to make it obvious that it's a *client* thing, not a DataNode thing. > enable HDFS local reads via mmap > -------------------------------- > > Key: HDFS-4953 > URL: https://issues.apache.org/jira/browse/HDFS-4953 > Project: Hadoop HDFS > Issue Type: New Feature > Affects Versions: 2.3.0 > Reporter: Colin Patrick McCabe > Assignee: Colin Patrick McCabe > Attachments: benchmark.png, HDFS-4953.001.patch, HDFS-4953.002.patch, > HDFS-4953.003.patch, HDFS-4953.004.patch, HDFS-4953.005.patch, > HDFS-4953.006.patch > > > Currently, the short-circuit local read pathway allows HDFS clients to access > files directly without going through the DataNode. However, all of these > reads involve a copy at the operating system level, since they rely on the > read() / pread() / etc family of kernel interfaces. > We would like to enable HDFS to read local files via mmap. This would enable > truly zero-copy reads. > In the initial implementation, zero-copy reads will only be performed when > checksums were disabled. Later, we can use the DataNode's cache awareness to > only perform zero-copy reads when we know that checksum has already been > verified. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira