tacy.ohno
2025年4月16日 18時41分
現在、以下の機能を動作させるArmadilloを選定しております。
Armadillo-640を検討しているのですが、512MBのメモリで問題無いかが判断できず投稿させていただきました。
・Armadillo Base OSでUbuntuのコンテナを動作させる。
・Webサーバを動作させる。
・.netを使用するアプリを動作させる。(シリアル通信とWebAPIでローカルとクラウドの橋渡しを予定)
・24時間365日電源を入れたまま動作させる。
状況によって違うので判断できないのは承知しておりますが、
「その構成だと溢れる」
「とりあえず動くけど、使用状況によっては厳しい。」
「ぜんぜん余裕がある。」
みたいな空気感だけでもわかればありがたいです。
(Armadillo-640で難しい場合はArmadillo-X2を検討予定です)
コメント
tacy.ohno
at_shinya.koga
2025年4月17日 7時23分
アットマークテクノの古賀です。
tacy.ohnoさん:
>現在、以下の機能を動作させるArmadilloを選定しております。
>Armadillo-640を検討しているのですが、512MBのメモリで問題無いかが判断できず投稿させていただきました。
> ・Armadillo Base OSでUbuntuのコンテナを動作させる。
> ・Webサーバを動作させる。
> ・.netを使用するアプリを動作させる。(シリアル通信とWebAPIでローカルとクラウドの橋渡しを予定)
> ・24時間365日電源を入れたまま動作させる。
>
>状況によって違うので判断できないのは承知しておりますが、
>「その構成だと溢れる」
>「とりあえず動くけど、使用状況によっては厳しい。」
>「ぜんぜん余裕がある。」
>みたいな空気感だけでもわかればありがたいです。
>(Armadillo-640で難しい場合はArmadillo-X2を検討予定です)
使用状況次第ですので、アプリケーションの非機能要件が分からないと、何といえません。
ちなみに、Ubuntu コンテナについては、Web サーバー機能入りのものを、Debian コンテナと同時に Armadillo-640 で動かしたことがあります:
https://armadillo.atmark-techno.com/howto/a640_matter_over_thread
動作させる .net アプリケーションが「シリアル通信とWebAPIでローカルとクラウドの橋渡しを予定」とのことで、かつ、「Webサーバを動作させる」とのことですから、次のような動作でしょうか?
(1) Armadillo 上の Web サーバに実装した Web API を、クラウド側から 呼び出し、Web API が、リクエストに応じたデータをシリアル通信で取得して、レスポンスとして返す。
(1-1) シリアル通信で取得するデータは、リクエストを受けた時点でシリアル通信の対向機器から取得する。
or
(1-2) シリアル通信で取得するデータは、一定周期で対向機器から取得して Armadillo 上にキャッシュしておき、それを Web API のレスポンスで返す。
Web API が呼び出される頻度・レスポンスで返すデータ量と、リクエストを受けてからレスポンスを返すまでの時間に対する要求値、および、シリアル通信の対向機器との通信頻度・通信データ量、によって、Armadillo に必要な性能が変わるかと思います。
また、Web サーバーと .net アプリケーションの使用メモリ量も見積もる必要がありますよね。
ちなみに、Web サーバーの選定候補は何でしょうか?
アプリケーションで .net をお使いの予定とのことですから、ASP.NET Core の Kestrel Web サーバーなど、.net と親和性の高いものをお考えでしょうか?
使用メモリ量の見積もりは、QEMU と Docker を組み合わせて開発機(PC)上に ARM32/ArmV7 の Ubuntu コンテナを作り、そのコンテナで Web サーバーと .net アプリケーションを動かして評価する、というやり方も可能だと思います。
使用する I/O がシリアル通信とネットワークだけであれば、PC 上のコンテナでも利用可能でしょうから。
以上、ひとまずのコメントです。