HPCシステムズではエンジニアを募集しています。詳しくはこちらをご覧ください。
HPCシステムズのエンジニア達による技術ブログ

Tech Blog

HPC

HPC

AWSが拓いたLustreファイルシステム新時代 -1-

はじめにHPCとはHigh Performance Computingの略で、一般には科学技術計算を意味すると認識されています。ところが、この中にどこにも「科学」とか「技術」とかの単語はありません。HPCの定義として高速にデータ処理をするもの全般として広くとらえた方が良いと、ずっと個人的には考えていますが、まだまだ一般的な考え方とは言えないのが現状です。さて、最初にAWSがLustreをやると聞いた時は、旧来のHPC以外の人はそもそもLustreなんて知らないし、使う理由もないのでは?と思っていました。実際、Lustreをメインのストレージとして使うには初期投資が大きくなりがちで、性能要件から...
HPC

OS付属コンパイラが古すぎて困った人へ

RHEL/CentOSについて これらのディストリビューションはその名の通りエンタープライズ用途に用いることを前提に作られ、サポートされています。長期に渡って運用されるシステムのために固定された仕様のまま、セキュリティ対応の修正が入れられています。バージョンが固定されていることで、仕様変更が入らないことが保証され、修正は入っても突然ソフトウエアが使えなくなる恐れはありません。しかしその反面、何年も前に策定された仕様のため、新しいソフトウエアに対応できなくなるという弊害をはらんでいます。 RHEL6.0/7.0のリリースはそれぞれ2010年/2014年なので、10年前/5年前の仕様となっています...
HPC

AMD EPYC 7002シリーズ(Rome) ベンチマーク Gaussian

AMD EPYC の最新世代 Rome、7002シリーズプロセッサーについて、ベンチマークを取得しました!ベンチマーク取得したアプリケーションは Gaussian です。1CPUあたりコア数が最大64、メモリ8チャンネル、AVX2対応、と目を引くスペックですが、これを Xeon Cascade Lake と比べるとどうなるのか!?どうぞご覧ください!ベンチマーク報告書ダウンロードページはこちら
HPC

Compilerの種類、Versionに関する話(その2)

少し間が空いてしまいました。今回の記事では、引き続き Compiler について書いていきます。今回の記事は前回からの続きとなりますので、未読の方はぜひこちらをご覧ください。 パフォーマンスが一定以上出るかどうか前回の記事でも書きましたが、ここで言う、「パフォーマンスが一定以上出る」という表現は、「他のCompilerと比較してパフォーマンスが極端に低くない」という意味であり、最適(最速)な組み合わせを求めているわけではありません。特定の Compiler によって、性能が大きく劣化してしまうケースは、前回述べた、動作そのものが不安定になるケースよりは数が少ないです。Compiler によって...
HPC

NGC(NVIDIA GPU CLOUD)のシステム要件および登録手順

NGC(NVIDIA GPU CLOUD)のシステム要件および登録手順
HPC

NGC(NVIDIA GPU CLOUD)の概要

NVIDIAが提供しているNGC(NVIDIA GPU CLOUD)の概要
HPC

Compilerの種類、Versionに関する話(その1)

