CORBA for DSP & FPGA synthesizing an SCA machine. Andrew Foster Middleware Product Manager PrismTech Corporation

Similar documents
The Software Communications Architecture (SCA) and FPGAs Meeting the challenges of integrating FPGA application components using the SCA

Utilizing the Latest IP Technology for FPGAs to Achieve SDR Architectural Consistency

Component-Based support for FPGA and DSP

Component-based Engineering for Embedded Systems USA EU workshop

Component-Based Support for FPGAs and DSPs in Software Defined Radio. Mark Hermeling

Design of Portable Waveform SW Applications

OMG SBC. Software Radio Cooperative Research Project (SRCRP) Jimmie Marks Roy Bell. March 8, 2006

Integrated Circuit ORB (ICO) White Paper V1.1

The Future of Software Radio MDD Tools. Dom Paniscotti Bruce Trask

A Performance Modeling and Simulation Approach to Software Defined Radio

SOFTWARE COMMUNICATIONS ARCHITECTURE SPECIFICATION APPENDIX A: GLOSSARY

EXPERIENCE REPORT ON THE USE OF CORBA AS THE SOLE MIDDLEWARE SOLUTION IN SCA-BASED SDR ENVIRONMENTS

USE OF NOVEL POWER CONTROL MECHANISMS IN AN SCA WAVEFORM AND PLATFORM

High Data Rate Fully Flexible SDR Modem

DESIGN AND IMPLEMENTATION OF AN SCA CORE FRAMEWORK FOR A DSP PLATFORM

SOFTWARE COMMUNICATIONS ARCHITECTURE SPECIFICATION VERSION 4.1 FEATURES AND BENEFITS

MyCCM. A Component Based Approach for Real-Time & Critical Systems. Olivier Hachet Thales Communications

The Robot Software Communications Architecture (RSCA): QoS-Aware Middleware for Networked Service Robots

SOFTWARE COMMUNICATIONS ARCHITECTURE SPECIFICATION APPENDIX A: GLOSSARY

CORBA Across Embedded Devices

Success Oriented Ground and Space Software Defined Architectures

Design and Implementation of an Efficient Software Communications Architecture Core Framework for a Digital Signal Processors Platform

The Application of SystemC to the Design and Implementation of a High Data Rate Satellite Transceiver

Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java

Session 4 - Commercial SDR. Wednesday 13:30 15:30

DISTRIBUTION STATEMENT A. Approved for public release: distribution is unlimited. (10 OCT 2018)

UNCLASSIFIED. DISTRIBUTION STATEMENT A. Approved for public release: distribution unlimited. (15 May 2018)

CanSCA4.1ReplaceSTRSinSpace Applications?

Request for Comment on CORBA Profile for SCA Next. Document WINNF-10-RFI-0002

Spectra IP Core Orb Version 2.3. User Guide

SCA for the Above 2 GHz Waveforms. Cameron Littke Gregg Lind. Slide 1 Copyright 2004 Rockwell Collins Inc. All Rights Reserved

OMG SBC Workshop: Realizing the Vision. SCA Evolution and Standardization Presented by: Jerry Bickle Date: March 7 th 2007

CORBA (Common Object Request Broker Architecture)

Model Driven Architecture and Rhapsody

SDR Forum Technical Conference 2007

Hardware in the Loop Functional Verification Methodology

A. Foster S. Aslam-Mir

MARSHALLING IN DISTRIBUTED SYSTEMS: TWO APPROACHES

NordiaSoft SCA Architect 2016

SDRF-03-A-0005-V0.0. Software Defined Radio Forum. API Position Paper. System Interface Working Group. Document Number: SDRF-03-A-0005-V0.

Tools & Techniques for Deployment & Configuration of QoS- enabled Component Applications

Code Generation for SCA Components. Mark Hermeling

The C Language Mapping Does it meet the needs of Embedded Real-time Applications?

SBC Workshop Applying MDA to SDR for Space to Model Real-Time Issues

Object Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems

Seamless Dynamic Runtime Reconfiguration in a Software-Defined Radio

System Level Design with IBM PowerPC Models

The Design and Performance of a Pluggable Protocols Framework for Real-time Distributed Object Computing Middleware

Building High-Assurance Systems out of Software Components of Lesser Assurance Using Middleware Security Gateways

Hardware-Software Codesign. 1. Introduction

Joint Tactical Networking Center Standard Modem Hardware Abstraction Layer Application Program Interface

