投稿

10月, 2022の投稿を表示しています

PCクラスタを利用したHPCの試験構築

記事の更新日:2026/09/12 1.概要 PCクラスタを利用したHPC(high-performance computing)がどのようなものであるかを調べているとOpen MPIを見つけました。Open MPIはHPCのライブラリで具体的な構築方法を探していると大学のWebサイトでMPIを利用し、Ubuntu Serverをベースとした環境構築資料を見つけました。 PC(x86サーバ)の単体性能は、マザーボードに搭載可能なCPUの数と単体性能に依存します。このトータル性能がPC(x86サーバ)を1台利用した場合の限界値です。大規模な計算を実行するためには、単体のPC(x86サーバ)では全く足りません。 そこで、複数のPC(x86サーバ)を同様の構成で構築して、実行する計算処理を各PC(x86サーバ)に分散することでトータル性能を向上することを目的としてPCクラスタが生まれました。ハードウェアだけでは性能は上がりません。如何にして計算処理を複数のPC(x86サーバ)に分散するかがポイントになります。 PCクラスタの試験的な構築をするため、Ubuntu DesktopのKVMを利用して、VMのUbuntu serverでhpcの仕組みを調べてみました。その内容を記述します。 私の認識は下記の通りです。 (1) 複数台のx86サーバを同時に稼働して、計算能力をスケールアプする技術です (2) Open MPIを利用することで、計算処理の分散を容易にできます。 (3) master nodeとworker nodeで実現され、master nodeが処理を分散します (4) データの受渡しはnfsを利用します 2.詳細 (1) 導入手順 (a) kvm install (b) ubuntu-20.04 server install (c) ip-address変更(vmは192.168.122.10, 192.168.122.20に設定) (d) ubuntu update (e) vm clone(vm ubuntu serverを2台構築) (f) hostname変更 (g) master node(ubuntu desktop)にnfs-server構築 (h) worker node(vm ubuntu server)にnfs-client構築 (i) o...

IPアドレスをセグメント記述と数値記述に相互変換する方法

記事の更新日:2026/09/30 評価を加筆 1.概要 この記事は2022年の記事ですが、IPv4に関する情報整理をして、IPv4アドレスのドット区切りと数値IPv4アドレスの相互変換を実現処理を説明しています。IPv4は現実世界で利用されている重要な情報であり、備忘録に残すべきと考えて記事の見直しをしました。 IPアドレスはドットで区切られたIPv4アドレスが良く知られています。しかし、内部処理ではドットで区切られたIPv4アドレスを数値IPv4アドレスに変換されて利用されていることもあります。ドットで区切られた一般的なIPv4アドレスと数値IPv4アドレスの変換について、簡単な処理を作成したので、その内容を記述します。 私の評価は以下の通りです。 (1) IPv4アドレスはドット区切りが一般的ですが、数値のIPアドレスもあります (2) 両者を相互変換する処理を作成しました (3) IPアドレスは国別に配布されています (4) 国別に配布されたIPアドレスの調べ方を記述しています。案外、細かく分かれています 2.詳細 (1) 一般的なIPv4アドレスと数値IPv4アドレスの相互変換(shell版) IPアドレスの配布はセグメント単位です。IPアドレスがIPアドレスセグメントに含まれているかを調べる必要がありますが、IPv4のIPアドレスはドットで分割されたアドレスです。例えば、192.168.10.1などです。しかし、この表記の場合、あるIPアドレスがIPアドレスの範囲(192.168.9.0 - 192.168.10.255)に含まれていることを調べるには不便です。そこで、IPアドレスを10進数に変換してから調べます。 192.168.9.0     =>  3232237824 192.168.10.1    =>  3232238081 192.168.10.255  =>  3232238335 上記結果から数値化することで、大小比較が容易できます。そこで、IPアドレスを10進数に変換する処理をshellで作成しました。今回はその内容を記述します。 作成したshell (a) ipから10進数(ip2dec.sh) #!/bin/bash ip2d...