Concurrency and Scheduling Analysis of Real-time Embedded Software - - PowerPoint PPT Presentation

concurrency and scheduling analysis of real time embedded
SMART_READER_LITE
LIVE PREVIEW

Concurrency and Scheduling Analysis of Real-time Embedded Software - - PowerPoint PPT Presentation

Concurrency and Scheduling Analysis of Real-time Embedded Software on Multi-core Processors Yann-Hang Lee Young Song Duo Lu CONFIDENTIAL Center for Embedded Systems | An NSF Industry/University Cooperative Research Center Project Overview and


slide-1
SLIDE 1

Center for Embedded Systems | An NSF Industry/University Cooperative Research Center

CONFIDENTIAL

Concurrency and Scheduling Analysis of Real-time Embedded Software on Multi-core Processors

Yann-Hang Lee Young Song Duo Lu

slide-2
SLIDE 2

Center for Embedded Systems | An NSF Industry/University Cooperative Research Center

CONFIDENTIAL

Project Overview and Description

2

Will the application run correctly

a benign data race may become a true race scheduling anomaly

Will the application run efficiently

cost of synchronization, context switch, and shared access scheduling to meet deadlines

SMP-ready RTOS Multi-core processor

thread thread thread thread thread thread thread

RTOS Single-core processor

thread thread thread thread thread thread thread

slide-3
SLIDE 3

Center for Embedded Systems | An NSF Industry/University Cooperative Research Center

CONFIDENTIAL

Two Legs to Leap the Sync Barrier

When we remember to lock:

Optimization – partitioned

scheduling, stack-based resource policy, and adaptive selection of locking primitives

When we forgot to lock:

Race detection – vector clock

based and dynamic granularity for C/C++ programs

Detection of true races -- based

  • n task model and scheduling

Real-time Multicore Application Concurrency & Synchronization Correctness Performance

3

slide-4
SLIDE 4

Center for Embedded Systems | An NSF Industry/University Cooperative Research Center

CONFIDENTIAL

Race Detector with Dynamic Granularity

4

Vector clock based data race detector for C/C++ programs

On top of FastTrack and using Intel PIN for dynamic instrumentation

Share vector clock dynamically with neighboring locations

Benchmark program Base time (sec) Base Mem. (MB) Slowdown Memory Overhead Data race detected Valgrind DRD Intel Inspector XE Dynamic granularity Valgrind DRD Intel Inspector XE Dynamic granularity Valgrind DRD Intel Inspector XE Dynamic granularity facesim 6.1 288 59 128 102 2.2 6.0 4.6 8909 31 8909 ferret 6.7 146 748 87 52 2.6 5.0 8.9 108 4 2 fluidanimate 2.0 248

  • 89

81

  • 12.4

2.2

  • 7

1 raytrace 9.5 170 42 17 27 1.9 4.1 2.0 16 13 dedup 7.7 2682

  • 85
  • 1.0
  • streamcluster

3.8 30 66 108 137 4.2 17.5 3.7 1067 61 1079 ffmpeg 3.0 95 120

  • 109

2.6

  • 3.1
  • 1

pbzip2 5.7 67 64 99 39 2.9 8.6 3.4 hmmsearch 26.6 23 74 64 45 4.4 21.9 4.3 1 2 1 Average 168 85 75 3 11 4

slide-5
SLIDE 5

Center for Embedded Systems | An NSF Industry/University Cooperative Research Center

CONFIDENTIAL

Project Tasks/ Deliverables

5

Deliverables

A scalable race detector for embedded C/C++ programs. Effective classification of race conditions Integrated design of partitioned scheduling and resource access control to

minimize synchronization overhead.

Description Date Status

1

Improve the existing prototype of race detector in multicore environment

1st Q 2

Analyze race conditions based on scheduling algorithms and task models

2nd Q 3

Investigate scheduling approaches to reduce the degree of preemption and blocking

1st Q 4

Develop and test adaptive synchronization mechanisms

2nd Q 5

Benchmark evaluation and schedulability analysis

3rd Q