Как вычисляется среднее время до отказа и вероятность безотказной работы?

    Понятиям MTTF (Mean Time To Failure — среднее время до отказа) и другим терминам теории надежности посвящено большое количество статей, в том числе на Хабре (см., например, тут). Вместе с тем, редкие публикации «для широкого круга читателей» затрагивают вопросы математической статистики, и уж тем более они не дают ответа на вопрос о принципах расчета надежности электронной аппаратуры по известным характеристикам ее составных элементов.

    В последнее время мне довольно много приходится работать с расчетами надежности и рисков, и в этой статье я постараюсь восполнить этот пробел, отталкиваясь от своего предыдущего материала (из цикла о машинном обучении) о пуассоновском случайном процессе и подкрепляя текст вычислениями в Mathcad Express, повторить которые вы сможете скачав этот редактор (подробно о нем тут, обратите внимание, что нужна последняя версия 3.1, как и для цикла по machine learning). Сами маткадовские расчеты лежат здесь (вместе с XPS- копией).

    1. Теория: основные характеристики отказоустойчивости
    Вроде бы, из самого определения (Mean Time To Failure) понятен его смысл: сколько (конечно, в среднем, поскольку подход вероятностный) прослужит изделие. Но на практике такой параметр не очень полезен. Действительно, информация о том, что среднее время до отказа жесткого диска составляет полмиллиона часов, может поставить в тупик. Гораздо информативнее другой параметр: вероятность поломки или вероятность безотказной работы (ВБР) за определенный период (например, за год).

    Для того чтобы разобраться в том, как связаны эти параметры, и как, зная MTTF, вычислить ВБР и вероятности отказа, вспомним некоторые сведения из математической статистики.

    Ключевое понятие теории надежности — это понятие отказа, измеряемое, соответственно, интервальным показателем
    Q(t) = вероятность того, что изделие откажет к моменту времени t.
    Соотвественно, вероятность безотказной работы (ВБР, в английской терминологии «reliability»):
    P(t) = вероятность того, что изделие проработает без отказа от момента t0=0 до момента времени t.
    По определению, в момент t0=0 изделие находится в работоспособном состоянии, т.е. Q(0)=0, а P(0)=1.

    Оба параметра — это интервальные характеристики отказоустойчивости, т.к. речь идет о вероятности отказа (или наоборот, безотказной работы) на интервале (0,t). Если отказ рассматривать, как случайное событие, то, очевидно, что Q(t) — это, по определению, его функция распределения. А точечную характеристику можно определить, как
    p(t)=dQ(t)/dt = плотность вероятности, т.е. значение p(t)dt равно вероятности, что отказ произойдет в малой окрестности dt момента времени t.

    И, наконец, самая важная (с практической точки зрения) характеристика: λ(t)=p(t)/P(t)=интенсивность отказов.
    Это (внимание!) условная плотность вероятности, т.е. плотность вероятности возникновения отказа в момент времени t при условии, что до этого рассматриваемого момента времени t изделие работало безотказно.

    Измерить параметр λ(t) экспериментально можно путём испытания партии изделий. Если к моменту времени t работоспособность сохранило N изделий, то за оценку λ(t) можно принять процент отказов в единицу времени, происходящих в окрестности t. Точнее, если в период от t до t+dt откажет n изделий, то интенсивность отказов будет примерно равна
    λ(t)=n/(N*dt).

    Именно эта λ-характеристика (в пренебрежении ее зависимостью от времени) и приводится чаще всего в паспортных данных различных электронных компонент и самых разных изделий. Только сразу возникает вопрос: а как вычислить вероятность безотказной работы и при чем здесь среднее время до отказа (MTTF).

    А вот при чем.

    2. Экспоненциальное распределение
    В терминологии, которую мы только что использовали, пока не было никаких предположений о свойствах случайной величины — момента времени, в который происходит отказ изделия. Давайте теперь конкретизируем функцию распределения значения отказа, выбрав в качестве нее экспоненциальную функцию с единственным параметром λ=const (смысл которого будет ясен через несколько предложений).



    Дифференцируя Q(t), получим выражение для плотности вероятности экспоненциального распределения:
    ,
    а из него – функцию интенсивности отказов: λ(t)=p(t)/P(t)=const=λ.

    Что мы получили? Что для экспоненциального распределения интенсивность отказов – есть величина постоянная, причем совпадающая с параметром распределения. Этот параметр и является главным показателем отказоустойчивости и его часто так и называют λ-характеристикой.

    Мало того, если теперь посчитать среднее время до первого отказа – тот самый параметр MTTF (Mean Time To Failure), то мы получим, что он равен MTTF=1/ λ.

    image

    Все это замечательные свойства экспоненциального распределения. Почему мы выбрали в качестве для описания отказов именно его? Да потому что это наиболее простая модель – модель пуассоновского потока событий, которая уже была нами рассмотрена в статье про анализ конверсии сайта. Поэтому-то в теории надежности наиболее часто используется показательное (экспоненциальное) распределение, для которого, как мы выяснили:
    • надежность элементов можно оценить одним числом, т.к. λ=const;
    • по известной λ довольно просто оценить остальные показатели надежности (например, ВБР для любого времени t);
    • λ обладает хорошей наглядностью
    • λ нетрудно измерить экспериментально


    Но это еще не все, потому, что для экспоненциального распределения особенно легко делать расчет систем, состоящих из множества элементов. Но об этом – в следующей статье (продолжение следует).
    Нерепетитор.ру 21,94
    Компания
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 27
    • 0
      Хорошо изложено. Да еще с живым примером- в каждом абзаце по досадной опечатке, то есть λ=1.
      • 0
        Спасибо. Честно говоря, не понял, где опечатки.
        • 0
          Например,
          Он будет Если к моменту времени t работоспособность сохранило N изделий, то за оценку λ(t) можно принять


          и так далее, сами перечитайте))
    • 0
      Вот в этом месте есть загвоздка:

      > если в период от t до t+dt откажет n изделий, то интенсивность отказов будет примерно равна
      λ(t)=n/(N*dt).

      Например, у жёстких дисков порядка 1% отказов в год. У отдельных электронных компонентов — ещё меньше. За ограниченное время тестирования ограниченной по размеру тестовой выборки может быть 0 отказов. Поэтому n/N — не очень хороший способ оценивать λ.

      Вместо этого лучше Байеса привлекать, например, (n+2)/(N+4) как рекомендует Алан Агрести. Если есть лучше априорное распределение, то формула будет другой, но смысл тот же — ноль отказов в тесте не означает нулевую вероятность отказа.
      • 0
        Действительно, так делают редко (но иногда делают). Гораздо более простой способ следует из определения MTTF=среднее время до отказа. Пусть у нас есть серия из N изделий. Мы дожидаемся, пока все они откажут, и записываем время, когда произошел каждый отказ Ti. Очевидно, оценка MTTF=(среднее по Ti)=(суммаTi)/ N.

        Есть и другие методы, учитывающие статистику по партии изделий, часть из которых отказала в известные моменты времени, а часть — работает (FRACAS, анализ Вейбулла). Основаны они на том, что оцениваем мы одно число, а статистику имеем кое-какую.

        К слову, приведу пример моделирования Монте-Карло отказов партии из N=100 штук. (Показана гистограмма распределения отказов по времени и аппроксимация экспоненциальной плотностью вероятности).
        • 0
          > N изделий. Мы дожидаемся, пока все они откажут

          Та же проблема. Очень долго придётся ждать, чтобы из партии в 100 изделий с вероятностью отказа 1% в год отказали все.
          • 0
            «пока все откажут» — конечно, для наглядности. В реальности, делают не так, а следят за партией из N изделий. Пусть за год отказали 5 винчестеров (времена отказов фиксированы), а N-5 работают. Из этих данных и получают оценку λ. Чем дольше наблюдаем — тем лучше оценка.
          • 0
            Действительно, так делают редко (но иногда делают). Гораздо более простой способ следует из определения MTTF=среднее время до отказа. Пусть у нас есть серия из N изделий. Мы дожидаемся, пока все они откажут, и записываем время, когда произошел каждый отказ Ti. Очевидно, оценка MTTF=(среднее по Ti)=(суммаTi)/ N.
            Только обычно всё-таки делают цензурирование. Т. к. ждать отказ всех устройств в партии может быть слишком дорого. Т. е. выбирают распределение (экспоненциальное, Вейбулла, Гомпертца-Мейкхама), и собирают статистику до наступления какого-то момента времени или выбывания определенного количества устройств.

            А дальше используют методы, которые рассчитаны на работу с цензирированной (неполной) выборкой. Например, процедуру Каплана-Мейера.
        • 0
          Есть еще два нюанса:
          1. Плотность вероятности во времени в релаьности совершенно не обязана быть экспоненциальной, а может быть какой угодно. Особенно у сложных устройств.
          2. Было бы интересно узнать как реально проводиться расчет времени наработки на отказ. Если бы их испытывали миллионами штук в течение нескольких лет — мы бы долго ждали пока их выпустят на рынок. Скорее всего есть очень много упрощений.
          • 0
            1. Конечно. Если нарисовать типичный график интенсивности отказов, то будет что-то такое:



            — Сначала идет приработка изделия — отказов много. бычно в этот период делают испытания — тупо заставляют изделия работать определенное время. Те, что не отказали — идут в продажу.
            — Потом — долгий период примерно постоянной интенсивности отказов. Для него экспоненциальное распределение хорошо работает
            — Последняя фаза старения — отработавшие изделия отказывают часто. (Но для производителя это несущественно — ему же надо просчитать издержки на гарантийный сервис — вы же понимаете, для чего все эти расчеты — для оптимизации сервиса)

            2. Есть специальные методы и специальный софт. Самое простое соображение — нарисовать структурную схему изделия и, зная λ-характеристики комплектующих, вычислить оценку λ для всего изделия.
            Прелесть экспоненциального распределения в том, что для получения этой оценки надо просто сложить λ комплектующих (про это будет следующая статья про надежность).

            • +1
              1. Зависимость интенсивности отказов от времени описывает так называемая bathtub curve, похожая на ванну с плоским дном. Постоянная интенсивность — разумное первое приближение, по крайней мере в пределах гарантийного срока службы.

              2. Потребительские устройства редко разрабатываются с нуля, поэтому можно использовать данные гарантийных ремонтов от предыдущих поколений. Для систем, где нужна более точная и формальная оценка вероятности отказа (самолёт, ядерный реактор) есть весьма трудоёмкие способы её считать из вероятностей отказов отдельных компонентов. Но для этого нужно, чтоб кто-то предусмотрел и ввёл все возможные отказы и взаимосвязи.
            • 0
              А что мы делаем с устройствами, которые не подчиняются этим кривым и распределениям?
              • 0
                На то есть специальные методы. Основное развитие они получили в последние 20 лет, когда компьютеры стали мощные, и почти все, что угодно, можно посчитать по Монте-Карло. В наши дни никакой проблемы нет посчитать надежность, если есть исходные данные. Я использую вот этот софт.

                Беда в том, что очень редко, когда для изделий (и/или комплектующих) есть что-то большее, чем число λ. Уже хорошо, когда оно есть.
                • 0
                  Вот я про это. Закладываемся на одно, а оно начинает дохнуть по функции F(λ,t, L), где t — время, а L — объём обработанных данных.

                  По моим наблюдениям (эмпирическим) использовать FTBF и всё остальное имеет смысл только для немеханической электроники без ресурса (CPU, RAM, HBA, может быть PSU, может быть MB). Самое о чём все радеют — это HDD/SSD, подчиняются закономерностям, которые не становятся ясными, пока из данной партии не перемрёт достаточно много экземпляров.
                  • 0
                    Это значит, что износ не описывается однопараметрическим (как экспоненциальное) распределением и MTBF просто недостаточные данные для оценки реального ресурса. И в реальном кейсе вам придется ждать пока подохнет достаточное количество экземпляров в каждой группе с похожей нагрузкой.

                    Например, HDD, используемые для преимущественно рандомного доступа, и те же самые диски, используемые для более-менее линейной записи/чтения (WAL или что-нибудь такое) могут иметь ощутимый разброс по статистике отказов. Или имеющие периодическое фоновое чтение и не имеющие. Или установленные в СХД, которое подвергалось или не подвергалось вибрации (например, перемещалось).
                    • 0
                      Наряду с наиболее простым экспоненциальным на практике используется двухпараметрическое распределение Вейбулла.

                      О зависимости от объема данных. В теории надежности говорят о наработке (время — что в статье — ее частный случай). Для авто наработка скорее измеряется в км, а для винчестера — вполне возможно, в объеме обработанных данных или числе циклов включения-выключения. Вполне возможно, что удастся подобать такую единицу наработки, для которой отказы будут экспоненциальными.
                      • +1
                        Это все равно не решает главного ужаса индустрии: дохнущей партии. Например, по времени и примерно в одно и то же время. Или через указанный аптайм (подряд, без ребутов). Или к указанной дате. Все расчёты надёжности идут лесом.
                        • 0
                          От этого никто не застрахован. Статистика, всё же, оперирует общим распределением характеристик. А «удачная» партия — это черный лебедь, если масштаб не очень большой.

                          А если большой и события такого плана закладываются в риски (как, скажем, в авионике), то покупаются компоненты от разных производителей, через разных поставщиков и т. п. Чтобы уменьшить вероятности получить одновременный отказ.
                          • +1
                            Именно в свете подобного становится куда как менее интересно читать про всякие теории отказа. Теории теориями, а вылетающая полным комплектом стойка жёстких дисков — неприятно.
                            • 0
                              А просто любопытно — когда она вылетает? После того, как гарантия кончилась?
                              • 0
                                Как попало. Если вы хотите драмы в стиле «железки под окончание гарантии планируются» — нет, не этот случай. В условиях ДЦ основным фактором становится либо естественный износ, либо неудачное положение (например, из-за близости к вентилятору или верху/низу стойки большая вибрация, горячие/холодные соседние диски), либо просто нормальные отказы.

                                В условиях тысяч и десятков тысяч жёстких дисков, их замена — ежедневная рутина.

                                Если только это не залётный дятел с массовыми отказами.
                  • 0
                    Используем статистические методы, которые не делают таких предположений о вероятности отказа, а оперируют голой статистикой и более слабым предположением, что вероятность отказа является кусочно-постоянной. Как те же медики с 70-х годов.
                    • 0
                      А какое оборудование вы отслеживаете?
                      • 0
                        Я имел ввиду просто статистические подходы к оценке выживаемости. У меня нет в работе систем, где это можно было бы активно применять, а масштабы арендуемого оборудования маловаты для каких-либо оценок.
                        • 0
                          Ну, по практике работы в хостерах, этот вопрос (обычно в контексте «сколько держать резерва») решается экспериментально. Не хватает — делается больше. Хватает и избыток — чуть уменьшается.
                          • 0
                            Ну да. Не угадали или плохая партия — факап или дополнительные затраты на срочную закупку. А если остаток достаточен — повезло. ТАУ оно всегда такое. Риски — одно слово))

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое