学位論文要旨



No 126597
著者(漢字) 清水,正明
著者(英字)
著者(カナ) シミズ,マサアキ
標題(和) 高性能計算機クラスタのための異機種透明なオペレーティングシステム構成法
標題(洋) Heterogeneity-transparent Operating System Structures for High Performance Computer Clusters
報告番号 126597
報告番号 甲26597
学位授与日 2011.03.14
学位種別 課程博士
学位種類 博士(情報理工学)
学位記番号 博情第299号
研究科 情報理工学系研究科
専攻 コンピュータ科学専攻
論文審査委員 主査: 東京大学 教授 石川,裕
 東京大学 教授 清水,謙多郎
 東京大学 准教授 田浦,健次朗
 筑波大学 教授 佐藤,三久
 東京農工大学 教授 並木,美太郎
内容要旨 要旨を表示する

This thesis describes heterogeneity-transparent operating system structures for high performance computer clusters.

The performance required of high-performance computing systems is increasing by a factor of 1.8 annually. To increase speed and lower cost, there has been a transition from the previous specially-developed vector processors or massively parallel processor systems to cluster systems of inexpensive yet high-performance general-purpose processors, which has now become the mainstream architecture.

To achieve even higher performance and a higher performance to power efficiency in the future, we can expect the processors that have improved numerical computation performance, such as many-core or Cell/B.E. processors, will be adopted. However, processors that are specialized for numerical processing are relatively inefficient for scalar operations such as file I/O that are common in operating system functions. Another problem is that cluster architectures cannot execute software assets that were developed for the distributed OS of the massively parallel processor system era. In cluster systems, an independent general-purpose OS executes on each processor node; a distributed OS, on the other hand, is shared by all nodes as a single OS. Because the OS architectures are different, the porting of distributed file systems and other software assets that were developed for the distributed OS is very expensive.

One objective of this thesis is to achieve both the computational performance of new architectures that use specialized processors and the OS processing performance of conventional general-purpose processors in a high-performance cluster. Another objective is to allow low-cost reuse of existing distributed services that were developed for systems that execute distributed OS. To attain these objectives, we adopt the two approaches described below for structuring heterogeneity-transparent operating systems. One approach is to add a generic processor node that provides high performance generic OS functions to a cluster of compute processor nodes. The generic OS functions are separated between the compute nodes and the generic nodes, and coordinated to provide a single OS environment to users. In large-scale systems, clustering is done in sets of "a generic node and compute nodes." The second approach is to implement a distributed OS environment on a cluster of generic OS nodes so that it enable to use existing distributed OS services at low cost.

The first approach involves reducing the functions of the OS of compute nodes, which have specialized processors for numerical computation, to focus on the high performance execution of application programs. The generic node, which has general-purpose processors that perform scalar operations efficiently, provides the generic OS functions. In this way, we can achieve both high performance execution of applications and high performance execution of operating system functions. The OS of the generic node manages the parallel processes of the compute nodes, performs central management of user files, and performs proxy processing of file I/O requests from the compute nodes. To make the different operating systems transparent to users and application programs so that the system can be used as a single OS, a heterogeneity-aware binary loader and a remote system call mechanism are provided. We have implemented this approach in the Harmonix OS. The Harmonix was evaluated using a heterogeneous cluster in which four x86_64 generic nodes were added to 16 compute nodes that used Cell/B.E. The evaluation results show that parallel program invocation was faster by a factor of 3.2 compared to the system of compute nodes alone. Furthermore, parallel I/O with the Lustre file system was up to 2.6 times as fast, confirming the improvement in OS performance. We also confirmed that adding generic nodes can maintain scalability when increasing the number of compute nodes results in the generic node being the bottleneck. To make the system appear to the user as a single OS, the heterogeneity-aware binary loader selects nodes according to differences in the executable binaries and executes the programs on the appropriate type of node. In that way, the user can execute compute node applications transparently from the generic node. The remote system call mechanism allows applications executing on compute nodes to transparently use the Lustre file system functions that are provided by the generic node.

For the second approach, we designed and implemented a system in which a microkernel interface is implemented using a generic OS as host and existing distributed OS services are executed on that microkernel. The microkernel interface can be imple-mented at low cost by using the functions of the host generic OS. Also, existing distributed OS services that depend on the functions of the microkernel can be easily ported. The proposed architecture was implemented as a Mach microkernel on AIX. We also ported the HSFS distributed parallel file system, which is a distributed OS service, to that environment. Evaluation results show that the cost of porting the HSFS was greatly reduced to one third the cost of re-implementing the service for the cluster architecture. Furthermore, the results of a performance evaluation performed on an eight node Hitachi SR11000 show that the local node performance, which is bound by the performance of the disk array, and eight-node performance scalability were achieved. The result of this approach has been applied in product form for the Hitachi SR11000, SR16000 and HA8000-tc/RS425 systems.

Above, we have presented methods for structuring heterogeneity-transparent operating systems that absorb differences in processor and OS architecture. This approach improves system performance in a manner transparent to the users and application programs. It also reduces the cost of porting software assets between OS architectures.