Model-Driven QoS Provisioning Techniques for CCM DRE Systems

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

Green Hills Software, Inc.

ANSAwise - CORBA Interoperability

Reliable UDP (RDP) Transport for CORBA

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems

Change Proposal to Draft SCA Next CORBA Profiles for Harmonization with ESSOR Architecture

DS 2009: middleware. David Evans

Software Defined Modem A commercial platform for wireless handsets

Connecting ESRI to Anything: EAI Solutions

Service Mesh and Microservices Networking

The Object Model Overview. Contents. Section Title

Bringing it all together: The challenge in delivering a complete graphics system architecture. Chris Porthouse

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

From MDD back to basic: Building DRE systems

Choosing an Intellectual Property Core

DEVELOPMENT OF A SCA 3.1 COMPLIANT W-CDMA WAVEFORM ON DSP/FPGA SPECIALIZED HARDWARE

Keys to Success in Model- Based Design

A QoS-aware CCM for DRE System Development

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

The Need for Speed: Understanding design factors that make multicore parallel simulations efficient

Java For Real-Time Enterprise Systems Delivering the Benefits of Java to the world of Real-Time distributed object computing

SOFTWARE COMMUNICATIONS ARCHITECTURE SPECIFICATION 4.0 USER'S GUIDE

UNIT 4 CORBA 4/2/2013 Middleware 59

EXPERIENCE REPORT: RAPID MODEL-DRIVEN WAVEFORM DEVELOPMENT WITH UML

Applying MDA to Constrained Environments

The Robot Software Communications Architecture (RSCA): Embedded Middleware for Networked Service Robots

Software Communications Architecture

Semantics-Based Integration of Embedded Systems Models

IIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol

Model-based Middleware for Embedded Systems

Data Model Considerations for Radar Systems

Can SCA 4.1 Replace STRS in Space Applications?

AQUILA. Project Defense. Sandeep Misra. (IST ) Development of C++ Client for a Java QoS API based on CORBA

Hardware-Software Codesign. 1. Introduction

Data Flow Oriented Software Design in a FACE Architecture

A Concept for Waveform Description based SDR Implementation

RFNoC : RF Network on Chip Martin Braun, Jonathon Pendlum GNU Radio Conference 2015

Bionic Buffalo Tech Note #23: The France IDL Compiler: C Language Mapping

APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS

White Paper: Delivering Enterprise Web Applications on the Curl Platform

CERDEC C4ISR/EW Hardware/Software Convergence

Making the Most of your MATLAB Models to Improve Verification

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink

Experience Report on Implementing and Applying a Standard Real- Time Embedded Component Platform Gregory Haik gregory.haik [at] fr.thalesgroup.

Open Verification Methodology (OVM)

Interoperable Software Radio Project. The desires and concerns of software defined radio implementations

Transcription:

CORBA for DSP & FPGA synthesizing an SCA machine Andrew Foster Middleware Product Manager PrismTech Corporation

Agenda. Key challenges in the SDR domain 2. Optimised middleware for SDR 3. Standardizing the signal processing chain! Middleware support for DSP & FPGA 4. Addressing SDR accidental complexities 5. PrismTech approach to waveform portability 6. Conclusions Slide 2 Copyright PrismTech 24

The Challenges! Build a better JTRS radio than previous legacy set! Change radio engineers focus from a first generation software integration problem into one that is focussed on optimising the radio and achieving the original SCA goals! SDR infrastructure and in particular the middleware will have to be improved for the following reasons:! Enable the radio to be much more highly optimised - smaller latencies, lower MIPS overhead, reduced power consumption, all of these enabling longer running, less power hungry smaller form factor sets! Concerns about heavy weight middleware and SCA infrastructure are inhibiting the take up of an Open architecture SDR standard in the commercial space! More highly optimised middleware will facilitate the adoption of CORBA running across the radios signal process chain, including DSP and FPGA architectures! Improve waveform portability current waveforms are not very portable. Key to improving waveforms portability :! Better tools for building waveforms! Greater standardization of the software interfaces that integrate the signal processing chain Slide 3 Copyright PrismTech 24

Optimized Middleware for SDR. Optimization considerations for soft radio designer 2. Anatomy of the GIOP protocol 3. High performance IDL 4. CDR streams and IDL Slide 4 Copyright PrismTech 24

