OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

12
July 15, 2004 1 © 2004 General Dynamics. All Rights Reserved Dave Dohse and Eric Christensen [email protected] July 15, 2004 OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

Transcript of OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

Page 1: OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

July 15, 2004 1© 2004 General Dynamics. All Rights Reserved

Dave Dohse and Eric [email protected] 15, 2004

OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

Page 2: OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

July 15, 2004 2© 2004 General Dynamics. All Rights Reserved

Is CORBA Viable for an SDR?CORBA is part of the JTRS SCA standard Operating Environment (OE) for Software Defined Radios (SDRs)! Sometimes blamed for imposing

processing requirements as much as five times that of legacy radio applications

! Inefficiencies in reality result from �less than optimal� deployment

Existing Navy DMR is an SDR with CORBA and POSIX! Just 218 MIPS of combined Modem,

Controller and I/O processing in DSPsand GPPs for UHF SATCOM Waveform

! 20% of Vendor B projection for implementation

! If DMR were made SCA compliant, no projected increase in MIPS (CORBA and POSIX already present)**

MIPs Comparison for CORBA-based UHF SATCOM Waveform in an SDR

0200400600800

10001200

DM

R

DM

R +

SC

A 2

.2

Ven

dor B

SC

A 2

.2E

stim

ate*

Projected OverallModem DSPModem GPPI/O (Voice and Data)

* September 2003 Military Radios Conference

Operational SATCOM on a

DMR Radio

** Waveform application instantiation has potential to be slowerunder SCA because of Factory operations and XML parsing

Page 3: OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

July 15, 2004 3© 2004 General Dynamics. All Rights Reserved

Approaches to Optimizing CORBA

" Achieve optimized performance through judicious use of CORBA that preserves application portability and inter-ORB compatibility! Use of alternate data transports to TCP/IP optimized for embedded bus

architectures! Minimize CORBA marshaling! Use persistent connections and CORBA one-ways in the communication

datapath ! Avoids latencies for connection setup and blocking for pending

acknowledgements! No sacrifices for reliable message delivery that is more appropriately the

responsibility of the transport layer! RT CORBA policies that assure predictable performance

! Priorities, Mutexes, Threadpools

" The DMR radio supports 1000 connections and in excess of 500 threads for four simultaneously operating waveforms in a 233 MHzPPC750 processor

Page 4: OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

July 15, 2004 4© 2004 General Dynamics. All Rights Reserved

Incorporation of CORBA into an SDR-Based Application

Unpack+ Type Convert

DAQ TXIQ

Format-ter

AM Mod-ulator

Audio AGC

Half-Duplex Control

Flow Control Valve

Microphone

Encrypt Bypass

Audio Control

Push to Talk

(PTT)

Rate Convert + Pack

AM Squelch

Half-Duplex Control

CORBA

Transport

CORBA

Transport

Bus Bus

DAQ RXIQ

Format-ter

AM Demod-ulator

Type Convert + Pack

Decrypt Pass Thru

Unpack + Rate Convert

CODEC

Speaker

Modem Security Audio

Data path Control flow Communication layer flow

Page 5: OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

July 15, 2004 5© 2004 General Dynamics. All Rights Reserved

Efficient Application of CORBA to an SDR Begins with the Transport LayerUse of stack for local calls avoids marshalingUse pluggable transports instead of TCP/IP! Optimized for

embedded bus architectures (cPCI, LVDS)

! Extensible Transport Framework (ETF) provides common definition CORBA/Transport interface

LVDS Switched Fabric

cPCI Bus

“C++” ORB

GPP RTOS

GPP

POSIX

Waveform Application

Library Functions

Component D

Component E

cPCI StackLVDSTransport Layers

SNMP

GPS

TCP/IP

“C” ORB

DSP RTOS

DSP

POSIX

Waveform Application

Library Functions

Component A

Component B

cPCI StackLVDSTransport Layers

Filters

DSP Libs

Modulators

ErrorCorrect

IIOPN

on-R

T C

ontro

l

Rea

l-Tim

e D

ata

Non

-RT

Con

trol

Rea

l-Tim

e D

ata

Inte

rnal

Inte

rnal

Page 6: OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

July 15, 2004 6© 2004 General Dynamics. All Rights Reserved

Relation of CORBA Performance to Messaging CharacteristicsRange of performance depends upon how CORBA is used! Heavyweight messaging case

involves TCP/IP and marshaling with a C++ ORB

! Stages of savings introduced by switching to cPCI transport, �C� implementation, 1-way calls and invocation on the stack

! RTOS task dispatch latency is shown for baseline comparison

1

10

100

1000

10000

100000

1 10 100 1000 10000

Data Size (Bytes)

Thro

ughp

ut (K

Byt

es/S

ec)

RTOS task dispatch (interrupt service + context switch) �e*ORB CE (local call) *e*ORB CE (1-way, custom cPCI) *e*ORB CE (2-way, custom cPCI) *Representative C++ ORB (2-way, TCP) �

* e*ORB CE measurements taken on DMR w ith 233 MHz PPC and cPCI � Representative C++ ORB normalized from 933 MHz to 233 MHz [3]� RTOS task dispatch for Green Hills Integrity on 233 MHz PPC [4]

Page 7: OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

July 15, 2004 7© 2004 General Dynamics. All Rights Reserved

Relation of CORBA Performance to Communication Messaging (2)Examination of relative latency contributions offers insight to greatest opportunities for optimization! 83% of the processing is

attributed to excess TCP/IP overhead and �C� vs. C++ efficiencies�

! 9% 2-way callback vs 1-way overhead �

