Presentation is loading. Please wait.

Presentation is loading. Please wait.

ESE532: System-on-a-Chip Architecture

Similar presentations


Presentation on theme: "ESE532: System-on-a-Chip Architecture"— Presentation transcript:

1 ESE532: System-on-a-Chip Architecture
Day 12: February 27, 2017 Real Time Scheduling Penn ESE532 Spring DeHon

2 Today Real Time Synchronous Reactive Model Interrupts
Polling alternative Timer? Resource Scheduling Graphs Penn ESE532 Spring DeHon

3 Message Scheduling is key to real time Analysis Guarantees
Penn ESE532 Spring DeHon

4 Synchronous Circuit Model
A simple synchronous circuit is a good “model” for real-time task Run at fixed clock rate Take input every cycle Produce output every cycle Complete computation between input and output Designed to run at fixed-frequency Critical path meets frequency requirement Penn ESE532 Spring DeHon

5 Synchronous Reactive Model
Discipline for Real-Time tasks Embodies the “synchronous circuit model” Penn ESE532 Spring DeHon

6 Synchronous Reactive There is a rate for interaction with external world (like the clock) Computation scheduled around these clock ticks (or time-slices) Continuously running threads Each thread performs action per tick Inputs and outputs processed at this rate Computation can “react” to events Reactions finite and processed before next tick Penn ESE532 Spring DeHon

7 Thread Form while (1) { tick(); }
tick() -- yields after doing its work May be state machine May trigger actions to respond to events (inputs) Penn ESE532 Spring DeHon

8 Thread Model Penn ESE532 Spring DeHon

9 Tick Rate Driven by application – demands of external control
Control loop 100 Hz Robot, airplane, car, manufacturing plant Video at 33 fps Game with 20ms response Router with 1ms packet latency Penn ESE532 Spring DeHon

10 Tick Rate Multiple rates
May need master tick as least-common multiple of set of interaction rates …and lower freq. events scheduled less frequently E.g. 100Hz control loop at 33Hz video Master at 10ms Schedule video over 3 10ms time-slots May force decompose into tasks fit into smaller time window since must schedule events at highest frequency Penn ESE532 Spring DeHon

11 Synchronous Reactive Ideal model Separate function from compute time
Per tick reaction (task processing) instantaneous Separate function from compute time Separate function from technology Feature size, processor mapped to Like synchronous circuit If logic correct, works when run clock slow enough Works functionally when change technology Then focus on reducing critical path Penn ESE532 Spring DeHon

12 Synchronous Reactive Timing
Once functional, need to guarantee all tasks (in all states) can complete in tick time-slot On particular target architecture Identify WCET Like critical path in FSM circuit Time of task on processor target Penn ESE532 Spring DeHon

13 Preclass 1 Time available to process objects?
Penn ESE532 Spring DeHon

14 Preclass 1 Worst-case object processing time?
Penn ESE532 Spring DeHon

15 Preclass 1 Maximum number of objects on single GHz processor?
Penn ESE532 Spring DeHon

16 Synchronous Reactive Timing
Once functional, need to guarantee all tasks (in all states) can complete in tick time-slot On particular target architecture Identify WCET Like critical path in FSM circuit Time of task on processor target Schedule onto platform Threads onto processor(s) Penn ESE532 Spring DeHon

17 Threads Mapped to Processor
Penn ESE532 Spring DeHon

18 Platforms Platform 1: fast processor Platform 2: many slow processors
Penn ESE532 Spring DeHon

19 Synchronous Reactive Model
Discipline for Real-time tasks Embodies the “synchronous circuit model” Master clock rate Computation decomposed per clock Functionality assuming instantaneous compute On platform, guarantee runs fast enough to complete critical path at “clock” rate Penn ESE532 Spring DeHon

20 Midterm Penn ESE532 Spring DeHon

21 Midterm From Code Forms of Parallelism Analysis
Dataflow, SIMD, hardware pipeline, threads Map/schedule task graph to (multiple) target substrates Memory assignment and movement Area-time points Analysis Bottleneck Amdhal’s Law Speedup Computational requirements Resource Bounds Critical Path Latency/throughput Penn ESE532 Spring DeHon

22 Interrupts Penn ESE532 Spring DeHon

23 Interrupt External event that redirects processor flow of control
Typically forces a thread switch Common for I/O, Timers Indicate a need for attention Penn ESE532 Spring DeHon

24 Interrupts: Good Allow processor to run some other work
Infrequent, irregular task service with low response service latency Low latency Low throughput Penn ESE532 Spring DeHon

25 Interrupts: Bad Time predictability Processor usage
Real-time for computing tasks interrupted Processor usage Costs time to switch contexts Concurrency management Must deal with tasks executing non-atomically Interleave of interrupted service tasks Perhaps interleave of any task Penn ESE532 Spring DeHon

