次世代ヘテロジニアスPCクラスタのためのシステムソフトウェア
石川 裕 (東京大学)
システムソフトウェア技術部会

システムソフトウェア技術部会
 次世代PCクラスタ技術を想定した研究、開発体制を産学連携スキームで推進

Manycore-based PC Cluster

学側の母体（H23.12.9現在）
理化学研究所計算科学研究機構
科学技術振興機構(JST) CREST「メニイコア混在型並列計算機用基盤ソフトウェア」(代表：堀敦史)
近畿大学 辻田祐一、東京農工大学 並木美太郎

東京大学情報基盤センター
科学技術振興機構(JST) CREST「自動チューニング機構を有するアプリケーション開発・実行環境
ppOpen-HPC」(代表：中島健吾)
東京大学 佐藤正樹、東京大学 奥田洋司、東京大学 古村孝志、京都大学 岩下武史、海洋研究開発機構 阪口秀

東京大学情報基盤センター＆情報理工学系研究科
石川裕研究室：ManyCore Architecture向けマイク
ロカーネル基本部＆通信機構

2

システムイメージ：要求 大規模データ解析ならびに数値計算アプリケーションの要求が満たされる必要がある
 I/O性能
 浮動小数点演算性能
 並列性能Many Core Units• Number Crunching

Host CPU Units• Controlling Many Core Units• Processing data analysis code
• Handling File System

Many Core
Host
Node Core
Many CoreMany
CPUUnit
Host
Node Core
Many Core
Node Core Many
Many
Host
CPU Unit
Many Core
Unit Core
Node Core
Node Core Many
Many
Host
SSDMany
CPU Unit
NodeMany Core
Node Core
Many
Unit Core Unit
CPU Unit SSD
Many
NodeMany
Core
Interconnect
Unit CoreMany
Unit
SSDUnitMany
Core
Interconnect Unit
SSD
Interconnect Unit
Interconnect
Network for Nodes andStorage Area Network3

システムイメージ：ジョブ実行イメージ
 大規模データ解析ならびに数値計

算アプリケーションの要求が満たされる必要がある
 I/O性能 浮動小数点演算性能
 並列性能パーティション内2タイプジョブの同時実行
ManyCore群: 演算重視アプリケーション実行
ファイルI/O時等Host CPU使用

Many Core Units• Number Crunching

Host CPU Units• Controlling Many Core Units• Processing data analysis code
• Handling File System

Many Core
Host
Node Core
Many CoreMany
CPUUnit
Host
Node Core
Many Core
Node Core Many
Many
Host
CPU Unit
Many Core
Unit Core
Node Core
Node Core Many
Many
Host
SSDMany
CPU Unit
NodeMany Core
Node Core
Many
Unit Core Unit
CPU Unit SSD
Many
NodeMany
CoreInterconnect
Unit Core
ManyUnit
SSDUnitMany
CoreInterconnect Unit
SSDInterconnect Unit
Interconnect

Host CPU群: I/O重視アプリケーション実行
Network for Nodes andStorage Area Network4

システムイメージ：ジョブ実行イメージ
 大規模データ解析ならびに数値計

算アプリケーションの要求が満たされる必要がある
 I/O性能
 浮動小数点演算性能
 並列性能Many Core Units• Number Crunching

Host CPU Units• Controlling Many Core Units• Processing data analysis code
• Handling File System

Many Core
Host
Node Core
Many CoreMany
CPUUnit
Host
Node Core
Many Core
Node Core Many
Many
Host
CPU Unit
Many Core
Unit Core
Node Core
Node Core Many
Many
Host
SSDMany
CPU Unit
Node
Many Core
Node Core
Many
Unit Core Unit
CPU Unit SSD
Many
NodeMany
Core
Interconnect
Unit Core
ManyUnit
SSDUnitMany
Core
Interconnect Unit
SSD
Interconnect Unit
Interconnect

パーティション内1ジョブ実行
ManyCore群: 演算＆通信
Host CPU群: メモリ共有＆通信＆I/O

Network for Nodes andStorage Area Network5

ソフトウェアスタック
In case of Non-Bootable Manycore
P2P
Parallel File System

Next –Generation
Comm. Library
Basic Comm. Lib.
Glibc for manycore

MPI Comm. Library

