hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Isaacson (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HDFS-4253) block replica reads get hot-spots due to NetworkTopology#pseudoSortByDistance
Date Fri, 30 Nov 2012 21:51:58 GMT

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

Andy Isaacson updated HDFS-4253:
--------------------------------

    Attachment: hdfs4253.txt

This patch changes pseudoSortByDistance to randomize more thoroughly -- it will randomly choose
nodes on the local rack, and randomly order the remote-rack nodes if there are multiple of
them.

This means changing some of the TestNetworkTopology unit tests which assert that the high
replicas are not reordered.

I also added an {{@VisibleForTesting derandomizeRandom}} helper function to make the test
deterministic.  Without this determinism, the "check that we get varying results" test would
occasionally get the same random permutation twice in a row and fail.
                
> block replica reads get hot-spots due to NetworkTopology#pseudoSortByDistance
> -----------------------------------------------------------------------------
>
>                 Key: HDFS-4253
>                 URL: https://issues.apache.org/jira/browse/HDFS-4253
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 3.0.0, 2.0.2-alpha
>            Reporter: Andy Isaacson
>            Assignee: Andy Isaacson
>         Attachments: hdfs4253.txt
>
>
> When many nodes (10) read from the same block simultaneously, we get asymmetric distribution
of read load.  This can result in slow block reads when one replica is serving most of the
readers and the other replicas are idle.  The busy DN bottlenecks on its network link.
> This is especially visible with large block sizes and high replica counts (I reproduced
the problem with {{-Ddfs.block.size=4294967296}} and replication 5), but the same behavior
happens on a small scale with normal-sized blocks and replication=3.
> The root of the problem is in {{NetworkTopology#pseudoSortByDistance}} which explicitly
does not try to spread traffic among replicas in a given rack -- it only randomizes usage
for off-rack replicas.

--
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

Mime
View raw message