[ubuntu-jp:6470] Re: Ubuntu Serverを使ったグリッドコンピューティングの定番手法

TAKAHASHI Hidetsugu manzyun @ gmail.com
2021年 9月 19日 (日) 06:40:09 UTC


高橋秀羅 a.k.a まんじゅ(´ん`)です。

とても興味のある話題なのでレスをさせて頂きます。
しかし、まず無知による愚問をさせて下さい:

# Q. 
『MicroK8sのクラスターを作って、自宅サーバの負荷分散』が、本当に負荷分散に繋がるのでしょうか?

## 私個人の案(できるだけ簡潔に)

* せっかくUbuntu Serverを用いているので、Canonical社の『Juju / 
MAAS』を使ってはどうだろう。
     * ベアメタル向けの操作もある
     * 『Juju / 
MAAS』自体で『Kubernetes』の『Charm』,『Bundle』が提供されている記憶
* 『遠隔手続き呼び出し(RPC』で調べていくのも一つかも

## tl; dr(整理も至らぬまま書いた長い持論展開)

私個人整理できてない状態でこの文面を書いてしまっていますので、
「単語から連想した自分の知見への関連付け」
を行っているという点をご容赦頂きながら読んで頂けると幸いです:

----------

> 「そもそもUbuntu 
> Serverで、複数のサーバを使った並列処理、分散コンピューティングの手法があるのでは?」
ここで私個人躓いてしまったのが、
「『分散コンピューティング』の定義ってなんだべ?」
と思い抱きました。また;

> ・Kubernetesはクラウドサービス向けの技術なのでオンプレミスでの利用のための情報が少ない
> ・そもそもオンプレミスなら使えるリソースはフルに使い切っていいので、Kubernetesだとムダがある
という考えに私個人も同感を抱きました。

そこで、手前味噌にWikipedia日本語版で『分散コンピューティング』について引きました:

> 分散コンピューティングは、コンピュータ同士をネットワーク接続し、効率的に通信できるよう努力した結果として自然に生まれた。しかし、分散コンピューティングはコンピュータネットワーク 
> <https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF>と同義ではない。単にコンピュータネットワークと言った場合、複数のコンピュータが互いにやり取りするが、単一のプログラムの処理を共有することはない。World 
> Wide Web <https://ja.wikipedia.org/wiki/World_Wide_Web> 
> はコンピュータネットワークの例であるが、分散コンピューティングの例ではない。 
>
>
> 分散処理を構築するための様々な技術や標準が存在し、一部はその目的に特化して設計されている。例えば、遠隔手続き呼出し 
> <https://ja.wikipedia.org/wiki/%E9%81%A0%E9%9A%94%E6%89%8B%E7%B6%9A%E3%81%8D%E5%91%BC%E5%87%BA%E3%81%97> 
> (RPC)、Java Remote Method Invocation 
> <https://ja.wikipedia.org/wiki/Java_Remote_Method_Invocation> (Java 
> RMI)、.NET Remoting <https://ja.wikipedia.org/wiki/.NET_Remoting> 
> などがある。
>
*Wikipedia日本語版『分散コンピューティング』の項より抜粋*

たまたま自分が直近の開発仕事で『gRPC 
[1]』が絡んだ技術調査を調べていた事もあり、つい、
「(実装する。もしくはこれらを用いた実装があるだろう。という前提で持論を展開してしまっているが)
『gRPC』と『Protocol Buffer 
[2]』を用いれば、数年前よりは容易に実装が可能なのでは? 
そしてとっくにされているのでは?」
と思い至った次第です。

------

と、つい熱を込めてポエム(詩じゃない何か)をのたまいてしまいましたが、『RPC』特に『gRPC』の方向で調べ直すのは徒労になりかねないので;

> 自宅サーバの負荷分散をしよう
に着目し、
「複数のワンボードコンピュータによるスケール・イン/アウトを動的に行えれば良い」
のであれば、
「『Juju/MAAS』を触るのが無難な選択」
かと思った次第です。

乱文・長文お許し下さい。
小池さんの今後の調査の方向を広げられる一因になればとても幸いです。


# 脚注

[1] 『Google』が提唱し、『Cloud Native Computing 
Foundation』が主導して開発しているRPCフレームワーク: https://grpc.io/

[2] 
『Google』が提唱した「汎用構造定義フォーマット」(という高橋の認識)。『gRPC』でも用いられている: 
https://developers.google.com/protocol-buffers


On 2021/09/19 11:59, Toshiaki Koike wrote:
> 小池です。
> 昨年Raspberry 
> PIを3台購入して、MicroK8sのクラスターを作って、自宅サーバの負荷分散をしようと勉強している(時間がとれず中途半端に終わってる)のですが、よくよく考えてみると
>
> ・Kubernetesはクラウドサービス向けの技術なのでオンプレミスでの利用のための情報が少ない
> ・そもそもオンプレミスなら使えるリソースはフルに使い切っていいので、Kubernetesだとムダがある
>
> ことに思い当たり「そもそもUbuntu 
> Serverで、複数のサーバを使った並列処理、分散コンピューティングの手法があるのでは?」と思い調べてみたのですが、グリッドコンピューティングに関連してかなり古い記事ばかりでした。
> 一番新しそうなもので、2008年。
> https://mizuno.hatenadiary.org/entry/20080809/1218289825 
> <https://mizuno.hatenadiary.org/entry/20080809/1218289825>
> (Ubuntu Japanese Teamの水野さんの記事ですよね)
>
> wikipediaによればLinuxのグリッドコンピューティングにはBeowulfって方式があるらしいですが、これも情報が少ない。
>
> 現在は、Linuxでのグリッドコンピューティング手法は死滅してしまったのでしょうか?
> それともクラウド技術に圧されて流行ってないから情報が少ないだけで、実現のためのパッケージがUbuntu 
> Serverに用意されてたりするのでしょうか?
>
> -- 
> -------------------------------------------------
> 小池利明
> t-k @ dive2.blue <mailto:t-k @ dive2.blue>
> Toshiaki Koike
> -------------------------------------------------

-- 
高橋 秀羅 a.k.a まんじゅ(´ん`)
TAKAHASHI Hidetsugu a.k.a manzyun

E-Mail: manzyun @ gmail.com
Twitter, Qiitadon, etc...: manzyun




ubuntu-jp メーリングリストの案内