Skip to main content
QUICK REVIEW

[論文レビュー] Wiselib: A Generic Algorithm Library for Heterogeneous Sensor Networks

Tobias Baumgärtner, Ioannis Chatzigiannakis|arXiv (Cornell University)|Jan 16, 2011
Energy Efficient Wireless Sensor Networks参考文献 14被引用数 7
ひとこと要約

Wiselib は、実行時およびメモリのオーバーヘッドをほぼゼロに抑えた、無線センサーネットワーク(WSN)向けの C++ ベースの汎用アルゴリズムライブラリである。コンパイル時テンプレート特化と統一 API を活用することで、Contiki、TinyOS、iSense などの異種のハードウェアおよびオペレーティングシステムをサポートし、最適化されたプラットフォーム固有コードのシームレスな統合を可能にする。これは、複数のセンサーノードで効率的なルーティングおよび暗号化実装を通じて実証されている。

ABSTRACT

One unfortunate consequence of the success story of wireless sensor networks (WSNs) in separate research communities is an ever-growing gap between theory and practice. Even though there is a increasing number of algorithmic methods for WSNs, the vast majority has never been tried in practice; conversely, many practical challenges are still awaiting efficient algorithmic solutions. The main cause for this discrepancy is the fact that programming sensor nodes still happens at a very technical level. We remedy the situation by introducing Wiselib, our algorithm library that allows for simple implementations of algorithms onto a large variety of hardware and software. This is achieved by employing advanced C++ techniques such as templates and inline functions, allowing to write generic code that is resolved and bound at compile time, resulting in virtually no memory or computation overhead at run time. The Wiselib runs on different host operating systems, such as Contiki, iSense OS, and ScatterWeb. Furthermore, it runs on virtual nodes simulated by Shawn. For any algorithm, the Wiselib provides data structures that suit the specific properties of the target platform. Algorithm code does not contain any platform-specific specializations, allowing a single implementation to run natively on heterogeneous networks. In this paper, we describe the building blocks of the Wiselib, and analyze the overhead. We demonstrate the effectiveness of our approach by showing how routing algorithms can be implemented. We also report on results from experiments with real sensor-node hardware.

研究の動機と目的

  • 無線センサーネットワーク(WSNs)における理論的アルゴリズム開発と実装の間のギャップを解消すること。
  • 研究者が低レベルのプラットフォーム固有コードを記述せずに、実際のセンサーハードウェア上で分散アルゴリズムを実装できるようにすること。
  • 異種のセンサーノードプラットフォームおよびオペレーティングシステムをサポートする、ポータブルで効率的かつ拡張可能なフレームワークを提供すること。
  • 明確に定義されたソフトウェアコンセプトとインターフェースを通じて、コード再利用、アルゴリズムの交換、クロスレイヤープrotocol の組み合わせを促進すること。
  • 多様なセンサーハードウェアおよび OS 環境において、完全な一般性とポータビリティを保ちながら、実行時およびメモリのオーバーヘッドを最小限に抑えること。

提案手法

  • テンプレートおよびインライン関数を活用した高度な C++ 技術を用い、アルゴリズム的コンponent をコンパイル時に解決することで、実行時のオーバーヘッドを排除する。
  • 下位の OS やハードウェアの違いを抽象化する統一的で高水準の API を設計し、プラットフォームに依存しないアルゴリズム開発を可能にする。
  • テンプレート特化を介してプラットフォーム固有の最適化を実装し、コンパイラが各ターゲットプラットフォームに最適なコードを選択できるようにする。
  • 抽象化レイヤーを介して、複数のオペレーティングシステム(例:Contiki、iSense OS、TinyOS、ScatterWeb)およびハードウェアプラットフォーム(例:TelosB、MicaZ、Tmote Sky、iSense)をサポートする。
  • 再利用可能なソフトウェアコンセプトを基盤とすることで、アルゴリズムのモジュラーな構成を可能にし、コンポーネントのスタック構成と相互交換性を実現する。
  • ISO C++ の標準を用いることで、成熟したコンパイラおよび広範な開発者コミュニティとの互換性を確保し、n esC のようなドメイン固有言語を避ける。

実験結果

リサーチクエスチョン

  • RQ1多様な無線センサーネットワークプラットフォームをサポートしつつ、実行時およびメモリのオーバーヘッドを最小限に抑えた汎用アルゴリズムライブラリをどのように設計できるか?
  • RQ2C++ テンプレートとコンパイル時解決は、パフォーマンスを損なわせることなく、どの程度プラットフォーム独立性を実現できるか?
  • RQ3異なるハードウェアおよび OS 機能を持つ異種のセンサーノード上で、同一のアルゴリズム実装を効率的にコンパイル・実行できるか?
  • RQ4ハードウェアアクセラレーションを備えた暗号化(例:iSense 上の AES 硬直化)のような最適化されたプラットフォーム固有コードが、単一のフレームワーク内で一般化されたアルゴリズム抽象化とどのように共存できるか?
  • RQ5このようなライブラリを用いて、ルーティングや暗号化といった複雑な実世界の WSN アルゴリズムを実装する実用的妥当性はどの程度あるか?

主な発見

  • Wiselib を用いることで、コード変更なしに、TelosB、MicaZ、Tmote Sky、iSense、および Shawn におけるシミュレーテッドノードを含む、複数の異種センサープラットフォーム上で、同一のアルゴリズム実装をネイティブにコンパイル・実行できる。
  • テンプレートのコンパイル時解決とインライン化のおかげで、実行時およびメモリのオーバーヘッドをほぼゼロに抑え、手動最適化コードと同等のパフォーマンスを実現している。
  • RSA などの暗号化アルゴリズムが、さまざまなプラットフォームで正常に実装・実行され、異なるノードで復号処理に 56 ~ 118 秒の実行時間がかかっている。
  • テンプレート特化を用いて、iSense での AES 硬直化など、ハードウェア固有の最適化を実現しており、ポータビリティを損なわずに効率的な低レベルアクセスが可能である。
  • フレームワークにより、ルーティングと暗号化プロトコルの組み合わせといった、アルゴリズムのスタック構成と組み合わせが、最小限のパフォーマンス影響で可能である。
  • 実機センサーハードウェアを用いた実験により、Wiselib を用いた実装が軽量で効率的であり、リソース制限のある環境でのデプロイに適していることが確認された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。