OPTIMIZED CORBA TO MEET SDR REQUIREMENTS
Transcript of OPTIMIZED CORBA TO MEET SDR REQUIREMENTS
![Page 1: OPTIMIZED CORBA TO MEET SDR REQUIREMENTS](https://reader034.fdocuments.in/reader034/viewer/2022042421/625f9433f147c95a2252e4c6/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042421/625f9433f147c95a2252e4c6/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042421/625f9433f147c95a2252e4c6/html5/thumbnails/3.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042421/625f9433f147c95a2252e4c6/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042421/625f9433f147c95a2252e4c6/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042421/625f9433f147c95a2252e4c6/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042421/625f9433f147c95a2252e4c6/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042421/625f9433f147c95a2252e4c6/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042421/625f9433f147c95a2252e4c6/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042421/625f9433f147c95a2252e4c6/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042421/625f9433f147c95a2252e4c6/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022042421/625f9433f147c95a2252e4c6/html5/thumbnails/12.jpg)
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