Аноним

Миграция данных: различия между версиями

Материал из WEGA
м
нет описания правки
мНет описания правки
 
(не показано 8 промежуточных версий этого же участника)
Строка 56: Строка 56:
'''Представители для маленьких множеств'''
'''Представители для маленьких множеств'''


Для каждого элемента i положим <math>\gamma_i = | D_i | \; mod \; k</math>. Необходимо вычислить ''вторичного представителя'' <math>r_i \; </math> в <math>D_i \;</math> для элементов с <math>\gamma_i \ne 0 \;</math>. Диск j может быть вторичным представителем <math>r_i \;</math> для нескольких элементов, если <math>\sum_{i \in I_j} \gamma_i \le 2 \beta + 1 \;</math>, где <math>I_j \;</math> – множество элементов, для которых j является вторичным представителем. Это можно сделать при помощи алгоритма Шмойса-Тардош [17] для обобщенной задачи о назначениях.
Для каждого элемента i положим <math>\gamma_i = | D_i | \; mod \; k</math>. Необходимо вычислить ''вторичного представителя'' <math>r_i \; </math> в <math>D_i \;</math> для элементов с <math>\gamma_i \ne 0 \;</math>. Диск j может быть вторичным представителем <math>r_i \;</math> для нескольких элементов, если <math>\sum_{i \in I_j} \gamma_i \le 2 \beta - 1 \;</math>, где <math>I_j \;</math> – множество элементов, для которых j является вторичным представителем. Это можно сделать при помощи алгоритма Шмойса-Тардош [17] для обобщенной задачи о назначениях.




Строка 66: Строка 66:
1. '''Миграция в <math>R_i \;</math>''': каждый элемент данных вначале отправляется в множество <math>R_i \;</math>. Преобразуя дробное решение, приведенное в L(M), можно найти график миграции из <math>s_i \;</math> в <math>R_i \;</math>, требующий не более <math>2M + \alpha \;</math> раундов.
1. '''Миграция в <math>R_i \;</math>''': каждый элемент данных вначале отправляется в множество <math>R_i \;</math>. Преобразуя дробное решение, приведенное в L(M), можно найти график миграции из <math>s_i \;</math> в <math>R_i \;</math>, требующий не более <math>2M + \alpha \;</math> раундов.


2. '''Миграция в <math>r_i \;</math>:''' элемент i отправляется из первичного источника <math>s_i \;</math> в <math>r_i \;</math>. Эту миграцию можно выполнить за <math>1,5 \alpha \;</math> раундов при помощи раскраски ребер [16].
2. '''Миграция в <math>r_i \;</math>:''' элемент i отправляется из первичного источника <math>s_i \;</math> в <math>r_i \;</math>. Эту миграцию можно выполнить за <math>1,5 \alpha \;</math> раундов при помощи алгоритма раскраски ребер [16].


3. '''Миграция на оставшиеся диски:''' Теперь можно создать граф переноса из представителей на оставшиеся диски следующим образом. Для каждого элемента i добавьте ориентированные ребра от дисков в <math>R_i \;</math> к <math>(\beta - 1) \lfloor \frac{|D_i|}{\beta} \rfloor \;</math> дисков в <math>D_i \backslash R_i \;</math>, такие, что полустепень выхода каждой вершины в <math>R_i \;</math> не превышает <math>\beta - 1 \;</math>, а полустепень входа каждой вершины в <math>D_i \backslash \R_i \;</math> из <math>R_i \;</math> равна 1. Также добавляется ориентированное ребро от вторичного представителя <math>r_i \;</math> элемента i к оставшимся дискам в <math>D_i \;</math>, не имеющим входящих ребер из <math>R_i \;</math>. Было показано, что максимальная степень графа переносов не превышает <math>4 \beta - 5 \;</math>, а кратность равна <math>\beta + 2 \;</math>. Следовательно, миграцию из графа переносов можно выполнить за <math>5 \beta - 3 \;</math> раундов при помощи алгоритма раскраски ребер мультиграфа [18].
3. '''Миграция на оставшиеся диски:''' Теперь можно создать граф переноса из представителей на оставшиеся диски следующим образом. Для каждого элемента i добавьте ориентированные ребра от дисков в <math>R_i \;</math> к <math>(\beta - 1) \lfloor \frac{|D_i|}{\beta} \rfloor \;</math> дисков в <math>D_i \backslash R_i \;</math>, такие, чтобы полустепень выхода каждой вершины в <math>R_i \;</math> не превышала <math>\beta - 1 \;</math>, а полустепень входа каждой вершины в <math>D_i \backslash R_i \;</math> из <math>R_i \;</math> была равна 1. Также добавляется ориентированное ребро от вторичного представителя <math>r_i \;</math> элемента i к оставшимся дискам в <math>D_i \;</math>, не имеющим входящих ребер из <math>R_i \;</math>. Было показано, что максимальная степень графа переносов не превышает <math>4 \beta - 5 \;</math>, а кратность равна <math>\beta + 2 \;</math>. Следовательно, миграцию из графа переносов можно выполнить за <math>5 \beta - 3 \;</math> раундов при помощи алгоритма раскраски ребер мультиграфа [18].




