ElixirChipの鼓動① 君はElixir CPU＋リモートGPUによる高速分散データ処理とエッジコンピューティングの未来を見る

この記事は、[Elixir Advent Calendar 2022](https://qiita.com/advent-calendar/2022/elixir) 8の6日目です

昨日は、@RyoWakabayashi さんで[「Livebook に散布図と回帰直線を表示する」](https://qiita.com/RyoWakabayashi/items/f3636171dee22c8305fa)でした

---

[piacere](https://twitter.com/piacere_ex) です、ご覧いただいてありがとございます :bow:

今回は、タイトル通り、厨二病ポエムです…ちなみにタイトルの元ネタは、下記からです:stuck_out_tongue_winking_eye:

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/3517614b-073a-029c-6520-8b9ef8802532.png)

# ElixirChipにより訪れる未来

現代のコンピューティングは、シングルコアCPUメインのプログラミング言語が主流であることにより、世界中のPCやクラウドがマシンパワーを使い切れていない … という構造的課題が蔓延しています

この課題は、作り手たるエンジニアに生産性低下（マルチスレッド化などがその代表）をもたらし、分散によるスケーリングをクラウド費用増額でしか解決できないといった問題を誘発します（そもそもこの構造に気付いていない方も多いですが）

この技術課題が、エンジニア自身の働き方や組織形態の非効率さにも繋がることがあります … いわゆる「コンウェイの法則」です
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/bfc3cac3-d851-b8a6-2701-6def2db034d2.png)

こうした状況から解放された場合、どのようなことが可能になるかのイメージに迫ってみたいと思います

## ①3,000台のPCを10台で実現できれば誰もがGoogle／Amazonになることが出来る

[ElixirImp#21](https://www.youtube.com/watch?v=T3fpYDvrpQU&t=4891s)で登壇した通り、私は2015年に300台のPCを、Elixirで10台に収容する体験をしました … ここからアルケミスト（Elixir愛好家のこと）としての旅が始まりました

https://www.youtube.com/watch?v=T3fpYDvrpQU&t=4891s

このレベルでも充分にインパクトある実績で、たとえばクラウド上サーバ1台＋DB利用あたり月5万円かかるとすれば、1,500万円かかっていたクラウド費用が、50万円にコストダウンできてしまいます

ちなみに私のこのケース以外にも、Elixirは国内外で似たような威力を発揮しており、最近のメジャーどころだと、SpotifyやSlack、oVice、Discord等のコミュニケーションサービスや、VARKのようなVRプラットフォームといった大量ユーザを抱えるネットワークサービスが、ネットワークサーバ処理や並行・分散処理に強いElixirの恩恵を受けています

これがもし、ハードウェア結線された「ElixirChip」だったら、どうなるのか？

「3,000台のコンピュータを10台にする」みたいな世界が拓けるかも知れません

これは分かりやすく言い換えれば、

<font color="red"><b>「誰もがGoogleやAmazonと同じ規模のコンピューティングが可能となる未来」</b></font>

です

3,000台にかかるコスト1.5億円が、僅か50万円に圧縮されるので、圧倒的な市場優位性を発揮したり、開発費用を幾らでも捻出できる … そういった価格優位性も生み出します

なお、関数型言語が行き着く未来は、[<b>「Brooklyn Zelenka and The Exciting World of Edge Computing」の第2回</b>](https://qiita.com/piacerex/items/74c102453cf390058c22#%E3%82%A4%E3%83%9F%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%96%E3%83%AB%E3%81%8C%E5%88%86%E6%95%A3%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%AB%E6%9C%89%E5%88%A9%E3%81%AAelixir) で紹介した通り、「状態」と「イミュータブルのデータ」の管理に徹し、処理は全て「ハードウェア化する」という方向性です

プログラミングパラダイムの違いが、「作り方の違い」や「生産性」程度では済まず、圧倒的な性能差異へと繋がるということです

https://qiita.com/piacerex/items/74c102453cf390058c22#%E3%82%A4%E3%83%9F%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%96%E3%83%AB%E3%81%8C%E5%88%86%E6%95%A3%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%AB%E6%9C%89%E5%88%A9%E3%81%AAelixir

## ②エッジ／エッジサーバ／クラウドを行き来できる

コンピューティングパワーが上述したような状態になると、「ネットワーク」がコンピューティング全体の性能上限を決めるようになっていきます

ネットワーク性能を向上させるためには、以下3つがあります

- ネットワークの帯域幅の向上
- サーバ側のネットワーク処理性能の向上
- サーバの物理配置を近づける

クラウドを前提にした場合、[<b>「Brooklyn Zelenka and The Exciting World of Edge Computing」の第3回</b>](https://qiita.com/piacerex/items/4d4fe200b1b8204c70c8#%E6%8A%80%E8%A1%93%E7%9A%84%E3%81%AA%E5%85%AC%E5%B9%B3%E6%80%A7%E3%82%92%E3%82%A8%E3%83%83%E3%82%B8%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%A7%E7%AF%89%E3%81%8F) で述べられている「クラウド近隣地域以外に対する技術的不公平」のような問題は、上記のうち、3番目に該当する課題であり、これに対する回答は「エッジコンピューティング」です
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/be585090-a2f3-7230-e092-bb5e35ac84e5.png)

現代のWeb3やDIDは、ネットワーク負荷に対して積極的な解決を図っていない（ソレ以上に上記①の課題を抱えているため）のですが、より社会に浸透していけば、確実に大きなボトルネックとなるはずで、その回答もエッジコンピューティングでしょう

ただ、現代のエッジコンピューティングは、以下の課題を抱えています

- エッジやエッジサーバは、クラウドと異なる開発が要求され、オフロードしにくい
- 処理単位が「プロセスでの稼働」を前提としないため、プロセス単位のオフロードがやりにくい
- クラウドサービスが無い状況下で分散系を構築しにくい（≒作れるエンジニアが少ない）

Elixirは、以前書いた下記コラムで述べている通り、これら課題をすでに解決しているため、現状課題に囚われず先のことを考えられます

https://qiita.com/piacerex/items/5c6db095f4c567c36f69

ElixirChipは、こうしたElixirの強みを保ったまま、上記した2番目の「サーバ側のネットワーク処理性能の向上」も叶えるため、世界中のネットワークの在り方を変革するインパクトを持つことになるでしょう

## ③世界中のスマホがGPU非搭載PCにVR／3D処理を提供

「Render Network」という企業をご存知でしょうか？ … 分散GPUレンダリングサービスを提供するアメリカ企業です

https://rendertoken.com/

別名「クラウドレンダリング」と呼ばれるこの領域は、以下を可能とします

- VRや3D処理に必要なコンピューティングパワーをGPU非搭載PCにAPI提供
- 描画に限らず、Ethereum VMやWASMといったWeb3に必要なGPUパワーもAPI提供
- その他、AI・MLやビッグデータ分析に必要なGPUパワーもAPI提供

クラウドレンダリングは、未だ提唱されたばかりのアイデアですが、やがて次のクラウド的存在へと成長するポテンシャルを秘めたアイデアと捉えています

ここから更に一歩先に行くと、「世界中のスマホをGPUファームとして構成する」というアイデアへと繋がります

その中心に必要なのは、ElixirChipで構築された、凄まじく高速で、安定性抜群かつ低レイテンシなNWサーバです

またGPUサイドに関しても、Elixirによる革新的アイデアがあり、コチラは @zacky1972 さんが、そのうち開示してくれると思うので、その際に言及できたらいいなぁと思います

こうした諸々によって、デジタルツインやメタバース含む、昨年述べた様々なコンピューティングを、GPU非搭載なローカルPCのハードウェアに制約されずに叶えていけるでしょう

https://qiita.com/piacerex/items/7bf8f9f4f5f576e597f5#vrar%E7%AD%89%E3%81%AE%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9%E3%81%A8elixirphoenix%E3%81%AE%E6%8E%A5%E7%B6%9A

https://qiita.com/piacerex/items/35980fb08662853d6663

## ④Lend GPU to Earn：遊んでるスマホを提供して稼ぐ

世界中のスマホをGPUファームとして構成するには、世界中のスマホユーザからGPUパワーを借りる必要があります

それを叶えるのが、Web3文脈の「X2E（X to Earn）」で、ここでは「Lend GPU to Earn」を提唱します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/d5c3a303-1b10-7633-cc55-da120232e7b0.png)

家でスマホが遊んでいる時間帯を貸し出すことで、トークン／仮想通貨が稼げるという世界観です

Web3では、非中央集権的なコンピューティングを叶えるために、世界中に分散されたノードによるコンピューティングを前提としていますが、Ethereum VMやWASMといったノードの提供は、一般ユーザにとってはそれなりにハードルがあります

そこをユーザが参加容易なUXを提供し、より多くのスマホユーザが参加するエコシステムを提供することで、クラウドに匹敵するコンピューティングを叶えていきます

こうした発想が、本来的なWeb3を支える思想だと思うのですが、現在のWeb3には、こうしたアイデアが欠乏しているように思えてなりません … もっとテクノロジーで解決できる領域があると思います

ちなみに現代のスマホに搭載されているGPU（snapdragon 888、Apple A15など）は、NVIDIA GTX1060程度の性能を持っており、PC要GPUと比べて遥かに省電力という特徴を持っているため、「スマホだから…」と馬鹿にできない進化を遂げているのです

## ⑤ネイバーフッドコンピューティング

ここまでのアイデアを抽象化すると、

<font color="red"><b>「必要なコンピューティングパワーは『ご近所』で揃えていく」</b></font>

と言った、現在のクラウドに反するような、新しいけど古典的な発想へと行き着きます

私は、コレを勝手に、

<font color="red"><b>「ネイバーフッドコンピューティング」</b></font>

と呼んでいます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/61d7b662-7944-41eb-7726-3a05a156d0a2.png)

この発想は、コンピューティングの枠に限らない、以下のような効果／影響をもたらします

- 自分達の住む地域に必要なサービスやAPI、設備は、自分達で叶える
  - gov.ukやエストニアは、この発想の原始的な先行モデルと言えるでしょう
  - こうした活動により、地域毎の特色が出てきて、地方創生や移住の需要を生み出す
- 自分達の生活や仕事も、自分達が住む地域の特色を生かして叶える
  - 自分の理想とする生活や働き方が叶いやすい地域で自分の立ち位置を作る
- 望むサービスやAPI、設備がある地域に引っ越す
  - 作るチカラが無い方でも、「選ぶ自由」が生まれる

私自身の体験としても、3D点群加工処理の業務改善にて、オフィスにあるハイパフォーマンスコンピュータを使わなければ出来ず、ライセンス費用も1,000万円以上かかっていたのを、Elixirエッジコンピューティング開発により、近隣地域のママさんが自宅の低性能PCからでも作業可能にしたことで、働き方の裾野を拡げるお手伝いができました

これと似たような雇用創出を、各地域や自治体で拡げていくことは、「その地域の未来を考えてくれる企業」が幾つかあれば充分可能だと捉えています

また、Elixirコミュニティでの技術研鑽やお仕事への接続も、本質的には「ご近所付き合い」的な要素が大きいと感じてて、今、大手企業を中心に、コミュニティの優秀な人材を登用する流れも、この「ご近所付き合い」による良質でハズレの少ない関係性が注目されているのだと捉えています

以下の本は、デジタル上のコミュニティについての本ではありませんが、コロナ以後のコミュニティというものを考える上で参考になる本です

[<b>ネイバーフッドデザイン - まちを楽しみ、助け合う「暮らしのコミュニティ」のつくりかた</b>](https://www.amazon.co.jp/exec/obidos/ASIN/4862763057/onelinebiz-22)
[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/f9330fa3-f6f1-28b8-d7ed-1ed76e21ac7d.png)](https://www.amazon.co.jp/exec/obidos/ASIN/4862763057/onelinebiz-22)

なお、各地方や各自治体には、有効な使い道が分からず、遊んでいるサーバセンタ等もあるため、そういった設備の活用に繋げることもできるでしょう

# テクノロジーがもたらす幸福に限界は無い

ここまでに述べたアイデアを成立させるためには、各地域や自治体の1人1人が、この新しい概念を理解し、中央集権的な組織や国に頼る「弱さ」から独立し、地方自治を行う気概や勇気が必要となります

結局のところ、人類の進化を阻むのは、テクノロジーの限界では無く、人の「馴染んだ領域でやりたい」や「理解の無さ」、「新しいものに対する抵抗感」という非合理な思考／感情面であり、その制約を取っ払うことができれば、テクノロジーは、どこまでも人類に幸福をもたらしてくれます

先日のラジオでも、このあたりのことについてお話しましたので、下記ラジオアーカイブも良ければお聴きください

https://www.youtube.com/watch?v=Sbm9wXBNh1M&t=2718s

# 終わり

「ElixirChip」がもたらすステキな未来のイメージ、伝わったでしょうか？

私達は今、人類とコンピューティングの歴史において、最もエキサイティングな時代に生きていて、人類の在り方を根本から変えるレベルの変革を迎えようとしています

そうしたタイミングになかなか出会えるものでは無いですが、私はいつもの活動同様、コラムで妄想した内容が数年以内に叶う「実現する厨二病」を相変わらず続けているので、ここで述べた未来にも、そう遠く無いタイミングで出会うか、作り出していくことになるでしょう

もし今回のアイデアが気に入ったら、Twitter DMにご連絡ください … 何か一緒にやっていきましょう

次回は、ElixirChipのアーキテクチャについてお話しようと思います

<b>https://twitter.com/piacere_ex</b>
[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/d4467fda-4440-aa6b-bb31-ea3334fb0860.png)](https://twitter.com/piacere_ex)

# p.s.このコラムが、面白かったり、役に立ったら…

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/67568d54-6584-ad33-77c7-b3b3afe70287.png) や ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155423/f5b819ef-d655-ef72-294c-b1a9d2c5b563.png) にて、どうぞ応援よろしくお願いします:bow

