X

【システム】なぜ複雑なシステムでは障害が発生しやすいのか [すらいむ★]

■ このスレッドは過去ログ倉庫に格納されています
1すらいむ ★
垢版 |
2021/01/04(月) 11:05:00.34ID:CAP_USER
なぜ複雑なシステムでは障害が発生しやすいのか

 医療や輸送、発電といった複雑なシステムでは、大きな障害が発生することがあります。
 複雑なシステムで障害が発生しやすい理由をシカゴ大学医学部教授のリチャード・クック氏がまとめています。

 How Complex Systems Fail
 https://how.complexsystems.fail/

 一般的に、複雑なシステムにおける大規模な障害は、複数の小さな不具合が積み重なることで引き起こされています。
 しかし、これらの不具合を完全に取り除くことは不可能だとクック氏は語ります。

 システムの設計時には、限られた時間の中で求められる要件を満たしたシステムを設計することが求められます。
 そのため、目立った障害を引き起こす大きな不具合は設計段階で取り除くことができますが、目立った障害を起こさない小さな不具合はシステムに残り続けてしまいます。
 これらの小さな不具合を取り除くには、長い時間と多額の費用が必要です。

(以下略、続きはソースでご確認下さい)

Gigazine 2021年01月04日 06時00分
https://gigazine.net/news/20210104-complex-system/
2021/01/04(月) 11:07:55.83ID:cJIftGxH
システムが複雑だから
3名無しのひみつ
垢版 |
2021/01/04(月) 11:08:26.47ID:1b0Nuod1
???
4名無しのひみつ
垢版 |
2021/01/04(月) 11:27:16.22ID:WNN+jrxS
>>1
中身がないな
5名無しのひみつ
垢版 |
2021/01/04(月) 11:38:27.65ID:wjM+y/oA
複雑だから障害が起きる
単純なら障害が発生し難い
6名無しのひみつ
垢版 |
2021/01/04(月) 11:41:11.03ID:XmIfOyiK
なにを当たり前の話を長々と
7名無しのひみつ
垢版 |
2021/01/04(月) 11:48:44.26ID:9OcELJNs
MTBF
昔からの常識だ
8名無しのひみつ
垢版 |
2021/01/04(月) 11:48:56.23ID:5nlC0Xa+
>>2
で、終わり、だよねぇ
9名無しのひみつ
垢版 |
2021/01/04(月) 11:50:21.78ID:wrnwvvzD
コーディングミスもあるからな
デスマーチでコードレビュー全ステップやるの無理だろ
10名無しのひみつ
垢版 |
2021/01/04(月) 11:52:08.99ID:2SdGYSks
デバッグしないからだよ

今、デバッグしてるのがどんな奴らで
どのようなデバッグしてるか知ってるか?

デバッグを専門にやってる奴らが
プログラムからバグを一つ残らず駆逐する事をせず
最初に期間を決めて、その期間が過ぎたら

”仕事はコレで終わりましたwww”

って風にデバッグしてるからだよ

当然の事として不具合は必ず起こるのだよ

保守を仕事にしてる俺らにしてみりゃ

”契約で決めた期間、一生懸命頑張りました
だからひとまずコレで終わりとします”

なんて仕事はした内に入らない
2021/01/04(月) 11:55:38.58ID:WEwELii+
今の経済システムも政治システムも複雑だよね。障害とか発生してる?

してるな
12名無しのひみつ
垢版 |
2021/01/04(月) 11:58:54.32ID:OcwNAGAj
仕事をシンプルにすればシステムも複雑化しない。
2021/01/04(月) 11:59:36.02ID:kT7bB+Ec
デバッグ等を人依存でやってるから
ロボット等で自動制御できない
14名無しのひみつ
垢版 |
2021/01/04(月) 12:06:20.80ID:lXwT4aLq
>>1
すらいむなら単純なのにって言いたかった?
2021/01/04(月) 12:16:03.96ID:xyeN/5KU
波及効果が予想を超える場合があるから。
16名無しのひみつ
垢版 |
2021/01/04(月) 12:35:18.98ID:wS+gpJ5M
Unix is small
17名無しのひみつ
垢版 |
2021/01/04(月) 12:52:47.93ID:AmCBHee0
複雑なもの程壊れにくいと考える奴なんか居ないだろうに。
2021/01/04(月) 13:04:00.81ID:8glLSYBX
>>1
> How Complex Systems Fail
> なぜ複雑なシステムでは障害が発生しやすいのか

「なぜ」 why なんて言ってない。how 「どのように」だ。

