More Related Content
Similar to ftp.jaist.ac.jpの低レイヤーの話 on 第九回 カーネル/VM探検隊
Similar to ftp.jaist.ac.jpの低レイヤーの話 on 第九回 カーネル/VM探検隊 (20)
ftp.jaist.ac.jpの低レイヤーの話 on 第九回 カーネル/VM探検隊
- 4. ftp.jaist.ac.jpの性能
• 平日のピーク時 2.4Gbps
– ほとんどHTTP
– 4,000接続 150リクエスト/秒
– CPU使用率75% (カーネル9割)
• 最高記録 4.5Gbps
– 2012年4月25日 (Firefox 12のリリース日)
– 17,000接続 1,950リクエスト/秒
– CPU使用率100% (カーネル7割)
2013/12/7
第九回 カーネル/VM探検隊
4
- 5. ハードウェア構成
Sun Fire T2000 (2U)
サーバー本体
SASエンクロージャー (1U)
L2ARC用 SSD 512GB×4
SASエンクロージャー (4U)
HDD 2TB×24
RAID-Z2 (9D+2P+1S)×2
実容量38TB
SASエンクロージャーは
Super Microのサーバーシャーシ
2013/12/7
第九回 カーネル/VM探検隊
5
- 6. Sun Fire T2000
• 旧Sun Microsystemsからの寄贈 (2007年5月)
• 発売: 2005年12月
8年前のハードウェア
• CPU: UltraSPARC T1 1GHz 1CPU
• メモリ: 16GB (1GB×16)
⇒64GB (4GB×16) (2009年9月)
• NIC: GbE×4⇒10GbE (2012年4月)
2013/12/7
第九回 カーネル/VM探検隊
6
- 8. UltraSPARC T1 (1/2)
• クロック数1GHz
– ラインナップは1.4GHzまで
• 8コア 4スレッド/コア 計32スレッド
– Chip-level Multithreading (CMT)
– 1サイクルごとに実行スレッドを切り替え
• シンプルなコア
– シングルイシュー
– インオーダー
– 6ステージパイプライン
2013/12/7
第九回 カーネル/VM探検隊
8
- 9. UltraSPARC T1 (2/2)
• L1 Cache 命令16kB データ8kB
• L2 Cache 共有3MB 12-way set associative
• メモリーコントローラー内蔵 帯域34.1GB/s
– DDR2-533 4.3GB/s
– ×4チャンネル = 17.1GB/s
– ×2 (128bit幅) = 34.1GB/s
2013/12/7
第九回 カーネル/VM探検隊
9
- 17. UltraSPARC T1の利点
• マルチスレッド性能が高い
• メモリ帯域が広い
• キャッシュミスのペナルティが小さい
• 並列に行うデータ転送中心のワークロードに向
く
– ウェブサーバー
– Javaアプリケーションサーバー
SPEC JBB2005のSun Fire T2000のスコアは74k
Xeon 5080 3.8GHz 2ソケット構成のIAサーバーで64k
2013/12/7
第九回 カーネル/VM探検隊
17
- 18. OSから見たUltraSPARC T1
$ mpstat
CPU minf mjf xcal intr ithr csw icsw migr smtx
0 11 0 974 1755
4 1709 13 519 180
1 11 0 1012 1513 19 1893 15 575 205
2 10 0 794 1390
2 1479 13 456 171
3
9 0 749 1326
2 1395 12 433 163
4 13 0 1105 1512
2 2149 19 472 215
5 14 0 1241 1700
2 2528 21 555 234
6 20 0 1906 2218
3 3992 31 985 302
7 17 0 1523 1913
3 3009 25 713 272
8 18 0 1412 1252
3 2557 22 517 244
9 15 0 941 879
3 1605 17 314 197
10 14 0 1196 1192
2 2362 19 425 214
11 18 0 2057 2028
3 4314 32 947 304
12 10 0 4820 17256 16396 2038 77 493 281
13 11 0 2914 9441 8631 1692 33 393 237
14 10 0 741 639
3 1198 14 278 158
15
9 0 717 706
2 1334 13 281 148
16
8 0 2588 9223 8662 1133 23 213 193
17 13 0 3421 9989 8575 3163 52 732 290
18 14 0 1463 1332
3 2759 22 586 238
19 11 0 873 742
3 1464 15 305 177
20
9 0 2581 9115 8604 1021 23 200 184
21
8 0 3791 3587 2796 1657 22 284 426
22 17 0 2027 2025
3 4356 31 945 289
23 14 0 1396 1276
3 2667 22 529 237
24 15 0 1307 1205
4 2503 21 503 228
25
7 0 4342 16280 15864 806 48 160 202
26 10 0 917 884
2 1736 15 311 176
27 17 0 1961 1972
3 4229 30 922 286
28 19 0 2198 2150
3 4548 34 961 311
29 17 0 1539 1371
3 2812 24 530 257
30 14 0 922 759
3 1491 16 271 194
31 13 0 1028 956
3 1903 16 305 192
srw syscl
324 1000
354 1065
269 1048
252 1040
416 1285
467 1453
693 1543
573 1527
525 1162
324 946
435 1028
739 1323
302 610
322 708
236 718
235 697
205 476
498 947
556 1137
315 781
213 452
318 465
731 1285
536 1082
502 1039
139 320
325 740
709 1259
765 1308
566 1114
314 785
357 751
usr sys
7 23
7 24
7 20
7 19
9 28
10 32
10 44
10 37
7 32
6 23
6 28
7 45
4 71
5 50
5 20
5 19
4 42
6 61
7 35
6 23
4 41
3 35
8 47
7 33
7 32
3 59
5 23
8 46
7 46
6 34
5 22
5 24
wt idl
0 70
0 69
0 73
0 74
0 63
0 59
0 46
0 53
0 61
0 71
0 65
0 48
0 25
0 45
0 75
0 75
0 54
0 32
0 58
0 72
0 55
0 62
0 46
0 60
0 61
0 38
0 72
0 47
0 47
0 60
0 73
0 71
32CPUに見える
1CPUが遅いので割
り込みが多いと使用
率が高くなる
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys
11 18
0 2057 2028
3 4314
32 947 304 739 1323
7 45
12 10
0 4820 17256 16396 2038
77 493 281 302
610
4 71
2013/12/7
第九回 カーネル/VM探検隊
18
- 19. 割り込みの割り当て(1/2)
# echo “::interrupts” | mdb –k
Device Type
MSG #
State INO
Mondo Shared Pil
CPU
px#0 PCIe
27
enbl
0x3b
0x7bb
no
1
4
px#0 PCIe
51
enbl
0x3a
0x7ba
no
14
0
px#0 PCIe
49
enbl
0x39
0x7b9
no
14
0
px#0 PCIe
48
enbl
0x38
0x7b8
no
9
1
nxge#3 MSI-X
248
enbl
0x22
0x7a2
no
6
0
nxge#3 MSI-X
249
enbl
0x21
0x7a1
no
6
1
nxge#2 MSI-X
250
enbl
0x20
0x7a0
no
6
9
nxge#2 MSI-X
251
enbl
0x1f
0x79f
no
6
8
nxge#1 MSI-X
252
enbl
0x1e
0x79e
no
6
1
nxge#1 MSI-X
253
enbl
0x1d
0x79d
no
6
28
nxge#0 MSI-X
254
enbl
0x1c
0x79c
no
6
5
nxge#0 MSI-X
255
enbl
0x1b
0x79b
no
6
4
e1000g#1 MSI
2
enbl
0x1a
0x79a
no
6
29
e1000g#0 MSI
1
enbl
0x19
0x799
no
6
29
mpt#0 MSI
0
enbl
0x18
0x798
no
5
1
su#0 Fixed
--enbl
0x2
0x7c2
no
12
4
uata#0 Fixed
--enbl
0x4
0x7c4
no
5
0
ohci#1 Fixed
--enbl
0x3
0x7c3
no
9
24
ohci#0 Fixed
--enbl
0x1
0x7c1
no
9
16
px#1 PCIe
27
enbl
0x3b
0x7fb
no
1
8
px#1 PCIe
51
enbl
0x3a
0x7fa
no
14
4
px#1 PCIe
49
enbl
0x39
0x7f9
no
14
24
px#1 PCIe
48
enbl
0x38
0x7f8
no
9
5
e1000g#3 MSI
2
enbl
0x2a
0x7ea
no
6
12
e1000g#2 MSI
1
enbl
0x29
0x7e9
no
6
12
mpt#1 MSI
0
enbl
0x28
0x7e8
no
5
21
2013/12/7
第九回 カーネル/VM探検隊
増設NIC GbE×4
TXとRXが別
オンボード GbE×4
SAS HBA×2
19
- 21. CPUごとの割り込みの設定
CPU
0
1
2
3
4
5
6
7
8
9
10
11
割り込み
px#0 px#0 uata#0 nxge#3
px#0 nxge#3 nxge#1 mpt#0
px#0 px#1 su#0 nxge#0
px#1 nxge#5 ixgbe#1
px#1 nxge#2 ixgbe#1
nxge#2 ixgbe#1
e1000g#2 e1000g#3
ixgbe#0 ixgbe#0 ixgbe#1
13 ixgbe#0
14
15
12
2013/12/7
CPU
16
17
18
19
20
21
22
23
24
25
26
27
割り込み
ochi#1 ixgbe#0
ixgbe#0 ixgbe#1
ixgbe#0
mpt#1 ixgbe#1 ixgbe#1
ochi#1 px#1 ixgbe#1
ixgbe#0 ixgbe#0
28 nxge#1
29 e1000g#0 e1000g#1
30
31
第九回 カーネル/VM探検隊
21