probabilistic verification in computational systems design
DESCRIPTION
Sergey Frenkel, Victor Zakharov, Vladimir Ushakov, IPI RAS, Lomonosov Moscow State University, MoscowTRANSCRIPT
Вероятностная верификация при
проектировании вычислительных систем
С.Л. Френкель1 , В.Н.Захаров1, В.Г. Ушаков2 1 Институт проблем информатики ([email protected], [email protected]) 2Московский гос. университет им. М.В. Ломоносова, Институт проблем информатики РАН ( [email protected] ).
Проблема обеспечение устойчивости программно-аппаратных средств к случайным кратковременным сбоям при проектировании. 1. Защита (“укрепление”, hardening) уязвимых
элементов (ячеек памяти, регистров) от искажающих воздействий, как внешних (частицы, излучения), так и возможного неспецифицированного поведения.
для HW и SW используется репликация:
TMR (Triple Modular Redundancy) на аппаратом
уровне, или N-version programming (NVP) , состоящее в выполнении N независимых функционально-эквивалентных программ, полученных из одной спецификации. 2
Model Checking для выбора защищаемых элементов/переменных
Model Checking- это — проверка, удовлетворяет ли заданная модель
системы формальным спецификациям, описанных средствами LTL,
CTL, и.тд..
Мотивация: верификация свойств Fault-tolerance без симуляции.
Условие применения- возможность построить конечно-
автоматную модель системы. Тогда широкий класс ошибок в любой момент времени можно представить как изменение значения в соответствующем разряде вектора состояний автомата.
Например, если в исправной системе должна выполняться формула AG , то можно также рассмотреть условия AG(¬fault ))- т.е. система будет работать правильно, пока не появилась ошибка, и условие, что введение неисправности в модель не приведет к некорректному поведению AG(¬injected ).
3
Модель Single event Upset для системы (S, T, S0), где S – множество состояний,
кодируемых булевыми векторами s1,s2,..,sn S, T S×S –способ вычисления переходов как функций si := fi(V), где fi (V)– некоторые функции подмножеств V S.
Если булевы переменные начального состояния s0i из множества S0 возможных начальных состояний искажаются, модель переключает значение в следующем цикле как s0i := ¬fi(V).
4
Поиск угрожаемых элементов
(Например,. S. A. Seshia, W.Li, S. Mitra,“Verification-guided soft
error resilience”, DATE07, 2007)
(i) Каждой переменной модели соответствует множество assertions (формальных LTL/CTL утверждений ) которые задают условия корректного поведения.
(ii) изменение одного бита (согласно модели SEU) ведет, к произвольному изменению состояний автомата, ведущему к невыполнению тех или иных assertions.
(iii) строится n автоматов (FSM) с измененными битами соответствующего вектора состояния , n-число бит вектора состояний, n+1 раз выполняется Model Checking : один раз для свободной от SEU модели, чтобы проверить, что разработанный проект удовлетворяет требуемому свойству, и n раз для моделей с неисправностями.
Элемент системы нуждается в защите, если хотя бы одна из n моделей с неисправностями не удовлетворяет требуемому свойству
Формальный метод вероятностной верификации :Probabilistic Model Checking
Язык описания свойств в Probabilistic Model Checking PC позволяет описывать системы, представленных как Марковская Цепь Дискретного Времени ( DTMC) : (S, s0,P,L), где
−S – конечное множество состояний (“state space”) −s0 ∈ S – начальное состояние, −P: S ×S →[0,1] матрица переходов, Σs’∈SP(s,s’) = 1 для всехs ∈S L : S →2AP is function labelling states with atomic propositions
AP={try,fail,succ},
L(s0)=, L(s1)={try L(s2)={fail}, L{s3}={succ}
6
Расширение формул CTL на PCTL
−reachability: вероятность достигнуть состояние, удовлетворяюще φ
P~p[ F φ]
−invariance: вероятность выполнения φ всегда истинна
P~p [ G φ]
- Вероятность истинности формулы до момента T
P~p (U≤Tφ)
7
Вычислительная сложность PMC для проверки сушественности неисправности
СPMC= O(poly(N))·T·|φ|,
N- число состояний DTMC, |φ1| - размер формулы,
специфицирующей проверяемые свойства,
Как правило, poly(N) N6 !!!
Полином в приведенной оценке обычно третьей степени, что соответствует сложности известных методов вычисления вероятностей для цепи Маркова.
8
Проблема нахождение контр-примеров для диагностики результатов
В PMC контрпримеры формируются по множеству путей, для которых вероятности не удовлетворяют заданному порогу.
Вероятность попадания в момент T в некоторое подмножество состояний S цепи Маркова, такое, что s|=ϕ с матрицей переходных вероятностей P(s, s’) вычисляется как Prob(True U≤ T ϕ) = s|=ϕ P(s,T), P(s,T) – вероятность попадания цепи в состояние s в момент времени T, которая вычисляется для данной DTMC по всем путям перехода в s за T переходов
9
Комбинированный логико-числовой метод (CLNM)
Основная идея вероятностной верификации свойств устойчивости автоматной модели к случайным сбоям состоит в том, что угрожаемые элементы проектируемой системы определяются методом Model Checking, а затем вычисляется вероятность того, что проявление ошибки (SEU) в данном элементе не приведет к проявлению ошибки в результате.
10
CLNM и PMC
11
Модель самовосстановления
Fault-Free: начальное состояние s0i
Faulty: начальное состояние s0j Цепь Mаркова с двумя поглощающими состояниями: A0 : Y=YF до момента перехода траектории переходов автомата в правильное состояние, A1 : Y≠YF
Модель сбоя
13
Сбой: пара (i,j)
at, as- текущее и следующие состояния, X-входы, Y-
выходы.
Вычисление вероятности самовосстановления
14
Вектор начального распределения определяется начальными состояниями исправного и неисправного автоматов. Если исправный автомат в начальный момент 0 находится в состоянии i0, а неисправный – в состоянии j0 ≠ i0, то p(i0,j0)(0) = 1, а остальные координаты вектора нулевые.
Матрица переходных вероятностей *вычисляется по известным
вероятностям входных переменных автомата.
Вероятность самовосстановления за t тактов после прекращения действия помехи:
Вычислительная сложность CLMN
СCLNM =O(poly(size(D)))
CCLNM/CPMCT|1|
15
Задача оценки вероятностей в модели CLNM Задача: оценить вероятности P(xi =1)
входных переменных автоматной модели
проектирования.
Средства:симуляторы и наборы бенчмарков, используемых при
отработке устройств.
16
Фаза выборки конвейеризированного процессора
17
Входные данные программ верификации
Таблица переходов автомата Микрооперации
18
at, as- текущее и следующие состояния, X-входы, Y-выходы.
Вероятности восстановления
Вероятности восстановления через t тактов после сбоя (1,2):
(DMAcycle до команды “S” (Start))
SH = (0.0, 0.034, 0.46, 0.55, 0.64, 0.68),
и после сбоя (5.2)- (ошибка заполнения программного счетчика):
S = (0.00, 0.79, 0.79, 0,85, 0.89, 0.92, 0.93
19
20
Thank You!