Software and Hardware co-design for Defense

Download Report

Transcript Software and Hardware co-design for Defense

Software and Hardware Co-design
For Defense Embedded Systems
S.Umamaheswaran
Member (Senior Research Staff)
Central Research Laboratory
Bharat Electronics Limited.,
1
Overview
 What Is an Defense Embedded System?
 COTS for Defense Embedded Systems
 Software and Hardware Co-Design
 RTOS Options
2
Defense Embedded System
3
What Is an Defense Embedded System?

Defense Embedded Systems
 Application-specific systems which contain hardware and software
tailored for a particular task and are generally part of a larger system
(e.g., Handheld Computer, man pack Radio, radar)
Hand Held Computer
STARS V 5 W FH RADIO
Low Flying Detection Radar
( INDRA II)
4
Characteristics

Characteristics

Application specific - Optimize for cost, area, power, and
performance

Digital signal processing - Signals are represented digitally

Reactive - Reacts to changes in the system’s environment

Real-time - Compute certain tasks before deadline

Include requirements that span:

Performance , Reliability , Maintainability, Security
5
GIG - An Example of Defense Embedded System
 “Will provide the joint and coalition war fighter with a single, endto-end information system capability… allowing users to access
shared data and applications regardless of location, and is
supported by a robust network/information-centric infrastructure.”
6
Defense Embedded Systems: Complexity Issues

Complexity of embedded systems is continually increasing

Number of states in these systems (especially in the software)
is very large

Description of a system can be complex, making system
analysis extremely hard

Complexity management techniques are necessary to model
and analyze these systems

Systems becoming too complex to achieve accurate “first pass”
design using conventional techniques

New issues rapidly emerging from new implementation
technologies
7
Design Challenges

Low cost

Mixed digital/analog requirements

Light weight

Shrinking time-to-market

Reliability

Short product lifetime

Low power

Real-time processing

Portable

Inherent concurrency

Complexity

HW/SW co-design

Secure

Ease of use
8
Research Topics in Defense Embedded Systems

Power Management
 Battery life, reliability and thermal issues, energy harvesting

Coupled with sensor networks
 HW/SW co-design, very limited information processing and
computing
 Energy management

Adaptation to Applications and Environment
 Reconfigurable and adaptive Systems

Embedded Software

Security in Embedded Systems
 physical attack
 Attack through network
9
COTS
10
COMMERCIAL OFF-THE-SHELF (COTS)

Implementation of commercially available technologies for
traditionally customized applications

Examples:
 Military
 Industrial
 Space

Applies to Hardware and/or Software
11
COMMERCIAL OFF-THE-SHELF (COTS)

Examples:
Software:
 Operating Systems (UNIX, Windows/NT, OS2)
 Databases (Oracle, Sybase)
 Graphics Packages (GIS)
Hardware:




Busses (VME, PCI, cPCI,CAN)
Processors (TI,Motorola, HP, Sun, Intel)
Disk Drives (Western Digital, Red Rock)
Peripherals
12
COMMERCIAL OFF-THE-SHELF (COTS)

COTS vs. Custom
Advantages:






Cheaper (large quantity production)
General Purpose (more flexible for different applications)
Shortens design-to-production cycles
Large user base generally uncovers design defects early
Provides current technology solutions
Emerging technology tends to be backward compatible with
legacy products (allows solutions to advance with technology)
 Avoids binding solution to single hardware/software source
13
COMMERCIAL OFF-THE-SHELF (COTS)
 COTS vs. Custom
Disadvantages:
 May not be suitable for all applications:



Highly deterministic performance may require special operating
system
Environmental constraints (temperature, radiation exposure,
corrosive exposure)
Packaging (size, weight, shape)
 Reliability:

May not meet reliability requirements of mission critical systems
(flight control, weapons direction, medical equipment)
 Obsolescence:

COTS binds user to market trends - critical components may
become unavailable and impossible to reproduce
14
COMMERCIAL OFF-THE-SHELF (COTS)

Issues and Considerations when using COTS
•
Supporting, maintaining, and upgrading systems with long
life-cycles (10+years)
•
Licensing and Data Rights
 COTS Software is usually distributed under license (a peruser fee is typical)
 COTS documentation is normally copyrighted - distribution
as part of another product usually requires special
arrangements and a copy fee
 Software source code and designs for hardware are usually
proprietary and protected by copyright or patent - even after
it is no longer distributed
15
Co-Design
16
Co-design Definition and Key Concepts

Co-design
 The meeting of system-level objectives by exploiting the
