Waveform Application Development Process for Software Defined

advertisement
SUCCESSFULLY INTRODUCING CORBA
INTO THE SIGNAL PROCESSING CHAIN OF
A SOFTWARE-DEFINED RADIO
Dave Dohse
dave.dohse@gd-decisionsystems.com
(480) 441-2310
G E N E R A L
D Y N A M
IC S
D ecision System s
July 16, 2002
1
Application of CORBA within an SDR
CORBA is the engine for Software-Defined Radio (SDR) Flexibility
• As demonstrated in development of the Navy’s Digital
Modular Radio (DMR), CORBA facilitates:
➤ Redeployment of objects to a variety of processing resources
including simulation environments
➤ Routing of communications from an object to other known
objects on any other processing resource
➤ Quick creation of applications via modification of high-level
application topology scripts to specify a new connectivity for
objects
■ this capability enabled creation of a radio simulcast
capability within a matter of hours for an Open System
Architecture (OSA) evaluation of DMR
➤ Real-Time mechanisms for the deterministic operation
necessary within an SDR
➤ Datapath reconfigurability for loopback, repeating, bridging
July 16, 2002
Copyright © 2002 General Dynamics
2
1
A typical SDR environment
Processing assets are tailored to meet the requirements of Radio
Applications
Hard
Drive
Ethernet
NT
GPP
5DGLR
+0,
0JPW
Tx
FPGA
GPP
MicroController
5)
cPCI
Custom
Processor
DSP
DSP
Rx
cPCI
GPP
GPP
FPGA DSP
DSP
0RGHP
Sampled/Control Fabric
GPP
GPP
,2
6HFXULW\
0RGXOH
0RGXOH
,2
0RGXOH
Switched Data Fabric
Switched Data Fabric
July 16, 2002
3
Radio Application Instantiation Process
Virtual hardware abstraction facilitates flexible assignment of
waveform software components to processing assets.
Application Object
Specifications
Application
Objects
Software-to-Hardware
Mapping Specification
Software
Topology
Specification
Virtual Hardware
Specifications
Virtual Hardware
Topology
Specification
Load Objects
onto target hardware
Virtual
Hardware
Abstraction
Layer
Map Virtual Hardware
to real hardware
KEY:
Application
Object
Libraries
Virtual Application
Objects
Instantiated
Application Objects
Available Hardware
Resources
Allocated Hardware
Resources
Static Specifications
Hardware Allocation
Object Creation
6WDJ
WDJHH 6WDJ
WDJHH 6WDJ
WDJHH Physical
Hardware
Application Startup
6WDJ
WDJHH July 16, 2002
Copyright © 2002 General Dynamics
4
2
Pluggable Transport Alternatives to TCP/IP
Addressing schemes and aliasing provide a means for dictating
client/server transport mechanisms and segregating control/data.
Waveform
Application
Library
Functions
DSP Libs
Error
Correct
Filters
Modulators
Component A
Component B
Waveform
Application
SNMP
Component D
GPS
Component E
,,23
“C” ORB
Library
Functions
TCP/IP
“C++” ORB
POSIX
POSIX
DSP
Internal
DSP
RTOS
Real-Time Data
Non-RT Control
cPCI LVDS Stack
Transport Layers
Internal
Real-Time Data
Non-RT Control
cPCI LVDS Stack
Transport Layers
GPP
RTOS
GPP
F3&, %XV
/9'6 6ZLWFKHG )DEULF
July 16, 2002
5
CORBA Real-Time Policy Extensions
Deterministic operation is made possible through time-out and
priority mechanisms not available in standard CORBA.
• 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
July 16, 2002
Copyright © 2002 General Dynamics
6
3
SDR Bridging via CORBA
CORBA enables the dynamic reconfiguration of SDR datapaths
necessary for “true” bridging of Radio Applications.
c
d
DAQ
Rx
i
DAQ
Tx
DAQ
Rx
DAQ
Tx
DAQ
Tx
d e
IQ
Formatter
Rx
IQ
Formatter
Rx
IQ
Formatter
Tx
IQ
Formatter
Tx
DAQ
Tx
DAQ
Rx
AM
Demod
Rx
FM
Demod
Rx
f
c
IQ
Formatter
Tx
.H\
f
AM
Modulator
Tx
FM
Modulator
Tx
DAQ
Rx
DAQ
Rx
MUX
FM
Modulator
Tx
Stage 2:
CORBA propogates flow
control from “DAQ Rx” through
the data chains to stop data
CORBA
Controller
Object
Channel
Controller
MUX
h
MUX
AM
Modulator
Tx
AM
Demod
Rx
FM
Demod
Rx
Channel
Controller
i h g
j
IQ
Formatter
Tx
e
IQ
Formatter
Rx
DAQ
Rx
j
IQ
Formatter
Rx
DAQ
Tx
DAQ
Tx
g
AM
CORBA
Object
FM
CORBA
Object
c
Sample Path
MUX
Step Order
Stage 1:
Operational AM and FM Communications
Channels in a Repeating configuration to
boost signal range
d e
IQ
Formatter
Rx
IQ
Formatter
Rx
IQ
Formatter
Tx
FM
Demod
Rx
i h
IQ
Formatter
Tx
AM
Demod
Rx
c
c
f
DAQ
Rx
Channel
Controller
DAQ
Rx
MUX
AM
Modulator
Tx
FM
Modulator
Tx
MUX
d e
IQ
Formatter
Rx
IQ
Formatter
Rx
IQ
Formatter
Tx
DAQ
Tx
j i h
g j
DAQ
Tx
Stage 3:
CORBA connections are
reconfigured for AM/FM bridged
communications
IQ
Formatter
Tx
AM
Demod
Rx
FM
Demod
Rx
f
Channel
Controller
MUX
MUX
AM
Modulator
Tx
g
FM
Modulator
Tx
Stage 4:
Operational AM to FM
bridged communications
July 16, 2002
7
147,087
High-performance “C” ORB
GD Custom "C" ORB
• 40 MHz Sharc DSP, Liberty OS over a cPCI bus
• ORB is characterized by use of Custom Transport and
Pre-connects which minimize overhead.
Commercial C++ ORB
• 266 MHz Pentium GPP over a PC-104 Bus
• C++ language (vs. “C”) and Full CORBA spec compliance
support for Dynamic Invocation introduce greater
overhead vs. a Minimum CORBA “C” ORB
Local Call - occurs on the processor stack
Remote Call - involves marshalling & data
transmission across bus using transport layer
ORB
Message Bytes
Type
Instruction Cycles
Demonstrated superior performance affords the
flexibility of CORBA without unnecessary overhead.
CORBA Transport Speed Instruction
Latency
Latency
(MHz)
Cycles
(µs)
(µs)
Local
40
8.3
0
40
332
GD custom "C" ORB
Remote
20
60
54
40
4,567
Local
256
9
0
266
2,394
†
Commercial C++ ORB
Remote
32
553
471
266
147,087
†
Source: "CORBA Delays in a Software-Defined Radio" IEEE Communications Magazine,
February 2002. Distributed Commercial C++ ORB Remote latency as 46% Transport, 54%
ORB per "Real-Time CORBA Trade Study", 1/10/2000 Boeing Corporation Phantom Works,
doc. nos. D204-31159-1–5; http://ois.com/technical/rt_diicoe/release.html.
20K
15K
10K
2394
5K
4567
332
0
Local
Call
Remote
Call
Key “C” ORB Advantages:
• Custom Transport over cPCI
bus using Shared Memory vs. IP
• Pre-connects used to establish
persistent transport connections
when objects are created.
July 16, 2002
Copyright © 2002 General Dynamics
8
4
CORBA Myths
• Myth #1: CORBA footprint starves DSPs
of critical memory resources
➤ Fact: A Minimum CORBA Compliant “C” ORB can be optimized
to use only 75KB of external DSP memory
➤ Fact: Internal DSP memory and remaining external memory is
available for user applications – e.g., on a TI C5510 DSP, that
leaves all 320KB of internal memory and most of the 8MB of
addressable external memory
• Myth #2: CORBA runtime overhead heavily taxes realtime processing budgets
➤ Fact: Taking advantage of alternative transports to TCP/IP and
setting up persistent connections for datapath operations
removes the bulk of overhead typically attributed to “CORBA”
➤ Fact: CORBA communications occurring on a 40 MIP DSP
processor stack were measured at 8.3 microseconds and over
cPCI bus (1.6K Bytes) required 80 microseconds
July 16, 2002
9
CORBA Myths (cont’d)
• Myth #3: CORBA is not appropriate
for a non-Object Oriented languages like "C”
➤ Fact: It is possible to introduce inheritance
mechanisms for “C” via CORBA and provide the user
with a level of control over realization of inherited
operations (e.g., copies or shared implementations)
• Myth #4: Flexibility offered by CORBA is
unnecessary for an embedded SDR environment
➤ Fact: CORBA provides fault tolerant mechanisms
which facilitate failover to secondary objects
➤ Fact: CORBA provides a means of dynamically
switching an SDR datapath to bridge communications
July 16, 2002
Copyright © 2002 General Dynamics
10
5
Conclusion
• CORBA provides SDRs with the means for
adapting to a wide range of processing
assets
• 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
• The Digital Modular Radio (DMR) demonstrates that
CORBA can be effectively applied to an SDR
➤ The DMR is currently in limited production,
➤ The DMR is successfully executing during independent Navy
shipboard Technical Evaluation
➤ The DMR SATCOM waveform is nearing successful completion of
US Government Joint Interoperability Test Command (JTIC)
certification
July 16, 2002
11
References
[1]
[2]
[3]
[4]
Irfan Pyarali, Carlos O’Ryan, Douglas Schmidt, Aniruddha Gokhale, Nanbor Wang, and Vishal
Kachroo, “Applying Optimization Principle Patterns to Real-time ORBs”, 5th USENIX
Conference on OO Technologies and Systems (COOTS ’99), San Diego, CA, May 1999.
Object Management Group, The Common Object Request Broker: Architecture and Specification,
Revision 2.4.2, February 2001
John Bertrand, John W. Cruz, Bryan Majkrzak, Thomas Rossano - ITT
Aerospace/Communications, "CORBA Delays in a Software-Defined Radio" IEEE
Communications Magazine, February 2002.
Jeffrey H. Reed, Software Radio: A Modern Approach to Radio Engineering, Prentice Hall PTR,
2002.
July 16, 2002
Copyright © 2002 General Dynamics
12
6
Download