Server-side performance evaluation of NDN Xavier MARCHAL, Thibault - - PowerPoint PPT Presentation
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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