Project

General

Profile

Actions

Task #1931

closed

Establish policy on multi-threading usage

Added by Junxiao Shi about 10 years ago. Updated about 10 years ago.

Status:
Closed
Priority:
Normal
Category:
Core
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:

Description

Previously, NFD is single-threaded:
a context-switch costs about 100 instructions, so that there's almost no benefit to use multi-threading in packet processing path.

There isn't a decision on multi-threading usage out of packet processing path.

Multi-threading may allow design improvements in several areas:

  • Management, where complex operations can execute in a separate thread, if there isn't too much synchronization requirement
  • specialized services independent from forwarding, such as distance calculation and Map reading in vehicular networks
  • specialized face types, such as broadcast receiving and acknowledgement in vehicular networks (technically this is part of packet processing path, but only a small fraction of received paths are delivered into network-layer forwarding)

This Task is to establish a policy of whether multi-threading is completely forbidden, or it can be accepted on a case-by-case basis if properly justified.

Actions

Also available in: Atom PDF