Server-side performance evaluation of NDN Xavier MARCHAL, Thibault - - PowerPoint PPT Presentation

server side performance evaluation of ndn
SMART_READER_LITE
LIVE PREVIEW

Server-side performance evaluation of NDN Xavier MARCHAL, Thibault - - PowerPoint PPT Presentation

Server-side performance evaluation of NDN Xavier MARCHAL, Thibault CHOLEZ, Olivier FESTOR LORIA, UMR 7503 (University of Lorraine, CNRS, INRIA) Vandoeuvre-les-Nancy, F-54506, France ACM ICN 2016, Kyoto, Japan Introduction Experimental


slide-1
SLIDE 1

Server-side performance evaluation of NDN

Xavier MARCHAL, Thibault CHOLEZ, Olivier FESTOR

LORIA, UMR 7503 (University of Lorraine, CNRS, INRIA) Vandoeuvre-les-Nancy, F-54506, France

ACM ICN 2016, Kyoto, Japan

slide-2
SLIDE 2

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Outline

1 Introduction 2 Experimental environment 3 Server-side performance evaluation 4 Reduce the signature impact 5 Conclusion

ACM ICN 2016 Server-side performance evaluation of NDN 2 / 18

slide-3
SLIDE 3

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Outline

1 Introduction 2 Experimental environment 3 Server-side performance evaluation 4 Reduce the signature impact 5 Conclusion

ACM ICN 2016 Server-side performance evaluation of NDN 3 / 18

slide-4
SLIDE 4

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Context

Named-Data networking Optimized for massive content diffusion: In-network cache and Interest concatenation Rely on digital signature for content authentication: Each Data packet must be signed Compute SHA-256 then sign with a cryptographic algorithm Problem statement Actual cost when a content provider generates Data packets? Can be critical for real-time applications that must deal with unpredictable flows of data (ex: video live streaming, ...)

ACM ICN 2016 Server-side performance evaluation of NDN 4 / 18

slide-5
SLIDE 5

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Outline

1 Introduction 2 Experimental environment

Ndnperf Testbed

3 Server-side performance evaluation 4 Reduce the signature impact 5 Conclusion

ACM ICN 2016 Server-side performance evaluation of NDN 5 / 18

slide-6
SLIDE 6

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Ndnperf

We developed ndnperf A performance evaluation tool Available in C++ and Java Features: Report throughput, latency and packet processing time Multi-threaded application Generate Data packets from random data or real files Can generate asymmetric keys thanks to the NDN library http://madynes.loria.fr/software/ndnperf_cpp.zip

ACM ICN 2016 Server-side performance evaluation of NDN 6 / 18

slide-7
SLIDE 7

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Testbed

10GBASE-T TCP Server 1 Server 2

Unix socket Unix socket

NDNperf Server

NFD

NDNperf Client

NFD

Specifications 2 servers: CPU: 2x8 cores E5-2630v3 RAM: 64GB DDR4 NIC: Intel X540 OS: Ubuntu 15.04 (3.19) Network Physical layer: 10GBASE-T (ad-hoc network) NDN network: 2 nodes, 1 NFD (0.4.0) per server

ACM ICN 2016 Server-side performance evaluation of NDN 7 / 18

slide-8
SLIDE 8

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Outline

1 Introduction 2 Experimental environment 3 Server-side performance evaluation

Single-Thread environment Cache performance Multi-Thread server

4 Reduce the signature impact 5 Conclusion

ACM ICN 2016 Server-side performance evaluation of NDN 8 / 18

slide-9
SLIDE 9

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Single-Thread environment

Signing process Like the available NDN tools Interpretations

NFD limits SHA-256 throughput: Decent performance: 500Mbps with 8K payload But no authentication The server limits RSA throughput: 34Mbps with 8K payload

2000 4000 6000 8000 10000 1024 2048 4096 8192 20 40 60 80 100 Throughput (packet/s) %CPU Payload (octet) SHA-256 hash Throughput %CPU client %CPU NFD client %CPU NFD server %CPU server 100 200 300 400 500 600 1024 2048 4096 8192 20 40 60 80 100 Throughput (packet/s) %CPU Payload (octet) SignatureSha256WithRsa Throughput %CPU client %CPU NFD client %CPU NFD server %CPU server ACM ICN 2016 Server-side performance evaluation of NDN 9 / 18

slide-10
SLIDE 10

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Cache performance

Pre-condition

Caches are preloaded with Data

Results

Cache throughput is much faster: Up to 1.8Gbps for local cache But 670Mbps for distant cache When local node forwards packets: Additional PIT/FIB lookup Forwarding has a high cost

5000 10000 15000 20000 25000 30000 35000 1024 2048 4096 8192 20 40 60 80 100 Throughput (packet/s) %CPU Payload (octet) Local cache Throughput %CPU client %CPU NFD client 2000 4000 6000 8000 10000 12000 1024 2048 4096 8192 20 40 60 80 100 Throughput (packet/s) %CPU Payload (octet) Distant cache Throughput %CPU client %CPU NFD client %CPU NFD server ACM ICN 2016 Server-side performance evaluation of NDN 10 / 18

