hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Min Zhou (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-7339) Introduce a buffered checksum for avoiding frequently calls on Checksum.update()
Date Tue, 07 Jun 2011 10:55:58 GMT

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

Min Zhou commented on HADOOP-7339:
----------------------------------

oops, some typos in the previous comment.

terasort 1GB on the same cluster , each job is ran more than 10 times, using intel vtune for
profiling.

buffer(8KB) + pure java crc32 , 58.6s (CPU)
buffer(1MB) + intel ipp optimized zlib crc32 (JNI), 60.8s (CPU)
buffer(64KB) + intel ipp optimized zlib crc32 (JNI), 61.3s (CPU)
pure java crc32, 62.0s (CPU)
buffer(8KB) + intel ipp optimized zlib crc32, 64.1s (CPU)
zlib crc32(JNI), 69.8s (CPU)
intel ipp optimized zlib crc32, 70.3 s (CPU)
It shows that BufferedChecksum + PureJavaCrc32 should be the best choice.
Thanks Kungu for sharing and testing the original patch.

> Introduce a buffered checksum for avoiding frequently calls on Checksum.update()
> --------------------------------------------------------------------------------
>
>                 Key: HADOOP-7339
>                 URL: https://issues.apache.org/jira/browse/HADOOP-7339
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: util
>            Reporter: Min Zhou
>             Fix For: 0.23.0
>
>         Attachments: HADOOP-7339-v1.diff, HADOOP-7339-v2.diff
>
>
> We found that PureJavaCRC32/CRC32.update() is the TOP 1 of the methods consuming CPU
in a map side, and in reduce side, it cost a lots of CPU too.
> IFileOutputStream would frequently call Checksum.update() during writing a record. It's
very common a MR key/value less than 512 bytes. Checksum.update() would be called every time
writing a key/value. 
> Test case: terasort 100MB. 
> Checksum.update() calls has be reduced from 4030348 to 28069.  This method is not a hotspot
anymore.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message