Windows Update の不思議


Windows10を試した際にBSODが発生したものが数台ありますが、Windows7に戻してからは安定しています。ですが、それでも壊れたファイルが有るかもしれない・・・と思い、結局Windows7のクリーンインストールからやり直していますが、クリーンインストールすると大量の更新が必要になります。

Windows Update

マイクロソフトがサービスパックやセキュリティアップデートと言い換える以前、業界ではバグパッチと言われていたOSの不具合・バグに対する大量の修正版インストールが必要になります。

例えば、今、Windows7 SP1適用済みを新規インストールすると

1:一定時間が経過すると約200件のバグに対する重要な更新リストが作成される
2:長時間 svchost.exe がシングルスレッドで負荷100%に張り付いたままになる
3:上記が終了すると約200件のバグ更新ファイルのダウンロードが始まる
4:上記200件のバグ更新ダウンロードが全て完了するとインストールが始まる
5:上記200件のバグ更新のうち数件~数十件が失敗し、再起動を促される
6:大量の更新リストが再作成され上記2からのステップを繰り返す
7:2~6を数回繰り返すと完了する
8:Officeをインストールすると、バグが増えて上記2からを更に数回繰り返す

全てがシングルスレッドかつ順次実行なので、非常に時間がかかりUpdateには概ね半日~1日かかります。

ダウンロードしながらインストールとか、svchost.exeをマルチスレッド化とか、そういった事は出来ないのか?と時々不思議に思います。

と言いますか、Windows7を売り出した当時のキャッチコピーの一つ、売り文句の一つに、WindowsUpdateをしても再起動不要と謳っていた記憶があります(Vistaの時だったかも?)が、政治家のマニフェストと同様に達成されない事を出来ますと言って買わせる(投票させる)のは、騙しているのと同じ事ですよね?

嫌なら返品に応じます・・・ようやく使い慣れた頃にそう言われましても・・・
 
 
スポンサーサイト

ブラウザベンチ ( HTML5 + JavaScript ) を試す

追記:
 EdgeとCyberfoxを追加計測しました。
 Edgeは幾つかの環境下でBSODを誘発しますので御注意下さい。


結論:(2016年1月現在)
 ブラウザの性能は Chrome 又は Opera が最善です。
 次いでFirefoxとそのクローンが良好です。
 EdgeはBSODしますので利用すべきではありません。
 IEは最も遅く、しかも正常に機能しない事があります。
 ※:ChromeはEdge同様に個人情報を収集していますので御注意下さい。

今月のブログアクセス状況@1月1日~23日:
 FC2のアクセスログからの統計ですがEdgeは?恐らくChromeを擬態しているのでChromeに含まれている可能性があります。
 ChromeはEdge同様に個人情報を収集していますので御注意下さい。
BSAMB1.png
 その他の内訳:
  SRWare Iron 10回
  SeaMonkey 2回
  Chromiumクローン 2回
  Mozilla 1回

経緯:
 最近、複数の方から Windows 10 で IE の更新後に Yahooメール が参照し辛い状況に成ったという話を聞きました。筆者もWindows7ではありますがIEでYahooメールが参照し辛い事があり、時々正常に機能しない事があります。いくつかブラウザベンチマークを試したところJetStream(Apple製 JavaScriptベンチ)では、最後に結果の値を表示する所でIE11のみ正常に動作しません(大きな文字で計測値が表示されない)でしたし、Peacekeeper(Futuremark製 HTML5ベンチ)ではIE11のみ機能しないシーンが多数有りました。計測値も他のブラウザと比較して2~3倍遅いケースが多々あります。

 そこで、筆者が以前から利用している4種のブラウザ ( Crome / Firefox / IE / Opera ←アルファベット順に記載 ) を利用して

 ブラウザベンチ × ブラウザ × CPU/GPU アーキテクチャ

 の組み合わせでベンチマークを試して定量的側面から傾向などを比較してみようと思います。出来れば公正な視点で定性的(つまり安定感など)も比較できると良いのですが、安定感を語ると、どうしても個人の趣向が反映されてしまいますね・・・他にも正確な再現性(JavaScriptやHTML5の標準規格に対する正確な再現性)を測定出来る物が有ると良いのですが、そういった物が見当たりません。とりあえず、今回はベンチマークで比較します。

ベンチマーク・レギュレーション

前提条件:
 1:予め、キャッシュを全削除しておく。
 2: 1920 × 1200 @60Hz 画面にて最大表示で計測(ARM機は例外)。
 3:測定中のブラウザ以外は起動しない。
 4:初回実行結果を採用(JIT込みの測定)
 5:JavaScript高負荷検知機能はキャンセルしておく
 6:GPUは普段通りダウンクロック(概ね500MHz)のまま計測

動作環境:
 OS:Windows7 64Bit SP1
  ※ARM機はAndroid
  ※Edgeの計測のみWindows10Pro 64Bitで実行

ベンチマークサイト:(アルファベット順)
 HTML5 Webベンチ : とむころり氏(個人)製作、今回は2D描画のみ実行
 JetStream :Apple製 JavaScriptベンチマーク
 Kraken :Mozilla(Firefox)製 JavaScriptベンチマーク
 Octane :Google製 JavaScriptベンチマーク
 Peacekeeper :Futuremark製 HTML5ベンチマーク
 WebVizBench :Microsoft(KEXP)製 HTML5ベンチマーク

ブラウザ:(アルファベット順)
 Chrome 47.0 (47.0.2526.106m)
 Cyberfox 43.0.2 ←追加(Intel最適化版とAMD最適化版)
 Edge 20 (20.10240.16384.0) ←追加
 Firefox 43.0 (43.0.1 or 43.0.2)
 InternetExplorer 11.0 (11.0.9600.18124)
 Opera 34.0 (34.0.2036.39 or 41)
 ブラウザ(Android標準ブラウザ:バージョン不明)
 ※:Edgeは個人情報を吸われ企業広告と政治プロパガンダが所狭しと表示されるので筆者は常用しません。
 ※:Lunascapeその他のマイナーブラウザはレギュレーションに含めません

機種:(アルファベット順)
 AMD機
  15号機①:AMD K8 4C@2.8GHz + GeForce 9800GTX+
  15号機②AMD K10 8C@2.8GHz + GeForce GTX285
  19号機①AMD K10 12C@2.8GHz + Radeon HD6970
  19号機②Bulldozer 8M/16C@2.8GHz + Radeon HD6970
  20号機①Piledriver 16M/16C@2.8GHz + Radeon HD7970
  
 ARM機
  メーカー製:Qualcomm Snapdragon 800 2.3GHz 4Core

 Intel機
  10号機①:NetBurst 4C/4T@3GHz + Radeon HD4890
  12号機②:CoreMA 8C@3GHz + Radeon HD5870
  13号機①Westmare-EP 12C/12T@3GHz + GeForce GTX580
  17号機①SandyBridge-EP 16C/16T@3GHz + GeForce GT730
  17号機②SandyBridge-EP 16C/16T@3GHz + GeForce GTX780ti

 VIA機
  16号機②:Isaiah 2C@1.4GHz + Integrated S3 Chrome 9HD (DX9)
  16号機③:Isaiah II 4C@2GHz + Integrated S3 Chrome 640 (DX11)


