ToDo:
Filter:// Channel系に、Sum/Difference/Differential機能を実装
これで、基本的には LogBrowser1に出来て LogBrowser2に出来ないのは
の2点のみと成ったはず
特に、Fourierスペクトル表示に関しては、長いデータを扱うために 単一リストをやめて二重リストで保持するようにしたため、 現時点では実装の予定は有りません
Fourier変換の為に単一のリストに Joinした瞬間に SADが Stack Over Flowする
データの書き出しは、実装するならプラグイン機能として実装かな (Graph Rendering Sub-Systemを用いて実装?)
Errata workaround 1057/1109を外した状態でbuildworld/buildkernlストレステスト49時間をクリア
負荷試験時の温度(CPU及びHDDケージ)が低下しているが、構成変更と 同時にSMT設定も変更しているので、温度に関しては純粋な比較にはならない模様
buildworld/buildkernel時間は、SMT offで19分に対しSMT onだと21分(first lap)に増えている
動作スレッド数の増大により、待ち合わせ等のオーバーヘッドが増えたか? 消費電力は減ってる模様なので、実質稼働密度が低下している可能性がある
測定結果をざっくりまとめてみる
SMT | -j# | lap time | wall power | Tdie |
off | 16 | 19min | 230W | 68℃ |
on | 32 | 21min | 140W | 48℃ |
on | 16 | 20min | 220W | 68℃ |
このマイクロベンチマークの結果だと、buildworldやFP主体の並列計算用途だとSMT offの方が安定した性能が出せる模様
前扉開放時の温度変化は、Tdieは1℃未満、Thddは-8℃
やはり、前扉とオープンベイ間のクリアランスが小さいのが効いている模様
一応、前扉閉でストレステスト中でもThdd~42℃程度なので、問題にはならない
追記・挿入系の基本操作の整理
concatinateは、sequence後方に領域を確保するrealloc操作と、contentsへの上書きコピー操作で構成されているが、insertなどの処理も含めて一般化を考えると、以下の3種類の基本操作の組み合わせと解すべき
3種のうちreallocはallocation APIとして実装済みなので、残り2種類を実装する
APIの基本形は
書き込み先領域後端が、sequence containerからあふれる場合は、自動拡張される方が使い易いか?
また、大きなhole gapを開ける操作をサポートするにはdst-beginがsequnce contents後端より後ろを指すことを許容すべきだが、負のindexが指定された場合の解釈はどうするか?
現行仕様では、contents終端(n)と確保済みの長さ(nmax)を保持するのみで、realloc等で要求した長さは保持していない
昔、秋月電子で買ったGPS受信モジュールとUSBシリアル変換で作ったGPS受信機をNTPサーバーに導入したために、NTPサーバーは10μsecオーダーでUTC同期した状態を維持できるようになったのだが、NTPがGPSに対して周波数同期を保持する際に調整している周波数偏差が、0.3ppm/℃程度の温度係数で室温と相関している(w
どうやら、NTP・カーネルで経時に使っているクロックソースがエアコンのON(在室時)/OFF(不在時)で発生する5℃程度の温度変化で周波数ドリフトしているのが観測されている模様
一応、数ppm/℃の温度係数はそれなりに優秀か…
あと、複数の計算機を同期させていると、製品間でクロックソース校正精度が数十ppm程度バラついているのが見える
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記