MIDIメッセージをW5300でネットワークに流し ログ収集ツールFluentdでロギング! ソフ ト FPG 感覚で A開 発! ソフト屋がFluentdへのログ転送クライアントをSynthesijerで作ってみた 佐藤 一憲 Kazunori Sato Intel社によるAltera社の買収や,Microsoft社によるWeb検索サービスBingへのFPGAの導入などで,FPGAはいまやソフトウェア・ エンジニアにとっ ても注 目の技 術です. ここでは, ログ収 集ツー ル Fluentd へのログ転 送クライアントを, 高 位 合 成ツー ル Synthesijer を用いて FPGA に実装する例を通じて,「ソフト屋なら FPGA はこう使う」という新しい視点を紹介します. 1 Fluentd で MIDI 信号を ログ収集する 拾って,Fluentd が動作するサーバに MIDI メッセー ジをログとして転送するクライアントを FPGA で実 装しました.MIDI 信号を Fluentd に変換すること自 ● ログ収集ツール Fluentd とは 体にはあまり使い道はありません.ここでのポイント Fluentd(http://www.fluentd.org/)は,日本人 は,Fluentd というアプリケーション層のロジックを エンジニアが中心となって開発されたオープン・ソー ハードウェアで直接扱っている点,そしてオープン・ スのログ収集ツールです(図 1).Ruby で実装されて ソースの高位合成ツール Synthesijer を用いて実装し おり,Linux や Mac,Windows 上で稼働します.オー た点です. プン・ソース・コミュニティによってさまざまな種類 ● オール・ハードウェアで実装できたのは の プ ラ グ イ ン が 実 装 さ れ て お り,Apache httpd や Synthesijer のおかげ Nginx のようなWebサーバ・ソフトウェアをはじめ, 本実装では,MIDI 信号のデコードから TCP/IP 通 MongoDB,Amazon S3,Google BigQuery などのデー 信,Fluentd の msgpack プロトコルのエンコードに至 タベースやクラウド・サービスとも簡単に接続できるの るまで CPU や OS を使わず,全てハードウェアのみで が特徴です. 実装しています.ちなみに,筆者の本業はソフトウェ その 手 軽 さ と プ ラ グ イ ン の 便 利 さ か ら, 国 内 の ア開発やクラウド分野で,ハードウェア開発は全くの Web 開発では業界標準ツールとして普及しているほ 素人です.それでもなんとか動くものを作れたのは, か,Google がクラウド・プラットホームの標準ログ・ Java 言語の構文でハードウェアの振る舞いを記述で コレクタとして採用するなどの世界的な広がりを見せ きる Synthesijer のおかげです. ています. コストの下がった FPGA と高位合成ツールの組み合 ● MIDI 信号をネットワークへ送信 わせによって,アプリケーション層のロジックをハー 今回筆者は,MIDI キーボードからの MIDI 信号を ドウェアで直接実装するハードルがぐんと下がってい ることを示したい!という思いから実装しました. ● デモの様子と動画 写真 1 にデモの様子を示します.このデモ動画では, 図 1 ログ収集ツール Fluentd 88 写真 1 MIDI キーボード+ FPGA 評価ボード DE0 + Fluentd デモ デモ動画は https://www.youtube.com/watch?v=SEr9_NqvpBM ソフト屋が Fluentd へのログ転送クライアントを Synthesijer で作ってみた
© Copyright 2024 Paperzz