EDGEPLANT T1 + Dockerでかんたん!ディープラーニング

f:id:aptpod_tech-writer:20210415201233j:plain

こんにちは。製品開発グループに所属しております、きしだです。

前回の記事でもご紹介の通り、弊社でついにハードウェアブランドが立ち上がり、その第一弾としてEDGEPLANT T1がリリースされました! 🎉

個人的にはデザインがとてもイケててずっと見つめていたくなる製品ですが、もちろん素敵な点はそこだけではありません。

EDGEPLANT T1 (以降、T1とよびます)は、NVIDIA® Jetson™ TX2を搭載している産業向けハードウェアで、GPUを利用したエッジコンピューティングが可能になります。そのため、自動車や建機などのデバイスに搭載することで、簡単にエッジAIコンピューティングが実現できます。

とはいっても、「エッジAIコンピューティングを構築するためにT1を買ったものの、何から手をつければいいのだろう」という方もいらっしゃると思います。 今回はその方々向けに、簡単なディープラーニング環境を構築する手順をご紹介します。

続きを読む

EDGEPLANT T1 リリースまでの軌跡

f:id:aptpod-tetsu:20210401212015j:plain

HW/OTチームの織江です。

今回は先日リリースされた弊社の新製品「EDGEPLANT T1 」の製品開発の軌跡を紹介したいと思います。 開発者視点から見た製品が出来上がるまでの経緯を眺めてもらえばと思います。

製品の企画や量産に伴うアレコレは別途改めてこのブログで紹介させていただきたいと思います。

続きを読む

Rustにおける非同期ストリームの関数呼び出しコストを検証する

f:id:aptpod_tech-writer:20210316130944p:plain

OTチームの大久保です。

エッジデバイス上でのデータ処理やネットワーク周りの実装に、速度と生産性の両面で優れるRust言語を利用できないかをここ最近は検討しています。特に、tokioのバージョン1.0がリリースされたように、最近はRustの非同期関連のエコシステムが充実してきたので、エッジデバイスでも応用できそうです。Rustのasync/awaitはゼロコストを謳っているので、安心して使うことができます。しかしながら、極めて高頻度に呼び出される関数がasyncであった場合、普通の同期的(asyncではない普通のfn)な関数に比べて、asyncであることによる関数の呼び出しコストの増加は無いのでしょうか。実用上は、asyncな関数は内部で非同期IOを行うはずなので、それに比べれば関数の呼び出しコストは微々たるもので気にする必要はありませんが、以下のような場合には問題に成りえます。

  • async関数だが、稀にしかコストのかかるIO操作を行わない。例えば、大抵はキューに保存されているデータを返すが、キューが空の場合になって初めてファイルを読み込むなど。
  • 内部でIO操作を行わず、async関数にする必要が無いが、他のIO操作をする関数とインターフェイスを合わせるため、asyncを指定している。

今回は、このうち2番目のような状況を想定し、何度も値を取り出すイテレータの非同期版、つまりストリームを複数の方法で作って、実行速度を検証してみたいと思います。

続きを読む

GOでGCRAレートリミット

f:id:aptpod_tech-writer:20210304181504p:plain

はじめに

こんにちは、aptpodのサーバーサイドエンジニアの宮内です。

突然ですが、APIのレートリミット実装していますか? 最近、弊社のバックエンドAPIでもレート制限を実装しました。

Generic Cell Rate Algorithm (GCRA) を使ったのですが、 このアルゴリズムが面白かったので、今回はこのGCRAについてと、GoでGCRAを利用したレートリミットについて説明します。

続きを読む

Volterraのサービスでintdashを動かしてみた

f:id:aptpod_tech-writer:20210225200520p:plain

はじめに

SRE チームの川又です。

Volterraはグローバルで優れたEdge-as-a-Service プラットフォームサービスを提供する事で注目を集めています。 先日、F5, Inc. に買収された事でも話題になりました。

一方、弊社intdash の一部を構成する intdash Server は基本的にクラウド上で動作させます。 ですが、お客様の要件によってはEdge 環境で動作させる事もあります。 SRE チームの検討課題の1つとして、Edge 環境における効率的なサーバアプリケーションの管理・提供 があります。

以上の背景から、今回はVolterraのサービスプラットフォーム上でintdash Server の一部であるintdash のbackend service を簡易に動作させてみましたのでご紹介します。

  • はじめに
  • Volterra について
  • Volterra のサービス
    • VoltStack
    • VoltMesh
  • 実際に使ってみた
    • Volterra Node のインストールと設定
    • Virtual Site, Virtual K8s の設定
    • intdash backend service のデプロイ
    • Ingress Gatewayの設定
    • 動作確認
  • まとめ
続きを読む