Project

General

Profile

Task #1931

Updated by Junxiao Shi over 9 years ago

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 establish a policy of whether multi-threading is completely forbidden, or it can be accepted on a case-by-case basis if properly justified**. justified.

Back