審査要旨 要旨を表示する

本論文は、高性能計算機クラスタのための異機種透明なオペレーティングシステム構成法について述べており、4章から構成されている。

第1章では、まず本研究の背景となっている高性能計算機への要求のトレンドおよび要求の変化を示している。そして現在のクラスタ型計算機が今後メニィコア等の新アーキテクチャを取り入れる際のOSの課題、過去の分散OSアーキテクチャからの移行性の課題を示している。そして本研究の目標として、高性能計算機クラスタにおいて、演算専用プロセッサのような新しいアーキテクチャの演算性能と従来の汎用プロセッサのOS実行性能を両立する、また、分散OS向けに開発された既存の分散OSサービスを低コストで利用可能にすること、の2つを示している。次に、従来の高性能計算機におけるOS方式を概観し、本研究のアプローチとして本論文では異機種透明なオペレーティングシステム構成法によって取り組んだ。

第2章では、1つめのアプローチである「Harmonix: 演算CPUの高いアプリケーション実行性能と汎用CPUの高いOS実行性能を両立させるシステム」について述べている。演算専用プロセッサは高い浮動小数点演算性能を発揮するが、スカラ演算性能が弱いためOS性能が低いという課題があった。そこで本章では、演算専用プロセッサの演算ノードはアプリケーションプログラム実行に特化し、汎用OSの機能は汎用プロセッサの汎用ノードが提供するようにOS機能を分担させるOS構成法を提案している。汎用ノードが、ユーザや並列プロセスの管理およびファイルI/Oを集中して行なうことで高性能なOS機能と演算ノードにおける高い数値演算性能を両立する。16台のCell/B.E.の演算ノードクラスタに4台のx86の汎用ノードを追加したシステムにおける評価の結果、演算ノードクラスタのみで汎用OS機能を提供する場合と比較して、並列プログラムの起動速度は最大3.2倍になった。また、ファイルシステム性能は最大2.6倍に向上した。"汎用ノードと演算ノード"のセットをクラスタリングすることで性能が向上した。上記のとおり、本構成法でOS性能が向上することを示している。さらに、ヘテロジニアス対応バイナリローダおよびリモートプロセス機構により、異種プロセッサのOSを単一OSとして扱うことができるようにしている。評価の結果、バイナリの違いに応じてノード種類を選択して実行を可能にするヘテロジニアス対応バイナリローダによって、ユーザは汎用ノードから演算ノードのアプリケーションを透過的に実行できるようなったことを示している。また、リモートシステムコールにより、演算ノードで実行されているアプリケーションは、アプリケーションを変更せずに汎用ノードのOSの提供する高性能ファイルシステム機能を透過的に利用することができるようになったことを示している。

第3章では、2つめのアプローチである「既存の分散OSサービスの、汎用OSクラスタへの低コスト移行を可能にするシステム」について述べている。分散OSと汎用OSでは、OSの提供する機能が異なるため、既存の分散OS向けに開発したソフトウェア資産を汎用OSクラスタに移植する場合に多くのコストがかかるという課題があった。本章では、汎用OSをホストにしてマイクロカーネルインタフェースを実現し、そのマイクロカーネル上に既存の分散OSサービスを動作させるOS構成法を提案し、設計・実装を行なっている。ホストの汎用OSの機能を利用することで低コストにマイクロカーネルインタフェースが実現できる。また、マイクロカーネルの機能を前提としていた既存の分散OSサービスが容易に移行可能になる。SR11000における評価の結果、AIXクラスタ上に分散OS向けのHSFS 分散ファイルシステムを再実装する場合と比較して、1/3のコストでHSFSを実現できることを示している。また、本システムの成果は、HitachiSR11000、SR16000 およびHA8000-tc/RS425において製品化され出荷されている。

第4章では、本研究により得られた成果をまとめ、今後の展望について述べている。今後の展望では、今後登場するメニィコアCPUを利用し、高性能と低消費電力を両立するためには本研究のアプローチが有効であり、演算ノードと汎用ノードの接続性能に応じてOS機能の配分を最適化する研究を更に行なっていくとしている。

上記のとおり、本論文では、高性能計算機クラスタにおいてプロセッサアーキテクチャの違い、およびOSアーキテクチャの違いを吸収する異機種透明なオペレーティングシステム構成法に取り組み実システムを開発した。本論文の構成法により、利用者やアプリケーションに意識させずにシステムの性能を向上し、またソフトウェア資産のOS間移行コストを低減することができることを実証した。プロセッサアーキテクチャの違いを吸収する手法は、今後の高性能計算機システムのソフトウェア構成の先鞭をつけており、また、OSアーキテクチャの違いを吸収するシステムの開発では、開発システムが製品化されている。本研究の成果により、高性能計算機クラスタのシステムソフトウェアの発展に顕著な貢献をしたといえる。

よって本論文は博士(情報理工学)の学位請求論文として合格と認められる。

UTokyo Repositoryリンク