CORBA & GIOP Optimisation considerations for soft-radio designer! Use of CORBA Anys! Use of Anys vs Unions! Use of CORBA structs typecode concerns! Efficient layout of CORBA structs! Naming methods in CORBA interfaces (GIOP)! Naming objects in the server (OIDs)! Use of Custom Transports Slide 5 Copyright PrismTech 24

CORBA & GIOP Anatomy of GIOP!CORBA IDL interface interface I { void f( ); }; Slide 6 Copyright PrismTech 24

Example use of CORBA & GIOP CORBA Request wire traffic for that simple call void f(void) x47, x49, x4f, x5, // 'G' 'I' 'O' 'P' x, x, // GIOP version '' '' x, // flags x, // msg type (one of 8 ) x28, x, x, x, // msg size /* RequestHeader */ x, x, x, x, // svc context x, x, x, x, // request id x, // response_expected x, x, x, // padding x9, x, x, x, // object key size x, x, x, x, x, // object key body x, x, x, x, x4, x3, x, // padding x, x, x, x2, // operation name size x66, x, // operation name ('f' \') x, x, // padding x, x, x, x // principal mips Slide 7 Copyright PrismTech 24

CORBA & GIOP High Performance IDL - Super optimized marshalling intelligently e.g. IDL structure that yields inefficient CDR layout. " Padding required to align data per CDR rules struct S { boolean T; long U; char V; double W; }; -- same CDR layout as -- void Func(in boolean T, in long U, in char V, in double W); T U V W CDR Padding 2 3 4 5 6 7 8 9 Padding 2 3 4 5 6 7 8 9 2 2 2 2 2 3 Slide 8 Copyright PrismTech 24

CORBA & GIOP CDR streams IDL structure organization that yields optimal CDR layout. " Structure elements rearranged to eliminate need for padding. struct S { double W; long U; boolean T; char V; }; -- same CDR layout as -- void Func(in double W, in long U, in boolean T, in char V); W U T V CDR 2 3 4 5 6 7 8 9 2 3 Slide 9 Copyright PrismTech 24

CORBA & GIOP Non optimized allocation and copying of a sequence of structs " Memory allocation and copying required normally inefficient use of ORB struct S { long A; short B; long C; }; Incoming CDR Sequence Object max length release (true) value typedef sequence <S> SS; A B C Copy/Swap Copy/Swap A Copy/Swap B Copy/Swap Copy/Swap C Copy/Swap Allocated Memory A B C A B C Padding Slide Copyright PrismTech 24 Padding

CORBA & GIOP Optimized reference to the CDR buffer of a sequence of structs " To a avoid a costly allocation and copy, the rules for alignment, padding and endianness of the compiler and processor must all match the corresponding attributes for the OMG standard CDR rules. " Fortunately, these rules often do match and the optimization can be applied. struct S { long A; short B; long C; }; typedef sequence <S> SS; Sequence Object max length release (false) value A B C A B C Incoming CDR Slide Copyright PrismTech 24

CORBA & GIOP CORBA in the real-time payload chain " Operation name TFM is optimal for the wire three characters plus the null termination character fit nicely into a single DWord of the CDR stream. IDL: void oneway TFM(in DataSeq Data, in ControlSeq Control); Implementation Pseudo-code: void TFM(DataSeq Data, ControlSeq Control) { // Perform transformation on Data either in-place or new copy TransformedData = Transform(Data); } pnext -> TFM(TransformedData, Control) signal processing chain. Transformation Object TFM Transformation Object TFM Transformation Object T F M \ Operation Name DataSeq Slide 2 Copyright PrismTech 24 ControlSeq

CORBA in the real-time payload chain CORBA & GIOP " Operation name TFM is optimal for the wire three characters plus the null termination character fit nicely into a single DWord of the CDR stream. IDL: void oneway TFM(in DataSeq Data, in ControlSeq Control); Implementation Pseudo-code: void TFM(DataSeq Data, ControlSeq Control) { // Perform transformation on Data either in-place or new copy TransformedData = Transform(Data); } pnext -> TFM(TransformedData, Control) signal processing chain. Transformation Object TFM Transformation Object TFM Transformation Object GPP DSP Slide 3 Copyright PrismTech 24

An SCA 3. Waveform Model CONTROL VECTORS INPUTS VECTORS OUTPUT VECTORS Proposed standard interfaces Any waveform can be modelled as SCA suggests described in IDL proposed lightweight CORBA interfaces. Mod/De ulators 2. En/De coders 3. Mux/Demux 4. Up/down sampler/ Decimators etc 5. Note control inputs to these blocks are also shown 6. Note No hardware mapping is shown only canonical waveform described in terms of its signal processing chain and mathematical operations Slide 4 Copyright PrismTech 24

