- •Примеры расчетов согласно варианту
- •Краткие теоретические сведения
- •Результаты моделирования
- •Описание разработанной программы
- •Приложение а «Генерация абонентов, расчёт расстояния, потерь, скоростей»
- •Приложение б «Моделирование работы передачи данных, вычисление среднего объёма данных в буферах»
- •Приложение в «Вычисление средней скорости передачи двумя способами»
- •Приложение г «Реализация алгоритмов распределения ресурсов с вычислением приоритетов»
- •Приложение д «Запуск программы, построение графика»
Результаты моделирования
Программно тремя алгоритмами распределения ресурсов реализовано вычисление приоритетных пользователей с учётом средней скорости передачи данных на последней секунде. На Рисунках 3-4 представлен график зависимости среднего суммарного объёма данных в буферах от значения интенсивности потока данных, при разном количестве выделенных временных слотов.
Рисунок 3 — График зависимости среднего суммарного объёма данных в буферах от интенсивности входного потока, 1000 слотов
Рисунок 4 — График зависимости среднего суммарного объёма данных в буферах от интенсивности входного потока, 10 000 слотов
Можно наблюдать схожее поведение изменения нагрузки на систему для всех рассматриваемых алгоритмов распределения ресурсов. По мере увеличения интенсивности входного потока данных растёт количество хранящихся в буферах данных и постепенно происходит переполнение. С увеличением числа пользователей нагрузка на систему начинает увеличиваться ещё быстрее, то есть хранилище ещё быстрее переполняется.
Можно различить, что при использовании алгоритма Maximum Throughput данные накапливаются немного быстрее и следовательно система быстрее перегружается. Это объясняется менее эффективным подходом к распределению ресурсов – приоритет отдается абонентам, близко расположенным к БС с высокой пропускной способностью, а абонентам с плохим качеством связи ресурсные блоки не выделяются, из-за чего суммарный объем данных на передачу увеличивается.
Алгоритм Equal Blind распределяет ресурсы равномерно, поэтому его показатели лучше, чем у Maximum Througput. Однако он не учитывает качества канала, что может привести к неоптимальному использованию пропускной способности, так как у абонентов разное качество связи.
Наилучший результат показал алгоритм Proportional Fair, так как он обеспечивает баланс между суммарной скоростью сети и равномерностью распределения ресурсов.
Описание разработанной программы
Список использованных переменных с описанием приведён в Таблице 1.
Таблица 1 – Описание основных использованных переменных
Переменная |
Описание |
R |
Радиус действия базовой станции |
Ptx |
Мощность передатчика |
f0 |
Частота сигнала |
df |
Ширина полосы канала |
Pn |
Мощность теплового шума |
SLOTS |
Количество слотов |
subs_list |
Список количества абонентов |
algoritm_list |
Список алгоритмов распределения ресурсов |
T_rb |
Длительность временного слота |
y |
Время для оценки средней скорости |
y_slot |
Кол-во слотов за интервал y |
Nrb |
Количество ресурсных блоков |
V |
Объём данных в одном пакете |
lambd_list |
Список интенсивностей входного потока |
p_list |
Вероятность передачи пакетов |
buffer_scores_by_alg |
Словарь для хранения результатов моделирования |
packs |
Список пакетов для абонентов по слотам |
slot_resource_blocks |
Распределение ресурсных блоков по слотам |
sub_R_mean_list |
Список средних скоростей передачи данных |
sub_with_full_buffer |
Индексы абонентов с непустыми буферами |
sub_idx |
Индекс текущего абонента |
subs_priority_idx |
Индексы абонентов, отсортированных по приоритету |
Описание кода программы, согласно приложениям:
1) Приложение А :
В начале задаются константы для вычислений параметров абонентов и .
Функция
generate_ab(n)
отвечает за генерацию n числа абонентов,
случайным образом распределённых в
пределах радиуса действия базовой
станции.
Далее вычисляется список помех, пропускных способностей абонентов, а также случайного количества передаваемых пакетов (по распределению Пуассона, с параметром интенсивности потока).
2) Приложение Б:
В функции get_avg_score моделируется передача данных от абонентов к базовой станции при заданной интенсивности входного потока λ и выбранном алгоритме распределения ресурсов.
Для полученного в качестве параметра количества поступающих пакетов в каждом слоте отслеживается загрузка буфера и выделение ресурсных блоков на основе приоритетов. Функция возвращает средний суммарный объем данных в буферах абонентов за всё время моделирования, что отражает эффективность выбранного алгоритма при заданной нагрузке.
3) Приложение В:
В методе get_avg_R реализован способ расчета средней скорости передачи данных за последнюю секунду, с которой скачивал данные абонент i к моменту времени k. Данный метод используется только при вычислении на основе данных в первом временном слоте.
В функции get_abg_R_smooth реализован сглаживающий фильтр для обновления средней скорости передачи данных абонента i в момент времени k. Метод используется в каждом новом временном слоте, начиная со второго, и позволяет более плавно учитывать изменения в скорости передачи данных без резких скачков.
4) Приложение Г:
В данном фрагменте кода реализованы три алгоритма распределения ресурсов между абонентами на основе приоритетов: Equal Blind, Maximum Throughput и Proportional Fair. Каждый из них определяет свой способ сортировки пользователей с непустыми буферами в текущем слоте.
Equal Blind минимизирует различия между пользователями, выделяя приоритет обратно пропорционально средней скорости передачи.
Maximum Throughput ориентирован на максимизацию текущей пропускной способности, выбирая абонентов с наивысшей скоростью.
Proportional Fair стремится к балансу между равенством и эффективностью, сравнивая текущую скорость с исторической средней.
Функция filter_and_sort осуществляет общую логику: сортирует абонентов по рассчитанным приоритетам и отбирает только тех, у кого в буфере есть данные. Метод get_sub_index возвращает отсортированный список индексов приоритетных абонентов, которым в первую очередь будут выделены ресурсные блоки.
5) Приложение Д:
В данном приложении реализован запуск программы, вызов генерации абонентов, перебор алгоритмов распределения моделирование работы станции. На основе полученных результатов строится график зависимости среднего суммарного объёма данных в буферах от интенсивности потока передаваемых данных.
Выводы
В результате выполнения лабораторной работы получены навыки моделирования стандартных сценариев работы телекоммуникационных систем с топологией типа «звезда». Изучены свойств алгоритмов планирования ресурсов нисходящего кадра в подобных системах. Изучены стратегии распределения ресурсных блоков в централизованной сети со случайным трафиком.
Поведён анализ зависимости среднего суммарного объёма данных в буферах абонентов от интенсивности потока передаваемых данных. Выяснено, что при заданных параметрах станции алгоритмы ведут себя схожим образом — чем больше интенсивность передачи данных и больше абонентов в системе, тем быстрее накапливаются данные для передачи, соответственно растёт нагрузка на систему.
Оптимальным способом распределения ресурсов является алгоритм Proportional Fair, так как он учитывает качество связи абонентов и пытается равномерно распределить ресурсы.
