Распределенная отказоустойчивая система хранения данных на основе кодов Рида-Соломона
Аннотация
Автор работы: Коврижных Алексей Сергеевич, студент департамента математики, механики и компьютерных наук ИЕНиМ УрФУ.
Научный руководитель: Веретенников Александр Борисович, к.ф.-м.н, доцент кафедры вычислительной математики и компьютерных наук ИЕНиМ УрФУ.
Важными проблемами, возникающими при передаче и хранении информации, являются помехоустойчивость канала передачи и отказоустойчивость системы хранения.
Современные способы хранения и передачи информации в совокупности с накопленными математическими знаниями в теории кодирования позволяют эффективно решить обе проблемы. Одним из решений данных проблем является использование кодов, контролирующих ошибки.
В данной работе исследуются важные классы кодов, контролирующих ошибки – линейные блоковые коды и их подклассы: коды Хэмминга, циклические коды, БЧХ-коды, коды Рида-Соломона. В работу включены все важнейшие, по мнению автора, теоретические аспекты, касающиеся рассмотренных кодов, достаточные для их понимания и практического использования.
В ходе исследований автором была разработана распределенная система хранения данных, основная на кодах Рида-Соломона. Разработанная система позволяет хранить файлы пользователей на нескольких хранилищах таким образом, что при выходе из строя части хранилищ файлы остаются доступными для скачивания. Это достигается с помощью реализованного кодера/декодера для кодов Рида-Соломона, исправляющих стирания. При разработке было создано множество независимых модулей системы. Для решения проблемы производительности часть модулей в дальнейшем были объединены и переписаны в виде C++ расширения для Python.
Результаты данной работы могут быть использованы студентами при изучении теории кодов, контролирующих ошибки, а также при проектировании аналогичных систем хранения данных.
Научный руководитель: Веретенников Александр Борисович, к.ф.-м.н, доцент кафедры вычислительной математики и компьютерных наук ИЕНиМ УрФУ.
Важными проблемами, возникающими при передаче и хранении информации, являются помехоустойчивость канала передачи и отказоустойчивость системы хранения.
Современные способы хранения и передачи информации в совокупности с накопленными математическими знаниями в теории кодирования позволяют эффективно решить обе проблемы. Одним из решений данных проблем является использование кодов, контролирующих ошибки.
В данной работе исследуются важные классы кодов, контролирующих ошибки – линейные блоковые коды и их подклассы: коды Хэмминга, циклические коды, БЧХ-коды, коды Рида-Соломона. В работу включены все важнейшие, по мнению автора, теоретические аспекты, касающиеся рассмотренных кодов, достаточные для их понимания и практического использования.
В ходе исследований автором была разработана распределенная система хранения данных, основная на кодах Рида-Соломона. Разработанная система позволяет хранить файлы пользователей на нескольких хранилищах таким образом, что при выходе из строя части хранилищ файлы остаются доступными для скачивания. Это достигается с помощью реализованного кодера/декодера для кодов Рида-Соломона, исправляющих стирания. При разработке было создано множество независимых модулей системы. Для решения проблемы производительности часть модулей в дальнейшем были объединены и переписаны в виде C++ расширения для Python.
Результаты данной работы могут быть использованы студентами при изучении теории кодов, контролирующих ошибки, а также при проектировании аналогичных систем хранения данных.