記事「リプレイシステムの開発—市場シミュレーション(第7回):最初の改善(II)」についてのディスカッション

 

新しい記事「リプレイシステムの開発—市場シミュレーション(第7回):最初の改善(II)」はパブリッシュされました:

前回の記事では、可能な限り最高の安定性を確保するために、レプリケーションシステムにいくつかの修正を加え、テストを追加しました。また、このシステムのコンフィギュレーションファイルの作成と使用も開始しました。

ここで、このシステムに起こりうる欠陥について警告しておかなければなりません。何かがうまくいかない確率は低いですが、その方法に欠陥があることを常に知っておき、起こり得る問題に備えるべきです。

ここで問題になるのは、変数の読み込みと書き込みの間にわずかなずれが生じることです。小さなものではありますが、サービスが指標よりも先にグローバルターミナル変数に値を書き込ム可能性がある場合に発生します。この種のイベントが発生すると、グローバルターミナル変数へのアクセス時にサービスが期待する値は、変数に実際に格納されている値とは異なるようになります。

この欠陥を回避する方法はありますが、マーケットリプレイと連動するこのシステムでは、致命的な問題ではないので、この欠点は無視できます。ただし、この同じメカニズムを、保存された値が重要な、より複雑なものに使いたいのであれば、共有メモリの読み書きをロックしたりロック解除したりする方法について、もっと詳しく調べることをお勧めします。ターミナルグローバル変数はまさに共有メモリです。

以下のビデオで、修正された部分とまだ修正されていない部分をご覧ください。事態は今、より深刻になっています。


作者: Daniel Jose