[ 
https://issues.apache.org/jira/browse/HDFS-12911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uma Maheswara Rao G updated HDFS-12911:
---------------------------------------
    Description: 
One of the key comment from the discussions was to modularize the SPS code, so 
we can easily plug in the external/internal implementations.

So other comments to handle
Daryn:
 # Lock should not kept while executing placement policy. 
 - already handled by 
 # While starting up the NN, SPS Xattrs checks happen even if feature disabled. 
This could potentially impact the startup speed. 



  was:
This is the JIRA for tracking the possible improvements or issues discussed in 
main JIRA

So far comments to handle
Daryn:
 # Lock should not kept while executing placement policy.
 # While starting up the NN, SPS Xattrs checks happen even if feature disabled. 
This could potentially impact the startup speed. 

UMA:
# I am adding one more possible improvement to reduce Xattr objects 
significantly.
 SPS Xattr is constant object. So, we create one Xattr deduplication object 
once statically and use the same object reference when required to add SPS 
Xattr to Inode. So, here additional bytes required for storing SPS Xattr would 
turn to same as single object ref ( i.e 4 bytes in 32 bit). So Xattr overhead 
should come down significantly IMO. Lets explore the feasibility on this option.
Xattr list Future will not be specially created for SPS, that list would have 
been created by SetStoragePolicy already on the same directory. So, no extra 
Feature creation because of SPS alone.
# Currently SPS putting long id objects in Q for tracking SPS called Inodes. 
So, it is additional created and size of it would be (obj ref + value) = (8 + 
8) bytes [ ignoring alignment for time being]
So, the possible improvement here is, instead of creating new Long obj, we can 
keep existing inode object for tracking. Advantage is, Inode object already 
maintained in NN, so no new object creation is needed. So, we just need to 
maintain one obj ref. Above two points should significantly reduce the memory 
requirements of SPS. So, for SPS call: 8bytes for called inode tracking + 8 
bytes for Xattr ref.
# Use LightWeightLinkedSet instead of using LinkedList for from Q. This will 
reduce unnecessary Node creations inside LinkedList. 




> [SPS]: Modularize the SPS code and expose necessary interfaces for 
> external/internal implementations.
> -----------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-12911
>                 URL: https://issues.apache.org/jira/browse/HDFS-12911
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode, namenode
>            Reporter: Uma Maheswara Rao G
>            Assignee: Rakesh R
>         Attachments: HDFS-12911-HDFS-10285-01.patch, 
> HDFS-12911-HDFS-10285-02.patch, HDFS-12911-HDFS-10285-03.patch, 
> HDFS-12911.00.patch
>
>
> One of the key comment from the discussions was to modularize the SPS code, 
> so we can easily plug in the external/internal implementations.
> So other comments to handle
> Daryn:
>  # Lock should not kept while executing placement policy. 
>  - already handled by 
>  # While starting up the NN, SPS Xattrs checks happen even if feature 
> disabled. This could potentially impact the startup speed. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to