Сетевое железо - статьи


         

Полностью синтетические потоки иногда бывают


Полностью синтетические потоки иногда бывают удобны для отладки, однако для анализа поведения моделируемых систем более подходящим является использование синтетических потоков, основывающихся на записях оригинальных потоков .

Для создания таких синтетических потоков мы использовали следующий поход. Для того чтобы определить поток задач



необходимо определить следующие параметры:


  • Rj — промежуток времени между поступлением j и j+1 задачи (j = 1,2,…,M-1);

  • Hj — запрашиваемое время исполнения (j = 1,2,…,M);

  • Wj — запрашиваемое число процессоров (j = 1,2,…,M).

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

    Полученные таким образом распределения были использованы для генерирования нескольких синтетических потоков.

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

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

    На брокере использовались различные алгоритмы распределения. В каждом случае вначале брокер выбирает множество кластеров, которые могут выполнить данную задачу – W≥Wj, где W – число узлов кластера, а Wj – число узлов, запрашиваемых задачей, а затем выбирает один кластер исходя из заданного критерия:



      Содержание  Назад  Вперед