Physical Hardware Mapping SCA Core Framework and supporting OE specific particular implementation Mapping to this particular physical modem hardware architecture Physical Modem GPPs DSPs FPGAs Slide 5 Copyright PrismTech 24

Idealized Device Model Pure canonical signal processing chain of SDR device Core Framework POSIX GPP COTS board transport fabric/rapidio..etc POSIX DSP & FPGA MODEM Slide 6 Copyright PrismTech 24

DSP Device Models Signal processing chain of SDR device adapters Core Framework ORB RTOS GPP COTS board POSIX transport fabric/rapidio..etc HAL/MHAL RTOS DSP MODEM Slide 7 Copyright PrismTech 24

DSP Device Models Signal processing chain of SDR device adapters Core Framework ORB RTOS GPP COTS board POSIX transport fabric/rapidio..etc HAL DSP MODEM Slide 8 Copyright PrismTech 24

FPGA Device Models Pure canonical signal processing chain of SDR device Core Framework CORBA ORB RTOS GPP COTS board POSIX Switch fabric/rapidio..etc Core Framework CORBA ORB RTOS DSP MODEM POSIX Slide 9 Copyright PrismTech 24

FPGA Device Models Pure canonical signal processing chain of SDR device Core Framework POSIX Core Framework CORBA ORB POSIX CORBA ORB RTOS FPGA RTOS adjacent GPP core Softcore FPGA Board Board Switch fabric/rapidio..etc Slide 2 Copyright PrismTech 24

SCA 3. Device Model Waveform Core Framework CORBA HAL-C HAL-C Transport HAL-C POSIX RTOS FPGA Transport DSP GPP & DSP GPPProcessors Slide 2 Copyright PrismTech 24

PrismTech Proposed Device Model SCA Machine Waveform Core Framework CORBA SCA Machine HAL GIOP Message Bus RTOS POSIX FPGA DSP GPP & DSP GPPProcessors Standardized CORBA interfaces enabling SCA machine Slide 22 Copyright PrismTech 24

Why Do We Think It s Possible?!Use of a low MIPS consuming CORBA implementation makes possible use of CORBA in places that were forbidden to ORBs before!the SCA machine idea is in keeping with the OMGs model of a canonical soft-radio device using the notion of PIM and PSMs Slide 23 Copyright PrismTech 24

Future Benefits! Waveform portability radically improved! Waveform independence from underlying physical radio topology! Easier to achieve SCA compliance overall! Some degree of independence from waveform language of implementation! Greater flexibility to optimize and relocate tasks between the different processor cores underlying.! Greater capability to more flexibly use the shared resource model proposed by Mercury re: Mike Kosmicki at the SCA layers.! Increased developer productivity as strict enforcement of the use of SCA interfaces only everywhere in the radio! Will facilitate easier integration with next generation modelling tools providing vastly levels of automatic code generation! Will allow middleware vendors such as PrismTech to supply much of this technology as COTS! No need for developers to write custom non portable codecs in order to support underlying HALs GIOP used everywhere! Slide 24 Copyright PrismTech 24

SDR Accidental Complexities! Frederick Brooks identified in his article No Silver Bullet! Systems contain inherent and accidental complexities! Inherent Complexities! Those found within the problem domain itself! eg. Modulation, Demodulation, FEC, QoS,! Accidental Complexities! Those accompanying the production of software but can be eliminated! SDR Framework Complexity! Large number of interfaces! Difficult to understand how they work together! Complex implementation technologies (C++, XML, CORBA) Slide 25 Copyright PrismTech 24

SDR Accidental Complexities!Accidental Complexities (continued)!tight coupling to particular vendors/technologies/hardware!rediscovery and reinvention of SDR component design techniques and pattern languages!lack of support for re-usability!excessive low level details!e.g. what exceptions to throw under what conditions!tight coupling between operating elements!ie. portability of the implementation!lack of tools Slide 26 Copyright PrismTech 24

Eliminating Accidental Complexities!Elimination of the accidental complexities allows developers to focus on the inherent complexities i.e. on the radio and waveform and not on CORBA and C++!We need to address these accidental complexities by leveraging:! Techniques! Tools! Turnkey solutions! Significantly greater degrees of training Slide 27 Copyright PrismTech 24