結果:
 Chromeが最も安定して高速で、僅差でOperaが似た傾向です。両者はレンダリングエンジンに同じBlinkを利用している為、似た傾向に成るのは当然かもしれません。FirefoxはレンダリングエンジンにGeckoを採用していますがベンチ結果を見るに少し癖があります。ベンチとは直接関係無い部分ですが、他のブラウザでは表示されるTwitterやFacebookのアイコンがFirefoxでは表示されない特徴があります。EdgeはFirefoxよりも更に癖がありJavaScriptは高速なのですがHTML5の描画は逆に低速で、HTML5描画ベンチの最中に必ずBSODが発生するケースが3項目あり、それ以外のケースでも時々BSODするので未だ不安定ですし致命的です。EdgeはBSODしますのでRing0で動作する特殊なローレベルAPIを使用して他のブラウザとの差別化をしていると思われるのですが、恐らくその影響でDirectX 11アクセラレーションを利用した場合に特定ファンクションでBSODするのではないか?と推測しています(確証はありません)。IE11は自社製Trident がレンダリングエンジンですが自社製ベンチマーク以外は悲惨な結果でした。

ブラウザ性能ランキング:
BBResult7.png
 上のグラフは、平均値を100とした場合の相対値を積み上げた(JavaScriptを3種、HTML5描画を3種、計6種のベンチ合計600平均)結果です。EdgeでBSODするケースを推測値で埋めてもCyberfox/Firefoxより低い結果でした。

機種別ランキング:
BBMResult7.png
スマホは解像度が低いので、描画系のスコアが有利ですが、それでも総合では最下位です。つまりスマホで十分な使い方であれば10号機や16号機でも問題無く常用出来る訳です(が、実際にはsvchostが邪魔をして使い辛い事が時々あります)。

GPU性能による差:
 GPUの機能による差(DirectXへの対応状況や動画支援などによる差)は有る様ですが、性能による差は無い様です。つまり同世代のGPUであれば同等の結果に成るのでは?と思われます。具体的には17号機でGTX780ti(GK110)ケプラーハイエンドとGT730(GK208)ケプラーローエンドで比較して全く差が無いばかりか誤差程度の差でGT730の方が僅かに高速でした。


以下は、個々のベンチマークの詳細です。
平均値をとり、成績順に並べています。

HTML5 Webベンチ : とむころり氏(個人)製作、今回は2D描画のみ実行
HTML52DBenchResult7.png
 CyberfoxのAMD最適化による効果と思われる伸びが15号機で観測されました。
 他に、WestmareとHarpertownの結果からChromeとOperaに注目すると、同じレンダリングエンジンを採用していても結果が相互に逆転している事が判りますので傾向からの推測としてOperaはRadeon向けの描画チューニングが施されているのかもしれません(もしくはChromeがGeForce向けにチューニングされているか?)。EdgeとIEはDirectX 11の特定機能が利用出来る場合のみ高速化する仕組みかもしれません(或いは、発売から5年以上経過した機種の性能を意図的に下げている可能性も・・・グラフを見て判る通り不自然な性能格差があります)。

JetStream :Apple製 JavaScriptベンチマーク
JetStreamResult7.png
 JetStreamというかJavaScriptエンジンは、たぶんIntelのCPU向けにチューニングされていると思われますが、ネトバは完全に無視されていますね。JetStreamはApple製のベンチマークですからIntel Macに最適化されたSafariのWebKitに合わせてチューニングされていると思われ、WebKitからフォークしたBlinkを搭載するChromeやOperaの成績が良いのもうなずけます。
 このベンチマークのみEdgeが他より良好な結果ですから、恐らくEdgeはSafariと同じJavaScriptCore(LGPL)をベースに(もしくは参考にして)開発されたのではないか?と思われます。

Kraken :Mozilla(Firefox)製 JavaScriptベンチマーク
KrakenResultP7.png
 KrakenもJetStreamと似た傾向ですがEdgeとFirefoxの順位が逆転しています。他のグラフと見た目を統一する目的で平均値に対する%で表現しています(例えば値が250の場合は平均より2.5倍高速です)。下に小さく表示してあるグラフは計測値をそのままグラフ化したものです。
KrakenResult7.png

Octane :Google製 JavaScriptベンチマーク
OctaneResult7.png
 OctaneではKrakenと比べてChromeとFirefoxの順位が逆転していますが、ベンチマークの製造元を見れば納得です。