Строка 87: Строка 87:
'''Миграция данных в системах хранения'''
'''Миграция данных в системах хранения'''


Обычно большой сервер, хранящий данные, состоит из нескольких дисков, соединенных в сеть, называемую сетью хранения данных. Для удовлетворения высокого спроса, особенно в случае мультимедийных данных, обычно практикуется репликация объектов данных в рамках системы хранения. У дисков обычно имеются ограничения на объем хранимых данных, а также на количество клиентов, которые могут одновременно обращаться к данным с одного диска. Было разработано несколько алгоритмов аппроксимации для сопоставления известной потребности в данных с конкретной схемой расположения данных для максимально продуктивного их использования [под использованием понимается максимальное количество клиентов, которые могут быть назначены диску, содержащему нужные им данные] [4, 8, 14, 15]. Для этого они вычисляют не только количество копий каждого элемента, которые необходимо создать, но и схему расположения, определяющую точное подмножество элементов на каждом диске. Эта задача является NP-полной, однако для нее существуют схему аппроксимации с полиномиальным временем выполнения [4, 8, 14]. Если известен относительный спрос на данные, алгоритм вычисляет почти оптимальную схему.
Обычно большой сервер, хранящий данные, состоит из нескольких дисков, соединенных в сеть, называемую ''сетью хранения данных''. Для удовлетворения высокого спроса, особенно в случае мультимедийных данных, обычно практикуется репликация объектов данных в рамках системы хранения. У дисков обычно имеются ограничения на объем хранимых данных, а также на количество клиентов, которые могут одновременно обращаться к данным с одного диска. Было разработано несколько аппроксимационных алгоритмов для сопоставления известной потребности в данных с конкретной схемой расположения данных для максимально продуктивного их использования [под использованием понимается общее количество клиентов, которые могут быть назначены диску, содержащему нужные им данные] [4, 8, 14, 15]. Для этого они вычисляют не только количество копий каждого элемента, которые необходимо создать, но и схему расположения, определяющую точное подмножество элементов на каждом диске. Эта задача является NP-полной, однако для нее существуют аппроксимационные схемы с полиномиальным временем выполнения [4, 8, 14]. Если известен относительный спрос на данные, алгоритм вычисляет почти оптимальную схему.




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




'''Мгновенный обмен сообщениями и широковещательная передача'''
'''Мгновенный обмен сообщениями и широковещательная передача'''


Задачу миграции данных можно рассматривать как обобщение задач мгновенного обмена сообщениями и широковещательной передачи. Последние играют важную роль в разработке протоколов коммуникаций в сетях различных типов и были многократно исследованы (см., например, [6, 7] и ссылки в этих работах). Задача мгновенного обмена сообщениями выглядит следующим образом. Пусть имеется n человек, и у каждого человека имеется элемент сообщения («слух»), которым он или она желает поделиться со всеми остальными. Коммуникация обычно выполняется поэтапно, и на каждом этапе любой человек может связываться не более чем с одним другим человеком. Некоторые модели коммуникаций допускают полный обмен всеми слухами, известными каждому человеку, на одном этапе. Возможно наличие графа коммуникаций, ребка которого обозначают, между какими парами людей допускается непосредственная коммуникация на каждом этапе. В задаче широковещательной передачи одному человеку необходимо передать слух каждому другому человеку. Задача миграции данных обобщает эти две задачи тремя способами: (1) каждый слух необходимо передать только некоторому подмножеству людей; (2) одному человеку могут быть известны несколько слухов; (3) один и тот же слух изначально может быть известен нескольким людям.
Задачу миграции данных можно рассматривать как обобщение задач мгновенного обмена сообщениями и широковещательной передачи. Последние играют важную роль в разработке протоколов коммуникации в сетях различных типов и были многократно исследованы (см., например, [6, 7] и ссылки в этих работах). Задача мгновенного обмена сообщениями выглядит следующим образом. Пусть имеется n человек, и у каждого человека имеется элемент сообщения («слух»), которым он или она желает поделиться со всеми остальными. Коммуникация обычно выполняется поэтапно, и на каждом этапе любой человек может связываться не более чем с одним другим человеком. Некоторые модели коммуникаций допускают полный обмен всеми слухами, известными каждому человеку, на одном этапе. Возможно наличие графа коммуникаций, ребра которого обозначают, между какими парами людей допускается непосредственная коммуникация на каждом этапе. В задаче широковещательной передачи одному человеку необходимо передать слух каждому другому человеку. Задача миграции данных обобщает эти две задачи тремя способами: (1) каждый слух необходимо передать только некоторому подмножеству людей; (2) одному человеку могут быть известны несколько слухов; (3) один и тот же слух изначально может быть известен нескольким людям.