trade-offs between hardware and software in a system
through their concurrent design

Key concepts
 Concurrent: hardware and software developed at the same
time on parallel paths
 Integrated: interaction between hardware and software
development to produce design meeting performance
criteria and functional specs
17
Motivations for Co-design

Factors driving co-design (hardware/software systems):
 Instruction Set Processors (ISPs) available as cores in
many design kits (386s, DSPs, micro controllers,etc.)
 Systems on Silicon - many transistors available in typical
processes (> 10 million transistors available in IBM ASIC
process, etc.)
 Increasing capacity of field programmable devices - some
devices even able to be reprogrammed on-the-fly (FPGAs,
CPLDs, etc.)
 Efficient C compilers for embedded processors
 Hardware synthesis capabilities
18
Motivations for Co-design

The importance of co-design in designing hardware/software
systems:
 Improves design quality, design cycle time, and cost

Reduces integration and test time
 Supports growing complexity of embedded systems
 Takes advantage of advances in tools and technologies



Processor cores
High-level hardware synthesis capabilities
ASIC development
19
Categories of Co-design Problems

Co-design of Defense embedded systems





Usually consist of sensors, controller, and actuators
Are reactive systems
Usually have real-time constraints
Usually have dependability constraints
Co-design of ISAs
 Application-specific instruction set processors (ASIPs)
 Compiler and hardware optimization and trade-offs

Co-design of Reconfigurable Systems
 Systems that can be personalized after manufacture for a specific
application
 Reconfiguration can be accomplished before execution of
concurrent with execution (called evolvable systems)
20
Components of the Co-design Problem

Specification of the system

Hardware/Software Partitioning
 Architectural assumptions - type of processor, interface style
between hardware and software, etc.
 Partitioning objectives - maximize speedup, latency requirements,
minimize size, cost, etc.
 Partitioning strategies - high level partitioning
 Scheduling
 Operation scheduling in hardware
 Instruction scheduling in compilers
 Process scheduling in operating systems
 Modeling the hardware/software system during the design
process
21
A Model of the Current Hardware/Software Design Process
DOD-STD-2167A
HWCI
Testing
HW Development
Fabric.
System
Concepts
Sys/HW
Require.
Analysis
Sys/SW
Require.
Analysis
Hardware
Require.
Analysis
Prelim.
Design
Detailed
Design
System
Integ. and
test
Software
Require.
Analysis
SW Development
Prelim.
Design
Detailed
Design
Coding,
Unit test.,
Integ. test
Operation.
Testing and
Eval.
CSCI
Testing
22
Current Hardware/Software Design Process

Basic features of current process:
 System immediately partitioned into hardware and software
components
 Hardware and software developed separately
 “Hardware first” approach often adopted

Implications of these features:
 HW/SW trade-offs restricted

Impact of HW and SW on each other cannot be assessed easily
 Late system integration

Consequences these features:
 Poor quality designs
 Costly modifications
 Schedule slippages
23
Incorrect Assumptions in Current Hardware/Software Design
Process

Hardware and software can be acquired separately and
independently, with successful and easy integration of
the two later

Hardware problems can be fixed with simple software
modifications

Once operational, software rarely needs modification or
maintenance

Valid and complete software requirements are easy to
state and implement in code
24
Directions of the HW/SW Co-Design Process
Integrated Modeling Substrate
HWCI
Testing
HW Development
Fabric.
System
Concepts
Sys/HW
Require.
Analysis
Hardware
Require.
Analysis
Prelim.
Design
Detailed
Design
Integrated Modeling Substrate
Sys/SW
Require.
Analysis
Software
Require.
Analysis
SW Development
Prelim.
Design
Detailed
Design
Coding,
Unit test.,
Integ. test
System
Integ. and
test
Operation.
Testing and
Evaluation
CSCI
Testing
25
Requirements for the Ideal Co-design Environment

Unified, unbiased hardware/software representation
 Supports uniform design and analysis techniques for hardware
and software
 Permits system evaluation in an integrated design environment
 Allows easy migration of system tasks to either hardware or
software

Iterative partitioning techniques
 Allow several different designs (HW/SW partitions) to be
evaluated
 Aid in determining best implementation for a system
 Partitioning applied to modules to best meet design criteria
(functionality and performance goals)
26
Requirements for the Ideal Co-design Environment

Integrated modeling substrate
 Supports evaluation at several stages of the design process
 Supports step-wise development and integration of hardware and
software

Validation Methodology
 Insures that
