Скачиваний:
0
Добавлен:
04.05.2025
Размер:
1.63 Mб
Скачать

Результаты моделирования сценариев работы:

Было смоделировано равномерное размещение абонентов по площади и расчет коэффициентов деления ресурсов канала между абонентами для трех типов планировщиков. Количество абонентов составило 2, 4, 16, 32. Число слотов составило 100000. В результате были получены графики, представленные на рисунках 2 – 6.

Рисунок 2 – Графики зависимости среднего суммарного объема данных в буфере от λ

Графики показывают зависимость среднего суммарного объема данных в буфере от интенсивности поступления пакетов (λ) для разного количества абонентов при использовании трех алгоритмов планирования ресурсов.

С увеличением λ средний объем данных в буфере растет нелинейно для всех алгоритмов. При превышении определенного порогового значения λ наблюдается резкий рост размера буфера, что говорит о достижении критической нагрузки в системе. Этот порог снижается с увеличением числа абонентов: для 2 абонентов он составляет λ≈1.0, для 4 абонентов – λ≈0.5, для 16 абонентов – λ≈0.1, а для 32 абонентов – λ≈0.05.

Сравнение алгоритмов планирования показывает их различную эффективность. Алгоритм Equal Blind демонстрирует наибольший объем данных в буфере, поскольку не учитывает условия канала при распределении ресурсов. Max Throughput обеспечивает наименьший размер буфера благодаря приоритизации абонентов с лучшими условиями канала. Proportional Fair представляет собой компромиссное решение, находясь между двумя другими алгоритмами.

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

Рисунок 3 – График зависимости среднего суммарного объема данных в буфере от λ для 2 абонентов

Рисунок 4 – График зависимости среднего суммарного объема данных в буфере от λ для 4 абонентов

ы

Рисунок 5 – График зависимости среднего суммарного объема данных в буфере от λ для 16 абонентов

Рисунок 6 – График зависимости среднего суммарного объема данных в буфере от λ для 32 абонентов

В Листинге 3 представлен программный код для визуализации результатов моделирования.

Листинг 3 – Визуализация результатов

results_plot = results_optimized

# Визуализация результатов

plt.figure(figsize=(16, 10))

for i, N in enumerate(N_users_values, 1):

    plt.subplot(2, 2, i)

    if N == 2:

        lambda_values = N2_lambda

    elif N == 4:

        lambda_values = N4_lambda

    elif N == 16:

        lambda_values = N16_lambda

    elif N == 32:

        lambda_values = N32_lambda

    plt.plot(lambda_values, results_plot[N]['Equal Blind'], linewidth=1, marker='o', linestyle='-', markersize=3, alpha=0.7, label='Equal Blind')

    plt.plot(lambda_values, results_plot[N]['Max Throughput'], linewidth=1, marker='s', linestyle='--', markersize=3, alpha=0.7, label='Maximum Throughput')

    plt.plot(lambda_values, results_plot[N]['Proportional Fair'], linewidth=1, marker='d', linestyle=':', markersize=3, alpha=0.7, label='Proportional Fair')

   

    plt.title(f'N={N} абонентов', fontsize=14)

    plt.xlabel('λ', fontsize=12)

    plt.ylabel('Средний суммарный объем данных в буфере (бит)', fontsize=12)

    plt.legend(fontsize=10)

    plt.grid(True, linestyle='--', alpha=0.7)

    plt.tick_params(axis='both', which='major', labelsize=10)

plt.tight_layout(pad=3.0)

plt.suptitle('Зависимость среднего суммарного объема данных в буфере от λ', fontsize=16,  y=0.98)

plt.savefig('buffer_results.png', dpi=300, bbox_inches='tight')

plt.show()

Полный программный код представлен в приложении.

Соседние файлы в предмете Моделирование систем распределения ресурсов