ANCS12 - Northwestern University

Download Report

Transcript ANCS12 - Northwestern University

On Pending Interest Table in Named Data Networking

Huichen Dai, Bin Liu, Yan Chen*, Yi Wang

Tsinghua University, China *Northwestern University, USA

Outline

1. Background of Named Data Networking (NDN) 2. Pending Interest Table (PIT) 3. Problem Statement 4. Challenges 5. Measure PIT Size and Access Frequency 6. NCE to Accelerate PIT Access and Size Shrinking 7. Evaluation 8. Conclusion 2/33

Background of NDN (1/3)

• • • • • Newly proposed clean-slate network architecture; Embraces Internet’s function transition from host-to-host communication to content dissemination; Routes and forwards packets by content names; Two kinds of packets: – Interest packet and Data packet.

Request-driven communication model (pull); 3/33

Background of NDN (2/3)

• • • Content Store (CS): the router’s buffer memory that caches Data packets; Pending Interest Table (PIT): each entry records the name of a pended Interest and the interfaces from which the Interest comes in.

Forwarding Information Base (FIB): NDN forwarding table.

4/33

Background of NDN (3/3)

Control Plane Interest arrival CS PIT FIB Interest depature Content Store Data Pending Interest Table Add interface to PIT entry Create PIT entry Discard Interest Data Plane Forwarding Information Base Found Not found Figure: Interest Packet lookup and forwarding process Control Plane Data depature PIT Data arrival Cache Data Discard Data CS Data Plane Found Not found Figure: Data packet lookup and forwarding process

5/33

Pending Interest Table (1/3)

• • • A special table in NDN and no equivalent in IP.

Keeps track of the Interest packets that are received but yet un-responded.

Brings NDN significant features: – communication without the knowledge of host locations; – loop and packet loss detection; – multipath routing support; etc.

6/33

Pending Interest Table (2/3)

• Read and write on PIT.

Interest Packet com/google/maps com/google/scholar lookup PIT Content name inserted inserted Data Packet com/google/maps/data/1/ com/google/scholar/data/1/ Interface list 1 3 deleted deleted ...... ……

A Dynamic Process!

7/33

Problem Statement (1/2)

• • • A router inserts every incoming Interest into PIT, and removes each received Data packet from PIT.

High-speed packet arrival rate leads to a large PIT size and extremely high access (lookup, insert and delete) frequency.

Two major problems about PIT arise: – The size of PIT?

– The access (lookup, insert and delete) frequency of PIT?

Size?

Frequency?

8/33

Problem Statement (2/2)

• • • • • Senior researchers (Lixia Zhang, Van Jacobson, etc.) witness Internet’s function transition; NDN is empirically experience; proposed based on their A gap from experience to practice: can PIT be satisfied by off-the-shelf technologies?

No previous study touched the feasibility issue.

No statistics support.

9/33

Challenges

1.No NDN deployment; 2.No data; 3.No PIT;

10/33

A fresh look at NDN (1/2)

-- from application perspective • • • NDN better satisfies the requirements of users: – browsing web pages, – watching videos, – sharing files, etc.

Users demand the same network applications, but require different implementations in NDN.

The PIT entries are consumed by application triggered requests.

11/33

A fresh look on NDN (1/2)

-- PIT entry filled by app-triggered Interests • A sample PIT: PIT Content name com/google/maps com/google/scholar Avatar parc.com/email_service/van/ [email protected]/123 …… Interface list 1 3 2 5 …… HTTP Interest P2P Interest Email Interest The applications do not change, solve the problems from the application perspective!

12/33

Apps from IP to NDN (1/5)

• • • • Major Internet applications: – HTTP, FTP, P2P, Email, Online games, Streaming media, Instant messaging, etc.

Implement these applications using NDN’s request-driven communication model.

Afterwards, examine how these applications construct and destruct PIT entries.

HTTP/1.1 as an example.

13/33

Apps from IP to NDN -- HTTP (2/5)

• • • A request/response protocol; – A client sends a request over a connection to a server, – The server responds with a message.

HTTP/1.1 adopts Persistent Connections: – HTTP requests and responses can be pipelined on a connection.

Simplest Case: 14/33

Apps from IP to NDN -- HTTP(3/5)

• • However, the actual case is complicated.

For HTTP Response: – HTTP response divided into multiple Data packets due to the MTU, – – At 𝑡 0 the corresponding PIT entry is created, and at 𝑡 𝑛 is removed, the entry Entry Lifetime: 𝑡 𝑛 − 𝑡 0 .

15/33

Apps from IP to NDN -- HTTP(4/5)

• • For HTTP Request: – HTTP requests can be divide into different categories, including GET, HEAD, POST, PUT, DELETE, TRACE; – GET, HEAD – pull data from server; – POST, PUT – push data to server; – DELETE, TRACE – function calls on the server.

NDN can only pull data from server.

16/33

Apps from IP to NDN -- HTTP(5/5)

• • • • GET, HEAD – implemented by Interest packet directly; Extend the function of Interest packet to accommodate the rest methods; POST, PUT – add additional data block to the Interest packet that contains the content to be pushed to the server; DELETE, TRACE – extend Interest packet to enable function calls.

17/33

Measure PIT Size and Access Freq. (1/3)

• So far, we have Applications on IP • So we can: Applications on NDN translate IP trace NDN trace • We get data – we quantify PIT size and access frequency by analyzing the NDN trace.

18/33

Measure PIT Size and Access Freq. – Metrics (2/3)

• • • • Size: the number of PIT entries at each snapshot by examining the lifetime of each PIT entry.

