HadoopとTransparent Huge Pages(THP)

2017-02-09 update: https://issues.apache.org/jira/browse/KUDU-1447 にて、defrag の無効化だけでは解消しきらないケースが報告されました。これを受け、Cloudera Manager 5.9 以降では enabled と defrag 共に never or madvise とするようアドバイスしています 2015-09-06 update: https://bugs.centos.org/view.php?id=5716https://bugzilla.redhat.com/show_bug.cgi?id=805593 (要ログイン) により、6.5 以降では発生しないとの見解でしたが、その後も発生が報告されたため、Cloudera Manager 5.4.5 以降では RHEL 系 6.2 以降のバージョンであれば defrag を無効にするようメッセージが表示されます(日本語のメッセージがアップデートされていませんが、これはi18nのバグです)。 続きを読む
5
Daisuke Kobayashi @d1ce_

Riak, ES周りでにわかにTHPがパフォーマンス劣化を招くとして話題になってる模様 / “Riak, Elasticsearch and numad walk into a Red Hat - Meltwater Engine…” htn.to/B1C1Ww

2015-04-27 11:06:58
Daisuke Kobayashi @d1ce_

THPがHadoopクラスタのパフォーマンスにあたえる影響については2012年のこの記事がすばらしい / “Linux 6 Transparent Huge Pages and Hadoop Workloads | Structu…” htn.to/nsnrD3

2015-04-27 11:07:55
Daisuke Kobayashi @d1ce_

THP続き。その後の調査の結果、defragが根本原因であることが判明。Hadoopクラスタにおいてdefragの無効化は超絶必須設定となっている / “Improving Performance” htn.to/usfhooy

2015-04-27 11:10:48
OGAWA, Tadashi @ogawa_tter

.@d1ce_ Hadoop関連ではありませんが、遺伝子解析で THP (Transparent Huge Page) を採用し、Real: 57m => 3mと改善された報告です (2015/4/16) blog.jcuff.net/2015/04/of-hug… ※適材適所ですね。

2015-04-27 11:37:00
Daisuke Kobayashi @d1ce_

.@ogawa_tter ありがとうございます。"echo never > /sys/kernel/mm/transparent_hugepage/enabled" ですんで、THPを完全に無効化した場合にパフォーマンスが飛躍的に向上した、ということですよね?

2015-04-27 12:18:23
OGAWA, Tadashi @ogawa_tter

@d1ce_ はいそうです。ツイート間違ってました orz

2015-04-27 12:22:17
Daisuke Kobayashi @d1ce_

というわけで、THPが無効化されていないHadoopクラスタでは簡単にパフォーマンス劣化がおきます。Cloudera Managerのホストインスペクタがあれば全ホストに対してチェックを行い、問題があればこのように警告してくれます ow.ly/i/axq91

2015-04-27 14:25:31
スチール @s_wool

THPのデフラグ無効にし忘れてpage cache飛ばされてdisk io高騰してDataNode度々ダウンした話ならあります。

2015-04-27 14:37:29
スチール @s_wool

@d1ce_ そういえばCentOS 6.5だとTHP有効にしてても警告されなかった記憶があります

2015-04-27 14:40:47
Daisuke Kobayashi @d1ce_

.@s_wool OS側で直ってるからですね。詳しくは bugzilla.redhat.com/show_bug.cgi?i… (要ログイン)

2015-04-27 14:45:58
OGAWA, Tadashi @ogawa_tter

.@d1ce_ THP有無での Hadoop CPU Usage sysのグラフがすごいです (他の影響も検討中とありますが、2015/2/24) ghostar.org/2015/02/transp… CentOS Bug Trackerへのリンクもあります (6.4で Fixed)。

2015-04-27 14:55:27
Daisuke Kobayashi @d1ce_

.@ogawa_tter これはすごい!グラフはある意味美しいですね。そりゃ "makes me sad" とタイトル付けるのもわかります。

2015-04-27 15:24:10
OGAWA, Tadashi @ogawa_tter

.@d1ce_ あまりに美しすぎます。 THP問題は奥が深いです。Orackeの 2014/8/11の DBベンチマーク報告です twitter.com/ogawa_tter/sta… HPC的感覚では Huge pageは OKかと思ってましたが THPはワークロードによりますね。

2015-04-27 15:44:26
OGAWA, Tadashi @ogawa_tter

Oracleによる DBベンチマークでの THPの影響の報告 (2014/8/11) blogs.oracle.com/linuxkernel/en… 1M read 2.6.32: 8384 MB/s 3.11-rc5 (w/ THP): 6501 MB/s +patch: 8371 MB/s

2015-04-27 14:35:33
Daisuke Kobayashi @d1ce_

.@ogawa_tter むむむ、なかなか難しいですね。排他制御のコードがオーバヘッドを生み出してるんですね。

2015-04-27 19:23:05
OGAWA, Tadashi @ogawa_tter

.@d1ce_ HPC系のレポートを見つけたのですが (先程紹介したツイートに続けています)、ARM (v3.8-rc4)/x86_64 (v3.2.0-48) 共に THPの効果がほとんど見られません (確か、以前の他の報告では効果有りだった気がしますが)。むむむです。

2015-04-27 19:34:57
Daisuke Kobayashi @d1ce_

harmfulな時代もありました... (Hadoop談) / “革命の日々! transparent hugepage considered harmful” htn.to/jYdHcvLZG

2015-09-03 11:31:59
oza @oza_x86

@d1ce_ Hadoop はもう無効にするしかないですよね

2015-09-03 11:34:51
Sho Shimauchi @shiumachi

ちなみに Cloudera Manager ではHadoopのノードがTHPを無効化していなかったら警告を出すようになっています mkosaki.blog46.fc2.com/blog-entry-129… #hadoop pic.twitter.com/2jeL8J5VPj

2015-09-03 11:36:44
拡大
oza @oza_x86

@d1ce_ ちなみに,Ubuntu 14.04 で再現してました.ご参考まで...

2015-09-03 11:37:39
Sho Shimauchi @shiumachi

@satoru_takeuchi すいません、そのメッセージは古いバージョンのものです。正しくはこちらのスクリーンショットをご参照ください twitter.com/d1ce_/status/6…

2015-09-03 15:04:41
Sho Shimauchi @shiumachi

@satoru_takeuchi @kosaki55tea お、そのスクリーンショットでもまだバージョンが古かったですね。最新のバージョンではRHEL6の全バージョンに適用するようになっています cloudera.com/content/cloude…

2015-09-03 15:58:53
KUBOTA Yuji @sugarlife

THP ってオフにするものなの?(Java/OpenJDKはともかくHadoopとその周辺プロダクトにどう影響があるのか解っていない) / “こんなHadoop本が読みたい - wyukawa’s blog” htn.to/gBUu6o3

2017-02-07 09:16:07