! 7% for marshaling and non-TCP/IP transport

0.2%

0.6%7.4%

9.1%

83%

RTOS task dispatch (206 instruction cycles)(interrupt service + context switch)

CORBA local call determination (556)(e*ORB CE Local Call - RTOS task dispatch)

CORBA marshaling and custom transport (6,890)(e*ORB CE 1-way - e*ORB CE local call)

CORBA 2-way ack (8,427)e*ORB CE 2-way - e*ORB CE 1-way

TCP/IP and C++ overhead (76,424)(C++ ORB - e*ORB CE 2-way)

* Latency (instruction cycles) = Processor Rate (MHz) * Data Size (bytes)/Throughput (Kbytes/Sec) w here Processor Rate = 233 MHz and Data Size is either 30, 32 or 40 consistent w ith available measurements

� Derived by subtracting all other latency contributions from the overall latency of a C++ and TCP/IP-based 2-way call� Data represents best-case number if blocking is not propagated beyond the first servant in a processing chain

Page 8: OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

July 15, 2004 8© 2004 General Dynamics. All Rights Reserved

Impact of Cascaded Blocking in 2-Way

1-way SYNC_WITH_TRANSPORT scope ! Client �blocks� until transport layer

acknowledgement #$! Nearly the same effect as SYNC_NONE

scope with sliding window transport with window = 1

! Latency = �X� msecs (connection setup, marshaling, transport latency)

2-way SYNC_WITH_TARGET scope ! Client �blocks� until Target has completed

execution at all servants % � the diagram illustrates blocking propagated across 3 servants

! Transport acknowledgements do not propagate to client

! Latency = 3 degrees of propagation * (X + α) msecs where �X� is the 1-way SYNC_WITH_TRANSPORT latency, �α� is additional servant processing including marshaling of response parameters

X m

secs 1

23A

3B4 5

A B C D

1

2

3B3A

4 5

A B C

TransportCORBA

ApplicationsBus

~ 3(

X +

α) m

secs 1

2 34

9 810

5

A B C DA B C

1

23

45

8

109

TransportCORBA

ApplicationsBus

A B C

Page 9: OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

July 15, 2004 9© 2004 General Dynamics. All Rights Reserved

Elements of Real-Time CORBA Assure Deterministic SDR Operation" Priority Mappings [CORBA 24.12]

! Normalizes priority of clients across RTOS�s to insure against priority inversion

" Mutex Interface [CORBA 24.16]! Extends RTOS Mutex protections to CORBA as a means of

locking access to CORBA implementations (e.g., memory)" Threadpools [CORBA 24.17]

! Processing �lanes� (collections of execution threads) providing protection from encroachment by other threadpools

" PrivateConnectionPolicy [CORBA 24.20]! Allows the establishment of dedicated transport connections

" Invocation Timeout [CORBA 24.21]! Provides a uniform method of specifying timeouts relative to

connection failures and delays prior to attempting renewal of connections

Page 10: OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

July 15, 2004 10© 2004 General Dynamics. All Rights Reserved

Is Fault Tolerant CORBA Suitable for an SDR?

Radio B

Radio A

Primary Objects

Replicated Objects

Other Objects

Replicant Groups

Primary Msgs

Secondary Msgs

Processors

High availability is desirable in SDRs! CORBA failover mechanisms offer an

opportunity to increase availability! 3 possible approaches

! Integrated within ORB! CORBA Service! Transparent Interceptor

Concerns! Overhead of Multicast protocols (e.g.,

Totem) may be too great! Can replicants sufficiently track

primary objects (e.g., info hidden by local invocations)?

Page 11: OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

July 15, 2004 11© 2004 General Dynamics. All Rights Reserved

Conclusions

"When not used efficiently, CORBA can become a burden to an SDR

"Key to the effective use of CORBA in an SDR is the blending of minimum CORBA with optimized Transport layers, Pre-connects and Real-Time processing mechanisms

"General Dynamics has demonstrated that CORBA can be effectively applied to a production SDR

Page 12: OPTIMIZED CORBA TO MEET SDR REQUIREMENTS

July 15, 2004 12© 2004 General Dynamics. All Rights Reserved

[1] Tim Snodgrass, “Operating System and CORBA Implications in SCA Compliant Software Defined Radio”, Military Radios Conference, Arlington, VA, September 16, 2003.

[2] Dave Dohse, Lynn Bush, Greg Osborn, and Eric Christensen, “Successfully Introducing CORBA Into the Signal Processing Chain of a Software Defined Radio”, COTS Journal, January 2003, http://www.cotsjournalonline.com/pdfs/2003/01/COTS01_softside.pdf

[3] Gautam H. Thaker, Lockheed Martin Advanced Technology Labs, “RT OS and ORB Communications Tests – TAO 1.2”, November 16, 2001, http://www.atl.external.lmco.com/projects/QoS/orb/TAO/results/results_misty_to_misty/tao1.2_linux_single.html.

[4] Brian Doherty, Green Hills Software, “Determining Worst-Case RTOS Response Time”, RTC Magazine, October 2003, http://www.rtcgroup.com/rtcmagazine/pdfs/2003/10/software&dev1.pdf

[5] P. Narasimhan, L. E. Moser, P. M. Melliar-Smith, Department of Electrical and Computer Engineering University of California Santa Barbara, “The Interception Approach to Reliable Distributed CORBA Objects”, Proceedings of the Third USENIX Conference on OO Technologies and Systems, June 1997, http://www.usenix.org/publications/library/proceedings/coots97/full_papers/panel.narasimhan/narasimhan.pdf

References