このスレのレスもなぜを前提にしておかしなことになってる
2021/01/04(月) 13:05:45.24ID:LNXNZUOb
そもそも仕様が完璧であるという保証などどこにもない。

崇高な理念で概念設計された新機軸のシステムほど、あちこちの整合性をとるのが大変。
20名無しのひみつ
垢版 |
2021/01/04(月) 13:11:44.28ID:iR/hNaXV
プログラムがハードウェアやOSや言語レベルから
すべてトランズアクションをベースにして構築されたら良いかもしれない。
必ずロールバックできる。何か処理を1段階するたびにプログラムで検証を行う。
さらに、ある条件(法則)が満たされるべきことを宣言しておくと、
トランズアクションのステップ単位でその条件が満たされているかをチェックして、
それが成立しなければ、ロールバックして、条件の成立が破れていることを
伝えて、システムが対処処理に入るためのプログラムルーチンに移行する。など。

もちろん、処理の実行速度はとても低下するだろう。

しかし現状のプログラミング言語によるプログラムの現実は、
ある処理が行われるコードのピースが、満たすべき条件を本当に満たす処理に
なっているのかは、プログラマの想像力だけによって支えられており、
机上でデバックをするにしても、テストデーターはすべてを尽くすことは
できない。論理的に正当な証明が伴わなければ、「上手く行かない場合が存在しない」という”悪魔の証明”は無理だが、そこはプログラマの直感だけに頼って
いるので、だいたいうまくいく、たいていうまくいく、といったプログラムコード
が納期に間に合わせるためもあって、適当に書かれて動かされているのが現実だ。
よく使われるOSのコードといえども千行に1つを越えるバグの密度があるのが
普通であり、デバイスドライバーの類いのコードまで入れたら1億行あるなどと
噂されているWindowsのコードなどどれだけ地雷が埋まっているか分かったもの
ではない。OSが地雷を秘めているのに、その上に開発された基礎ルーチンや
アプリケーションコードが完璧に動作する保証もないし、それらのルーチンや
アプリケーションにもバグが埋まっている。そうして、デバイスのハードや
ファームにもバグがあるし、通信や電源も完璧に動作するばかりではない。
むしろ通信はエラーがあってあたり前のものである。チェックサムだけで
100%完璧ということはない。僅かながら間違って伝わる確率は常にある。
21名無しのひみつ
垢版 |
2021/01/04(月) 13:29:45.20ID:cqjAz41q
インターネットにヒントが隠されています。

インターネットは巨大なシステムで、たびたび障害が発生しますが
全面的なダウンは登場以来一度もないのです。

なぜか?
実はインターネットはアメリカの軍が戦時に敵の攻撃を受け
一部が破壊されても全体は機能し続けることが出来る様な
システムとして設計したのです。
文字通りネットワークでありどこかが壊れても即時に別の経路に
切り替えることが出来ます。