slide-11
SLIDE 11

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Multi-Threaded producer

Observations

Adding threads increases throughput: x6,7 with 8 signing threads x11,6 with all logical cores Can saturate NFD with 25 threads: 400Mbps with 8K payload Heavy load for Data generation ⇒ Problem for real-time applications ⇒ Possible improvements ?

50000 100000 150000 200000 250000 300000 350000 400000 450000 2 4 8 16 32 10 100 1000 Throughput (Kbps) %CPU x nb logical cores (log scale) # signing thread Throughput %CPU client %CPU NFD client %CPU NFD server %CPU server ACM ICN 2016 Server-side performance evaluation of NDN 11 / 18

slide-12
SLIDE 12

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Outline

1 Introduction 2 Experimental environment 3 Server-side performance evaluation 4 Reduce the signature impact

Improve signing function Change default signing algorithm Increase packet size Improvements vs default

5 Conclusion

ACM ICN 2016 Server-side performance evaluation of NDN 12 / 18

slide-13
SLIDE 13

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Improve signing function

Statement For each Data packet: Find key pair Compute SignatureInfo 2 hashs computations Load public and private keys ⇒ Can be done once and for all Speed up 13% for RSA or 20% for ECDSA

2 4 6 8 10 12 14 16 18 20 1700 1800 1900 2000 2100 2200 2300 2400 10 20 30 40 50 60 800 850 900 950 1000 1050 1100 1150 1200 1250 1300 Frequency (in percents) processing time (in us) SignatureSha256WithRsa processing time (1000 samples, 4 Threads) Original function Custom function Frequency (in percents) processing time (in us) SignatureSha256WithEcdsa processing time (1000 samples, 4 Threads) Original function Custom function ACM ICN 2016 Server-side performance evaluation of NDN 13 / 18

slide-14
SLIDE 14

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Change default signing algorithm

Available asymmetric algorithms

1 RSA(1024, 2048) 2 ECDSA(256, 384)

60000 120000 180000 240000 300000 360000 420000 480000 RSA-1024 RSA-2048 ECDSA-256ECDSA-384 200 400 600 800 1000 1200 1400 1600 Throughput (Kbps) %CPU x nb physical cores Throughput %CPU

Interpretations Lowering the key size can help tiny servers to serve more users ECDSA-256 seems to be a better solution for servers since it has comparable security lvl (but is harder to verify for clients)

ACM ICN 2016 Server-side performance evaluation of NDN 14 / 18

slide-15
SLIDE 15

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Increase packet size

Hypothesis Current limit size: 8800 Bytes Fewer signatures per content: Reduce computation cost Interesting for big contents Consequence Speed up NDN throughput 900Mbps with 32k payload

1000 2000 3000 4000 5000 6000 7000 8192 16384 32768 100000 200000 300000 400000 500000 600000 700000 800000 900000 1 × 106 Throughput (packet/s) Throughput (Kbps) payload (octet) Throughput (packet/s) Throughput (kbps) ACM ICN 2016 Server-side performance evaluation of NDN 15 / 18

slide-16
SLIDE 16

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Improvements vs default

100000 200000 300000 400000 500000 600000 700000 800000 900000 1 × 106 200 400 600 800 1000 1200 1400 1600 Throughput (Kbps) CPU core usage (percents) (RSA-2048, 8192, default sign function) (ECDSA-256, 32768, custom sign function)

Great throughput increase per core: From 30 to 200 Mbps/core (x6,7) Need less cores to saturate NFD: Only 5 cores against 14 for default RSA (9 for ECDSA-256)

ACM ICN 2016 Server-side performance evaluation of NDN 16 / 18

slide-17
SLIDE 17

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Outline

1 Introduction 2 Experimental environment 3 Server-side performance evaluation 4 Reduce the signature impact 5 Conclusion

ACM ICN 2016 Server-side performance evaluation of NDN 17 / 18

slide-18
SLIDE 18

Introduction Experimental environment Evaluation Reduce the signature impact Conclusion

Conclusion

In these experiments we demonstrate that NFD cache performs good throughput Servers may have difficulties to serve users for real-time apps

No problem with SHA-256, but no authentication Heavy load when using asymmetric algorithms (sum up below)

Improvements can be done by

Changing algorithms Improving the signing function Increasing the packet size

Source of NDN Data Throughput Nb of server cores Client-side cache 1792 Mbps Server-side cache 671 Mbps Server with SHA256 487 Mbps 1 Server with RSA-1024 460 Mbps 6 Server with RSA-2048 394 Mbps 14 Server with ECDSA-256 439 Mbps 9 Server with ECDSA-384 397 Mbps 14 Server with improvements 922 Mbps 5

ACM ICN 2016 Server-side performance evaluation of NDN 18 / 18