Project

General

Profile

Task #1931

Establish policy on multi-threading usage

Added by Junxiao Shi about 5 years ago. Updated about 5 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.

History

#1 Updated by Junxiao Shi about 5 years ago

  • Description updated (diff)

See this email for description of multi-threading usage for vehicular network.

#2 Updated by Beichuan Zhang about 5 years ago

Nothing is "completely forbidden".

#3 Updated by Junxiao Shi about 5 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

Conclusion: Multi-threading can be accepted on a case-by-case basis if properly justified.

@Davide, that's what you've asked for.

Also available in: Atom PDF