Techniques! Separation of Responsibilities and Concerns! SDR Frameworks purposely separate interfaces!allowing waveform development to proceed in parallel to radio platform development!domain Analysis! Identify commonalities and variabilities of a domain! Provide re-usable solutions for common aspects! Provide hooks to allow seamless integration of variabilities!support development in the Problem Space vs. the Solution Space! Domain Specific Modeling! Domain Specific Programming Slide 28 Copyright PrismTech 24

Benefits of Separation!SDR users can identify the correct aspect to support their role! Waveform Developers! Radio Platform Developers! Radio Service Developers! Testing and Integration is eased! As coupling is significantly decreased! When separation is not clearly established! Users arbitrarily couple the aspects and confuse their roles! They over-emphasize of one aspect over another! And here s an example Slide 29 Copyright PrismTech 24

Over-emphasis On Radio Platform Development!Many organizations overly concerned themselves with radio platform development (ie. Core Frameworks)! WF developers arbitrarily create a dependency between having a framework and getting started with development!wf development can be more complex than radio platform development! As the waveform themselves are very complex! And development needs to start early!even when organizations start WF development early they provide little to no support for WF developers! No waveform development tools! No waveform testing support! The integration of waveform and platform that follows may require a some amount of code modification. Slide 3 Copyright PrismTech 24

PrismTech Approach To Waveform Portability! Increase overall SDR development productivity via! Graphical development tools! Automatic code generation! High performance middleware! Intuitive SCA Core Framework Technologies (SCA on DSP and FPGA direct)! Increased developer training and mentoring to promote awareness of the issues in SDR just like the early days of OO and C++ - we need more awareness campaigns!protect past customer investments! Support/maintenance for existing SW infrastructures and waveform technology.! Smooth migration path to future products and standards Slide 3 Copyright PrismTech 24

Example - Spectra Modeling Tools! Graphical Domain Specific Modeling Tool! Used to Capture Component and Assembly High Level Design! Provide Constraint Checking! Correctness checks performed at modeling time vs. runtime! Automatically generate:! The source code needed by waveform developers to interface to the radio platform! Allow waveform developers to focus on waveform logic! Not on skeletal infrastructure code! The descriptors needed by the radio platform infrastructure! The unit tests needed to test waveform component functionality and compliance to the platform! The testing infrastructure to test the waveform stand alone (without need for the radio platform)! The high level documentation needed support design documentation Slide 32 Copyright PrismTech 24

PrismTechs Approach To Helping Organizations Achieve Waveform Portability!Provide an effective set of waveform modeling tools! Integration with industry standard tools e.g. Matlab, Simulink, ModelSim etc.! Standards support for different SDR technology bases e.g for SCA!Allows CF::Resource Declaration!Allows Assembly Declaration and Component Connections!Automatic Generation of! CF::Resource Code in C++! CF::Resource Unit Tests! Surrogate ApplicationFactory capable of deploying Assembly!Lightweight, Robust, and SCA-compliant! Supports Waveform Testing Slide 33 Copyright PrismTech 24

Targeting Multiple H/W Environments!General Purpose Processors!Digital Signal Processors!RTL (Resistor Transistor Logic)!Field Programmable Gate Arrays and ASICs!Running GIOP protocol between all hardware!orbs on GPPs/DSPs and GIOP CODEC on FPGA!Within RTL devices, following direction laid out by upcoming SCA 3.!Provide tools for software developers on GPP, DSP FPGA and ASICs Slide 34 Copyright PrismTech 24

Assembly Modeling and Exploring Deployment Over The Radio s Topology Slide 35 Copyright PrismTech 24

Automatically Generating The Component Code and Measuring Test Code Coverage Slide 36 Copyright PrismTech 24

Slide 37 Copyright PrismTech 24 Conclusions! CPU optimized CORBA middleware to support components and effectively push data through the defined interfaces of the soft-radio model! Characterized by minimum CPU cycles per KB of data marshalled! Will enable support for standardized DSP and FPGA interfaces increasing waveform portability! Waveform portability requires a multi-level component architecture regardless of technology mapping used e.g. MDA based UML to IDL and SCA or some other model! Tool support is crucial to support an effective and efficient component architecture with a standards based approach! Waveform synthesis requires care! keep it in component form models! keep it decoupled from the complexities of the underlying platforms! More emphasis on tools to generate slim, MIPS sensitive code