Программное обеспечение для моделирования по определению википедии:
Программное обеспечение для моделирования широко используется для проектирования оборудования, чтобы
конечный продукт будет максимально приближен к техническим характеристикам без
дорого в процессе модификации
Так ответьте на свой вопрос:
Нужно ли использовать многопоточность для управления каждым узлом?
строго зависит от того, что вы собираетесь моделировать. Но, скорее всего, поскольку вы собираетесь симулировать P2P и обмен данными между N
пользователями, многопоточность - это путь.
Каждый узел (пользователь) будет работать в своем собственном потоке и отправлять сигналы одному или нескольким узлам (пользователям). В то же время можно выполнить более одного обмена данными, поэтому я не знаю, каким образом вы можете смоделировать это, избегая многопоточности.