« 2005年10月 | メイン | 2005年12月 »

2005年11月02日

東証システムダウン・・

11月1日、東証の株式売買システムがダウンして、13時30分まで取引が停止した。

ニュースサイトでは@ITが一番詳しそうだ。(一般ニュースサイトは、一般的な言葉に読み替えるため、かえって分かりにくくなる傾向にある)

東証で大規模システムダウン、プログラム改変が原因
http://www.atmarkit.co.jp/news/200511/02/tse.html

月末の月次処理でデータベースの最適化を行う際、各証券会社の「会員情報テーブル」も移動したが、翌日11月1日に売買システムが「会員情報テーブル」を見つけられず、起動できなかったという。

東証は損害賠償もという話だが、単なるテストケース不足のように思う。そして東証は検査仕様をベンダー(富士通)から受け入れて査収しているはずだ。

「予測できないところ」というが、東証の担当者は「あ!」と思っているに違いない。(もちろんベンダーも)

こういったことは、某社に在籍していたときにも、たびたびあった。そして「対策会議」が行われ、ユーザに報告に行き、時には嫌味をたくさんもらうこともあった。監督官庁に報告に行くのだから、対策会議もさぞかし大変なことだろう。
原因と処置ではなく、「再発防止策」を納得してもらいにいくのだから。

さて、再発するかだが、こういうケースはたいていの場合、一過性の障害なので恐らく再発しないだろう。もちろん検査仕様にも追加されるだろう。

さて、高値を更新した翌日のマーケットはどうなるだろう。

最近のトレード用チャート

20051102CQGChart1.gif

 

最近のトレード用ウィンドウの一部を切り取ってみた。

先月のセミナーで馬渕さんがプロジェクター用に拡大していたチャートを見ていたら、「なんだこれくらいでもいいじゃない」と思うようになり先週から試している。(プロジェクターの表示は3本くらいだったので、それではいくらなんでも少なすぎるが..)

ギャップの幅がよく見えるので使い易い。それだけじゃ、ちょっと長めのチャートが分からないので、次のチャートを1set表示している。

 

20051102CQGChart2.gif

 

DHLMarkは △ だけにしている。↑はバンドに当たっているか否かの差なので外している。NarrowとFiveはオンにしている。

これだけ大きく表示していれば、DHLMarkは無くてもいいのだが、気持ちの後押しのようなものだと思っている。

2005年11月07日

気を利かせたつもりが

7日付けのロイターによると

11月1日に東証で発生したシステム障害は、F社が増強作業中に発見した潜在バグを修正したが、モジュール登録時に東証担当へ伝わらなかったようだ。(かなり内容を端折っています。)

結果、新旧モジュールが混在してこけたと。

なんだか某社在職時によく聞いた話だ。こういう問題というのは改善されない可能性が高い。

何故かというと検収が終わって稼動後に発見したバグというのは内部に潜めてしまうことが多い。

一般に潜在バグは、問題にならなければ変更しない。というのが基本なのだけど、何かの折に変更せざるおえないときが出てくる。そのとき実は潜在バグが...というのは出しにくい。

ひっそり直すことになるのだが、そこで問題が起きると...あとは考えたくもありません。ってことが東証の売買システムで発生したように憶測します。

2005年11月08日

作文が滲み出ているような

東証の売買システム不具合について、東証のプレスリリースが出ています。

http://www.tse.or.jp/news/200511/051107_a.html

各ニュースサイトの記事を見ていると、消化不良的なものが多かったのですが、元のプレスリリース自体に歯に物が挟まっているような表現が感じられます。

おそらく、東証と富士通の間で発表文書をねじり鉢巻で捻り出したのでしょう。

えっ? こういった文書をシステム部門と必死で捻り出したことは...もちろんありましたよ。

2005年11月25日

デュアルの疑問

20051125cpux.gif

Windows XPより一つのCPUコア上に、二つのCPUを格納するというデュアル・コアCPUをサポートするようになった。

最初はIntelのハイパースレッディング技術によって、空いているプロセッサ・パイプラインを有効活用すべく擬似的に二つのCPUに見せた。次に物理的に二つのCPUを持つPentiumDとAthlon64 X2が登場した。

CQGとTradestreamを同時に起動すると、TradestreamのCPU負荷が単独起動時より上昇することは、以前から確認していた。
(セミナールームは、Pentium4でハイパースレッディングを有効にしている。)

次のような記事がある。

インテルのハイパースレッディング技術でサーバ性能の低下が発生か
http://japan.cnet.com/news/ent/story/0,2000047623,20091397,00.htm?tag=blogger.cr

この記事はハイパースレッディング技術を使用したときに、高負荷状態で複数のプロセスが動作したときに性能が著しく低下すると一部で報告があるということである。

このこと自体は、それほど疑問を持たなかった。なにせパイプラインの隙間を縫ってもう一方のプロセスを実行するのだから、同じキャッシュを使っていることだしありえることだと思った。

ただ、この記事を見て、さてAthlon64 X2でCQGとTradestreamを同時に起動するとどうなるか試してみたところ、TradestreamのCPU負荷がやはり上昇する。ところがTradestreamを起動し直してみたところ、TradestreamのCPU負荷が低下した。このことは何を意味するのだろう。
(アプリケーション個別のCPU負荷はパフォーマンスモニタによりグラフで表示することができる。)

今までWindows XPは、CPUの負荷状況によってアプリケーションを適当なCPUに割り当ててくれるのだろうと思ったのだが、どうも違う気がする。最初にたまたま割り振られたCPUから動かないのではないか?

CQGとTradestreamは共にマルチプロセッサ対応したアプリケーションではないのだが、そのことが最初に割り当てられたCPUのみに負荷が掛かる状況になっているのだろうか?この疑問に応えてくれるWebサイトを見つけられないでいる。現在アプリケーションがどのCPUが割り当てられていることがわかればいいのだが。

こういった疑問がでたところに、おもしろいソフトが登場した。アプリケーションを指定のCPUに割り付けることができる。どなたか試してみてほしい。(人柱か?)

マルチCPU環境で各プロセスが使用するCPUを自動的に指定するソフト
http://www.forest.impress.co.jp/article/2005/11/16/cpudah.html

作者サイト: http://www.takke.jp/

追記: CQGとTradestreamの同時起動は2~3分ほどの状況を確認したのみで、マーケットが開いているときの高負荷状態で連続して確認しているわけではない。