26 Polling Discipline Alternate to I/O interrupts
Every I/O task is a thread Budget time and rate it needs to run E.g. 10,000 cycles every 5ms Likely tied to Buffer sizes Response latency Schedule I/O threads as real-time tasks Some can be DMA channels Penn ESE532 Spring DeHon

27 IO Thread while (1) { process_input(); }
Like tick() -- yields after doing its work Penn ESE532 Spring DeHon

28 Preclass 2 Input at 100KB/s 30ms time-slot window Size of buffer?
100 cycles/byte, GHz processor – runtime of service routine? Fraction of processor capacity? Penn ESE532 Spring DeHon

29 Scheduling I/O Tasks Penn ESE532 Spring DeHon

30 Timer Interrupts Bounded-time tasks E.g. reactive tasks in real-time
Task has guarantee to release processor within time window Not need timer interrupts to regain control from task (Maybe use deadline operations for timer) Penn ESE532 Spring DeHon

31 Timer Interrupts Best effort tasks
Have no guarantee to finish in bounded time Timer interrupts necessary to allow other threads to run fairness to switch to real-time service tasks Need timer interrupts if need to share processor with real-time threads Easier to segregate real-time and best-effort threads onto different processors Penn ESE532 Spring DeHon

32 Greedy Strategy Schedule real-time tasks
Scheduled based on worst-case, so may not use all time allocated Run best-effort tasks at end of time-slice after complete real-time tasks Timer-interrupt to recover processor in time for start of next scheduling time slot (adds complexity) Penn ESE532 Spring DeHon

33 Real-Time Tasks Interrupts less attractive
More disruptive Scheduled polling better predictability Fits with Synchronous Reactive Model Penn ESE532 Spring DeHon

34 Resource Scheduling Graphs
Penn ESE532 Spring DeHon

35 Scheduling Useful to think about scheduling a processor by task usage
Useful to budget and co-schedule required resources Bus Memory port DMA channel Penn ESE532 Spring DeHon

36 Simple Task Model Task requires Uses resources Data to be transferred
Local storage state Computational cycles (Result data to be transferred) Uses resources Bus/channel to transfer data (in and out) Space in memory on accelerator Cycles on accelerator Penn ESE532 Spring DeHon

37 One Task P1 P2 Bus Mem Penn ESE532 Spring DeHon

38 Several Tasks Resource 1 2 3 4 5 6 7 8 P1 P2 Bus Mem
1 2 3 4 5 6 7 8 P1 P2 Bus Mem Penn ESE532 Spring DeHon

39 Resource Schedule Graph
Extend as necessary to capture potentially limiting resources and usage Regions in memories Memory ports I/O channels Penn ESE532 Spring DeHon

40 Extended Details Resource 1 2 3 4 5 6 7 8 P1 P1 M0 P1 M1 P2 P2 M0
1 2 3 4 5 6 7 8 P1 P1 M0 P1 M1 P2 P2 M0 P2 M1 Bus1 Bus2 OCM DRAM Penn ESE532 Spring DeHon

41 Several Tasks Resource 1 2 3 4 5 6 7 8 P1 P1 M0 P1 M1 P2 P2 M0 P2 M1
1 2 3 4 5 6 7 8 P1 P1 M0 P1 M1 P2 P2 M0 P2 M1 Bus1 Bus2 OCM DRAM Penn ESE532 Spring DeHon

42 Approach Ideal/initial – look at processing requirements
Resource bound on processing Look for bottlenecks / limits with Resource Bounds independently Add buses, memories, etc. Plan/schedule with Resource Schedule Graph Penn ESE532 Spring DeHon

43 Preclass 3a Resource Bound Data movement over bus?
Compute on 2 processors? Compute on 2 processors when processor must wait while local memory is written? Penn ESE532 Spring DeHon

44 Preclass 3b Schedule Processor wait for data load
Penn ESE532 Spring DeHon

45 Double Buffering Common trick to overlap compute and communication
Reserve two buffers input (output) Alternate buffer use for input Producer fills one buffer while consumer working from the other Swap between tasks Trade memory for concurrency Penn ESE532 Spring DeHon

46 Preclass 3c Schedule Double Buffer
Minimum local memory space required? Penn ESE532 Spring DeHon

47 Resource Schedule Graphs
Useful to plan/visualize resource sharing and bottlenecks in SoC Supports scheduling Necessary for real-time scheduling Penn ESE532 Spring DeHon

48 Big Ideas: Scheduling is key to real time Synchronous reactive
Analysis, Guarantees Synchronous reactive Scheduling worst-case tasks “reactions” into master time-slice matching rate Schedule I/O with polling threads Avoid interrupts Schedule dependent resources Buses, memory ports, memory regions… Penn ESE532 Spring DeHon

49 Admin Exam Wednesday HW6 due Friday <Enjoy Spring Break>
Penn ESE532 Spring DeHon


Download ppt "ESE532: System-on-a-Chip Architecture"

Similar presentations


Ads by Google