[ 
https://issues.apache.org/jira/browse/HDFS-4953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13725502#comment-13725502
 ] 

Colin Patrick McCabe commented on HDFS-4953:
--------------------------------------------

Just to comment about Phantom references specifically: I do believe that PR are 
better than finalizers.  But they still suffer from the same problem of keeping 
the object around for longer than it needs to be.  In this case, that 
translates into keeping the mmap around for longer than it needs to be.  That 
consumes page table entries and may prevent us from unmapping a memory map 
which really has not been used for a long time.  This in turn may lead to us 
not creating another mmap that we should have created, because the cache is 
full.  etc.

My understanding of PR (correct me if I'm wrong) is that you generally have to 
have a thread that keeps polling the PR to see if it's ready to be disposed of. 
 This is extra overhead for the users who do remember to correctly call 
{{close()}}.
                
> 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

Reply via email to