{"created":"2021-03-01T06:18:36.706835+00:00","id":2016,"links":{},"metadata":{"_buckets":{"deposit":"7956746e-1320-4340-ab1f-398bff9b11fb"},"_deposit":{"id":"2016","owners":[],"pid":{"revision_id":0,"type":"depid","value":"2016"},"status":"published"},"_oai":{"id":"oai:repository.dl.itc.u-tokyo.ac.jp:00002016","sets":["34:105:262","9:233:234"]},"item_7_alternative_title_1":{"attribute_name":"その他のタイトル","attribute_value_mlt":[{"subitem_alternative_title":"A PGAS Programming Framework for Reconfigurable and High-Performance Parallel Computations"}]},"item_7_biblio_info_7":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicIssueDates":{"bibliographicIssueDate":"2011-03-24","bibliographicIssueDateType":"Issued"},"bibliographic_titles":[{}]}]},"item_7_date_granted_25":{"attribute_name":"学位授与年月日","attribute_value_mlt":[{"subitem_dategranted":"2011-03-24"}]},"item_7_degree_name_20":{"attribute_name":"学位名","attribute_value_mlt":[{"subitem_degreename":"修士(情報理工学)"}]},"item_7_description_5":{"attribute_name":"抄録","attribute_value_mlt":[{"subitem_description":"高性能マルチコアプロセッサの低価格化, ネットワークの高バンド幅化, メモリやディスクの大容量化などのハードウェア計算環境の技術革新にともなって, 並列分散アプリケーションの適用領域や利用機会は飛躍的に拡大している. 気象予測, 金融計算, 衝突解析, 地震シミュレーション, 波動シミュレーション, 遺伝子解析, デバイス設計などの, 産業界の各種応用分野における並列分散アプリケーションの利用機会の増大はめざましく, それら並列分散アプリケーションの実行を支える並列分散プログラミング処理系に求められる要請も多様化している. なかでも, 本研究では, (1)非定型な並列計算を性能を落とすことなく簡単に記述できること, (2)再構成可能な並列計算を簡単に記述できることを目標として, PGASモデルに基づく並列分散プログラミング処理系DMI(Distributed Memory Interface)を提案して実装し, 評価する. 本研究の第1の目標は, 非定型な並列計算を性能を落とすことなく簡単に記述できるようにすることである. 一般に, 実用的な有限要素法や粒子法などの並列科学技術計算や大規模なWebグラフ解析では, 非定型な領域分割やデータ通信が必要となる. MPIなどのメッセージパッシングモデルに基づく処理系を利用すれば, これらの非定型な並列計算を高性能に記述することは可能だが, プログラマビリティに問題がある. 一方で, UPC, X10, Chapelなどのグローバルアドレス空間モデルに基づく処理系を利用すれば, 容易なプログラミングコストでさまざまな並列計算を記述することが可能になる. しかし, 既存の処理系では非定型な並列計算に対するAPIが不十分なうえに, リモートなデータアクセスをあまりに透過的に記述できてしまうため, どこでどのような通信が内部的に発生するのかをユーザプログラム側から把握しにくく, 期待する性能を得ることは難しい. そこで, DMIでは, グローバルアドレス空間を提供することで, 非定型な並列計算を見通しよく記述できるようにしつつも, グローバルアドレス空間に対するアクセスが内部的に不必要な通信を発生させることがないよう, ユーザプログラム側からわかりやすくかつ強力に性能を最適化できるようなAPIを設計する. DMIでは, これらのAPIを使うことで, ユーザプログラム側から複数のアクセスを明示的に集約したり, 内部的に起きる通信を簡単に制御したり, アクセスローカリティを強力に最適化したりすることが簡単にできる.本研究の第2の目標は, 再構成可能な並列計算を簡単に記述できるようにすることである. 一般に, 計算環境が大規模化しそれを利用する並列計算が増加すると, 多数の並列計算間で多数の計算資源を効率よく柔軟にスケジューリングする必要が生じる. すなわち, 計算資源の利用率を最大化させ, 並列計算の結果をいち早くユーザに届けるためには, 長時間を要しうる1個の並列計算を最初から最後まで固定的な計算資源を占有して実行させるのではなく, 周囲の並列計算全体の負荷状況をふまえて, 各並列計算に割り当てる計算資源を動的に増減させることが重要になる. そして, このような柔軟なスケジューリングを行うためには, 当然, 並列計算それ自体が計算規模を自由に拡張/縮小できるように記述されていなければならない. そこで, DMIでは, ノードの動的な参加/脱退を越えてグローバルアドレス空間のコヒーレンシが維持されるようなプロトコルを設計したうえで, 再構成可能な並列計算を簡単に記述するためのプログラミングモデルを3種類提案し, それらの性能とプログラマビリティを比較検討する. とくに, プログラマビリティの観点からは, 「プログラマは並列計算の再構成を意識することなく, 単に十分な数のスレッドを生成するだけでよい. すると, 処理系がそれら大量のスレッドを, 各時点で利用可能な計算資源に対して動的にマッピングすることで, 並列計算の再構成を透過的に実現してくれる」というプログラミングモデルが重要であることを指摘し, そのための要素技術である透過的なスレッド移動について新規的な手法を提案する.評価の結果, 第1の目標に関しては, 実用的な有限要素法による応力解析や大規模なWebグラフ解析などの非定型な並列計算に対して, DMIは, MPIよりも容易なプログラミングコストで, MPIと同程度もしくは優れた性能を達成することを確認できた. 第2の目標に関しては, 並列計算の再構成に対応していないDMIのプログラムに対してわずか1行を追加するだけで再構成可能な並列計算を記述でき, 利用可能なノード数の増減に対応して効果的に並列度を増減させられることを確認できた.","subitem_description_type":"Abstract"}]},"item_7_select_21":{"attribute_name":"学位","attribute_value_mlt":[{"subitem_select_item":"master"}]},"item_7_subject_13":{"attribute_name":"日本十進分類法","attribute_value_mlt":[{"subitem_subject":"007","subitem_subject_scheme":"NDC"}]},"item_7_text_24":{"attribute_name":"研究科・専攻","attribute_value_mlt":[{"subitem_text_value":"情報理工学系研究科電子情報学専攻"}]},"item_7_text_4":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"東京大学大学院情報理工学系研究科電子情報学専攻"}]},"item_creator":{"attribute_name":"著者","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"原, 健太朗"}],"nameIdentifiers":[{"nameIdentifier":"5949","nameIdentifierScheme":"WEKO"}]}]},"item_files":{"attribute_name":"ファイル情報","attribute_type":"file","attribute_value_mlt":[{"accessrole":"open_date","date":[{"dateType":"Available","dateValue":"2017-05-31"}],"displaytype":"detail","filename":"48096419.pdf","filesize":[{"value":"5.9 MB"}],"format":"application/pdf","licensetype":"license_note","mimetype":"application/pdf","url":{"label":"48096419.pdf","url":"https://repository.dl.itc.u-tokyo.ac.jp/record/2016/files/48096419.pdf"},"version_id":"9183d38d-a62e-4ea2-80a6-6c8a4724d728"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourcetype":"thesis","resourceuri":"http://purl.org/coar/resource_type/c_46ec"}]},"item_title":"再構成可能な高性能並列計算のためのPGASプログラミング処理系","item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"再構成可能な高性能並列計算のためのPGASプログラミング処理系"}]},"item_type_id":"7","owner":"1","path":["234","262"],"pubdate":{"attribute_name":"公開日","attribute_value":"2011-10-17"},"publish_date":"2011-10-17","publish_status":"0","recid":"2016","relation_version_is_last":true,"title":["再構成可能な高性能並列計算のためのPGASプログラミング処理系"],"weko_creator_id":"1","weko_shared_id":null},"updated":"2022-12-19T03:43:32.644654+00:00"}