Glibc

Linux Kernel
SMSL
AAL‐Host IKCL
Device Driver

In case of Bootable Manycore
P2P
Parallel File System
Glibc

Micro Kernel
SMSL
IKCL
PCI-Express

HostLinux Kernel
SMSL
AAL‐Host IKCLAAL‐Manycore

Device Driver

MicroKernel
MicroKernel
MicroKernel
MicroKernel
SMSL
SMSL
SMSL
SMSL
IKCL
IKCL
IKCL
IKCL
AAL‐Manycore
AAL‐Manycore
AAL‐Manycore
AAL‐Manycore

Many Core
Many Core
PCI-Express

Infiniband
Network Card
NG
Comm.
NG
Comm.
MPIMPING
Comm.
Library
NG
Comm.
Comm.
MPIMPI
LibraryComm.
LibraryComm.
Library
LibraryComm.
Library
BasicComm.
Library
Basic
Comm.
Lib. Lib.
Library
Basic
Comm.
Lib.
Basic
Comm.
Lib.
Glibc
for manycore
Glibc
for manycore
for manycore
GlibcGlibc
for manycore

AAL (Accelerator Abstraction Layer)
 Provides low-level accelerator interface
 Enhances portability of the micro kernel
IKCL (Inter-Kernel Communication Layer)
 Provides generic-purpose communication and datatransfer mechanisms
SMSL (System Service Layer)
 Provides basic system services on top of thecommunication layer
6Infiniband
Network Card

Design Criteria• Cache-aware system software stack• Scalability• Minimum overhead of communication facility• Portability

DCFA: Direct Communication Facility for Accelerator
Many Core型Acceleratorの場合Acceleratorにおける通信に関する問題


AcceleratorはPCI-Expressの１デバイスであるた •め、Accelaratorが通信デバイスを直接Configureできない Acceleratorは単独で他のデバイスのアドレ •スを知ることはできない
Acceleratorが通信デバイスのアドレスを知ったとしても、GPUの場合通信デバイスを制御するコマンドが発行できない
Mellanox社GPU DirectはホストCPU介在

Many Coreが通信デバイスのアドレスを知ることができれば、通信デバイスを制御するコマンドを発行できる
ただし、通信デバイスから割り込みを受信することはできない
提案手法

DCFA
(Direct Communication Facility for Accelerator)

MemoryMemoryMemoryMemory

HOST
CPU

GPGPU

HOST
CPU

GPGPU

Command Issuedby Host CPU

PCI-Express
Infiniband
Network Card

PCI-Express
Infiniband
Network Card

MemoryHOSTCPUMemoryMemoryCommand Issued byMany Core HOST
Many

Core
PCI-Express
Configured and Initialized
Infiniband
by Host CPU
Network Card

7

MemoryManyCoreCPU
PCI-Express
Infiniband
Network Card

おわりに
次世代ヘテロジニアスPCクラスタ要件
 既存コモディティ部品によるPCクラスタとの親和性
 最小限のアプリケーションプログラム修正
 PCサーバとアクセラレータ技術の将来動向をにらんだ設計
 2012年度中にプロトタイプシステムリリース予定
関連発表
1. Taku Shimosawa, Hiroya Matsuba, Yutaka Ishikawa, "Logical Partitioning without Architectural Supports",
32nd IEEE Intl. Computer Software and Applications Conference (COMPSAC 2008), pp. 355-364, 2008
2. Taku Shimosawa, Yutaka Ishikawa, "Inter-kernel Communication between Multiple Kernels on MulticoreMachines", IPSJ Transactions on Advanced Computing Systems Vol.2 No.4 (ACS 28), pp. 64-82, 2009
3. 下沢、石川、堀敦史、並木美太郎、辻田祐一、「メニーコア向けシステムソフトウェア開発のための実行環境の設計と実装」、情報処理学会、 2011-OS-118(1), 1-7, 2011.
4. Min Si, Yutaka Ishikawa, “Design of Communication Facility on Heterogeneous Cluster ,” 情報処理学会、
2012-HPC-133、2012.
5. Min Si and Yutaka Ishikawa, "Design of Direct Communication Facility for Manycore-based Accelerators, “ to appear atCASS2012 in conjunction with IPDPS2012, 20128