Страница: 4/18
Подобные проблемы могут быть решены как программными, так и аппаратными средствами.
2.3.2 Применение кода Хэмминга в модулях памяти
С целью повышения общей надежности модулей оперативной памяти было решено применить хранение данных в коде Хэмминга, который за счет избыточности позволяет корректировать одиночные ошибки и обнаруживать ошибки большей кратности. Код Хэмминга получил широкое распространение благодаря простоте кодеров и декодеров, а также минимальной избыточности.
Так как большинство современных высокопроизводительных микропроцессоров имеют разрядность 64 бита, необходимо обеспечить разрядность памяти не менее 64 бит. Этой разрядности соответствует код Хэмминга (72, 64), что означает наличие 64 информационных разрядов и 8 контрольных. Можно рассчитать эффект от применения корректирующего кодирования:
Пусть вероятность отказа одиночного модуля памяти разрядностью 1 бит за некоторое время P1=10-5, тогда вероятность отказа одного из необходимых 64 модулей памяти за то же время Pобщ=64*P1=6.4*10-4. В случае применения кода Хэмминга для потери информации необходимы две ошибки в 72-х разрядах: Pобщ=(72*P1)*(71*P1)= 5.112*10-7. Таким образом надежность возрастает более чем на три порядка при увеличении стоимости на 12.5%. Разумеется эти рассуждения верны лишь в случае пренебрежимо малой вероятности отказов и стоимости кодера и декодера по сравнению с модулями памяти, однако в случае реальных объемов памяти это действительно так.
2.4 Организация резервирования и восстановления при отказе любого компонента МПВК
Одной из целей создания МПВК является достижение повышенной надежности вычислительной системы. Повышение надежности функционирования в МПВК достигается проще, чем в однопроцессорных ЭВМ, однако требует усложнения организации как аппаратуры МПВК, так и системного программного обеспечения, а для достижения наилучшего эффекта такой модификации нередко требует и прикладное программное обеспечение. При правильной организации МПВК отказы не приводят к потере данных или прекращению вычислительного процесса, а либо вообще не сказываются на работе МПВК, либо вызывают постепенную деградацию вычислительной мощности. Меры по обеспечению отказоустойчивости свои для каждого компонента МПВК.
Отказы оперативной памяти были рассмотрены выше. Отказы в коммутационной матрице также как и отказы оперативной памяти целесообразно маскировать применением кодов, корректирующих ошибки. Наиболее сложны для обнаружения и восстановления информации отказы процессоров, однако в случае наличия встроенных средств самоконтроля или при периодическом прогоне на каждом процессоре контрольных тестов, задача обнаружения решается довольно легко. Восстановление вычислительного процесса состоит в исключении операционной системой отказавшего процессора из списка доступных и запуске на другом процессоре пострадавшего процесса с последней контрольной точки. Отказы процессоров ввода-вывода обнаруживаются довольно легко, восстановление ввиду наличия 4-х идентичных по функциям ПВВ также несложно – необходимо лишь подключение критичных для работы МПВК периферийных устройств ко всем ПВВ с соответствующей коммутацией. Отказы самих периферийных устройств – наиболее простая и хорошо проработанная часть организации отказоустойчивости. Наиболее часто применяется тот или иной вид резервирования на уровне устройств – нагруженное, ненагруженное или скользящее.
Необходимо отметить, что поддержки операционной системы не требует в данном случае лишь организация отказоустойчивости оперативной памяти, коммутационной матрицы и некоторых периферийных устройств. Все остальные решения требуют той или иной поддержки на уровне ядра операционной системы МПВК.
Также стоит подчеркнуть, что, несмотря на возможности организации отказоустойчивости МПВК, все наиболее серьезные реализации отказоустойчивых вычислительных систем представляют собой ММВК. Это объясняется большей изолированностью, а следовательно и к меньшему воздействию отказавших модулей на другие модули в ММВК.
3. Организация функционирования ОС на МПВК
ОС МПВК должна выполнять все функции ОС однопроцессорной ЭВМ, однако дополнительно она должна обеспечивать эффективное использование ресурсов многопроцессорного комплекса (см. разделы “Симметричная многопроцессорная обработка”, “Нити”). Так как проблемы реализации ОС более серьезны, чем в однопроцессорном варианте, необходимо уделить особое внимание обеспечению корректного конкурентного доступа (предлагается использование семафоров – см. “Семафоры”). Для избежания простоев системы необходимо избегать тупиковых ситуаций (см. разделы “Тупиковые ситуации”, “Предотвращение тупиковых ситуаций”). Так как эффективных алгоритмов разрешения тупиков без потери информации, в общем случае, не существует, данные методы не рассматриваются (это в основном уничтожение процессов, начиная с наименее приоритетных процессов по какому-либо определенному заранее критерию).
Реферат опубликован: 6/09/2006