久しぶりのソフト開発で、手始めにメモリレイテンシ計測にトライ?!

久しぶりのソフト開発で、手始めにメモリレイテンシ計測にトライ?!と言いましても、既存アプリの修正版です。

少々レガシーな雰囲気を漂わせるロードレイテンシ・帯域計測ツールに注目しまして、何と言いましてもソースが公開されておりますので簡単です。

ついでに筆者は、このツールのコンパイルに必要な VisualStudio 2003 の正規ユーザですから、開発環境も簡単に構築出来まして、半日ほどで修正出来ました。

最新版はMS-DOS上で動作しますが、CPUを32Bitモードに切り替えて測定していますので、16Bitのメモリ上限を超えて測定出来ます。
なぜMS-DOS上で測定しているかといいますと、割り込みやサービスといったWindows上では裏で回っているタスクが正確な測定をする上での邪魔になるから・・・だと思います。

画面の赤線で囲った所が筆者が修正した箇所です。
latency.png

L1/L2の境界などでレイテンシが大きく変化し大幅に増えているのが確認出来ます。というか、L1のレイテンシは10年以上前から全く向上していない様ですね。

恐らくSRAMの限界が1ns程度なのだと思いますが、この事は逆にL1のレイテンシサイクルを多めにするとOverClockの耐性が高くなる事につながると思われ、定格利用前提のCPUとOC前提のCPUで状況を比べると傾向が良く判るのではないかと思われます。

ちなみに修正箇所は4点ありまして、
1:バージョン名に“+”を付けて v0.7+ にしました。
2:CPUの名前を表示する様にしました(部分的にアセンブラ)。
3:計測レンジを変則的にして色々なL3のバリエーションに対応。
4:コマンドラインオプションで最大レンジを256MBまで設定可能に。
※64MB以上の測定には異様に時間が掛かりますので注意が必要です。

修正にあたりまして、擬似乱数生成とレンジサイズの依存度が高く計測レンジを変則的にする部分で若干苦労しましたが、何とか解決してるのではないかと思います。

ただ、これ、困った事に著作権に関する記載が一切無くて、しかも作者への連絡手段も不明ですから、修正版を筆者が配布してもよいものなのか、他のソフトにソースを流用しても良いのかなど、判断に苦慮しております・・・

今後の展開として、このツールと帯域測定ツールを使いまして、SuperPIとCPUキャッシュの関係を調査してみようと思っています。
但し、より優先度の高いベンチマークソフトの改造を平行してやっていますので、いつになるやら判りませんが・・・
関連記事
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

DualSocketTheWorld

Author:DualSocketTheWorld
自作を始めて20台目くらいになりますが、最初からデュアルソケット限定(始めた当時はデュアルスロット)で自作しており、近年になってAMD K6を試したくなりSocket7でK6-2+のシングル構成で組んだのがシングル初です。

シングルマザー(含:シングルソケットマルチコア)や4ソケット以上の自作は基本的にしませんし、メーカー製PCの改造も基本的にはしません(ノートPCのSSD化くらいはしますが・・・)

基本路線はワークステーションと呼ばれる分野での自作で、OSもWindows系であればProfesionalが主な対象に成ります。

ゲーマーの様なOverClockは行わず、WS路線としてハイエンドCPUとハイエンドGPUの組み合わせで定格或いはDownClockで発熱を抑えつつ、その時のアーキテクチャに置いて爆速かつ静音を目指し、30年以上の長期に渡り稼動状態をキープする事を目指します。

※基本的にリンクフリーです。どこでも自由にどうぞ。

※画像は時々変ります。

※お決まりの文章ですが、改造は個人の責任で行ってください。ここに記載された情報は間違いを含んでいる可能性が有り、それを元に製作や改造などをして失敗しても筆者は一切責任持てませんので悪しからず。

筆者略歴:
小学生時代にゴミ捨て場で拾ったジャンクテレビ数台を分解して部品を取り出し真空管アンプを自作、中学生時代にPC8801mkⅡsrでZ80アセンブラを始める。社会人になって初のプログラムは弾道計算、後に医療系・金融系プログラマ~SEを経て100~200人規模プロジェクトのジェネラルマネジャを数年経験、独立して起業。現在は不動産所得で半引退生活。
(人物特定を避ける目的で一部経歴を変更しています)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
アクセスカウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR