« 2007年5月 | トップページ | 2007年7月 »

2007年6月26日 (火)

実際のディスク障害

大規模ITシステムの実運用から、ディスク障害の特性を調査した論文です。

Disk failures in the real world: What does an MTTF of 1,000,000 hours mean to you?

日経BP社ITProに、日本語の要約があります。

ハードディスク・ドライブの故障率に関する事実, ITpro 

論文の内容は、大きく分けて、前半でディスク障害に関する一般的内容を、後半でディスク障害が発生する時間的特性(故障間隔)を扱っています。

ここでは、前半部分からいくつか抜粋しておきたいと思います。

1) 平均故障時間 (MTTF)の定義について

Drive manufacturers specify the reliability of their products in terms of two related metrics: the annualized failure rate (AFR), which is the percentage of disk drives in a population that fail in a test scaled to a per year estimation; and the mean time to failure (MTTF).  ... The MTTF is estimated as the number of power on hours per year divided by the AFR. ... The MTTFs specified for today's highest quality disks range from 1,000,000 hours to 1,500,000 hours, corresponding to AFRs of 0.58% to 0.88%.

2.2 Specifying disk reliability and failure frequency

年間の時間数を、年間故障率(AFR)で割った値が、平均故障時間 (MTTF)になります。上の例にある、MTTF100万時間と150万時間についていいますと、以下のようになります。

  (24時間 * 365日) / 0.0088 ≒  100万時間

  (24時間 * 365日) / 0.0058 ≒  150万時間

MTTFは年間故障率の別の表現であって、語感から想像されるような、ハードウエアの寿命については何も語っていないということですね。

2) 年間交換率(ARR)

In contrast, in our data analysis we will report the annual replacement rate (ARR) to reflect the fact that, strictly speaking, disk replacements that are reported in the customer logs do not necessarily equal disk failures

2.2 Specifying disk reliability and failure frequency

この論文では、年間交換率(ARR)を、年間故障率(AFR)の代わりとしています。これは、実際に運用しているシステムからデータを得る関係上、このようにせざるを得なかったのでしょうね。

上記のとおり、ARRはAFRとは等しくなく、例えば、故障がなくても交換を行なうことがあります(予防的交換)。

Many sites follow a ``better safe than sorry'' mentality, and use even more rigorous testing. As a result, it cannot be ruled out that a customer may declare a disk faulty, while its manufacturer sees it as healthy. ... In fact, a disk vendor has reported that for 43% of all disks returned by customers they find no problem with the disk .

2.1 What is a disk failure?

ディスク・ベンダーが、顧客から戻ってきたディスクを調べると、43%は「問題なし」であった、という事実が指摘されていますね。

3) 調査結果

Observation 1: Variance between datasheet MTTF and disk replacement rates in the field was larger than we expected. The weighted average ARR was 3.4 times larger than 0.88%, corresponding to a datasheet MTTF of 1,000,000 hours.

4.1 Disk replacements and MTTF

本調査でのARR実測値は、ディスク・ベンダーのAFRカタログ値に対し、加重平均で3.4倍あった、とのこと。

一定の目安にはなるかもしれません。

Observation 2: For older systems (5-8 years of age), data sheet MTTFs underestimated replacement rates by as much as a factor of 30.

Observation 3: Even during the first few years of a system's lifetime (< 3 years), when wear-out is not expected to be a significant factor, the difference between datasheet MTTF and observed time to disk replacement was as large as a factor of 6.

この辺は、意味があるのかどうか...分からないですね。

Observation 4: In our data sets, the replacement rates of SATA disks are not worse than the replacement rates of SCSI or FC disks. This may indicate that disk-independent factors, such as operating conditions, usage and environmental factors, affect replacement rates more than component specific factors.  ...

SATAの交換率は、SCSI、FCよりも悪くはない。ディスク規格よりも、オペレーションや利用環境の方が故障に与える影響が大きいのではないか、とのこと。

ディスクそのものの品質とディスクの接続規格には、関連はないのかもしれませんね。

| | コメント (0) | トラックバック (1)

2007年6月23日 (土)

CodeGearのRuby on Rails統合開発環境

CodeGearデベロッパーキャンプには、残念ながら参加しなかったのですが、この統合開発環境(IDE)には注目しています。

Rubyのような動的型付け言語でも、ソース内で型が定義されていれば、その型情報を利用して、コード補完、リファクタリングを行なうことは当然可能なのでしょうけど、このIDEではそれ以上のことを実現するみたいですね。

「Ruby IDEは、エキスパートにとっても生産性を上げられるツール。コードコンプリーション、リファクタリング、タイプブラウザ、ナビゲーションなどの機能を提供します」。これまでのIDE開発で培ってきたノウハウを生かしつつも、「動的スクリプト言語のサポートには、静的な言語とは異なる難しさがあります。例えばコードジェネレーションのように、まだ実装していないメソッドについてもコードコンプリーションを行う必要があります」。

CodeGear、Ruby統合開発環境の詳細を明らかに, @IT

----

CodeGearが提供するRuby on Railsテクノロジーの主な機能は以下のとおりです。

  • コード補完、リファクタリング、タイプブラウザとナビゲーションなどの高度な機能を利用できるRuby and Railsをフルサポートした完全な統合開発環境
  • コマンドライン開発のパワーと、IDEやウィザード、CodeInsightなどの使いやすさと生産性を独自にブレンドした革新的な新機能「Commander」
  • リレーションシップやロケーション、フォーマットが異なってもすべてのリソースに対してシームレスに働く「依存性の可視化とナビゲーション」
  • Ruby、Rails、Gems、データベースを含む、開発から配布までのフルセットモジュール

CodeGear、アジャイルWeb 2.0開発をサポートするRuby on Rails向け開発環境の概要を公開, CodeGear Developer Network

----

ビデオ - 「CodeGearのRuby開発環境プレビュー」, CodeGear Developer Network

「実装していないメソッドについてもコードコンプリーション」というのをどう実現したのか、詳細はないようですが、Railsフレームワークのconventionを利用して予想する、という方向のようですね。

動的に実装された機能も含み、RubyおよびRails固有のコード補完とリファクタリングをサポートしている点も大きな特徴。「Rubyは動的言語なので、IDEを作る人間にとっては”地獄”のはず。にもかかわらず、コード補完を実現しているのがすごい」(まつもとゆきひろ氏)。動的型付けの言語は実行されるまでどのメソッドが実行されるか予想が難しいという特性があり、コード補完の実装は一般的に困難だ。Shelby Sanders氏は「Railsは規約があるので、これを頼りにがんばった」とする。

Matz:コード補完を実現しているのがすごい--CodeGear Ruby IDE, ZDNet Japan

コード補完とリファクタリングというのは、馬鹿にできない機能だと思います。Javaの開発に、Eclipse JDTを使っていて、一番感心するのが、このあたりの機能なのですよね。いちいちマニュアルを参照しなくても、うろ覚えでコードが書けてしまうのは、すごいと思います。

”Java vs Ruby”の比較で、よく話題に出るのが、Rubyの開発環境にはコード補完とリファクタリングの機能がない、という点ですから、この点がクリアされると、Rubyも新しい段階へと進みそうですね。

| | コメント (0) | トラックバック (0)

« 2007年5月 | トップページ | 2007年7月 »