== Открытые вопросы ==
== Открытые вопросы ==
Строка 101: Строка 101:




Еще один открытый вопрос заключается в объединении задач размещения и миграции данных. Этот вопрос изучали Хуллер и др. [9]. Пусть даны изначальное расположение и новая модель спроса. Задача заключается в поиске серии перемещений данных, которая может быть выполнена за определенное число этапов и обеспечивает наилучшее возможное расположение для имеющейся модели спроса. Они показали, что одноэтапная миграция является NP-полной задачей, и предложили эвристический алгоритм для ее решения. Эксперименты показали, что последовательное многократное выполнение одноэтапной миграции дает высокий практический результат. В дальнейшем было бы любопытно получить нетривиальные алгоритмы аппроксимации для этой задачи.
Еще один открытый вопрос заключается в объединении задач размещения и миграции данных. Этот вопрос изучали Хуллер и др. [9]. Пусть даны изначальное расположение и новая модель спроса. Задача заключается в поиске серии перемещений данных, которая может быть выполнена за определенное число этапов и обеспечивает наилучшее возможное расположение для имеющейся модели спроса. Они показали, что даже одноэтапная миграция является NP-полной задачей, и предложили эвристический алгоритм для ее решения. Эксперименты показали, что последовательное многократное выполнение одноэтапной миграции дает высокий практический результат. В дальнейшем было бы любопытно получить нетривиальные аппроксимационные алгоритмы для этой задачи.




Еще одно перспективное направление будущих исследований – миграция данных в гетерогенной системе хранения. Большинство исследований миграции данных были посвящены главным образом гомогенным системам хранения и предполагали, что все диски имеют одни и те же фиксированные свойства, а все сетевые соединения – одну и ту же фиксированную пропускную способность. Однако на практике крупные системы хранения могут быть гетерогенными. Например, диски могут иметь разные свойства, поскольку добавляются со временем из-за возросшего спроса на емкость памяти. Лу и др. [13] изучали случай с различной пропускной способностью дисков, связанной с разной нагрузкой. Они использовали подход на базе теории управления для генерации адаптивных коэффициентов миграции данных, обеспечивающих минимальное снижение качества предоставления услуги. Этот алгоритм значительно уменьшает время задержки для клиентов по сравнению с предыдущими схемами. Однако теоретических границ эффективности миграции данных представлено не было. Коффман и др. [2] изучали случай, в котором каждый диск i может одновременно обрабатывать pi передач, и предложили алгоритмы аппроксимации. В некоторых статьях [2, 12] рассматривался случай с гетерогенной длиной элементов данных (однако сама система при этом была гомогенной) и были предложены алгоритмы аппроксимации для этой задачи.
Еще одно перспективное направление будущих исследований – миграция данных в гетерогенной системе хранения. Большинство исследований миграции данных были посвящены главным образом гомогенным системам хранения и предполагали, что все диски имеют одни и те же фиксированные свойства, а все сетевые соединения – одну и ту же фиксированную пропускную способность. Однако на практике крупные системы хранения могут быть гетерогенными. Например, диски могут иметь разные свойства, поскольку добавляются со временем из-за возросшего спроса на емкость памяти. Лу и др. [13] изучали случай с различной пропускной способностью дисков, связанной с разной нагрузкой. Они использовали подход на базе теории управления для генерации адаптивных коэффициентов миграции данных, обеспечивающих минимальное снижение качества предоставления услуги. Этот алгоритм значительно уменьшает время задержки для клиентов по сравнению с предыдущими схемами. Однако теоретических границ эффективности миграции данных представлено не было. Коффман и др. [2] изучали случай, в котором каждый диск i может одновременно обрабатывать <math>p_i \;</math> передач, и предложили аппроксимационные алгоритмы. В некоторых статьях [2, 12] рассматривался случай с гетерогенной длиной элементов данных (однако сама система при этом была гомогенной) и были предложены аппроксимационные алгоритмы для этой задачи.


