今回は、Linuxサーバーのハードウェア設定において知っておくべき基礎知識について、全3回で簡単にご紹介します。第1回目はCPUのHyper-Threading(HT)機能とLinuxの関係や用途について説明します。HTとハイパーバイザー型の仮想化基盤ハードウェアの設定項目Linuxサーバーに限った話ではありませんが、ハードウェアの設定は、Webフロントエンド、HAクラスター、仮想化基盤など、その用途によって大きく異なります。そのため、Linuxをインストールする前に、用途に応じたハードウェア設定が必要です。標準的なインテルアーキテクチャのx86サーバーでは、様々なハードウェア設定項目がありますが、代表的なものとしては、以下があげられます。上記は、代表的なx86サーバーでの主な設定項目です。ベンダーのセットアップサービスを購入しない場合、上記の設定項目は、デフォルト値で出荷されるため、当然、実際に使う用途に最適な設定になっていません。そこで、Linuxサーバーの用途によってハードウェアの設定を行う必要があります。ハードウェアの具体的な設定手順を知ることも重要ですが、まずは、ハードウェア設定項目とLinuxの関係について、基礎的な内容をおさえておくことが必要です。Gen9サーバーのBIOS設定画面。様々な設定項目が存在する。Linuxサーバーの用途によって設定が異なる。通常は、ヒアリングシートに基づいて、ベンダーやユーザーのIT部門の技術者が設定を行う場合が多い。以下では、上記の設定項目のうち、CPUのHyper-Threading(HT)機能とLinuxの関係について簡単に解説します。Xeonプロセッサ)やパソコン向けCPUなど、Intel社製のCPUでは、Hyper-Threading(HT)の機能が実装されています。HTは、CPUにおけるマルチタスク処理を実現するIntel社独自の技術です。このHTを有効にすると、1個の物理CPUコアで独立した2つのスレッドを実行できます。物理CPUコアに対し論理コアが2倍に増えます。Linuxにおいては、論理コアを使うことで、システム全体の性能が向上する場合があります。HTが有効になっていると、論理コアは、ハードウェア資源を共有しているため、共有しているハードウェア資源の取り合いが発生すると、オーバーヘッドとして性能劣化が発生する場合もあります。HTを利用すべきかどうかの判断は、稼働させるアプリケーションとサーバーの構成に大きく依存します。性能向上がみられるアプリケーションもあれば、性能が劣化するアプリケーションも存在します。Linuxで稼働するビッグデータ分析ソフトウェアで知られるHadoop(ハドゥープ)のシステムでは、HTを有効にすると、CPU処理が多いアプリケーションで性能改善が見られる傾向があります。Apolloサーバーに搭載されているCPUのHT機能を有効にすることを推奨しています。これについては、以下の技術文書に記載があります。●HPEが提供するHadoopの技術文書:https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA6-7444ENW.pdfしかし、低遅延のアプリケーションが稼働するようなシステムにおいては、逆にHTを無効にすることが推奨されています。このため、本番環境でのアプリケーションの実稼働前に、テスト環境において、本番環境と同じハードウェア設定で稼働させ、HTによる性能向上を評価することが強く推奨されています。HPEでは、Linux環境で低遅延アプリケーションを稼働させる際のハードウェアの設定に関する技術文書を提供しています。●Linux環境で低遅延アプリケーションを稼働させる際の設定に関する技術文書:https://h50146.www5.hpe.com/products/software/oe/linux/mainstream/support/whitepaper/pdfs/c01804533-2014-nov.pdfHTとハイパーバイザー型の仮想化基盤ハイパーバイザー型の仮想化基盤やクラウド基盤では、仮想マシンにCPUリソースを割り当てます。仮想化基盤の場合、集約度を向上させるために仮想マシンの数を増やすと、その分だけ、CPUコアが必要になります。できるだけ多くのCPUコアを仮想マシンに割り当てる必要があるため、仮想化基盤では、HTを有効するのが一般的です。HTはCPUコアとみなすことはできるものの、HTによって性能を発揮できるかどうかは稼働するワークロードのシナリオによって異なるため、通常のCPUコアと同等のパフォーマンスを、HTによって提供される論理コアに100%期待することはできない点に注意が必要です。ProLiantサーバーにおけるHTの設定画面このように、ビッグデータ分析基盤や仮想化基盤では、HTを有効にしますが、逆に低遅延アプリケーションを実行する場合は、無効にするといった運用もあるため、ハードウェアの設定は、用途によって異なることを知っておく必要があります。OS側でチューニングすればある程度性能向上が期待できるため、ハードウェアの設定は気にしなくてもよいという意見が散見されますが、大規模サーバー環境や非常に高負荷なシステムにおいては、ハードウェア側での設定を誤ると、性能面で非常に不利な状況に陥るだけでなく、サーバーシステム全体の安定稼働に問題が生じる可能性が大いにあります。ハードウェアの設定変更、とくにBIOSでの設定変更は、OSの再起動を伴います。そのため、計画停止などシステムの運用面でも注意が必要です。今回は、CPUのHyper-Threading(HT)機能とLinuxの関係や用途について簡単に解説しました。OSをインストールする前段階で必要となるCPUのHTに関する基礎知識を身につけ、用途に応じたハードウェア設定を行ってみてください。次回は、CPUの仮想化支援機能とLinuxの関係について解説します。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師、SIを経験。Fame」を2年連続受賞。プリセールスMVPを4度受賞。現在は、日本ヒューレット・パッカードにて、Hadoop、Spark、Docker、OpenStack、Linux、FreeBSDなどのサーバー基盤のプリセールスSE、文書執筆を担当。Hadoopなどの技術者認定資格を保有。Server実践入門」などがある。趣味はレーシングカートとビリヤード。雑誌等の執筆依頼を受付しております。役に立たなかった0人がこの投稿は役に立ったと言っています。コメントをキャンセルメールアドレスは表示されません。Reserved.本サイトに掲載されている社名、製品名、サービス名等は各社の商標または登録商標です。プライバシーポリシーお問い合わせ。