Peacekeeper:Futuremark製 HTML5ベンチマーク
PeacekeeperResult7.png
 PeacekeeperはFirefoxのグラフが波うってますね。IEも若干。
 Edgeは17号機と18号機でBSODが発生して最後まで実行出来ませんでした。数回試しましたが毎回同じシーンでBSODします。

WebVizBench :Microsoft(KEXP)製 HTML5ベンチマーク
WebVizBenchResult7-2.png
 WebVizはMS謹製なのでIEやEdgeが強いのは当然なんですが、IEやEdgeよりもFirefoxの結果が少し良いのですよね・・・それと16号機②(VIA Chromde9HD)の結果が予想以上に高いのはベンチプログラム側の測定ミス(もしくはChrome9HDがフレームを間引き描画しているのかも?)と思われ、成績は良くても描画はカクカクして遅いですしIE11ではDirect3D由来のエラーで中断してしまいます。

新しくなった memtest86

 自作PCや改造PCで必須とも言える memtest86 が筆者の知らない間に色々と変わっていました。

 memtest86 は、頻繁に最新版をDLして試す様な物でも無いと思いますので、今までこの事態を知らなかった人も多いと思います。筆者もその一人で、以前作成したCD-ROMやUSBメモリやフロッピーを使い続けて問題無く使えていましたので、あえて最新版をチェックしていなかったのです。

 大きな変化としては、2013年に著作権者がPassMark社に権利を売却、売却完了とともにmemtest86が商標登録され、有料化(機能限定版は無料)、オープンソースだった既存のソースは凍結され、UEFI対応/GUI装備(日本語にも対応)の別物を新規に作り直し MemTest86 Ver5 として販売(現在のバージョンは6.2.0)した様です。

 歴史的経緯から本家(memtest86)と分家(memtest86+)が有り、PassMarkによる買収が完了する2013年まではオープンソースで開発が進行していましたが、オリジナルソースを元にした物は買収により両方とも開発停止している様です。

 下図は、オリジナルの最終版4.3.7にてチェックした際のLLCとメインメモリの速度です(但しHaswell以降はmemtest86+ v5.01最終版もしくはUEFI版でのみ対応しています)。memtest86による速度計測は理論値よりもかなり低い速度ですが、恐らくSIMD系の命令セットを使って全コアを使用したマルチスレッドによる最大負荷を掛けないと理論値に近い値は出せないのだと思います(memtest86はマルチコアやマルチソケットに対応済みですが、実行コアを順々に交代してゆくシングルスレッドでチェックしている様です)。
memtest86-5-speed.png

 あと、やはりBulldozer(表はAbuDahbi)のLLCが異常に遅い事が判りますね・・・メインメモリよりも遅いLLC、しかも巨大な面積を必要とするLLC、OC耐性は低くて良いので、LLC高速版や1モジュール1コア版を出荷して欲しかったと思うのは筆者だけでしょうか?何か設定変更でLLCを倍速化出来るオプションでもあると良いのですが・・・


 
 

