Масштабируемость облачных хранилищ

Масштабируемость это способностью системы, сети или процесса поддерживать работоспособность в условиях высокой нагрузки, увеличивая свою производительность при добавлении ресурсов.

Масштабируемость является важным аспектом электронных систем, программных комплексов, систем баз данных, маршрутизаторов, сетей, если им необходимо функционировать под большой нагрузкой. Масштабируемая система должна увеличивать производительность пропорционально дополнительным ресурсам. Масштабируемость можно представить в виде отношение прироста производительности системы к приросту используемых ресурсов. Чем ближе его значение к единице, тем лучше. Кроме того под масштабируемостью понимается возможность прибавления дополнительных ресурсов без структурных изменений центрального узла системы.

В системе с плохой масштабируемостью добавление ресурсов приводит лишь к незначительному повышению производительности, а с определенного «порогового» момента добавление ресурсов не дает никакого положительного эффекта.

Вертикальное масштабирование это увеличение производительности каждого компонента системы с целью повышения общей производительности. Масштабируемость в этом контексте означает возможность заменять в существующей вычислительной системе компоненты более мощными и быстрыми по мере роста требований и развития технологий. Это самый простой способ масштабирования потому, что не требует никаких изменений в прикладных программах, работающих на таких системах.

Горизонтальное масштабирование это разбиение системы на более мелкие структурные компоненты и распределение их по отдельным физическим устройствам или увеличение количества серверов, которые параллельно выполняют одинаковую функцию. Масштабируемость в этом контексте означает возможность добавлять к системе новые узлы, серверы, процессоры для увеличения общей производительности. Этот способ масштабирования предполагает внесения изменений в программы, чтобы они могли в полном объеме использовать возросшее количество ресурсов.

В контексте высокоскоростных вычислений есть два показателя масштабируемости:

1. сильная масштабируемость показывает, как изменяется время решения задачи с увеличением количества процессоров при неизменном общем объеме задачи.

2. слабая масштабируемость показывает, как меняется время решения задачи с увеличением количества процессоров при неизменном объёме задачи для одного процессора.

Рассмотрим основные различия между вертикальной и горизонтальной архитектурами. В серверах с вертикальным масштабированием используется только одна копия ОС, управляющая работой всех процессоров, памяти и компонентов ввода-вывода. Обычно все эти ресурсы размещены в одной стойке или шкафу. Добавить ресурсы можно путем установки внутрь шкафа дополнительных системных плат. В системах с вертикальной архитектурой память используется совместно. Пользователю представлена память как единый большой объект.

При горизонтальном масштабировании системы соединяются через сеть или объединяются в кластер. Каждый узел имеет собственный процессор и память и может иметь собственную подсистему ввода-вывода или использовать ее совместно с другими узлами. На каждом узле работает отдельная копия ОС. Ресурсы расширяются за счет добавления узлов, но не добавления ресурсов в узел. Память в горизонтальных системах распределена, то есть у каждого узла есть собственная память, к которой напрямую обращаются его процессоры и подсистема ввода-вывода. При горизонтальной архитектуре отсутствует согласованный доступ узлов к памяти, а используемые приложения потребляют относительно немного ресурсов.

 

Таблица 2

Сравнительная характеристика вертикальных и горизонтальных систем

Параметр Вертикальные системы Горизонтальные системы
Память Большая совместно используемая Небольшая выделенная
Потоки Много взаимозависимых потоков Много независимых потоков
ОС Одна копия ОС на множество центральных процессоров Несколько копий ОС
Масштабирование В пределах корпуса одного сервера В масштабе нескольких серверов
Расширение Путем установки в сервер дополнительных компонентов Путем добавления новых узлов

Табл. 1 позволяет провести анализ вертикальной и горизонтальной архитектур.

1. В вертикальных системах память используется совместно и обеспечивается согласованный доступ к кэш-памяти.

2. Вертикальные системы идеальны для потоков выполнения задач, которые должны обмениваться данными между собой.

3. В вертикальных системах одна копия ОС охватывает все ресурсы.

Для небольших и модульных серверов хорошо подходят приложения, которые не используют информацию о состоянии, невелики по масштабу и легко реплицируются.




double arrow
Сейчас читают про: