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