qnx innovation how to transform your design - qnx · pdf fileqnx innovation how to transform...
Post on 10-Mar-2018
260 Views
Preview:
TRANSCRIPT
QNX InnovationHow to Transform Your Design
Edward LeeField Applications EngineerQNX Software Systems
May 5, 2008
2 QNX Confidential. All content copyright QNX Software Systems.
Agenda
QNX has several breakthrough technologies that will helpyou:
Gain system performance and system scalability on the latesthardware platformsMake your system more secure and reduce your integration timeEnhance your software design environment and shorten yourdevelopment cycleReduce development effort and extend design lifecycles of complexmultimedia designsSpeed the development of graphics-intensive applications withstandards-based frameworksReduce costs and increase user satisfaction of hands-free systems
1. Multi-CoreGain system performance and system scalability
4 QNX Confidential. All content copyright QNX Software Systems.
Multi-core means “end of free lunch”for performance upgrades
Parallel processing is hardNew tools, new languages required
Perception
Multi-core has legacy software supportissues
Incompatible with “old” architectureHidden “functional” problems
Multiprocessing is new and unsupportedin the market
QNX has offered SMP since 1997Popular in high-performance computingProgramming approach well establishedMulti-core simply providesmultiprocessing on a single dieMany QNX multi-core customers innetworking, medical, & industrial
QNX offers a combination of multi-coremodels
Simplifies software migrationProvides a “RISK-FREE” migration path
RealityQNX makes multi-core straightforward
Many tools and multiprocessing optionsto accelerate migration of existing code
Fact or Fiction?
5 QNX Confidential. All content copyright QNX Software Systems.
è One OS for all cores> Scaling: scalable performance by adding
cores> Maximize performance using Dynamic Load
Balancing
è Multiple processors sharing commonhardware
> Common memory bus and address space> Access to all peripheral devices and
interrupts> OS manages tasks running on processors –
true concurrency
è Transparent to application programs
è No application softwarechanges needed
è Automatic thread (~) scheduling across allCPUs
è However: May have legacy code issues
Thread E
Thread B
Thread C Thread DThread B
Thread BThread A
Route Manager
Thread D
File System Ethernet Driver
QNX Neutrino Realtime Scheduler (OS)
Priority
Thread C Thread E
Memory
FutureCPU
Cache
FutureCPU
Cache
CPU
Cache
CPU
Cache
High-Bandwidth CPU Bus
Thread A
Symmetric Multi-Processing (SMP)
6 QNX Confidential. All content copyright QNX Software Systems.
QNX innovation that extends SMP, providingthe ability to “bind” processes and threads toa single core
Support legacy code base and multi-corecapable applications
Supports bound and symmetric operation,selectable by process / thread
Dedicate processing where neededDesigner has full control over whereapplications runApplications and/or threads can be “bound”to a specific core
OS
A2A1 A5A3 A4
Core 1 Core 2
Cache
Interconnect
The QNX Neutrino® RTOS supportssymmetric and bound multiprocessing –
offering the flexibility to choose.
Bound Multi-Processing (BMP)
7 QNX Confidential. All content copyright QNX Software Systems.
Message Bridge (Ethernet, fabric, interconnect…)
Transparent Distributed Processing
QNETProtocol
NetworkingStack
Microkernel
QNETProtocol
NetworkingStack
Microkernel
QNETProtocol
NetworkingStack
Microkernel
Through Q-NET, each QNX Microkernel will be aware of eachother. They will then be able to share files and resources
The QNX solution …
8 QNX Confidential. All content copyright QNX Software Systems.
Extends message passing busover a transport layerApplications / services can bebuilt in a fully distributedmanner without special code
Message queuesFile systemsHardware ports
Seamless sharing of I/Oresources between cores (e.g.use a serial port “owned” byanother core)
QNX NeutrinoMicrokernel Node 2
fd = open(“/dev/ffs1”,…);write(fd, …);
Flash FileSystemDatabase
QNX NeutrinoMicrokernel
MessageQueues
NetworkingStack
Flash FileSystem
Application
Internet
fd = open(“/net/node2/dev/ffs1”,…);write(fd, …);
Node 1
Application
QNX Transparent Distributed Processing
9 QNX Confidential. All content copyright QNX Software Systems.
Improve system performanceQNX offers full symmetric processing on multi-core and multiprocessorsystems, scaling to quad-core and beyondQNX also offers transparent distributed processing for high-performance,seamless communication between nodes
Applications communicate locally and across the network using the exact samecode; distribution is hidden from applicationsApplications on one CPU can use resources connected to other CPUs
Simplify migration, reduce costs through “bound multiprocessing”BMP: QNX innovation that extends SMP, allowing system designers to“bind” a process and all of its threads to a single coreSupports both legacy code bases and multi-core capable applicationsSupports both bound and symmetric operation, selectable by process /thread
Unsurpassed Multi-Core Expertise
10 QNX Confidential. All content copyright QNX Software Systems.
View CPU usage for a single thread or process,or for a group of threads or processes.
Track overallCPU utilizationTrack overall
CPU utilization
Visualizing Multi-Core Behaviour
11 QNX Confidential. All content copyright QNX Software Systems.
Performance, Scalability, Development
ConsiderationsRTOS capable of handlingall cores
Libraries & middlewarethread-safe, threaded forperformance
Tools for debugging andoptimization on multi-coreprocessors
Core1
Core2
Core3
Core4
RTOS
Libraries &Middleware
Applications
Tools
QNX Multi-Core Readiness – Taking Inventory …
12 QNX Confidential. All content copyright QNX Software Systems.
QNX Momentics IDEü Advanced visualization tools
for multi-core processors
ü System-wide view provides deepinsight into multi-core behavior
ü Achieve maximum parallelism andoptimal utilization of every core
QNX Neutrino RTOSü Only RTOS to support choice
of SMP, and BMP
ü BMP greatly simplifies migrationof uniprocessor-based software
ü Only RTOS to support securepartitioning across multiple cores
Complete Multi-Processing Support
2. Adaptive PartitioningIncrease security and reduce integration time
14 QNX Confidential. All content copyright QNX Software Systems.
Keeping priorities straight
The problem?Many software components competing for limited CPU cycles
Difficult system integration process when pulling togethersoftware subsystems from:
widely dispersed teamsthird-party vendors
Difficult to debug complex systems when resource issuescome to light
Lack of control
15 QNX Confidential. All content copyright QNX Software Systems.
Today …
Currently, all RTOS will schedule applications based on theirspecified “Priority” levelThis model works well when there are sufficient CPU cycles
every application will get what they need, based on priorityhighest priority task will gain access to the CPU
CPUresources
CPUresourcesSoftware System
74%consumed
74%consumed
16 QNX Confidential. All content copyright QNX Software Systems.
CPUresources
CPUresources
higher priority tasks will consume all the available CPU resource (either inadvertantly ormaliciously)lower priority tasks are not guaranteed any CPU resources, and can become “starved”task starvation can cause performance degradation, or even system failureas “Software Systems” become more complex with many tasks competing for CPU resources, apriority based scheme becomes difficult to scale
When all CPU resources are consumed …
Priority = 10 (low)
Priority = 20
Priority = 40
Priority = 60
Priority = 80
Priority = 100 (high)
40%15%
35%
10%
Starved of CPU resources
SoftwareSystem
17 QNX Confidential. All content copyright QNX Software Systems.
CPUresources
CPUresources
is the Priority = 80 thread supposed to consume 40% of the CPU?if not, then what is the amount it is supposed to consume?what happens when the Priority 20 and 10 threads are starved of CPU?
Issues at hand …
Priority = 10 (low)
Priority = 20
Priority = 40
Priority = 60
Priority = 80
Priority = 100 (high)
40%15%
35%
10%SoftwareSystem
Starved of CPU resources
18 QNX Confidential. All content copyright QNX Software Systems.
Partitioning defined
Isolate subsystems into separate compartments
Give each compartment a guaranteed portion ofmemory and/or CPU time
Ensures that each subsystem is always available,even when the CPU is maxed out
Hands-free Audio
CPU
QNX Neutrino RTOS
HMIMP3Navigation
25%30% 20% 25%
19 QNX Confidential. All content copyright QNX Software Systems.
Build secure systemsProtect from malicious,downloaded softwareContain denial of service attacksthat steal compute resources
Build reliable systemsContain faulty subsystems
Provide quality of servicefor applications
Ensure fast, high-qualityuser experience
Simplify software integrationAllocate computing resources persubsystem
Navigation User Interface
10%
10%
10%
40%
Voice
30%
MultimediaDiagnostics
Benefits of Adaptive Partitioning
20 QNX Confidential. All content copyright QNX Software Systems.
What is Adaptive Partitioning?A new technology that extends the QNX Neutrino RTOSEnforces CPU guarantees
How is it adaptive?Dynamically allocates spare CPU cycles to partitions that need the processingtimePermits full CPU utilization to accommodate spikes in demandEliminates wasted CPU cycles caused by traditional partitioning
Easy to get startedNo changes to how designers work today
POSIX programming modelNo changes needed to existing code
Simply launch processes into partitionsConfigure partitions dynamically from QNX Momentics IDE
QNX Adaptive Partitioning
21 QNX Confidential. All content copyright QNX Software Systems.
Adaptive Partitioning Scenario
Dynamic allocation of spare CPU cyclesPerformance guarantees plus 100% CPU utilization
0% 50% 100%
No idleCPU cycles
Idle cyclesavailable
Enforce CPU guarantees
Reallocate idle cycles to busy partition
Hands-free Audio HMIMP3Navigation
25%30% 20% 25%
22 QNX Confidential. All content copyright QNX Software Systems.
Large, multi-site teamsWorking in different timezones and locations
Division of responsibilities,functional areas, and expertise
Differing skill sets
Need to integrate third-partytechnologies to reducedevelopment costs
Lack of control overthird-party technology
Parallel development, followedby system integration &verification
Diagnostics &data acquisition
Route calculation
User interface
Partitioning for Faster Integration
23 QNX Confidential. All content copyright QNX Software Systems.
Assign each subsystem abudget of CPU time andmemory at design timeDesign, implement, and testeach subsystem, using thepartition budgets
Eliminates CPU andmemory starvation bydesign
Eliminates complex,labor-intensive bugfixing at integration time
Reserve percentage of CPUand memory for futureapplications or services
30%
30%
40%
Diagnostics &data acquisition
Route calculation
User interface
Partitioning for Faster Integration
3. Integrated Development EnvironmentEnhance design environment & shorten development cycle
25 QNX Confidential. All content copyright QNX Software Systems.
Development Environment
Most common issues are:Development in the dark
no working simulation environmentAvailability of target hardware
large software design team with limited number of hardware prototypesLack of debug tools
JTAG debuggers are expensive, difficult to configureAbility to debug two applications simultaneously
synchronization problemscommunications issues
Analysis Toolsresolving deadlock issuesimproving system performance
26 QNX Confidential. All content copyright QNX Software Systems.
Network
Debugging Environment
The Momentics IDE communicates to the QNX Microkernel usingthe proprietary application “qconn” using standard network stackThe Momentics IDE can then debug any “Application” on anytarget.The Momentics IDE can also debug multiple Applications, on oneor more targets, simultaneously.
Target
qconn
NetworkingStack
Microkernel
Momentics IDETarget
qconn
NetworkingStack
Microkernel
27 QNX Confidential. All content copyright QNX Software Systems.
TargetVirtual
MachineTargetx86 PC
Network
Simulation Environment
QNX can be installed on any standard “x86” based personalcomputer, and will behave just like the targetQNX can be installed as a “virtual machine”, using applicationssuch as VMwareBoth simulation environments will continue to communicate to theMomentics IDE via the “qconn” application
Momentics IDE
qconn
NetworkingStack
Microkernel
qconn
NetworkingStack
Microkernel
28 QNX Confidential. All content copyright QNX Software Systems.
Processor Emulation
PCs and Virtual Machines works well for application simulationBut what about actual Processor Emulation?
QEMU is a portable open source emulator for x86, MIPS, ARM, PPC,and Sparc.For the purposes of QNX, this makes a handy tool for quick testsand debugging.Some supported features are
snapshotsbasic networkinggdb integration
It is also possible to debug the kernel much like you can do withVMware.
29 QNX Confidential. All content copyright QNX Software Systems.
Contents of the Momentics IDE
Basic ToolsCode DeveloperSource DebuggerSystem Information
Analysis ToolsCode CoverageMemory ProfilerSystem ProfilerApplication Profiler
Advanced Features SupportedMulti-CoreAdaptive Partitioning
30 QNX Confidential. All content copyright QNX Software Systems.
Code Developer
31 QNX Confidential. All content copyright QNX Software Systems.
Application Debugger
32 QNX Confidential. All content copyright QNX Software Systems.
System Information
33 QNX Confidential. All content copyright QNX Software Systems.
Code Coverage Perspective
34 QNX Confidential. All content copyright QNX Software Systems.
Memory Analysis Perspective
35 QNX Confidential. All content copyright QNX Software Systems.
System Profiler – Event Trace
36 QNX Confidential. All content copyright QNX Software Systems.
Application Profiler
37 QNX Confidential. All content copyright QNX Software Systems.
View CPU usage for a single thread or process,or for a group of threads or processes.
Track overallCPU utilizationTrack overall
CPU utilization
Visualizing Multi-Core Behaviour
4. MultimediaReduce development & extend design lifecycles
39 QNX Confidential. All content copyright QNX Software Systems.
Addressing Multi-media
The problem?Multimedia environments becoming very complex
File systemsMany different codecs requiredDRMUpdateableMultiple zonesIntegration with portable and consumer devicesMetadata managementEase of use
40 QNX Confidential. All content copyright QNX Software Systems.
...an integrator has to:know about device storage configuration
manage device insertion and removalfind and itemize the media content on devices
extract and manage media metadata
configure audio and video device outputsmanage their own data persistence and media library
understand how to hook up media filters, readers, writers, anddecoders to inputs and outputssupport hardware offload (DSPs) or new consumer devices withintheir own applicationcontrol media playback
Today’s multimedia reality
41 QNX Confidential. All content copyright QNX Software Systems.
Now an integrator only has to:know about device storage configuration
manage device insertion and removalfind and itemize the media content on devices
extract and manage media metadata
configure audio and video device outputsmanage their own data persistence and media library
understand how to hook up media filters, readers, writers, anddecoders to inputs and outputssupport hardware offload (DSPs) or new consumer devices withintheir own applicationcontrol media playback
Streamlined development
42 QNX Confidential. All content copyright QNX Software Systems.
Set of pre-integrated multimedia componentsFor quickly and easily building customized multimedia players,jukeboxes, and media recorders
Comprehensive solutionIntelligent multimedia engine controlled from high-level APIsAutomatic device and stream supportMultipass metadata synchronization to configurable databasesAutomatic management of decode/encode paths, including softwareaudio decoders: MP3, WMA9, AAC, Ogg VorbisApple iPod support
iPod IAP (serial protocol) with analog outputiPod authentication IC
Microsoft PlaysForSure supportIncluding WMDRM10 for network devices
Pre-integrated hardware support for TI Jacinto and others
QNX Aviage Multi-Media Suite
43 QNX Confidential. All content copyright QNX Software Systems.
Sample Media Player
44 QNX Confidential. All content copyright QNX Software Systems.
Multiple inputs
Automatic device discoveryLocal storage
Multiple controlsand HMIs
Human Machine Interface:OEM Adaptation Layer
Media Database
Search music library,create playlist,personalize contentquery, etc.
Multimedia Controller:mmc
Control and statusmessages
Synchronization todatabase:media store,metadata, user,session…
Multiple Outputs
Detection ofdevice/streamand immediatedata access
Identify &Connect:io-fs
Play & Record:io-media
System Architecture
45 QNX Confidential. All content copyright QNX Software Systems.
Example: iPod shuffle applicationPlays all available media in a random/repeat mode
hdl = mme_connect("/dev/mme/default", 0);
mme_newtrksession(hdl,
"select fid from library where available=1",
MME_PLAYMODE_LIBRARY, &sid);
mme_settrksession(hdl, sid);
mme_setrandom(hdl, MME_RANDOM_ALL);
mme_setrepeat(hdl, MME_REPEAT_ALL);
mme_play(hdl, 0); //Play
mme_set_speed(hdl, 0); //Pause Playback (speed of 0)
mme_next(hdl); //Next Track
mme_prev(hdl); //Prev Track
Clean and simple API
46 QNX Confidential. All content copyright QNX Software Systems.
Short-term futures
Video decoding (and encoding)Hardware assistSoftware onlyDVD navigators
Time shifting of data streams
More preintegrated device and stream support
Internet radio
Bluetooth
Management of PCM streams; e.g. AM/FM radio, microphone
5. GraphicsSpeed GUI development with standards-based framework
48 QNX Confidential. All content copyright QNX Software Systems.
Graphic sensibilities
The Problem?Increasing graphics complexity
2D, rotation, etc.3D navigation and gamesLayering
Font rendering, scaling, rotation requirementsLimited automotive-grade hardwareOEMs and Tier 1s need standards-based solutions
Maximize code re-use, portability, etc.Most graphics environments consume too much RAM, ROMHMIs must be customizable and skinnable
for brand differentiationfor Tier 1, OEM and even end-user customization
Reduce time from HMI layout to deployment or updates
49 QNX Confidential. All content copyright QNX Software Systems.
QNX Aviage Graphics SuiteSimple, lightweight interfaceto the device driver layerCertified, clean-roomOpenGL ES API for 3DSmall, fast 2D environmentMulti-layer graphicsAdobe Flash
High performanceMultiple 2D and 3D programs can render directlyto hardware at the same time
Maximum utilization of available hardwareIdeal for resource-constrained systems
Device driver
Graphics hardware
GF library OpenGL ES
HMI application
FFB
Comprehensive graphics
50 QNX Confidential. All content copyright QNX Software Systems.
2D map displaysAlpha-blending(warnings, menus)Smooth panning &screen refreshTrueType Fonts withanti-aliasing
3D map displaysGenerated dynamicallyframe by frameSmooth panning &screen refreshTrueType fonts withanti-aliasingFont rotation supportTexture support
What can you build with it?
51 QNX Confidential. All content copyright QNX Software Systems.
What can you build with it?
Combined displaysLeft side — 3D map,generated dynamically,frame by frameRight side — Web browserfor navigating point ofinterest website
Integrates easily with existinggraphics solutions
Third-party, homegrown, etc.Combined solution can still retainrealtime and reliability benefits ofGF
52 QNX Confidential. All content copyright QNX Software Systems.
Realtime response for the graphics displayHighest-priority graphics program always draws firstRealtime preserved automatically: no need for special coding
ScalableFrom small 2D environments to multi-layer displaysthat run multiple 2D and 3D programs
Mix 2D and 3D apps on single layer or with multiple layers
Resource efficientUse only the libraries you need
ReliableLets you divide graphics applications into processes
Easier to develop & debug
Automatically cleans up after programs that terminate abnormallyExample: If a 3D program terminates, GF can free thevideo memory and intelligently restart the program
Fast, efficient, reliable
6. Acoustic ProcessingReduce costs and increase user satisfaction of hands-free systems
54 QNX Confidential. All content copyright QNX Software Systems.
Getting a clear signal
The problem?Automotive environment is challenging
Wind noise: vents, windows, etc.Road noiseWipers and other interior noiseEnclosed environment with speakers close to the microphone
Cost and complexity of system design with specialized echocancellation or noise suppression hardwareTuning requirements
55 QNX Confidential. All content copyright QNX Software Systems.
Acoustic echo cancellation and speech enhancement solutiondesigned specifically for automotive environmentsEnhances clarity and accuracy of handsfree and speech recognition systems
Extracts voice from noise created by road surfaces, HVACsystems, engines, wind, rain, other vehicles, construction, etc.
Eliminates the need for dedicated hardwareLower production costs and increased design flexibility
Low tuning requirementsApproximately 1/2 to 4 hours per vehicle platform
Modular library of field-proven algorithmsScalable, C-callable, floating point, and fixed-point library
Acoustic processing at a glance
56 QNX Confidential. All content copyright QNX Software Systems.
Audi
Mercedes-Benz
BMW
Alfa Romeo Fiat Lancia Land Rover
Chrysler
Acura
Porsche
GM
Honda
Mazda HyundaiMitsubishi
In over 55 vehicle models
57 QNX Confidential. All content copyright QNX Software Systems.
Innovative AEC/NR algorithms published in over 90 patents80+pending, 12+ issued
40+ specialists in R&D, testing, and supportAcoustic engineers, speech & music audio specialists,neuroscientists, physicists
Focused on handsfree telematics issuesInteraction of AEC/NR with CDMA & GSM codecs
Tuned and tested against 8+ terabytes of speech dataTest database derived from thousands of speakers in dozensof vehicles
Innovative and field tested
58 QNX Confidential. All content copyright QNX Software Systems.
Modular solution
Fifteen predefined modulesCan be used individually or in combination, based on system requirements
Key modules include:Acoustic echo cancellation (AEC)
Reduces echo during handsfree calls
Noise suppression and speech enhancementReduces impact of additive and dynamic noise
Smart automatic gain controlAdjusts gain of signal based on voice, not transient noises
Send equalizationControls outbound sound quality, allowing for softwarecorrection of microphone and cabin issues
Speech recognition enhancementReduces impact of additive noise and reconstructs speech,improving recognition accuracy
59 QNX Confidential. All content copyright QNX Software Systems.
Integrated solution
SD Flash
HeadUnit
Multi Config
Bluetooth
Reset uCtrl
GSM
Handset
SIM
SIM
DedicatedSpeech
Processor
MOST
Power Supply
MainProcessor
Lowering BOM costs
Remove additionaldedicated speechprocessors, saving$10-$15 in BOM
Gain high-quality,full-duplex hands-freecommunication withgreater flexibility andcustomizability than adedicated processor
OEM Bus
Save approx. $15 in material costs byremoving dedicated speech processor
Integration into main processor
Conclusions …QNX Innovations
61 QNX Confidential. All content copyright QNX Software Systems.
QNX Innovations …
Multi-Core and Parallel Processing technology providesgreater performance and scalabilityAdaptive Partitioning ensures system security & smoothproduct integration, and also enhances performanceMomentics IDE will revolutionalize your developmentenvironmentAviage Multi-Media and Graphics Suites will reducedevelopment effort and extend design lifecyclesPatented AEC/NS solution will reduce cost and increaseuser satisfaction
62 QNX Confidential. All content copyright QNX Software Systems.
Questions?
Thank You!!elee@qnx.com
top related