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

rpcexpress a try to implement an efficient middleware
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

RPCexpress: a try to implement an efficient middleware from the ground up based on requirements of embedded software defined systems

Qi Tang1,3, Jin Lian2,1,3, Li Zhou1,3, Shan Wang1,3, Haitao Zhao1,3, Jun Xiong1,3, Shengchun Huang1,3, Jibo Wei1,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

slide-2
SLIDE 2

Content

u Introduction u Features of RPCexpress u Experiment method u Experimental results u Future work

slide-3
SLIDE 3

Content

u Introduction u Features of RPCexpress u Experiment setting u Experimental results u Future work

slide-4
SLIDE 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

slide-5
SLIDE 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

slide-6
SLIDE 6

Middleware

"Middleware can be viewed as a reusable, expandable set

  • f 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+

  • bject request broker (ORB): ACE TAO, omniORB, e*ORB,

ORBexpress,ORBit Database ……

slide-7
SLIDE 7

Content

u Introduction u Features of RPCexpress u Experiment setting u Experimental results u Future work

slide-8
SLIDE 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

slide-9
SLIDE 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

slide-10
SLIDE 10

Content

u Introduction u Features of RPCexpress u Experiment setting u Experimental results u Future work

slide-11
SLIDE 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

slide-12
SLIDE 12

Compared middlewares

ACE TAO

  • mniORB

e*ORB ORBit PRCexpress

slide-13
SLIDE 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

slide-14
SLIDE 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

slide-15
SLIDE 15

Content

u Introduction u Features of RPCexpress u Experiment setting u Experimental results u Future work

slide-16
SLIDE 16

Latency

5 6 6 7 16 10 13 43 44 55 50 50 52 60 11 15 10 14 22 26 25 17 17 17 18 18 21 21 21 21 22 34 51 100 152 20 40 60 80 100 120 140 160 128 512 1024 4096 8192 16384 32768

Latency (in us) Data Size (in bytes)

RPCexpress TAO

  • mniORB

e*ORB ORBit

the calling latency of each middleware for the double type data sequence with different data lengths

slide-17
SLIDE 17

Latency

6 7 7 11 7 7 6 6 6 50 50 51 50 49 50 50 53 135 14 14 14 12 13 14 20 23 74 18 17 20 17 20 18 17 18 17 22 77 67 34 54 34 21 22 132 20 40 60 80 100 120 140 160

  • ctet

short long long long float double string Any complex_short

Latency (in us) Data Type

RPCexpress TAO

  • mniORB

e*ORB ORBit

the calling latency of each middleware for the 4k bytes data sequence with different data types

slide-18
SLIDE 18

Latency

20 40 60 80 100 120 140 160

  • ctet

short long long long float double string Any complex_short

Latency (in us) Data Type

RPCexpress TAO

  • mniORB

e*ORB ORBit

the calling latency of each middleware for the 4k bytes data sequence with different data types

slide-19
SLIDE 19

Predictability

1.8 13.7 5.4 10.4 177.5 20 40 60 80 100 120 140 160 180 200 RPCexpress TAO

  • mniORB

e*ORB ORBit

Standard deviation

slide-20
SLIDE 20

Throughput

26 85 171 585 512 1638 2521 3 12 19 82 164 315 546 12 34 102 293 372 630 1311 8 30 60 228 455 780 1560 6 23 45 120 159 163 214 500 1000 1500 2000 2500 3000 128 512 1024 4096 8192 16384 32768

Throughput (in Mbps) Data Size (in bytes)

RPCexpress TAO

  • mniORB

e*ORB ORBit

the throughput of each middleware for the double type data sequence with different data lengths

slide-21
SLIDE 21

Throughput

683 585 585 372 585 585 683 683 683 82 82 80 82 84 82 82 77 30 293 293 293 341 315 293 205 178 55 228 241 205 241 205 228 241 228 241 183 53 61 117 76 120 189 179 31 100 200 300 400 500 600 700 800

  • ctet

short long long long float double string Any complex_short

Throughput (in Mbps) Data Type

RPCexpress TAO

  • mniORB

e*ORB ORBit

the throughput of each middleware for the 4k bytes data sequence with different data types

slide-22
SLIDE 22

Static Memory Size

23 266 18 14 174 5913 140 134 56 5029 57 137 30 370 25 13 81 3937 13 12 1000 2000 3000 4000 5000 6000 7000 stub&skeleton shared library server client

Static memory size (in k bytes)

RPCexpress TAO

  • mniORB

e*ORB ORBit

slide-23
SLIDE 23

Dynamic Memory Size

2.7 2.7 222.2 158.4 19.3 30.8 20.1 8.0 68.4 83.2 0.0 50.0 100.0 150.0 200.0 250.0 Server Client

Dynamic memory size (in k bypes)

RPCexpress TAO

  • mniORB

e*ORB ORBit

slide-24
SLIDE 24

Content

u Introduction u Features of RPCexpress u Experiment setting u Experimental results u Future work

slide-25
SLIDE 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

slide-26
SLIDE 26

Thanks