並列性と移植性を持つユーザレベルスレッドライブラリPPLのスケジューラの拡張

北口 修一 (9751042)


細粒度の並列処理の単位として、従来用いられてきたプロセスに代わって スレッドが利用されてきている。多くのUNIX系のオペレーティングシステム では標準でpthreadsというスレッドインターフェースが付属しており、 一般のユーザがスレッドを用いた処理を行う環境が整いつつある。 我々も移植性、並列性を考慮し、pthreadsインターフェースを採用 しているユーザレベルスレッドライブラリPPLを開発している。

PPLを含め、これまでのユーザレベルスレッドライブラリは、スレッドの 生成やコンテキストスイッチをいかに高速に行うかなど、性能の向上に 着目して開発されていた。これに対して研究では、 スレッドを使用するアプリケーションが多くなるにつれ、既存の スレッドのスケジューリングポリシだけでは効率の良いスレッド スケジューリングができない場合が発生することに注目し、アプリケーション に最適なスケジューリングポリシはそのアプリケーションの作成者が 一番知っているという立場に立ち、アプリケーションレベルでの 柔軟なスケジューラを作成できるようにすることが重要であると考えた。 本発表では、アプリケーションレベルで複数のスケジューリングポリシを 柔軟に扱える機構を提案し、その機構を実装したPPLの概要を示し、 評価を行う。