Существуют ли цели или требования к производительности для OpenThread?

Я создавал прототип OpenThread для Windows и заметил, что с текущей логикой отката CSMA, которую имеет класс Mac, он ожидает в среднем ~9 мс перед каждой отправкой, даже если не было замечено конфликтов. Кажется, что это довольно долгое время ожидания, для всего 128-байтового пакета.

Когда я пропингую с одного виртуального (все программное обеспечение) устройства на другое в моем прототипе Windows, я получаю что-то вроде следующего для маленьких пакетов:

Pinging fd00::e91b:775a:8cfd:bd05 from fd00::b98c:3fe5:44e1:3573 with 32 bytes of data:
  Reply from fd00::e91b:775a:8cfd:bd05: time=12ms
  Reply from fd00::e91b:775a:8cfd:bd05: time=2ms
  Reply from fd00::e91b:775a:8cfd:bd05: time=18ms
  Reply from fd00::e91b:775a:8cfd:bd05: time=19ms
  Reply from fd00::e91b:775a:8cfd:bd05: time=12ms

Для больших пакетов я получаю следующее:

Pinging fd00::357c:a372:2734:344c from fd00::4392:ac8b:b7d1:631 with 1400 bytes of data:
  Reply from fd00::357c:a372:2734:344c: time=249ms
  Reply from fd00::357c:a372:2734:344c: time=273ms
  Reply from fd00::357c:a372:2734:344c: time=355ms
  Reply from fd00::357c:a372:2734:344c: time=231ms
  Reply from fd00::357c:a372:2734:344c: time=236ms
  Reply from fd00::357c:a372:2734:344c: time=281ms

Наконец, я использовал iPerf для двух виртуальных интерфейсов, и мне так и не удалось получить скорость выше ~77 Кбит / с. Согласно RFC 6282 дейтаграммы IPv6 в IEEE 802.15.4, раздел 1, 802.15.4 теоретически должен иметь:

беспроводная связь с пропускной способностью 250 кбит / с или менее

Я ожидаю, что OpenThread должен приблизиться к 77 кбит / с.

Существует ли установленное требование или цель по скорости, которой должна достичь базовая библиотека OpenThread?

Должны ли времена отсрочки в классе Mac быть меньше, по крайней мере, на начальном этапе?

1 ответ

Решение

Как вы заметили, мы еще не сосредоточились на производительности с OpenThread. Мы все еще работаем над тем, чтобы обеспечить реализацию всех необходимых функциональных частей.

Мягкая реализация MAC в OpenThread является одним из примеров, и ее следует оптимизировать, чтобы лучше соответствовать спецификациям синхронизации IEEE 802.15.4-2006. IEEE 802.15.4-2006 определяет случайное минимальное окно отката по умолчанию, равное 2,56 мс, и максимальное окно отката, равное 10,24 мс для 2,4 ГГц. Предполагая, что минимальное окно по умолчанию составляет 2,56 мс, вы должны иметь в среднем около 1,28 мс между интервалами между неподтвержденными кадрами данных. Если мы хотим быть точными, нужно добавить немного больше времени для учета обязательного IFS (12 символов для коротких кадров или 40 символов для длинных кадров).

Другие вопросы по тегам