トップ 最新 追記

Orz日記 by Akio Morita

ToDo:

  • 15 SAD Fit[]回りの障害事例の解析
  • 10 smart pointer版PEGクラスの再実装(Left Recursionまわり)
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|06|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|06|07|08|10|12|
2016|01|02|03|05|06|08|10|11|
2017|01|02|03|04|05|06|07|09|10|11|12|
2018|01|02|03|04|06|07|08|09|10|11|12|
2019|01|03|04|05|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

2015-06-22 [長年日記]

_ [雑記][FreeBSD]Intel 750

400GB版を入手したので FreeBSD 10.1-STABLEにてテスト開始

I/O block size 128kBにて ddによる読み出しが 1GB/sec程度を確認

書き込みは、若干落ちて 900MB/sec程度

カタログスペックでは読み出し 2.2GB/secらしいので、

  • PCIeバスが遅い
  • busy 90%程度なので I/O block sizeが不足している
  • Kernel-User Space間のコピー帯域が不足している

あたりが疑われる。I/O block sizeに関しては、後日カーネル再構築を行い検証するべき

また、zpool createでハングアップする nvmecontrolにて logpage 2を参照してみたところ、 ホストからの書き込みが処理されていない模様

対処療法として、/boot/loader.confにて vfs.zfs.trim.enabled=0を指定して ZFS TRIMを無効化することで動作するようになった

おそらく、nvme/nvdで TRIM回りが正常に処理出来ていない模様 (コードを流し読みした範囲では、BIOの処理は nvmeドライバ側で処理されている)

追記型のキャッシュサーバーを構成する上では TRIMが使用できない点は 大きな問題とはならないが、長期的には改善を要する

_ [雑記][FreeBSD]NVMe

MAXPHYSを 256kBに増やしたが NVMe側に反映されていない (AHCI上の adaデバイスでは増えている)

nvme/nvdをモジュールではなく、カーネル組み込みで構築しても変わらない 状況なので、別の原因があると思われる

  • NVMeデバイス側でコマンド当たりの転送サイズが 128kBに制限されている

コントローラ固有の制約だとすると、カタログ値の 2.2GB/secってどうやって出すのだろう

聞いた話だと、Windows標準のドライバではカタログ値の半分の性能しか出ず、 Intel純正ドライバを入れないとカタログ性能が出ないという話もあるが、 NVMe標準以外に何らかの拡張モードが存在してるのか?

Windows上の ベンチマーク結果の比較を見ると Command Queuingの使い方(CDD3 vs CDD4)で シーケンシャル読み出しが 1.4GB/secから 2.3GB/secあたりまで変化がある模様

2.2GB/secというカタログ値は、コマンド発行レートに限界が有るので、 非同期で積極的にキューにトランザクションを詰め込んだ際の性能と思われる


カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記