Title: Software solutions for challenges in embedded systems Sri Hari Krishna Narayanan, The Pennsylvania State University, USA, snarayan@cse.psu.edu
1Software solutions for challenges in embedded
systemsSri Hari Krishna Narayanan, The
Pennsylvania State University, USA,
snarayan_at_cse.psu.edu
Temperature crisis alleviation in CMPs and NoCs
Cycle Times
Temperature Sensitive Schedule
Scheduler
HotSpot
Chunk Sizes
Phase 3 Locality Based Scheduling
Scheduler
Energy Consumption
Phase 2 -Temperature Sensitive Scheduling
Architecture Details
Temperature Locality Sensitive Schedule
Code Generator
Omega Library
Phase 4 - Code Generation
- Challenge To prevent chips from overheating
- Solution
- On chip temperature rises when the chip is run
continuously at high power density. - Develop a schedule that allows processors to
cool down in between executing portions of the
task. - Such a schedule is possible because applications
do - not make use of all the processor cores
available.
- Challenge To prevent NoC based chips from
overheating - Solution
- On chip temperature rises through high power
density. - Applications typically do not use all the
available processor cores - Design a task to processor mapping that reduces
the power density.
Theme While hardware solutions to challenges in
embedded systems are very important, software
can also play an important role. Software
techniques to solve three important problems are
presented here.
Percentage of Execution during which a thermal
emergency is experienced.
Normalized execution time.
The graphs show how the peak on chip
temperature is always maintained below a preset
threshold that is indicated by the solid line.
Securing code semantics
Soft Error Detection
Traditional computing
Mobile computing
Original Code
Original Code
Original Results
Original Results
Original Results
Challenge To prevent an untrusted host from
gleaning the semantics of the clients code.
i.e. to prevent reverse
engineering. Solution Translation of the
original code produces a new code that
a) is semantically different,
b) accesses data in a different
pattern, and c) whose stores
take place to different locations.
- Challenge To detect single event upsets in the
data caches. - Solution
- Invariants are data properties that must hold
throughout the execution. - Checking to see if they hold true during
execution, gives and indication of whether the
execution was successful of if a soft - error occurred.
Mobile computing with code level transformations
Data
Original Code
Transformed Code
The increase in code size due to checker code
The soft error detection rate
- References
- Sri Hari Krishna N., M. Kandemir, R. R. Brooks,
I. Kolcu. Secure Execution of Computations in
Untrusted Hosts, in the proceedings of ADA-EUROPE
2006. - Sri Hari Krishna Narayanan, Mahmut Kandemir.
Compiler-Directed Power Density Reduction in
NoC-Based Multi-Core Designs, in the proceedings
of ISQED 2006. - Sri Hari Krishna Narayanan, Guilin Chen, Mahmut
Kandemir, Yuan Xie. Temperature-Sensitive Loop
Parallelization for Chip Multiprocessors, in the
proceedings of ICCD 2005. - Sri Hari Krishna N., Seung Woo Son, M. Kandemir,
Feihui Li. Using Loop Invariants to Fight Soft
Errors in Data Caches, in the proceedings of
ASP-DAC 2005.
Original Results