== Экспериментальные результаты ==
== Экспериментальные результаты ==
Голубчик и др. [3] провели обширное исследование эффективности алгоритмов миграции данных при различных изменениях схем доступа пользователей. Они сравнивали алгоритм 9,5-аппроксимации [11] и несколько других эвристических алгоритмов. Некоторые из этих эвристических алгоритмов не могут предоставить константные гарантии аппроксимации, для других алгоритмов такие гарантии вообще неизвестны. Алгоритм Хуллера и др. [11] имеет коэффициент 9,5 в наихудшем случае, однако в экспериментах количество необходимых раундов превышало нижнюю границу менее чем в 3,25 раз.
Голубчик и др. [3] провели обширное исследование эффективности алгоритмов миграции данных при различных изменениях схем доступа пользователей. Они сравнивали алгоритм 9,5-аппроксимации [11] и несколько других эвристических алгоритмов. Некоторые из этих эвристических алгоритмов не способны предоставить константные гарантии аппроксимации, для других алгоритмов такие гарантии вообще неизвестны. Алгоритм Хуллера и др. [11] имеет коэффициент 9,5 в наихудшем случае, однако в экспериментах количество необходимых раундов превышало нижнюю границу менее чем в 3,25 раз.




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


== Ссылка на код ==
== Ссылка на код ==
Строка 120: Строка 120:


== Литература ==
== Литература ==
Специальный случай задачи миграции данных изучали Андерсон и др. [1] и Холл и др. [5]. Они предположили, что имеется граф переносов данных, вершины которого соответствуют дискам, а ориентированные ребра – каждой обозначенной операции перемещения (создание новых копий элементов данных не допускается). Вычисление графика перемещения данных в точности соответствует задаче раскраски ребер графа переноса. Теперь можно применить алгоритмы раскраски ребер мультиграфов для расчета графика миграции, поскольку каждый класс цветов представляет сопоставление в графе, которое можно спланировать одновременно. Вычисление решения с минимальным количеством этапов является NP-полной задачей, однако для раскраски ребер разработано несколько эффективных алгоритмов аппроксимации. Задача становится сложнее при наличии ограничений на пространство диска. Холл и др. [5] показали, что в предположении, что на каждом диске имеется один свободный элемент памяти, можно очень разработать эффективные аппроксимации с константным коэффициентом. Такие алгоритмы используют не более <math>4 \lceil \Delta / 4 \rceil \;</math> цветов и не более n/3 обходных вершин, либо не более <math>6 \lceil \Delta / 4 \rceil \;</math> цветов – без обходных вершин.
Специальный случай задачи миграции данных изучали Андерсон и др. [1] и Холл и др. [5]. Они предположили, что имеется граф переносов данных, вершины которого соответствуют дискам, а ориентированные ребра – каждой обозначенной операции перемещения (создание новых копий элементов данных не допускается). Вычисление графика перемещения данных в точности соответствует задаче раскраски ребер графа переноса. Теперь можно применить алгоритмы раскраски ребер мультиграфов для расчета графика миграции, поскольку каждый класс цветов представляет сопоставление в графе, которое можно спланировать одновременно. Вычисление решения с минимальным количеством раундов является NP-полной задачей, однако для раскраски ребер разработано несколько эффективных аппроксимационных алгоритмов. Задача становится сложнее при наличии ограничений на объем диска. Холл и др. [5] показали, что в предположении, что на каждом диске имеется один свободный элемент памяти, можно разработать очень эффективные аппроксимации с константным коэффициентом. Такие алгоритмы используют не более <math>4 \lceil \Delta / 4 \rceil \;</math> цветов и не более n/3 обходных вершин, либо не более <math>6 \lceil \Delta / 4 \rceil \;</math> цветов – без обходных вершин.




4430

правок