Intel Compiler Patcher はAMDやVIAやnVidiaにとって、どの様な影響を与えうるか?

 一昨日公開されました Intel Compiler Patcher は、Intel製以外のチップセットや、Intel製以外のCPUを使った機種を高速化する可能性を秘めています。もしくはIntel製CPUだけが享受していた最適化をキャンセルするものかもしれません。

 逆に言えば、このアプリが何をするかと言いますと、Intel製のコンパイラでコンパイルされたアプリを検出し、Intel製品だけで有効化される最適化の制限を解除するものです(だと思います)

 例えば、このアプリを使って検索してみますと、有名な 3DMark11 や CINEBENCH R11.5 などが検索にヒットしました。つまり、これらのベンチマークソフトは、Intel製CPUとチップセットを搭載した機種でのみSSE2やSSE3やAVXなどの拡張命令が有効活用され、それ以外の機種(例えばAMD製のCPUを搭載した機種や、nVidia製のチップセットを搭載した機種)では、たとえSSE2やSSE3やAVXに対応していたとしても拡張命令を使わずに、基本命令で(つまり、遅い速度で)実行される様に作られたベンチマークだったという事が判明したのです。ホントかよ!?

 これが本当なら、これらのベンチマークソフトは、Intel製のCPUが不当に高評価される様に仕組まれたベンチマークソフトだった事になります。

 実務で利用する業務用のソフトをIntel製CPUに特化してチューニングを施すのは製造者の自由だと思いますが、性能指標を測定する為のベンチマークに限っては、どこかのメーカー製に特化したチューニングを施すのは不公正だと思いますし、その様なチューニングを施している事をベンチスコアと同じサイズの文字でスコアに添えて公表すべきで、でなければ消費者に誤解を植え付ける事に成ります

 試しに20号機(AbuDhabi = Bulldozer系のOpteron搭載機)で CINEBENCH R11.5 を使い、パッチを当てる前と後の結果を測定してみました・・・結果、変化無しです・・・これが何を意味するのか?未だ判明していません。15号機(AMD K10 搭載機)では概ね1割程度スコアが上昇しましたが、この程度ではないと思うのですが・・・13号機(Westmare-EP)でも同様にパッチの前後でスコアに変化がありません・・・

 筆者が3年前に試したIntel謹製LINPACKベンチはSSEやAVXなどの拡張命令のみならず、OpenMPライブラリ(マルチコアを有効活用する仕組み)の部分もIntel製CPUだけが最適化される仕組みになっていましたが、同様に、他のIntelコンパイラを使ったベンチマークでもSSEやAVXのみでなく、もっと根が深い所までIntel製CPUに最適化されているのかもしれませんね。

 Intel Compiler Patcher の仕組みとしては、説明にあります通り、CPUID命令で取得したベンダID(販売元名)が "GenuineIntel" の場合だけ最適化する仕組みでコンパイルされているものを解除する物で、それ以外の仕組みに付いては対応していないと思われます。

 それ以外の仕組みの1例として、Intelが出しているOpenCLランタイムが有りますが、以前 Intel OpenCL 1.5で試した際にはAMD製CPUでは実行出来ない仕組みに成っていて、VIA nanoではSSE系の拡張命令を使って実行できました(IntelがVIA製のCPUに付いて全く考慮していなかっただけかもしれません)ので、類似の仕組みでコンパイルされたアプリでは "GenuineIntel" 以外を除外するのではなく、 "AuthenticAMD" だけを狙い撃ちで排除しているか、AMDが未実装の拡張命令を重点的に調べて、それに対応していないCPUを排除しているのではないかと思われますので、こちらのタイプの最適化が施されていた場合は Intel Compiler Patcher で検出されたとしても現状ではパッチは全く機能せず効果が無いのではないかと思われます。

 参考までに "GenuineIntel" 以外のベンダIDの一覧(アルファベット順)です。ベンダIDを取得するCPUID命令は80486の途中から導入されたもので初代Pentium以降のx86互換CPUであれば実行可能な命令です。

 "AuthenticAMD" - AMD
 "CentaurHauls" - セントールテクノロジー (現行の VIA CPU)
 "CyrixInstead" - サイリックス
 "GenuineTMx86" - トランスメタ
 "Geode by NSC" - ナショナルセミコンダクター
 "NexGenDriven" - NexGen
 "RiseRiseRise" - Rise Technology
 "SiS SiS SiS " - SiS
 "TransmetaCPU" - トランスメタ
 "UMC UMC UMC " - UMC
 "VIA VIA VIA " - VIA Technologies
 "Vortex86 SoC" - DM&P

 悲しい事に、Socket7世代で消えたベンダが多いですね~ちょっと寂しい気分です。

 現時点で生き残っている(今でも生産されている)のは、
   "AuthenticAMD" (AMD)
   "CentaurHauls" (VIA)
   "GenuineIntel" (Intel)
   "Vortex86 SoC" (DM&P)
 この4種のVendorIDだけでしょうか・・・ 

 
 

