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

Vinayakumar B commented on HDFS-6659:
-------------------------------------

I think I understand your points [~langera].

I have little queries.. 
1.  Exactly where in HDFS this is needed?

2.
bq.This is a lot less heavy in terms of latency for that particular call. It 
also avoids having large amount of contiguous heap space and so behaves nicer 
with garbage collection
I agree that 'BlockList' will handle allocation of new lists efficiently. But 
how it will de-allocate the memory once all the elements are deleted one by 
one? 
I think everything will be filled with gap indexes itself. right?

> Create a Block List
> -------------------
>
>                 Key: HDFS-6659
>                 URL: https://issues.apache.org/jira/browse/HDFS-6659
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: namenode
>    Affects Versions: 2.4.1
>            Reporter: Amir Langer
>            Assignee: Amir Langer
>              Labels: perfomance
>         Attachments: HDFS-6659.patch
>
>
> BlockList - An efficient array based list that can extend its capacity with 
> two main features:
> 1. Gaps (result of remove operations) are managed internally without the need 
> for extra memory - We create a linked list of gaps by using the array index 
> as references + An int to the head of the gaps list. In every insert 
> operation, we first use any available gap before extending the array.
> 2. Array extension is done by chaining different arrays, not by allocating a 
> larger array and copying all its data across. This is a lot less heavy in 
> terms of latency for that particular call. It also avoids having large amount 
> of contiguous heap space and so behaves nicer with garbage collection.
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to