А.Н. Стальнов1, О.Н. Андреева2, Е.Г. Бергер3
1,2 АО «Концерн «Моринсис-Агат» (Москва, Россия)
3 МИРЭА – Российский технологический университет (Москва, Россия)
Постановка проблемы. С ростом плотности аппаратного обеспечения существующий риск множественных временных неисправностей возрастает на порядок, что является главной проблемой для разработчиков новых компьютерных систем для приложений, критически важных для безопасности. Аппаратные неисправности возникают из-за природных явлений, таких как ионизованное излучение, изменений в производственном процессе, вибраций и т.д. Компьютерные системы, предназначенные для приложений критического управления, должны иметь чрезвычайно высокую степень надежности, поскольку неисправности в компьютерных системах могут привести к значительным экономическим потерям и даже поставить под угрозу жизнь людей. Некоторые компьютерные системы имеют готовые коммерческие компоненты, однако они не обеспечивают требуемой степени надежности. Проблему надежности можно решить путем разработки отказоустойчивых систем. Под отказоустойчивостью системы понимают продолжение правильной работы системы, несмотря на внутреннюю неисправность. Отказоустойчивость достигается за счет использования различных методов резервирования информации с временным и программным резервированием, чаще всего используется аппаратное резервирование. Отказоустойчивость оборудования - наиболее необходимая область отказоустойчивых вычислений. Разработанные на сегодняшний день методы отказоустойчивости оборудования применяются на практике во многих критических приложениях, начиная от телефонных станций и заканчивая космическими полетами. Основное препятствие для широкого использования отказоустойчивости оборудования - стоимость необходимого дополнительного оборудования, но при постоянном снижении его стоимости можно ожидать, что методы обеспечения отказоустойчивости оборудования будут использоваться более широко. Однако другие требования, особенно по энергопотреблению, могут по-прежнему ограничивать использование массивной избыточности во многих приложениях. Процесс проектирования и понимания отказоустойчивых архитектур распределенных систем, как известно, сложен: нужно контролировать не только стандартные действия системы, когда все компоненты исправны, но и сложные ситуации, которые могут возникнуть при выходе из строя некоторых компонентов. Сложность этой задачи может усугубляться отсутствием четких концепций структурирования. В связи с этим актуальным является анализ и систематизация методик и аппаратных решений отказоустойчивых стратегий вычислительных систем.
Цель. Представить и проанализировать аппаратные решения отказоустойчивых стратегий вычислительных систем.
Результаты. Выявлены общие тенденции развития и проблемные вопросы формирования и функционирования механизмов обеспечения отказоустойчивости аппаратных механизмов вычислительных систем. Рассмотрены основные концепции и связи аппаратной избыточности (резервирования) с отказоустойчивостью вычислительных систем. Показано, что аппаратная избыточность может варьироваться от простого дублирования до сложных структур, включающих в себя резервные блоки, когда активные блоки становятся неисправными. Описаны механизмы повышения надежности за счет отказоустойчивости. Идентифицированы элементы отказоустойчивых стратегий и механизмы их реализации.
Практическая значимость. Результаты проведенного анализа аппаратных решений отказоустойчивых стратегий вычислительных систем будут полезны разработчиков вычислительных систем для обоснования новых технологических решений, обеспечивающих их аппаратную отказоустойчивость.
Стальнов А.Н., Андреева О.Н., Бергер Е.Г. Аппаратные решения отказоустойчивых стратегий вычислительных систем // Нелинейный мир. 2022. Т. 20. №4. С. 38-50. DOI: https://doi.org/10.18127/j20700970-202204-04
- Nelson V.P. Fault-tolerant computing: fundamental concepts // Computer. 1990. V. 23. № 7. P. 19–25.
- Schagaev I., Zouev E., Thomas K. Software design for resilient computer systems. Second Edition. Springer Nature Switzerland AG. 2020. 315 p.
- Koren I., Krishna S.M. Fault-tolerant systems. Elsevier, Inc. 2021. 411 p.
- Baumann R. Soft errors in advanced computer systems // IEEE Des Test Computing. 2005. V. 22. № 3. P. 258–266.
- Constantinescu C. Intermittent faults and effects on reliability of integrated circuits // In: RAMS 2008. Annual. Jan 2008. P. 370-374.
- Gray J.N. Why do computers stop and what can be done about it? // Reliability in Distributed Software and Database Systems. January 1986. P. 3-12.
- Шубинский И.Б. Надежные отказоустойчивые информационные системы. Методы синтеза. М.: Надежность. 2016. 547 с.
- Младшие чипсеты AMD 500-й серии. [Электронный ресурс]. 02.06.2021. – URL: https://www.overclockers.ua/news/hard-ware/2019-06-14 (дата обращения 02.06.2021).
- McCluskey E.J. Design techniques for testable embedded error checkers // Computer. 1990. V. 23. № 7. P. 26-38.
- Toy W.N. Fault-tolerant design of local ess processors // Proceeding IEEE. Oct. 1978. V. 66. № 10. P. 1126-1145.
- Гребешков А.Ю. Лекция 1. Телекоммуникационные системы и элементы аппаратных средств. Самара: ФГБОУ ВО Поволжский гос. ун-т телекоммуникаций и информатики. 2017. 402 с.
- Wensley J.H. SIFT: Design and analysis of a fault-tolerant computer for aircraft control // Proceedings of the IEEE. Oct. 1978. V. 66. № 10. P. 1240-1255.
- SIFT (SANS Investigative Forensic Toolkit) - ОС для криминалистического анализа. [Электронный ресурс]. 02.06.2021. - URL: https://spy-soft.net/sift-sans-investigative-forensic-toolkit/ (дата обращения 02.06.2021).
- Sklaroff J.R. Redundancy management technique for space shuttle computers // IBM Journal Research and Development. Jan. 1976. V. 20. № 1. P. 20-28.
- Kohler W.H. A survey of techniques for synchronization and recovery in decentralized computer systems // Computing Surwys. June 1981. V. 13. № 2. P. 149-183.
- Johnson D. The Intel 432: A VLSI architecture for fault-tolerant computer systems // Computer. August 1984. V. 17. № 8. P. 40-48.
- Hopkins A.L. FTMP-A highly reliable fault-tolerant multiprocessor for aircraft // Proceedings IEEE. October 1978. V. 66.
№ 10. P. 1221-1239. - Kuhl J.G., Reddy S.M. Fault-tolerance considerations in large, multiple-processor systems // Computer. March 1986. V. 19. № 3. P. 56-67.
- Negrini R., Sami M., Stefanelli R. Fault tolerance techniques for array structures used in supercomputing // Computer. February 1986. V. 19. № 2. P. 78-87.
- Волосенков В.О., Андрианова Е.Г., Сон И.Р., Ширяев М.В., Крюков Д.А. Способ оценки защищенности информации в распределенных вычислительных системах // Нелинейный мир. 2022. Т. 20. №1. С. 50-54.