Распределённые вычисления – способ решения трудоёмких вычислительных задач с использованием нескольких компьютеров, объединённых в параллельную вычислительную систему [1].
Распределённые вычислительные системы начинают быть необходимыми в момент, когда количество данных, которые необходимо обработать, превышает количество данных, которые можно обработать с помощью одного физического сервера. Распределённые информационные системы представляют собой совокупность программных и аппаратных решений.
Можно выделить несколько прикладных областей, где распределённые вычисления играют важную роль [2]:
-Социальные сети,
-Онлайн-игры,
-Облачные сервисы обработки и хранения данных,
-Поисковые сервисы.
Архитектуры и принципы функционирования социальных сетей и систем хранения данных демонстрируют применение технологий и методов построения высоконагруженных распределённых сервисов.
В распределённых информационных системах очень многое зависит от среды передачи данных, достаточности ресурсов на выполнение необходимых операций над данными. Каналы связи в данный момент развиваются не очень быстро, поскольку упор идёт уже даже не в несовершенство алгоритмов передачи данных, а скорее в физические ограничения среды передачи [3,4]. Исследования ведутся, но на данный момент не существует способа быстрой передачи данных между устройствами, способного соревноваться с каналами передачи данных внутри компьютера.
Существует также и проблема грамотного распределения ресурсов между физическими устройствами распределённой вычислительной системы, поскольку каналы связи между отдельными компьютерами в вычислительной сети не настолько быстры, как каналы связи внутри одной вычислительной машины. В случае, если ресурсы будут размещены не оптимально, велика вероятность, что распределённая система не будет работать на полную мощность из-за возникновения узких мест в среде передачи данных.
Нехватка инструментов и средств разработки распределённых систем так же является большой проблемой. Большинство разработок распределённых систем начинается с нуля, без применения каких-либо готовых компонентов, реже применяются готовые программные решения от сторонних разработчиков, и интегрируются между собой, но это всё ещё не очень автоматизированный процесс, требующий большого количества вложений и труда разработчиков [5]. Решением данной проблемы могло бы стать создание универсального программно-инструментального средства для построения распределённых систем, что в целом упростит разработку, но не уберёт полностью необходимость дополнительных вложений в разработку распределённой системы по сравнению с обычным приложением.
Кроме всего прочего, при разработке распределённого программного обеспечения необходимо моделирование распределённой системы, поскольку необходимо обеспечить защиту от взаимодействия внешних факторов, обеспечить конфиденциальность передаваемых между компонентами системы данных, а также в процессе эксплуатации необходимо будет поддерживать и отказоустойчивость системы.
Моделирование и тестирование (в том числе и нагрузочное) необходимы и при поддержке и доработке распределённой системы, чтобы вовремя выявлять появившиеся части кода, наиболее сильно использующие вычислительные ресурсы системы, а также возможные проблемы с нехваткой пропускной способности среды передачи данных.
Все описанные проблемы желательно решить в ближайшие годы, поскольку количество распределённых вычислительных систем растёт с каждым днём, как и сложность алгоритмов обработки данных. Потому вопрос упрощения и увеличения прозрачности разработки распределённых информационных систем стоит очень остро уже в наше время.
Распределённые вычислительные системы являются неплохим решением в случаях, когда необходимо обрабатывать объёмы данных, которые невозможно обработать с помощью одного компьютера. Основные проблемы, возникающие при разработке и эксплуатации распределённых систем, следующие:
-Недостаточность пропускной способности среды передачи данных
-Отсутствие сред и инструментов разработки, позволяющих удобно разрабатывать именно распределённые системы
-Инструменты моделирования и тестирования также следует развивать для упрощения разработки и диагностики проблем в распределённых ИС.
Но для упрощения их разработки и поддержки стоит решить ряд проблем, которые замедляют или усложняют данные процессы.
Список литературы:
1. Шамакина Анастасия Валерьевна Обзор технологий распределенных вычислений // Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2014. №3. URL: https://cyberleninka.ru/article/n/obzor-tehnologiy-raspredelennyh-vychisleniy
2. Радченко, Г.И. Распределенные вычислительные системы. Челябинск:: Фотохудожник, 2012. 184 с.
3. Филимонов, Д. Н. Обзор решений в области распределенных вычислений // Молодой ученый. 2020. № 19 (309). С. 145-148. — URL: https://moluch.ru/archive/309/69713/
4. Сормов Сергей Игоревич Обработка информации в распределенных системах // Современные материалы, техника и технологии. 2015. №2 (2). URL: https://cyberleninka.ru/article/n/obrabotka-informatsii-v-raspredelennyh-sistemah
5. Мельникова Т.В., Питолин М.В., Преображенский Ю.П. Моделирование обработки больших массивов данных в распределённых информационно-телекоммуникационных системах. Моделирование, оптимизация и информационные технологии. 2022;10(1). URL: https://moitvivt.ru/ru/journal/pdf?id=1117