デュアルソケット対応OSの歴史

 デュアルソケット対応OSの系統図です。
 WikipediaのUNIXに掲載されていた図を元にPC/AT互換機以外のハード専用OSを削除しUNIX以外のOSを追加した図です。

 緑色がオープンソース、桃色がクローズドソース、肌色がオープンとクローズの混在です。

 個々のブロックの枠の色がデュアルソケット対応・非対応を表し、赤枠が対応OS、黒枠はデュアルソケットに至る前の歴史を示しています。

 Linuxがいつ頃からデュアルソケット対応しているか正確にはつかめていませんが、遅くとも Kernel 1.2 から対応している様です。他に、TRON系のOSに付いても正確な情報をつかめていません。PC/AT互換機で動作するTRON系のOSはパーソナルメディア製しか見当たらないのですが、筆者の調査不足かもしれません。今のところデュアルソケット対応はT-Kernel2/x86のみかもしれません。超漢字は残念ながらシングルCPUでしか動作しないかもしれません。

 AndroidはWebKitがLGPLの為、クローズドソースのWeb系アプリが含まれていると思いますが、OSのコアな部分は全てオープンソースの為、緑色にしています。

OS_history-simple6.png
※:基本的には研究中や開発中のOS( HAIKU / Hurd / icaros / MINIX3 / Plan9 / PureDarwin / ReactOS / SkyOS / Syllable など)は除いてあります。また、デュアルソケットに到達しないであろうDOS系のクローン( FreeDOS / DR-DOS/OpenDOS など )も除外しています。

 こうして並べて見ると、PC/AT互換機で初のデュアルソケット対応OSは、NetWare 3.11 SFT-III (1992) かもしれません。それ以前に研究・開発段階で既に対応していたOS(例えばPlan9の様なもの)が存在したかもしれませんが、それを言ったらNetWareの開発中バージョンは数年前から対応していたと思いますし、誰も知らない様なOSも有ると思いますので、ここでは正式版として一般公開された常用に耐えるOSに限定して書いています。(Windows9x が常用に耐えるか?という議論はまた別として・・・)

 NetWareに続くOSはカオスです。1993年以降はカンブリア爆発の様な年で、遡る1990にDOS/Vが発表され業界全体がPC/AT互換機に集中しはじめ、そこから概ね2年ほどかけてSMP対応カーネルの開発が行われたのではないかと思われますが、早い所はAPICやSMP1.1仕様が公開された頃から開発を始めていたのかもしれません。

 二回目の爆発は2003年頃かもしれませんが、Linuxのディストリビューションが爆発的に増えています。多過ぎて全ては記載できませんし、さわる機会も無い気がします。

 筆者が今一番期待しているOSは今年(2015)5月に正式版が登場したばかりのMenuetOSです。
 MenuetOSは全てアセンブラで記述された為、OS全体がフロッピー1枚(つまり1MB程度)に収まりながらも、透過GUIを装備した現代風のモダンなUIを備えたOSです。
 サイズが小さい為、瞬間起動出来ますから、これをROMに収めてしまえば電源ONと同時に起動完了(つまりBIOS/UEFIの画面が表示されるのと同じタイミングでOS起動が完了)し、即利用開始出来る物に仕上がるのではないかという期待感が有ります。書き換え不可なタイプのROMに乗せてしまえば、ある意味では堅牢です。更新やバージョンUPはROMの差し替えで対応するという大昔のPCに逆戻りですが、電源ボタンを押した瞬間に起動し、アプリも同様にクリックした瞬間に起動、ストレージからの転送が不要になれば速度的にとても快適だと思うのです。
 今後が楽しみですね。

 
プロフィール

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