requirements
system
implemented
meets
initial
system
27
Typical Co-design Process
FSMdirected graphs
Another
HW/SW
partition
System
Description
(Functional)
Concurrent processes
Programming languages
HW/SW
Partitioning
Unified representation
(Data/control flow)
SW
Software
Synthesis
HW
Interface
Synthesis
System
Integration
Hardware
Synthesis
Instruction set level
HW/SW evaluation
28
RTOS
29
RTOS

Three groups
 Small, fast, proprietary kernels
 Real-time extensions to commercial operating systems
 Research operating systems
 Small, fast, proprietary kernels
 homegrown
 commercial offerings:

QNX, PDOS, pSOS, VCOS, VRTX32, VxWorks, Windows CE
30
RTOS

To reduce the run-time overheads incurred by the kernel and
to make the system fast, the kernel





has a small size
responds to external interrupts quickly
minimizes intervals during which interrupts are disabled
provides fixed or variable sized partitions for memory
management as well as the ability to lock code and data in
memory
 provides special sequential files that can accumulate data at
a fast rate
31
RTOS

To deal with timing constraints, the kernel
 provides bounded execution time for most primitives
 maintains a real-time clock
 provides primitives to delay processing by a fixed amount of
time and to suspend/resume execution

Also, the kernel
 performs multitasking and intertask communication and
synchronization via standard primitives such as mailboxes,
events, signals, and semaphores.

For complex embedded systems, these kernels are
inadequate as they are designed to be fast rather than to be
predictable in every aspect.
32
Common RTOS Features

Utilities
 Bootstrapping support
 “Headless” operation
 Display not necessary

APIs (Application Programming Interfaces)

Multiple threads and/or processes

Mutex /semaphore support with priority inheritance support

Timers/clock
 Graphics support

Device drivers

Network protocol stack
33
RTOS Considerations

What processor(s) does it run on?
 8-bit, 16-bit, 32-bit, …
 Intel Pentium® Processor, PowerPC, Arm/StrongArm Intel
Xscale®, MIPS, SuperH, DSP,FPGA…
 IBM and Intel® Network Processors
 What board(s) does it run on?
 Complete software package for a particular hardware board is
called a BSP (Board Support Package)

What is the software environment?





Compilers and debuggers
Cross-compilation + symbolic debugging on target?
Profilers (CPU, memory)
Test coverage tools
Native simulation/emulation support?
34
Metrics in Real-Time Systems (1/2)

End-to-end latency:
 E.g. worst-case, average-case, variance, distribution
 Can involve multiple hops (across nodes, links, switches
and routers)
 Behavior in the presence or absence of failures

Jitter

Throughput:
 How many X can be processed?
 How many messages can be transmitted?
 Survivability:
 How many faults can be tolerated before system failures?
 What functionality gets compromised?
35
Metrics in Real-Time Systems (2/2)

Security:
 Can the system’s integrity be compromised?
 Can violations be detected?

Safety:
 Is the system “safe”?


Can the system get into an ‘unsafe’ state? Has it been
‘certified’?
Maintainability:
 How does one fix problems?
 How does the system get upgraded?

Dynamism and Adaptability:
 What happens when the system mission changes?
 What happens when individual elements fail?
 Can the system reconfigure itself dynamically?
36
Emerging RTOS Requirements

Full-featured operating system

Support for new processors and devices

Support for Internet protocols and standards

Support for Multimedia protocols and standards

Support for File Systems

Memory protection

Resource protection, security

Development tools and libraries

GUI Environment
Do this with low and
predictable overheads.
37
Examples of RTOS
•
Proprietary:


















Ardence RTX
BeOS
ChorusOS
DNIX
DSOS
embOS (Segger)
ITRON
integrity
LynxOS
MicroC/OS-II
MQX RTOS [5]
Nucleus
OS-9
OSE
OSEK/VDX
OSEKtime
PDOS
Phar Lap ETS
• Proprietary:



















Phar Lap ETS
PikeOS
Portos
pSOS
QNX
RMX
RSX-11
RT-11
RTOS-UH
RTXC
Salvo RTOS
[6]
SINTRAN III
Symbian OS
ThreadX
VRTX
VxWorks
Windows CE
µnOS
UNIX-RTR
•
Open source:
– eCos
– Fiasco
– FreeRTOS
– Linux
– Phoenix-RTOS
– Nut/OS
– Prex
– RTAI
– RTEMS
– RTLinux
– SHaRK
– TRON Project
– Xenomai
38
THANK YOU
[email protected]
39