Читать реферат по информатике, вычислительной технике, телекоммуникациям: "Параллельные машины баз данных" Страница 7
на логическом уровне делятся на непересекающиеся подмножества физических дисков, каждое из которых образует так называемый виртуальный диск. Количество виртуальных дисков в SD2-кластере постоянно и совпадает с количеством процессорных модулей. В простейшем случае одному виртуальному диску соответствует один физический диск. Таким образом, на логическом уровне SD2-кластер может рассматриваться как система с SN-архитектурой, в то время как физически это система с SD-архитектурой.
В основе алгоритма балансировки загрузки лежит механизм репликации данных, названный внутрикластерным дублированием. Его суть в том, что каждый фрагмент отношения дублируется на всех виртуальных дисках кластера (далее для простоты мы будем опускать термин “виртуальный”).
Схема работы предлагаемого алгоритма балансировки загрузки иллюстрируется на примере кластера с двумя процессорами (рис.7). Здесь процессору P1 сопоставлен диск D1, а процессору P2 - диск D2. Предположим, что нам необходимо выполнить некоторую операцию, аргументом которой является отношение R. Мы делим фрагменты, на которые разбито отношение R внутри SD2-кластера, на две примерно равные части. Первая часть назначается для обработки процессору P1, вторая - процессору P2 (на рис.7 данной стадии соответствует момент времени t0).
Рис.7. Алгоритм балансировки загрузки для кластера с двумя процессорными узлами. На дисках D1 и D2 расположены две копии отношения R. Процессору P1 разрешен доступ к копии, хранящейся на диске D1, а процессору P2 – к копии на D2. В начальный момент времени t0 фрагменты отношения R делятся между процессорами P1 и P2 примерно в равной пропорции. В момент времени t1 процессор P1 закончил обработку своей части отношения R, в то время как процессор P2 успел выполнить только половину назначенной ему работы. В момент времени t2 происходит перераспределение необработанной части отношения R между двумя процессорами. Перераспределение продолжается до тех пор, пока отношение R не будет обработано полностью (момент времени t3).
В момент времени t1 процессор P1 закончил обработку своей части отношения R, в то время как процессор P2 успел выполнить только часть назначенной ему работы. В этом случае происходит повторное перераспределение необработанной части отношения R между двумя процессорами (момент времени t2 на рис.7). Процесс продолжается до тех пор, пока отношение R не будет полностью обработано (к моменту времени t3). Алгоритм очевидным образом обобщается на произвольное число процессоров.
Предложенный алгоритм балансировки загрузки процессоров позволяет избежать перемещения по соединительной сети больших объемов данных. Это в конечном счете и обеспечивает такой системе производительность, сравнимую с производительностью SE-кластеров даже при наличии сильных перекосов данных.
Подведем итоги
Очевидно, что параллельные машины баз данных с одноуровневой архитектурой на сегодняшний день практически уже исчерпали ресурс дальнейшего эффективного масштабирования. На смену им приходят новые системы с иерархической архитектурой, которые могут включать в себя на два порядка больше процессоров и дисков.
Однако при построении иерархических систем по двухуровневому принципу, когда кластеры
Похожие работы
Интересная статья: Быстрое написание курсовой работы

(Назад)
(Cкачать работу)