並列性忘却プログラミング

最近、「並列性忘却プログラミング」に関心をもっています。「並列性忘却」は”Parallelism-Oblivious”の和訳で、「並列性を意識しないでよい」ということを表しています。「脱並列性」というのもいいかも知れません。

「最近」といっても、実は、2007年7月26日〜27日に Parallelism-Oblivious Programming (POP) のワークショップを開催したので、その頃から考えていたことです。ワークショップについては

http://www.ipl.t.u-tokyo.ac.jp/~kmatsu/pop07/index-j.html

にプログラムがあります。そのときの発表スライドは

http://www.ipl.t.u-tokyo.ac.jp/~takeichi/attachments/POP.pdf

です。

「並列」(parallel) は1カ所にしか現れていませんが、もちろん(?)、「並列性忘却並列プログラミング」(Parallelism-Oblivious Parallel Programming)、すなわち、「並列性を意識しないで並列プログラムを開発する」方法を追究しようというものです。POPよりもPOPP とするほうがよいのかも知れません。

1970年代には構造化プログラミング (structured programming) の議論がありました。いろいろな側面がありましたが、その中で、「同じ処理を記述するにしても、行儀のよい書き方をしよう」という教えも説かれました。プログラムの書き手によってその作風がまちまちだと、分かりにくいプログラムはそれが正しいかどうかも確認できないし、他人には理解できないのは問題だ、ということでした。プログラミングのよい「スタイル」を考えようということでした。

最近の並列プログラミングの世界はどうでしょうか?最新の並列計算機のアーキテクチャが頻繁に変わるということもあり、また、性能を最大限に活かすようにプログラムをチューニングしようということもあってか、細部にわたって並列制御のコードを書き込むということが多いようです。並列プログラミングに望ましい「スタイル」というものを見つけ出すことはできないのでしょうか。そのような疑問の中から出てきたものが並列性忘却のアイデアです。

私の所属している研究科では、教員の研究をわかりやすく伝えるために、科学記者の方によるインタビュー記事をホームページに掲載しています。最近、掲載されたものが

http://www.i.u-tokyo.ac.jp/news/focus/100215_1.shtml

にあります。こちらもお読み下さい。

広告

並列性忘却プログラミング」への5件のフィードバック

  1. 内包表記と並列性忘却と « 武市正人の Blog

    […] この表現は、2/16の記事「並列性忘却プログラミング」、 すなわちPOP (Parallelism-Oblivious Programming) でも注目されています。集合Aをxを生成する生成子(generator)ということもあります。Aを生成し、Pでテストするということを自然に表わていますので、Generate-and-Test の方式で解を得る一般的な計算を表現しているといえます。そして、この表現の中には、逐次的に実行しなければいけないというところがない(生成したものをテストするという順序だけ?)ので、並列化の自由度が高いという点で、「並列性を意識しないで並列プログラムを開発する」ことにピッタリだというわけです。 […]

    返信
  2. シミュレーション技術と計算機科学 « 武市正人の Blog

    […] 余談になりますが、以前から、どうしようかと思っていたのですが、Parallelism-Oblivious Programmingよりも、上に書いたPOPPのほうが誤解がないと考え、これからはPOPPにしようと思います。一月前、2010/2/16の「並列性忘却プログラミング」にもそのようなことを書きました。 […]

    返信
  3. 堀江 徹也

    PDFを読みたかったのですが、リンク切れになっていました。
    退官された大学の先生のUserDirの削除?でリンク切れってなんとかならないものなのでしょうか?
    (つい最近も別の先生の研究室のページがNot Foundでがっかりしました)

    返信

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中