Lookup frequency: the # of Data packets (excluding the last Data of a request/response pair) arrive per second; Insert frequency: the # of emerging biflows (new Interests arrive) Delete frequency: the # of disappearing biflows (last Data packet of a request/response pair arrive).

19/33

Measure PIT Size and Access Freq. – Results (3/3)

• • • A one-hour IP trace from a 20 Gbps link in China Education and Research Network (CERNET).

PIT size: 1.5 million Frequencies of the first 10 seconds: ( 1.4 M/s, 0.9 M/s, 0.9 M/s ) • Methodology is what matters.

20/33

Data Structure for PIT (1/3)

• • PIT size and access frequency demand a well organized data structure to implement PIT.

Inspired by the Trie structure in IP lookup, we organize PIT by a Trie as well.

A sample IP trie, bit-wise.

21/33

Data Structure for PIT (2/3)

• • NDN name is different from IP address; – IP addresses: • Fixed length, short… – NDN names: • hierarchical, composed of component, enables aggregation; • Unbounded # of components, much longer than IP; • E.g., /com/parc/bulletin/breakthroughs.html Therefore, we adopt Name Prefix Trie, which is of component granularity.

22/33

Data Structure for PIT (3/3)

level-1 level-2 level-3 level-4 level-5

Name

/com/yahoo /com/yahoo/news /com/yahoo/maps/uk /com/google /com/google/maps /cn/google/maps /cn/sina /cn/baidu /cn/baidu/map An example of PIT 1

Ports

1 2 2 1, 2 3 2, 3 4 4 1 2 sina 3 7 maps A maps 4 5 8 B uk 6 9 C D map E Name Prefix Tree Name Prefix Trie (NPT), each edge stands for a name component.

23/33

Name Component Encoding (1/4)

• • The Name Prefix Trie (NPT) makes PIT well organized, but matching each component is slow: – – The length of each component varies; should be an exact match of string patterns.

We further propose to use positive integers to encode components – Name Component Encoding (NCE).

– An integer occupies smaller memory space compared to a component; – Matching integers is much faster.

name Encoding Module (Encoding Function

f

) code series Lookup, Insert and Delete Module NCE framework

24/33

Name Component Encoding (2/4)

level-1 level-2 level-3 3 level-4 4 uk 5 level-5 6 level-1 level-2 level-3 3 level-4 4 1 5 level-5 2 2 7 maps 8 7 1 8 1 CAS 1 9 sina A maps B C D map E Name Prefix Tree 9 2 A C 1 B 1 D E Encode Name Prefix Tree Name Prefix Trie (NPT) is transferred to Encoded Name Prefix Trie (ENPT).

25/33 6

Name Component Encoding (3/4)

• • • • Preparation: define the edges in the NPT leaving from the same node as a Code Allocation Set (CAS) (dotted ellipse on the NPT); The rules to assign codes to components: – –

Assign each name component in a CAS a unique code ; The code should be as small as possible (ensures the codes are continuous).

The ENPT is a logical structure and is eventually implemented by Simplified State Transition Arrays (S 2 TA).

Benefit: a component match on S 2 TA can be implemented by a single memory access with the codes as indexes!

26/33

Name Component Encoding (4/4)

level -1 1 2 9 level -2 2 3 7 level -3 A C D level 4 -4 5 1 level -5 6 1 8 1 1 (ENPT) B E Encode Name Prefix Trie

Transition 1 :

2 ^

Transition 2 :

2 ^

Transition 3 :

2 ^

Transition 4 :

0 1 1 2 2 9 1 3 2 7 1 4 2 5

Transition 9 :

3 ^

Transition A :

1 ^

Transition B :

0 6 1 D 2 3 C A 1 B

Legend:

# of edges leaving this state

Transition i :

Pointer to PIT entry 1 st index Next state 2 nd index Next state … …

Name

/com/yahoo /com/yahoo/news /com/yahoo/maps/uk /com/google /com/google/maps /cn/google/maps /cn/sina /cn/baidu /cn/baidu/map Simplified State Transition Array (S 2

Codes

/1/1 /1/1/1 /1/1/2/1 /1/2 /1/2/1 /2/3/1 /2/2 /2/1 /2/1/1 1 1 2 2 1, 2 3 2, 3 4 4

Ports

TA) The data structure that really implements the ENPT, each transition stands for a node and its outgoing edges. The codes are indexes of each outgoing edge.

27/33

Evaluation

• • Two name sets to compose two PITs: – Domain names collected from ALEXA, DMOZ and our web crawler, around 10 Million; – URLs extracted from the HTTP requests in the trace, around 8 Million.

Evaluation goals: – memory consumption of S 2 TA, – access frequency S 2 TA, – Comparison with other methods.

28/33

Evaluation Results (1/3)

• Memory Consumption

Figure: 10M Name Set memory consumption–original size, NPT size, ENPT.

compression ratio (10M Name Set): 63.66%

Figure: 8M Name Set memory consumption–original size, NPT size, ENPT.

compression ratio (8M Name Set): 12.56% 29/33

Evaluation Results (2/3)

Access frequency

Figure: Lookup, insert and delete performance for the 10M Name Set

Average: 3.27 M/s, 2.93 M/s and 2.69 M/s

Figure: Lookup, insert and delete performance for the 8M Name Set

Average: 2.51 M/s, 1.81 M/s and 2.18 M/s 30/33

Evaluation Results (3/3)

Figure: PIT access frequency speedup based on S 2 TA.

All these results reveal that PIT can be implemented by off-the-shelf technologies.

31/33

Conclusion

• • • Measure the size and access frequency of a specific PIT; Prove the feasibility of PIT with off-the-shelf technologies; Propose NCE to accelerate PIT access operations while reducing PIT size.

32/33

THANKS!

QUESTIONS PLEASE ^_^

33/33