お客様とソース配布のアプリケーションについて話をしていると、" アプリケーションビルドに、この Compilerでは問題ないですか "" アプリケーションビルド時に、Compiler の差はどの程度ありますか "という質問を受けることがあります。今回はこの点について書いていきたいと思います。話の前提として、" 特定のアプリとCompilerの組み合わせ" については、組み合わせ数が膨大となり、ここでは書ききれません。あくまで一般論となってしまうことはご了承下さい。また、Compiler が問題ない、と判断する基準は、 安定して動作する事 パフォーマンスが一定値以上出る事(パフォーマンスが極端に...
HPC

意外と知られていない?Googleのメモツール

日々、膨大な情報の渦の中でさまざまな思索を行う中、思いついたアイデア、ふと思い出したこと、忘れちゃいけないことを、あとでぱっと取り出せるように保管しておきたいことがあります。こうした用事を片付けるのに様々なツールを試されたことが、これを読んでいる貴方も、あるのではないでしょうか。そんな中、意外とあまり知られていない(ような気がします;筆者経験上)、Googleによるツール「Google Keep」を私は愛用しているので、他のツールと比べながら、紹介したいと思います。 ツールその1「自分の脳(記憶)」・・・覚えておく。 長所:持ち物が一切不要。 短所:忘れることがある(忘れない人はここで解決・完...
HPC

Intel Math Kernel Library ( Intel MKL ) について

時々、お客様からIntel Math Kernel Library ( Intel MKL ) に関する質問を受けます。最近、Intel MKLはソース配布のHPC向けアプリケーションでも対応例が多いため、興味を持たれている方も多い印象です。そのため、今回は Intel MKLについて解説します。〇 Intel MKL とはIntel MKLは数値演算ライブラリの1種で、主な機能としては BLAS ( Basic Linear Algebra Subprograms )、LAPACK ( Linear Algebra PACKage ) となります。数値演算ライブラリ、BLAS、LAPACKと...
HPC

サインして自分だけのオリジナルコンテナイメージを作ろう

背景どこかで聞いたようなタイトルですが・・・。さて、DockerやSingularityなどのコンテナは、インターネット回線があれば公開リポジトリにあるイメージをどんどん持ってきて、自分の環境で利用することができます。反面、そのイメージの品質やセキュリティレベルについては自己責任です。しかし、中に何が入っているかつぶさに調べてからでないと使えないというのでは、せっかくの利便性が活きません。昨年Docker hubに登録されていたイメージの中に、仮想通貨のマイニングツールが仕込まれているものが複数見つかるという事件が起きたことから、利便性に隠れて見て見ぬふりをされてきた議論が一気に活発になりまし...
HPC

短時間ジョブのスループットについてのシンプルな実験

背景ビッグデータという言葉もそろそろ使い古され、耳にする機会も減ってきた気がしますが、そういう分野がなくなってしまったわけではなく、そうしたサイズのデータを扱うことが当たり前になったという解釈が妥当そうです。実際、ビッグデータという単語を聞かなくなったこととは裏腹に、これまで得られた多数の計算結果を網羅的に統計処理をしたり、データ間の相関を取るなど、直接計算結果を得ることの先の業務が必要になって来ていると、よく耳にするようになりました。その分析にAI的な手法を用いることで効率的に目的(予算の獲得ではなく・・・)を達成できることもあるようですが、コンピュータ資源の利用方法が従来と大きく変わったこ...
HPC

UBIとSingularityと

UBIとは先日Redhat Enterprise LInux 8がリリースされました。使い勝手の面ではあまり変わりませんが、内部的に多くの更新や変更がはいっており、期待が高まるところです。ところで、同時に発表されたUniversal Base Image(UBI)が話題になっています。これはコンテナ専用のOSイメージで、Redhat社の公式OSイメージであるにも関わらず無償で提供され、再配布まで可能になっています。そのため、自分でコンテナイメージを作る必要がなく、拾ってきたイメージに何かが仕込まれているといった懸念もありません。サブセットながら公式のリポジトリがあり、yumやdnfでアップデー...
HPC

ARMでGROMACS

HPCチャレンジを動かして、大まかなARMのcpuの性格が分ったという事で、では、実アプリじゃどうなのか、という話になりました。OSは共通、さらに、gccやclang、flangが使用可能という事で、ソースがあるlinux上の大抵のアプリはポート出来るとは思いはするものの、やはり、ポーティングされた例が多いものである方が成功する可能性は高いと考えられます。ポーティング例が多く、ソースが付属しているとなると、やはりOpenSouce系のアプリが良いでしょう。という訳で、gromacsをビルドして動かしてみる事にしました。gromacsを選択する理由として1、OpenSourceであり、ユーザー数...
HPC

PDCP使ってますか?

ファイルだって並列でDistributeしたい前回のpdshには、pdcpというファイルコピーを複数のサーバーへ並列で行うユーティリティが存在します。これを用いれば、クラスターノードを増設で全てのマシンの/etc/hostsを更新したいとか、ライセンスサーバーのアドレスが変わったので静的ルートの設定ファイルを一斉に更新したいとか、そういうケースでコマンド一発でしかも並列実行できます。多数のファイルを一斉に送信できるという意味のパラレルではありませんのでご注意下さい。転送基本的に使い方はpdshと変わりません。-wや-gで標的となるホスト名やグループを指定します。次に展開するファイル名、コピー先...
HPC

PDSH使ってますか?

PDSHとはもともとIBMのクラスター管理ユーティリティ群だったClusterITの中にあったdsh(Distributed shell)のパラレル版です。dshは同じ処理を多数のマシンで行いたい場合に使うものですが、クラスターシステムの大規模化やスピードアップのために、並列動作に対応させたのがPDSHです。RHEL/CentOSではEPELリポジトリからインストール可能ですし、ビルド自体も難しくはありません。PDSHソースコード配布元はこちら。ここでは計算ノードがnode001からnode128まで128台あるとし、ログインしている管理ノードからは、全てのマシンにパスワードなしでsshでコマ...
HPC

システムの可用性を考えるための基礎

背景システムは壊れることを前提に、ユーザーの優先順位に従い、被害を最小限にするよう設計されます。つまり、被害の定義や優先順位によってその設計は変わってくることになります。ここではそのための用語と方針について、簡単に触れてみたいと思います。冗長化(Duplication)システムの運用が連続的に続けられる性質を可用性(Availability)とよび、それを実現するために同じものを複数用意し、いつでもどちらかが利用可能とすることを冗長化と呼びます。冗長の具合により最低限必要な個数をNとしてN+1といった表現を用います。RAID6はN+2相当と考えられます。冗長化は可用性を高めるための最も一般的な...
HPC

データの信頼性について改めて考えてみる

背景「自分で書いたメモが読めない・・・」こんな経験はないでしょうか。字が汚な過ぎたというのはともかく、紙の質やインクが薄かったり、濡れてしまったり、理由はいろいろあると思います。記録メディアはどうでしょうか。光学メディアに傷を付けて読み込みエラーになったり、書き込みに失敗したり、 ドライブの相性で読めなかったりということがあります。CDは蒸着したアルミ薄膜が酸化して読めなくなることがあるようです。思い出の一枚はチェックしておいたほうが良さそうです。また、留まるところを知らない半導体や記録媒体の微細化、信号の高速化により、データは常に変容する危険性を はらんでいます。ここでは大容量化の一途をたど...
HPC

第2世代IntelXeonスケーラブルプロセッサベンチマーク:Gaussian

Gaussianは量子化学計算のアプリケーションで、この分野においてデファクトスタンダードとなっています。(公式HP)2018年4月3日時点での最新版は、Gaussian 16 rev.B01 となります。今回のベンチマーク環境は以下となります。 第2世代環境(第2世代インテルXeonスケーラブルプロセッサ)第1世代環境(第1世代インテルXeonスケーラブルプロセッサ)CPUXeon Platinum 8268 x 2 ( 2.9GHz/24Core ) x 2Xeon Gold  6154 ( 3.0 GHz/18Core ) x 2Memory192 GB :16 GB( DDR4 293...
HPC

不揮発性DRAMデバイスを用いたディスクキャッシュの効果

背景これまで科学技術計算のボトルネックはCPUなどの計算そのものによるものでした。ストレージへの要求も、巨大ファイルの格納が可能な大容量、それを保存するためのスループット(帯域幅)が主要な要件だったように思います。しかし、昨今のAI・ビッグデータのブームの到来とともに、膨大な数のデータが主役となっています。いかに多くのデータを効率的に保存し、検索可能とし、再利用ができるか?が鍵となっています。特にデータ同士の相関を取るなどの統計処理において、その傾向は顕著です。これまでデータベースのための要件であった高IOPS・低レイテンシといった応答性能の向上が、ストレージハードウエア及びファイルシステムに...
HPC

第2世代IntelXeonスケーラブルプロセッサベンチマーク:VASP

VASPは密度汎関数法による平面波・擬ポテンシャル基底を用いた第一原理電子状態計算プログラムパッケージです。(公式HP)2018年4月3日時点での最新版は、Version 5.4.4 patch1 ( patch.5.4.4.16052018 ) となります。今回のベンチマーク環境は以下となります。 第2世代環境(第2世代インテルXeonスケーラブルプロセッサ)第1世代環境(第1世代インテルXeonスケーラブルプロセッサ)CPUXeon Platinum 8268 x 2 ( 2.9GHz/24Core ) x 2Xeon Gold  6154 ( 3.0 GHz/18Core ) x 2Me...