[Beowulf] big read triggers migration and slow memory IO?

James Cuff james_cuff at harvard.edu
Thu Jul 9 14:59:35 PDT 2015


Awesome!!!

With my job title most folks think I'm essentially technically neutered
these days.

Good to see there is still some life in this old dog :-)

Best,

J.

On Thursday, July 9, 2015, mathog <mathog at caltech.edu> wrote:

> On 09-Jul-2015 11:54, James Cuff wrote:
>
>> http://blog.jcuff.net/2015/04/of-huge-pages-and-huge-performance-hits.html
>>
>
> Well, that seems to be it, but not quite with the same symptoms you
> observed.  khugepaged never showed up, and "perf top" never revealed
> _spin_lock_irqsave.  Instead this is what "perf top" shows in my tests:
>
> (hugepage=always, when migration/# process observed)
>  89.97%  [kernel]       [k] compaction_alloc
>   1.21%  [kernel]       [k] compact_zone
>   1.18%  [kernel]       [k] get_pageblock_flags_group
>   0.75%  [kernel]       [k] __reset_isolation_suitable
>   0.57%  [kernel]       [k] clear_page_c_e
>
> (hugepage=always, when events/# process observed)
>  85.97%  [kernel]       [k] compaction_alloc
>   0.84%  [kernel]       [k] compact_zone
>   0.65%  [kernel]       [k] get_pageblock_flags_group
>   0.64%  perf           [.] 0x000000000005cff7
>
> (hugepage=never)
>  29.86%  [kernel]       [k] clear_page_c_e
>  21.88%  [kernel]       [k] copy_user_generic_string
>  12.46%  [kernel]       [k] __alloc_pages_nodemask
>   5.70%  [kernel]       [k] page_fault
>
> This is good, because "perf top" shows that the underlying issue
> is compaction_alloc and compact_zone even though what top shows
> is in one case migration/# and when locked to a cpu, events/#.
>
> Switching hugepage always->never seems to make things work right away.
> Switching hugepage never->always seems to take a while to break.  In order
> to get it to start failing many of the big files involved must be copied to
> /dev/null again, even though they were presumably already in file cache.
>
> Searched for "compaction_alloc" and "compact_zone" and found a suggestion
> here
>
>
> https://structureddata.github.io/2012/06/18/linux-6-transparent-huge-pages-and-hadoop-workloads/
>
> to do:
>
> echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
>
> (transparent_hugepage is a link to redhat_transparent_hugepage).
> Reenabled hugepage and reproduced the painfully slow IO, set defrag to
> "never" and the IO was fast again, even though hugepage was still enabled.
>
> So on my machine the problem seems to be with hugepage defrag
> specifically.  Disabling just that is sufficient to resolve the issue, it
> isn't necessary to take out all of hugepage.  Will let
> it run that way for a while and see if anything else shows up.
>
> For future reference:
>
> CentOS release 6.6 (Final)
> kernel 2.6.32-504.23.4.el6.x86_64
> Dell Inc. PowerEdge T620/03GCPM, BIOS 2.2.2 01/16/2014
> 48 Intel Xeon CPU E5-2695 v2 @ 2.40GHz  (in /proc/cpuinfo)
> RAM 529231456 kB (in /proc/meminfo)
>
> Thanks all!
>
> David Mathog
> mathog at caltech.edu
> Manager, Sequence Analysis Facility, Biology Division, Caltech
>


-- 
(Via iPhone)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.beowulf.org/pipermail/beowulf/attachments/20150709/9b3c9f4c/attachment-0001.html>


More information about the Beowulf mailing list