# 主催／運営しているElixirコミュニティ紹介

[**1. ElixirImp** : A place to LOVE the buds in Elixir (Elixir実装の芽を愛でる場)
**2. fukuoka.ex** : Fukuoka local Elixir Community (福岡Elixirコミュニティ)
**3. kokura.ex** : Kokura local Elixir Community (小倉Elixirコミュニティ)](https://fukuokaex.connpass.com)

https://fukuokaex.connpass.com

[**4. LiveView JP** : A place to mob-program in LiveView, LiveBook+Nx+Axon, and elixir-desktop](https://liveviewjp.connpass.com)

https://liveviewjp.connpass.com

[**5. Neos.ex** : A place to connecting Elixir and NeosVR to create a new world](https://elixirjp.slack.com/archives/C02J9C12VMF)

---

<h3>:ocean::ocean::ocean: Elixir生誕10周年を一緒にお祝いしませんか？ :ocean::ocean::ocean:</h3>

12/21（水）19:30～21:00、「過去LTいただいた方々への感謝祭」をテーマに、リモート忘年会を開催

「Elixir生誕10周年」に対するコメントや、今／昔のElixirの進化を聞けるチャンスですので、お見逃し無くッ

https://fukuokaex.connpass.com/event/263809/

<font color="#f020a0"><b>※カンパイスタートの会ですので、お酒 or ソフトドリンク、お菓子 or ご飯をお忘れなく</b></font>

<font color="#a020f0"><b>※Zoom接続できれば、本人でも、2Dアバター／3D（VR）アバターでも、お好きな姿でご参加OK</b></font>

---

明日は、@zacky1972 さんで[「ReplitのTeams for Educationを使ってElixirの授業をしてみた」](https://qiita.com/zacky1972/items/a9afb1c411202d0cd160)です