rpcexpress a try to implement an efficient middleware
play

RPCexpress: a try to implement an efficient middleware from the - PowerPoint PPT Presentation

RPCexpress: a try to implement an efficient middleware from the ground up based on requirements of embedded software defined systems Qi Tang 1,3 , Jin Lian 2,1,3 , Li Zhou 1,3 , Shan Wang 1,3 , Haitao Zhao 1,3 , Jun Xiong 1,3 , Shengchun Huang


  1. RPCexpress: a try to implement an efficient middleware from the ground up based on requirements of embedded software defined systems Qi Tang 1,3 , Jin Lian 2,1,3 , Li Zhou 1,3 , Shan Wang 1,3 , Haitao Zhao 1,3 , Jun Xiong 1,3 , Shengchun Huang 1,3 , Jibo Wei 1,3 1 National University of Defense Technology, Changsha, Hunan, P.R. China 2 Hunan university, Changsha 410082, China 3 Hunan Engineering Research Center of Software Radio, Changsha, China

  2. Content u Introduction u Features of RPCexpress u Experiment method u Experimental results u Future work

  3. Content u Introduction u Features of RPCexpress u Experiment setting u Experimental results u Future work

  4. Software defined systems � The future of the world is software-defined, e.g., � Software defined radio (GNUradio, SORA, SCA, STRS, ALOE) � Cognitive radio � Software radar � Distributed computing � Embedded programmable System-on-Chip � Multiprocessor system � Cellphone

  5. Model driven, component based � System complexity is increasing � Component-based software developing is appealing � Development simplicity � Test � Integration � Maintaining � The SDS is composed of a set of software components � How to interconnect different components � How to enable system reconfiguration � OS support � Architecture support � Middleware support

  6. Middleware � "Middleware can be viewed as a reusable, expandable set of services and functions that are commonly needed by many applications to function well in a networked environment". � Classification � message oriented middleware (MOM): DDS, ZeroMQ � remote process all (RPC): ICE, RMI, gRPC, DDS-RPC and COM+ � object request broker (ORB): ACE TAO, omniORB, e*ORB, ORBexpress,ORBit � Database � ……

  7. Content u Introduction u Features of RPCexpress u Experiment setting u Experimental results u Future work

  8. RPCexpress � Features � Objecte-oritented � Language support: C++ � OS support: Windows, linux � Basic datatypes � (unsigned) char, short, int, long, float, double, string, etc,. � Complex datatypes � sequence, array, struct, interface, exception, Any , etc,. � C++ based IDL compiler

  9. RPCexpress � Features � Support component-based development � Using shared memory, the fastest IPC mechanism � Support interface inheritance � Support clt-svc service � Clt, svc can locate in the same or different threads/processes

  10. Content u Introduction u Features of RPCexpress u Experiment setting u Experimental results u Future work

  11. Experiment environment � Host: � Intel Core i7-6700 processor � 3.4 GHz and 8 GB RAM � 64 bits Windows 7 � Virtual machine � Vmware � OS � Ubuntu 14

  12. Compared middlewares � ACE TAO � omniORB � e*ORB � ORBit � PRCexpress

  13. Experiment method � For each middleware � Create the same IDL interface � Generate the middleware-bound SVC/CLT related files � Implement the CLT and SVC � provide the same function, i.e., sending and receiving data sequence, according to the IDL interface � The SVC record the transfer delay

  14. Comparison metrics � Different data types � Delay � throughput � Predictability � Static footprint occupation � Shared/executable file size � IDL compiler-generated stubs/skeletons file size � Dynamic memory occupation � Physical memory size of the process

  15. Content u Introduction u Features of RPCexpress u Experiment setting u Experimental results u Future work

  16. Latency RPCexpress TAO omniORB e*ORB ORBit 160 152 140 120 100 100 Latency (in us) 80 60 60 55 52 51 50 50 44 43 40 34 26 25 22 22 21 21 21 21 18 18 17 17 17 16 15 20 14 13 11 10 10 7 6 6 5 0 128 512 1024 4096 8192 16384 32768 Data Size (in bytes) the calling latency of each middleware for the double type data sequence with different data lengths

  17. Latency RPCexpress TAO omniORB e*ORB ORBit 160 140 135 132 120 100 Latency (in us) 77 80 74 67 60 54 53 51 50 50 50 50 50 49 40 34 34 23 22 22 21 20 20 20 18 18 18 17 17 17 17 20 14 14 14 14 13 12 11 7 7 7 7 6 6 6 6 0 octet short long long long float double string Any complex_short Data Type the calling latency of each middleware for the 4k bytes data sequence with different data types

  18. Latency RPCexpress TAO omniORB e*ORB ORBit 160 140 120 100 Latency (in us) 80 60 40 20 0 octet short long long long float double string Any complex_short Data Type the calling latency of each middleware for the 4k bytes data sequence with different data types

  19. Predictability 200 177.5 180 160 140 Standard deviation 120 100 80 60 40 20 13.7 10.4 5.4 1.8 0 RPCexpress TAO omniORB e*ORB ORBit

  20. Throughput RPCexpress TAO omniORB e*ORB ORBit 3000 2521 2500 2000 Throughput (in Mbps) 1638 1560 1500 1311 1000 780 630 585 546 512 455 500 372 315 293 228 214 171 164 159 163 120 102 85 82 60 45 34 26 30 23 19 12 8 6 12 3 0 128 512 1024 4096 8192 16384 32768 Data Size (in bytes) the throughput of each middleware for the double type data sequence with different data lengths

  21. Throughput RPCexpress TAO omniORB e*ORB ORBit 800 683 683 683 683 700 585 585 585 585 600 Throughput (in Mbps) 500 372 400 341 315 293 293 293 293 300 241 241 241 241 228 228 228 205 205 205 189 183 178 179 200 120 117 84 82 82 80 82 82 82 77 76 100 61 55 53 30 31 0 octet short long long long float double string Any complex_short Data Type the throughput of each middleware for the 4k bytes data sequence with different data types

  22. Static Memory Size RPCexpress TAO omniORB e*ORB ORBit 7000 5913 6000 5029 Static memory size (in k bytes) 5000 3937 4000 3000 2000 1000 134 370 266 174 140 137 81 56 30 57 23 18 25 13 14 13 12 0 stub&skeleton shared library server client

  23. Dynamic Memory Size RPCexpress TAO omniORB e*ORB ORBit 250.0 222.2 200.0 Dynamic memory size (in k bypes) 158.4 150.0 100.0 83.2 68.4 50.0 30.8 19.3 20.1 8.0 2.7 2.7 0.0 Server Client

  24. Content u Introduction u Features of RPCexpress u Experiment setting u Experimental results u Future work

  25. Future work � Integrate with SCA-based SDR system � Test with SDR waveform, e.g., FM3TR � Extend to distributed systems � Further performance optimization � Extend to specific processors, e.g., DSP, FPGA

  26. Thanks

Recommend


More recommend