生存性の高いシステムが必要であれば
そのようなシステムを設計すれば良いのです。
それは可能なのです。
22名無しのひみつ
垢版 |
2021/01/04(月) 13:35:24.79ID:5aJiML5G
各モジュール毎にバグが潜んでいて
複雑になればなるほどバグに遭遇する確率が増えるから。
23名無しのひみつ
垢版 |
2021/01/04(月) 14:05:32.43ID:5CvQ2ZYs
複雑に考えすぎるな
複雑に考えすぎる事になるぞ
2021/01/04(月) 14:07:05.54ID:ezmsPESR
複雑だから(´・ω・`)
25名無しのひみつ
垢版 |
2021/01/04(月) 15:47:48.89ID:zWGXh2Vw
勉強の学習計画も、マルチタスクのスレッド処理の予定表立てたら
数時間でいつも破綻するな

英単語100個暗記だけ という単純学習計画ならたいてい達成
2021/01/04(月) 15:59:49.66ID:cELnIhtV
冗長システム組んでも、フェイルオーバー失敗とかな
27名無しのひみつ
垢版 |
2021/01/04(月) 16:20:50.11ID:6MoKTXlL
発生した障害は、それが重要じゃないから対策も訓練もしてないだけ
コスト掛けたくないってこと。言わせんな
28名無しのひみつ
垢版 |
2021/01/04(月) 16:23:36.17ID:wS+gpJ5M
>>25
勉強が暗記することなら、それはまず失敗する
なぜならマルチタスクを組むことで緊張がかかり
アドレナリンとノルアドレナリンが放出される
これは運動にはいいけど、暗記をかなり阻害する作用がある
2021/01/04(月) 16:51:54.29ID:VjvNeFLE
大きい物はなぜデカイのかって聞いてるようなもん
2021/01/04(月) 17:37:12.52ID:MWD5ZFLK
>>10
保守の方は大変ですね
31名無しのひみつ
垢版 |
2021/01/04(月) 17:38:00.88ID:WbAO9ofD
>>1
当たり前だろ!
って言いたくなったけど、パイバスラインとか切替号機とかどこ行ったの?
32名無しのひみつ
垢版 |
2021/01/04(月) 18:05:44.03ID:WNN+jrxS
>>26
あれ企業体質や補助支援システムに社会的組織として破綻し続けてるだけ
33名無しのひみつ
垢版 |
2021/01/04(月) 18:29:36.42ID:ompNt4m6
>>20
チェックしてロールバックする機構を入れるとそいつもバグを踏む事になる
2021/01/04(月) 18:49:28.32ID:WzQyyvpD
だからこそのマイクロサービス
2021/01/04(月) 19:43:45.42ID:EWiH+8U8
障害は発生してもいいんだよ。というか必ず発生するのだから障害前提で考える

障害が発生しても動き続けるシステムを持てばよい
東証みたいなアホなシステム体制では無くね
2021/01/04(月) 20:24:15.10ID:Frtkkm89
記者はすごいこと言っているつもりなのだろうな
2021/01/04(月) 20:49:09.58ID:6M621ayx
IT業界って結局は地頭のよさで決まっちゃうんだよな
仕様とかSQLとか複雑さが増す度に倍々で難易度が上がっていく。
本やネットでいくら勉強しても、複雑なシステム固有の問題には地頭のよさがないと対応出来ない。

でも、そういう人って絶対数が少ない。
大手ITで6割、中小だと3割いるかどうか
で、不運な能力不足の人が、そういう複雑なシステムの担当リーダーになった時にプレッシャーで潰れて鬱になって脱落していく
SESの場合、いつでもそういう現場に放り込まれるリスクがある
そんで、組まされた部下が使えない人だったら鬱までまっしぐら
2021/01/04(月) 20:50:09.70ID:lSAG+R+H
>>2
だよねえ。
2021/01/04(月) 20:53:27.76ID:jVjWKMUo
>>35
動き続けるように設計されたはずのものが止まるとめんどくさいぞ
40名無しのひみつ
垢版 |
2021/01/04(月) 20:56:18.11ID:2ssczfBm
>>2
で終わってた
41名無しのひみつ
垢版 |
2021/01/04(月) 21:23:42.50ID:iMkodLnn
複雑すぎるスペースシャトルは終了して、シンプルなロケットが主流になった
2021/01/04(月) 21:32:16.08ID:4JkBT6Pe
エアコンもインバーター付いてからよく壊れる
クーラーは30年前のが現役なのに
43名無しのひみつ
垢版 |
2021/01/04(月) 21:50:45.80ID:oyNCAiRd
で簡単にするため
シンプルにするのがモジュール化
プログラミングならさらにオブジェクト化とかまである
それで保守で欠陥やバグがあっても局所化で対応時間を短縮する
44名無しのひみつ
垢版 |
2021/01/04(月) 22:59:45.75ID:iR/hNaXV
インターネットも何度か全世界的にダウンしたことあるよ。
2021/01/05(火) 00:12:47.84ID:+X/+0hs7
>44
設計思想はダウンしない方向だけど、現実の実装・運用は思想通りじゃないからな
46名無しのひみつ
垢版 |
2021/01/05(火) 00:44:10.44ID:GPcZ5DoQ
21は良くある間違い。
2021/01/05(火) 11:51:49.24ID:uvefzlq/
>>10
金がかかるからだよ
48名無しのひみつ
垢版 |
2021/01/05(火) 12:47:37.06ID:KFVI0sGd
第2次大戦中、ソ連の戦車や飛行機が優秀だったのは、これを心得ていたおかげ。
システムが単純で造りが頑丈、使いやすいし、製造しやすい。
49名無しのひみつ
垢版 |
2021/01/05(火) 12:51:02.07ID:l29hx4O6
>>7

だな。常識だわ。

つまり、複雑大規模なシステムは当然ながら多数の部品から構成されている。
それら1つ1つの故障発生確率があるが、直列部品の非故障率の積が全体の
非故障率になる。 たとえば電力網では、発電所・送電線・変電所のいずれか1つが
故障したら停電になる。 それぞれの非故障率が99%であったら、全体としては
0.99×0.99×0.99= 0.97 で97%まで信頼性は下がる。
2021/01/05(火) 17:18:21.54ID:9uo9W4R4
>>10
法的要件を知らなかったためにプログラムに含まれなかったロジックも、法的要件を満たすこととする場合はバグだよ。
プログラムばっかり見てても絶対にバグはなくならないから、バグのないプログラムは無いって言われるわけで。
抽出目標はそういうことにも目を向けるきっかけになるから、悪いやり方とは思わない。
2021/01/05(火) 21:09:05.43ID:nCsgZ2aP
なぜ?
それは単純なシステムより複雑だからだよ
52名無しのひみつ
垢版 |
2021/01/05(火) 21:27:08.29ID:E8HCjLyS
単純にしなかったから。
53名無しのひみつ
垢版 |
2021/01/05(火) 22:34:22.04ID:GPcZ5DoQ
今の職人仕事的なプログラミングは、正当性の証明無しに、プログラマーの
思い込み・直感・経験・センスだけに基づいて作られているからね。
書かれたコードは通常は、なぜここをこうするのか、なぜそのようなデーター
を設けるのか、なぜそのようなデーターの構造を採用するのか、なぜその順序で
実行するのか、なぜそのような条件で処理を分けるのか、などは明示的には書かれて
いなくて、計算機に対して「こうやれ、こうしろ」という形で命令調で書かれている
だけだからだ。そうして命令した結果、そうなったかを確かめずに、そうなったと
して、処理を続けていく。
 きちんとした標準のデータ構造、標準のアルゴリズム、標準の判定法に従って
書かれているものは少ない。そもそも製品間の利害が絡むソフトウェア製品や
内部の構造を秘匿することで他の顧客からも金を巻き上げるビジネスモデルである
バイナリ商売の世界では、すべては闇だから、内部についてそれを読めば誰でも
同じものが再現して作れるような情報は公開されない。職人は仕事の本質について
語らない。修養の結果得た自分のための職業上の秘密として雇い主にだって
開示したくない。もしもすべてをさらけ出してしまえば、それを元に雇い主は
もっと安い賃金で働く奴にその方法でやらせて自分をお払い箱にしてしまうからだ。
秘術というものは他人に見せるものではない。そうやって自分の職業を守るのだ。
 そういうわけで、金回りの良い最先端のソフト開発は大学などではなくて
サラリーの良い企業や軍の研究として行われ、企業などで使い物にならなくなった
ら、大学に転がるわけだが、守秘義務というものもあり、なんでもかんでも開示
されるわけではない。
2021/01/05(火) 22:39:40.26ID:e6ATBIFH
>>51
なんで?
2021/01/06(水) 00:38:31.61ID:P607xUZr
>>10
デバッグしてもバグは残る
一口にバグと言ってもコードだけでなくインフラや要件と組合わさり膨大な条件になる
保守やってるのにそんなこともわからないの?
2021/01/06(水) 00:39:43.44ID:P607xUZr
>>53
すげぇ中身がない
読んで損した
57名無しのひみつ
垢版 |
2021/01/06(水) 08:13:59.45ID:HGNa9DoE
>>35
計算間違えながら動き続けるくらいならさっさと止まってくれた方がいい場合もあるけどな
2021/01/06(水) 08:39:07.61ID:t1nKIog5
>>10
やったこともないくせに偉そうにw
59名無しのひみつ
垢版 |
2021/01/06(水) 10:44:28.16ID:tHRgjtRB
生物多様性はむしろ障害を生みやすい。
60名無しのひみつ
垢版 |
2021/01/10(日) 15:40:15.40ID:JDNF97oI
複雑になると全貌を一人の人間の頭の中で把握できなくなるからな。
何かを付け加えたり変更したときに、それの及ぼす影響を予見できなくなる。
61名無しのひみつ
垢版 |
2021/01/21(木) 22:51:19.20ID:hi0sO5cY
複雑だから。だろ
あと見にくいソースもやばい
62名無しのひみつ
垢版 |
2021/01/22(金) 04:08:46.27ID:XekR/EZF
なぜ複雑なシステムでは障害が発生し易いのかその理由をつきとめるために
我々は複雑なシステムを調査してみたところ、システムが複雑なので
原因が分からなかった。
63名無しのひみつ
垢版 |
2021/01/22(金) 12:02:45.52ID:OTpB+3fC
障害が起こりやすいのが複雑なシステムとは考えないのだろうか?
障害を起こしづらい簡単なシステムで用が済むなら、複雑なシステムは不要なのでは?
64名無しのひみつ
垢版 |
2021/01/22(金) 21:53:34.79ID:XekR/EZF
その場しのぎの対処療法を積み重ねてつぎはぎだらけになったシステムは
ますますその傾向を強める。これはソフトウェアには非常にありがちである。

またプログラム言語で継承とかオーバーロードの機能を持つものは、
そのような機能はまた諸刃の剣でもある。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況