server side performance evaluation of ndn
play

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


  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

  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

  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

  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

  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

  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

  7. Introduction Experimental environment Evaluation Reduce the signature impact Conclusion Testbed Server 1 Server 2 10GBASE-T NDNperf NDNperf NFD NFD Client Server Unix Unix TCP socket socket 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

  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

  9. Introduction Experimental environment Evaluation Reduce the signature impact Conclusion Single-Thread environment SHA-256 hash Throughput (packet/s) 10000 100 Signing process 8000 80 %CPU 6000 60 Like the available NDN tools 4000 40 2000 20 0 0 1024 2048 4096 8192 Interpretations Payload (octet) Throughput %CPU NFD server NFD limits SHA-256 throughput: %CPU client %CPU server %CPU NFD client Decent performance: SignatureSha256WithRsa Throughput (packet/s) 600 100 500Mbps with 8K payload 500 80 400 %CPU 60 300 40 But no authentication 200 20 100 0 0 The server limits RSA throughput: 1024 2048 4096 8192 Payload (octet) 34Mbps with 8K payload Throughput %CPU NFD server %CPU client %CPU server %CPU NFD client ACM ICN 2016 Server-side performance evaluation of NDN 9 / 18

  10. Introduction Experimental environment Evaluation Reduce the signature impact Conclusion Cache performance Local cache Throughput (packet/s) 35000 100 Pre-condition 30000 80 25000 %CPU 60 20000 Caches are preloaded with Data 15000 40 10000 20 5000 0 0 Results 1024 2048 4096 8192 Payload (octet) Cache throughput is much faster: Throughput %CPU NFD client %CPU client Up to 1.8Gbps for local cache Distant cache Throughput (packet/s) 12000 100 But 670Mbps for distant cache 10000 80 8000 %CPU 60 6000 When local node forwards packets: 40 4000 20 2000 Additional PIT/FIB lookup 0 0 1024 2048 4096 8192 Payload (octet) Forwarding has a high cost Throughput %CPU NFD client %CPU client %CPU NFD server ACM ICN 2016 Server-side performance evaluation of NDN 10 / 18

  11. Introduction Experimental environment Evaluation Reduce the signature impact Conclusion Multi-Threaded producer 450000 400000 Observations 1000 %CPU x nb logical cores (log scale) 350000 Adding threads increases throughput: 300000 Throughput (Kbps) x6,7 with 8 signing threads 250000 x11,6 with all logical cores 200000 100 150000 Can saturate NFD with 25 threads: 100000 400Mbps with 8K payload 50000 Heavy load for Data generation 0 10 2 4 8 16 32 ⇒ Problem for real-time applications # signing thread ⇒ Possible improvements ? Throughput %CPU NFD server %CPU client %CPU server %CPU NFD client ACM ICN 2016 Server-side performance evaluation of NDN 11 / 18

  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

  13. Introduction Experimental environment Evaluation Reduce the signature impact Conclusion Improve signing function SignatureSha256WithRsa processing time (1000 samples, 4 Threads) Frequency (in percents) 20 Statement Original function 18 Custom function 16 14 For each Data packet: 12 10 8 Find key pair 6 4 2 Compute SignatureInfo 0 1700 1800 1900 2000 2100 2200 2300 2400 processing time (in us) 2 hashs computations SignatureSha256WithEcdsa processing time (1000 samples, 4 Threads) Load public and private keys 60 Frequency (in percents) Original function 50 Custom function ⇒ Can be done once and for all 40 30 20 Speed up 10 0 13% for RSA or 20% for ECDSA 800 850 900 950 1000 1050 1100 1150 1200 1250 1300 processing time (in us) ACM ICN 2016 Server-side performance evaluation of NDN 13 / 18

  14. Introduction Experimental environment Evaluation Reduce the signature impact Conclusion Change default signing algorithm 480000 1600 420000 1400 %CPU x nb physical cores Available asymmetric algorithms Throughput (Kbps) 360000 1200 300000 1000 1 RSA (1024, 2048 ) 240000 800 180000 600 2 ECDSA(256, 384) 120000 400 60000 200 0 0 RSA-1024 RSA-2048 ECDSA-256ECDSA-384 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

  15. Introduction Experimental environment Evaluation Reduce the signature impact Conclusion Increase packet size Hypothesis Current limit size: 8800 Bytes 1 × 10 6 7000 900000 Throughput (packet/s) 6000 Throughput (Kbps) 800000 Fewer signatures per content: 5000 700000 600000 4000 Reduce computation cost 500000 3000 400000 300000 2000 Interesting for big contents 200000 1000 100000 0 0 8192 16384 32768 Consequence payload (octet) Throughput (packet/s) Throughput (kbps) Speed up NDN throughput 900Mbps with 32k payload ACM ICN 2016 Server-side performance evaluation of NDN 15 / 18

  16. Introduction Experimental environment Evaluation Reduce the signature impact Conclusion Improvements vs default 1 × 10 6 900000 Throughput (Kbps) 800000 700000 600000 500000 400000 300000 200000 100000 0 0 200 400 600 800 1000 1200 1400 1600 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

  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

Recommend


More recommend