shared-resource-centric limited preemptive scheduling: a

106
Zheng Dong Cong Liu Soroush Bateni The University of Texas at Dallas, USA Shared-Resource-Centric Limited Preemptive Scheduling: A Comprehensive Study of Suspension-based Partitioning Approaches Kuan-Hsun Chen Jian-Jia Chen Georg von der Bruggen Junjie Shi Technical University of Dortmund, Germany

Upload: others

Post on 13-Jan-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Shared-Resource-Centric Limited Preemptive Scheduling: A

Zheng Dong Cong Liu Soroush Bateni The University of Texas at Dallas, USA

Shared-Resource-Centric Limited Preemptive Scheduling: A Comprehensive Study of Suspension-based Partitioning Approaches

Kuan-Hsun Chen Jian-Jia Chen Georg von der Bruggen Junjie ShiTechnical University of Dortmund, Germany

Page 2: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Multi-Core Processor❖ Simpler and lower power than a single large core

❖ Smaller inter-core communication latency

AMD Barcelona (4 cores)

Intel Core i7 (8 cores) IBM Cell BE (8+1 cores) IBM POWER7 (8 cores)

Sun Niagara 2 (8 cores) Nvidia Fermi (448 cores) Intel SCC (48 cores) Tilera TILE Gx (100 cores)

Page 3: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

An example of multi-phase taskAutonomous Driving Vehicle

Page 4: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

An example of multi-phase taskAutonomous Driving Vehicle

100 cores on chip

Page 5: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

An example of multi-phase taskAutonomous Driving Vehicle

100 cores on chip

GPU (shared resource)

Page 6: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

An example of multi-phase taskAutonomous Driving Vehicle

100 cores on chip

❖ CPUs and GPU communicate with each other constantly through the PCI bus.

GPU (shared resource)

Page 7: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

An example of multi-phase taskAutonomous Driving Vehicle

100 cores on chip

❖ CPUs and GPU communicate with each other constantly through the PCI bus.

GPU (shared resource)

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task:

Page 8: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU (accelerator)

Traditional methods encounter multi-core system

100 cores on chip

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task:

Page 9: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU (accelerator)

Traditional methods encounter multi-core system

100 cores on chip

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task:

Page 10: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU (accelerator)

Traditional methods encounter multi-core system

CPU-phase CPU-phase CPU-phase Core-centric: Suspension Suspension

100 cores on chip

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task:

Page 11: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU (accelerator)

Traditional methods encounter multi-core system

CPU-phase CPU-phase CPU-phase Core-centric: Suspension Suspension

100 cores on chip

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task:

The idea is to focus on judiciously allocating CPU resources while viewing shared resources as I/O (suspensions) and bounding the worst-case latency a task may experience on such resources.

Page 12: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU (accelerator)

Traditional methods encounter multi-core system

CPU-phase CPU-phase CPU-phase Core-centric: Suspension Suspension

100 cores on chip

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task: bounded

The idea is to focus on judiciously allocating CPU resources while viewing shared resources as I/O (suspensions) and bounding the worst-case latency a task may experience on such resources.

Page 13: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU (accelerator)

Traditional methods encounter multi-core system

CPU-phase CPU-phase CPU-phase Core-centric: Suspension Suspension

100 cores on chip

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

[3] Cong Liu and James Anderson. An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems, Proceedings of the 33th IEEE Real-Time Systems Symposium, RTSS 2012

[1] Zheng Dong and Cong Liu. Closing the loop for the selective conversion approach: a utilization-based test for hard real-time suspending task systems, Proceedings of the 37th IEEE Real-Time Systems Symposium, RTSS 2016.

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task: bounded

The idea is to focus on judiciously allocating CPU resources while viewing shared resources as I/O (suspensions) and bounding the worst-case latency a task may experience on such resources.

Page 14: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU (accelerator)

Traditional methods encounter multi-core system

CPU-phase CPU-phase CPU-phase Core-centric: Suspension Suspension

100 cores on chip

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

[3] Cong Liu and James Anderson. An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems, Proceedings of the 33th IEEE Real-Time Systems Symposium, RTSS 2012

[1] Zheng Dong and Cong Liu. Closing the loop for the selective conversion approach: a utilization-based test for hard real-time suspending task systems, Proceedings of the 37th IEEE Real-Time Systems Symposium, RTSS 2016.

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task:

Shared resource may become the actual scheduling bottleneck, causing the worst-case latency bound on shared-resource rather pessimistic or impossible to derive.

Page 15: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU (accelerator)

Traditional methods encounter multi-core system

CPU-phase CPU-phase CPU-phase Core-centric: Suspension Suspension

100 cores on chip

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

[3] Cong Liu and James Anderson. An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems, Proceedings of the 33th IEEE Real-Time Systems Symposium, RTSS 2012

[1] Zheng Dong and Cong Liu. Closing the loop for the selective conversion approach: a utilization-based test for hard real-time suspending task systems, Proceedings of the 37th IEEE Real-Time Systems Symposium, RTSS 2016.

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task: unbounded

Shared resource may become the actual scheduling bottleneck, causing the worst-case latency bound on shared-resource rather pessimistic or impossible to derive.

Page 16: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU (accelerator)

Traditional methods encounter multi-core system

CPU-phase CPU-phase CPU-phase Core-centric: Suspension Suspension

100 cores on chip

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

[3] Cong Liu and James Anderson. An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems, Proceedings of the 33th IEEE Real-Time Systems Symposium, RTSS 2012

[1] Zheng Dong and Cong Liu. Closing the loop for the selective conversion approach: a utilization-based test for hard real-time suspending task systems, Proceedings of the 37th IEEE Real-Time Systems Symposium, RTSS 2016.

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task: unbounded

Not Applicable

Shared resource may become the actual scheduling bottleneck, causing the worst-case latency bound on shared-resource rather pessimistic or impossible to derive.

Page 17: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

A counter-intuitive shared-resource-centric perspective

100 cores on chip

GPU (accelerator)

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task:

Page 18: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

A counter-intuitive shared-resource-centric perspective

100 cores on chip

GPU (accelerator)

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task:

Page 19: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

A counter-intuitive shared-resource-centric perspective

100 cores on chip

GPU (accelerator)

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task:

Shared-resource-centric: Suspension Suspension SuspensionGPU-phase GPU-phase

Page 20: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

A counter-intuitive shared-resource-centric perspective

100 cores on chip

GPU (accelerator)

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task:

Shared-resource-centric: Suspension Suspension SuspensionGPU-phase GPU-phase

The idea is to judiciously scheduling shared-resource requests (treating shared-resource as the first class unit) and bounding the worst case latency a task may experience on the computing cores (treating cores as “I/O”).

Page 21: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

A counter-intuitive shared-resource-centric perspective

100 cores on chip

GPU (accelerator)

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task:

Shared-resource-centric: Suspension Suspension SuspensionGPU-phase GPU-phase

The idea is to judiciously scheduling shared-resource requests (treating shared-resource as the first class unit) and bounding the worst case latency a task may experience on the computing cores (treating cores as “I/O”).

Bounded

Page 22: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

A counter-intuitive shared-resource-centric perspective

100 cores on chip

GPU (accelerator)

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task:

Shared-resource-centric: Suspension Suspension SuspensionGPU-phase GPU-phase

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

[3] Cong Liu and James Anderson. An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems, Proceedings of the 33th IEEE Real-Time Systems Symposium, RTSS 2012

[1] Zheng Dong and Cong Liu. Closing the loop for the selective conversion approach: a utilization-based test for hard real-time suspending task systems, Proceedings of the 37th IEEE Real-Time Systems Symposium, RTSS 2016.

The idea is to judiciously scheduling shared-resource requests (treating shared-resource as the first class unit) and bounding the worst case latency a task may experience on the computing cores (treating cores as “I/O”).

Bounded

Page 23: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

A counter-intuitive shared-resource-centric perspective

100 cores on chip

GPU (accelerator)

CPU-phase GPU-phase CPU-phase GPU-phase CPU-phaseMulti-phase task:

Shared-resource-centric: Suspension Suspension SuspensionGPU-phase GPU-phase

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

[3] Cong Liu and James Anderson. An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems, Proceedings of the 33th IEEE Real-Time Systems Symposium, RTSS 2012

[1] Zheng Dong and Cong Liu. Closing the loop for the selective conversion approach: a utilization-based test for hard real-time suspending task systems, Proceedings of the 37th IEEE Real-Time Systems Symposium, RTSS 2016.

Not Applicable

The idea is to judiciously scheduling shared-resource requests (treating shared-resource as the first class unit) and bounding the worst case latency a task may experience on the computing cores (treating cores as “I/O”).

Bounded

Page 24: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Challenges in shared-resource-centric scheduling ❖ shared-resource-centric suspending task model VS. Traditional

suspending task model

➡ Limited preemptive scheduling VS. Fully preemptive scheduling

➡ Parallel Scheduling VS. Single thread scheduling

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

[3] Cong Liu and James Anderson. An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems, Proceedings of the 33th IEEE Real-Time Systems Symposium, RTSS 2012

[1] Zheng Dong and Cong Liu. Closing the loop for the selective conversion approach: a utilization-based test for hard real-time suspending task systems, Proceedings of the 37th IEEE Real-Time Systems Symposium, RTSS 2016.

Not Applicable

Page 25: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Challenges in shared-resource-centric scheduling ❖ shared-resource-centric suspending task model VS. Traditional

suspending task model

➡ Limited preemptive scheduling VS. Fully preemptive scheduling

➡ Parallel Scheduling VS. Single thread scheduling

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

[3] Cong Liu and James Anderson. An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems, Proceedings of the 33th IEEE Real-Time Systems Symposium, RTSS 2012

[1] Zheng Dong and Cong Liu. Closing the loop for the selective conversion approach: a utilization-based test for hard real-time suspending task systems, Proceedings of the 37th IEEE Real-Time Systems Symposium, RTSS 2016.

Not Applicable

Page 26: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Challenges in shared-resource-centric scheduling ❖ shared-resource-centric suspending task model VS. Traditional

suspending task model

➡ Limited preemptive scheduling VS. Fully preemptive scheduling

➡ Parallel Scheduling VS. Single thread scheduling

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

[3] Cong Liu and James Anderson. An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems, Proceedings of the 33th IEEE Real-Time Systems Symposium, RTSS 2012

[1] Zheng Dong and Cong Liu. Closing the loop for the selective conversion approach: a utilization-based test for hard real-time suspending task systems, Proceedings of the 37th IEEE Real-Time Systems Symposium, RTSS 2016.

Not Applicable

Page 27: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Challenges in shared-resource-centric scheduling ❖ shared-resource-centric suspending task model VS. Traditional

suspending task model

➡ Limited preemptive scheduling VS. Fully preemptive scheduling

➡ Parallel Scheduling VS. Single thread scheduling

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

[3] Cong Liu and James Anderson. An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems, Proceedings of the 33th IEEE Real-Time Systems Symposium, RTSS 2012

[1] Zheng Dong and Cong Liu. Closing the loop for the selective conversion approach: a utilization-based test for hard real-time suspending task systems, Proceedings of the 37th IEEE Real-Time Systems Symposium, RTSS 2016.

Not Applicable

Memory BankingGPU with parallel programmable units at their cores.

Page 28: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Challenges in shared-resource-centric scheduling ❖ shared-resource-centric suspending task model VS. Traditional

suspending task model

➡ Limited preemptive scheduling VS. Fully preemptive scheduling

➡ Parallel Scheduling VS. Single thread scheduling

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

[3] Cong Liu and James Anderson. An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems, Proceedings of the 33th IEEE Real-Time Systems Symposium, RTSS 2012

[1] Zheng Dong and Cong Liu. Closing the loop for the selective conversion approach: a utilization-based test for hard real-time suspending task systems, Proceedings of the 37th IEEE Real-Time Systems Symposium, RTSS 2016.

Not Applicable

Memory BankingGPU with parallel programmable units at their cores.

Task1 Task2 Task3

Page 29: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Challenges in shared-resource-centric scheduling ❖ shared-resource-centric suspending task model VS. Traditional

suspending task model

➡ Limited preemptive scheduling VS. Fully preemptive scheduling

➡ Parallel Scheduling VS. Single thread scheduling

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

[3] Cong Liu and James Anderson. An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems, Proceedings of the 33th IEEE Real-Time Systems Symposium, RTSS 2012

[1] Zheng Dong and Cong Liu. Closing the loop for the selective conversion approach: a utilization-based test for hard real-time suspending task systems, Proceedings of the 37th IEEE Real-Time Systems Symposium, RTSS 2016.

Not Applicable

Memory BankingGPU with parallel programmable units at their cores.

Task1 Task2 Task3

Task2

Task1

Page 30: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Objectives and solution overview

❖ Our goals is two-fold:

➡ Schedulability tests for shared-resource-centric limited preemptive suspending task model.

➡ Minimizing the number of units of required shared resource.

Page 31: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Objectives and solution overview

❖ Our goals is two-fold:

➡ Schedulability tests for shared-resource-centric limited preemptive suspending task model.

➡ Minimizing the number of units of required shared resource.

❖ Solution overview (two steps):

➡ Step1: Developing schedulability tests that can guarantee HRT constraints

➡ Step2: Partitioning tasks onto a multi-unit shared resource to minimize the amount of required shared resource.

Page 32: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Shared-resource-centric suspending task model

0 33.3 ms 66.6ms

GPU

❖ Implicit-deadline sporadic multi-phase task: τi(ei, si, pi, di, , zi)�i

Page 33: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Shared-resource-centric suspending task model

pi

0 33.3 ms 66.6ms

GPU

❖ Implicit-deadline sporadic multi-phase task: τi(ei, si, pi, di, , zi)�i

Page 34: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Execution on GPU

Shared-resource-centric suspending task model

pi

0 33.3 ms 66.6ms

GPU

❖ Implicit-deadline sporadic multi-phase task: τi(ei, si, pi, di, , zi)�i

Page 35: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Execution on CPUExecution on GPU

Shared-resource-centric suspending task model

pi

0 33.3 ms 66.6ms

GPU

❖ Implicit-deadline sporadic multi-phase task: τi(ei, si, pi, di, , zi)�i

Page 36: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Execution on GPU

Shared-resource-centric suspending task model

pi

0 33.3 ms 66.6ms

GPU

❖ Implicit-deadline sporadic multi-phase task: τi(ei, si, pi, di, , zi)�i

Page 37: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Execution on GPU

Shared-resource-centric suspending task model

pi

0 33.3 ms 66.6ms

GPU

❖ Implicit-deadline sporadic multi-phase task: τi(ei, si, pi, di, , zi)�i

zi

Suspensions from shared-resource-centric perspective

Page 38: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Execution on GPU

Shared-resource-centric suspending task model

pi

0 33.3 ms 66.6ms

GPU

❖ Implicit-deadline sporadic multi-phase task: τi(ei, si, pi, di, , zi)�i

zi

Suspensions from shared-resource-centric perspective

�i

Page 39: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Execution on GPU

Shared-resource-centric suspending task model

pi

0 33.3 ms 66.6ms

GPU

❖ Implicit-deadline sporadic multi-phase task: τi(ei, si, pi, di, , zi)�i

zi

Suspensions from shared-resource-centric perspective

Each operation on the shared resource is atomic, with a processing time upper - bounded by B

�i

Page 40: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Execution on GPU

Shared-resource-centric suspending task model

pi

0 33.3 ms 66.6ms

GPU

❖ Implicit-deadline sporadic multi-phase task: τi(ei, si, pi, di, , zi)�i

Rate-monotonic (RM) Scheduling on the shared resource.

zi

Suspensions from shared-resource-centric perspective

Each operation on the shared resource is atomic, with a processing time upper - bounded by B

�i

Page 41: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

B

1

2

Page 42: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

B

1

Non-preemptive blocking from a lower priority job

2

Page 43: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

B

1

Non-preemptive blocking from a lower priority job

2

Observation

The maximum blocking time experienced by any job released by due to non-preemptive blocking on shared resource is at most times B.

⌧i�i

Page 44: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

❖ Schedulability tests for preemptive task scheduling

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

Page 45: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

❖ Schedulability tests for preemptive task scheduling

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

Time-demand Analysis(TDA)

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

Page 46: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

❖ Schedulability tests for limited-preemptive task scheduling

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

Time-demand Analysis(TDA)

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

Page 47: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

❖ Schedulability tests for limited-preemptive task scheduling

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

Time-demand Analysis(TDA)

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

Observation

The maximum blocking time experienced by any job released by is due to non-preemptive blocking on shared resource is at most times B.

⌧i�i

Page 48: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

❖ Schedulability tests for limited-preemptive task scheduling

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

Time-demand Analysis(TDA)Time-demand Analysis(TDA)

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

Observation

The maximum blocking time experienced by any job released by is due to non-preemptive blocking on shared resource is at most times B.

⌧i�i

Page 49: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

❖ Schedulability tests for limited-preemptive task scheduling

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

Time-demand Analysis(TDA)Time-demand Analysis(TDA)

[2] Jianjia Chen, Wenhung Huang, and Cong Liu. K2U: A General Framework from k-Point Effective Schedulabiliy Analysis to Utilization-based Tests, Proceedings of the 36th IEEE Real-Time Systems Symposium, RTSS 2015.

Observation

The maximum blocking time experienced by any job released by is due to non-preemptive blocking on shared resource is at most times B.

⌧i�i

Page 50: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

❖ Schedulability tests for limited-preemptive task scheduling

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

Page 51: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Time-demand Analysis(TDA)

❖ Schedulability tests for limited-preemptive task scheduling

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

Page 52: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Time-demand Analysis(TDA)

❖ Schedulability tests for limited-preemptive task scheduling

❖ Time-demand Analysis(TDA)

➡ Higher complexity

➡ Higher accuracy

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

Page 53: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Time-demand Analysis(TDA)

❖ Schedulability tests for limited-preemptive task scheduling

❖ Time-demand Analysis(TDA)

➡ Higher complexity

➡ Higher accuracy

Constant-time Tests (CT)

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

Page 54: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Time-demand Analysis(TDA)

❖ Schedulability tests for limited-preemptive task scheduling

❖ Time-demand Analysis(TDA)

➡ Higher complexity

➡ Higher accuracy❖ Constant-time Tests (CT)

➡ Lower complexity

➡ Lower accuracy

Constant-time Tests (CT)

Step1: Developing schedulability tests for Limited preemptive suspending task scheduling

Page 55: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

20

20

8

4

4

Page 56: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

20

20

8

4

4

Page 57: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

20

20

8

4

4

Page 58: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

20

20

8

4

4

20

20

8

4

4

Page 59: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

56

20

20

8

4

4

20

20

8

4

4

Page 60: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

56

20

20

8

4

4

20

20

8

4

4

Page 61: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

56

20

20

8

4

4

20

20

8

4

4

Page 62: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

56

20

20

8

4

4

20

20

8

4

4

Page 63: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

56

20

20

8

4

4

20

20

8

4

4

Page 64: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

56

20

20

8

4

4

20

20

8

4

4

20

20

8

Page 65: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

56 48

20

20

8

4

4

20

20

8

4

4

20

20

8

Page 66: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

56 48

20

20

8

4

4

20

20

8

4

4

20

20

8

Page 67: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

56 48

20

20

8

4

4

20

20

8

4

4

20

20

8

Page 68: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

56 48

20

20

8

4

4

20

20

8

4

4

20

20

8

Page 69: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

56 48

20

20

8

4

4

20

20

8

4

4

20

20

8

20

8

Page 70: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

56 48

28

20

20

8

4

4

20

20

8

4

4

20

20

8

20

8

Page 71: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

56 48

28

20

20

8

4

4

20

20

8

4

4

20

20

8

20

8

Observation

If we can schedule tasks with similar parallelism together on one resource partition, the negative impact due to multiple tasks’ parallelism can be

“masked” by only one task that has the maximum parallelism.

Page 72: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

Page 73: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

❖ Minimize the amount of required shared resource.

➡ Developing a comprehensive set of partitioning algorithms combined with various schedulability tests.

➡ Theoretically evaluate the effectivity of the proposed partitioning algorithms through upper bounding the system utilization loss.

➡ Further improve the partitioning methods using an ILP-based approach.

Page 74: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

, r = 1 and Z1 =z1⇡1 = {⌧1}

Whether can pass the schedulability test of RM on shared resource j under

the interference from

⌧k

⇡j

Yes

Mark as a feasible resource⇡j

No Assign to an unused resource, r++, Zr = zk and k++⌧k

If k<=n

If k==n+1

Assign to arbitrarily feasible resource and k++

j++

If j==r If j<r⌧k

If k==n+1

If k<=n

Return rX

i=1

Zi

Sort the tasks according to zi values (zi>=zi+1); ties are broken by preferring smaller pi for a smaller index.

Step 2:Partitioning tasks onto a multi-unit shared resource

Page 75: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

, r = 1 and Z1 =z1⇡1 = {⌧1}

Whether can pass the schedulability test of RM on shared resource j under

the interference from

⌧k

⇡j

Yes

Mark as a feasible resource⇡j

No Assign to an unused resource, r++, Zr = zk and k++⌧k

If k<=n

If k==n+1

Assign to arbitrarily feasible resource and k++

j++

If j==r If j<r⌧k

If k==n+1

If k<=n

Return rX

i=1

Zi

Sort the tasks according to zi values (zi>=zi+1); ties are broken by preferring smaller pi for a smaller index.

Step 2:Partitioning tasks onto a multi-unit shared resource

Page 76: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

, r = 1 and Z1 =z1⇡1 = {⌧1}

Whether can pass the schedulability test of RM on shared resource j under

the interference from

⌧k

⇡j

Yes

Mark as a feasible resource⇡j

No Assign to an unused resource, r++, Zr = zk and k++⌧k

If k<=n

If k==n+1

Assign to arbitrarily feasible resource and k++

j++

If j==r If j<r⌧k

If k==n+1

If k<=n

Return rX

i=1

Zi

Sort the tasks according to zi values (zi>=zi+1); ties are broken by preferring smaller pi for a smaller index.

Step 2:Partitioning tasks onto a multi-unit shared resource

Page 77: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

, r = 1 and Z1 =z1⇡1 = {⌧1}

Whether can pass the schedulability test of RM on shared resource j under

the interference from

⌧k

⇡j

Yes

Mark as a feasible resource⇡j

No Assign to an unused resource, r++, Zr = zk and k++⌧k

If k<=n

If k==n+1

Assign to arbitrarily feasible resource and k++

j++

If j==r If j<r⌧k

If k==n+1

If k<=n

Return rX

i=1

Zi

Sort the tasks according to zi values (zi>=zi+1); ties are broken by preferring smaller pi for a smaller index.

Step 2:Partitioning tasks onto a multi-unit shared resource

Page 78: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

, r = 1 and Z1 =z1⇡1 = {⌧1}

Whether can pass the schedulability test of RM on shared resource j under

the interference from

⌧k

⇡j

Yes

Mark as a feasible resource⇡j

No Assign to an unused resource, r++, Zr = zk and k++⌧k

If k<=n

If k==n+1

Assign to arbitrarily feasible resource and k++

j++

If j==r If j<r⌧k

If k==n+1

If k<=n

Return rX

i=1

Zi

Sort the tasks according to zi values (zi>=zi+1); ties are broken by preferring smaller pi for a smaller index.

Step 2:Partitioning tasks onto a multi-unit shared resource

Page 79: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

, r = 1 and Z1 =z1⇡1 = {⌧1}

Whether can pass the schedulability test of RM on shared resource j under

the interference from

⌧k

⇡j

Yes

Mark as a feasible resource⇡j

No Assign to an unused resource, r++, Zr = zk and k++⌧k

If k<=n

If k==n+1

Assign to arbitrarily feasible resource and k++

j++

If j==r If j<r⌧k

If k==n+1

If k<=n

Return rX

i=1

Zi

Sort the tasks according to zi values (zi>=zi+1); ties are broken by preferring smaller pi for a smaller index.

Time-demand Analysis(TDA)

Constant-time Tests (CT)

Step 2:Partitioning tasks onto a multi-unit shared resource

Page 80: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

Upper bounding the system utilization loss

Page 81: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

Upper bounding the system utilization loss

Constant-time Tests (CT)

Page 82: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

Upper bounding the system utilization loss

Constant-time Tests (CT)

ST-FF-CT(Carry)

Page 83: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

Upper bounding the system utilization loss

Constant-time Tests (CT)

ST-FF-CT(Carry)

ST-FF-CT(Jitter)

Page 84: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Step 2:Partitioning tasks onto a multi-unit shared resource

Upper bounding the system utilization loss

Constant-time Tests (CT)

ST-FF-CT(Carry)

ST-FF-CT(Jitter)

Intuitively, task partitioning methods always suffer from both scheduling algorithms and bin-packing

induced utilization loss.

Page 85: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

An Integer linear programming based approach.

Step 2:Partitioning tasks onto a multi-unit shared resource

Page 86: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

An Integer linear programming based approach.

Step 2:Partitioning tasks onto a multi-unit shared resource

min. the number of units of the shared resource

Page 87: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

An Integer linear programming based approach.

Step 2:Partitioning tasks onto a multi-unit shared resource

min. the number of units of the shared resource

s.t. All Possible Partitions

Page 88: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

An Integer linear programming based approach.

Step 2:Partitioning tasks onto a multi-unit shared resource

min. the number of units of the shared resource

s.t. All Possible Partitions

Time-demand Analysis(TDA)Constant-time Tests (CT)

Page 89: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Case Study❖ Our shared-resource-centric partitioning framework is

fully implemented on a GPU-enabled platform.

➡ Ubuntu Liunx system with a 4-core Intel i7-4770 CPU

➡ NVIDIA “Fermi” GTX 480 GPU (shared resource)

❖ Objectives: answer the following 3 questions

➡ Whether it is practically feasible to resolve the problem from shared-resource-centric angle.

➡ Whether solving this scheduling issue from the shared-resource-centric view is more effective than traditional CPU-centric view.

➡ Whether our proposed schedulability tests can provide reliable predictability for given task systems.

Page 90: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Traditional CPU-centric Scheduling

Page 91: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Traditional CPU-centric Scheduling

Page 92: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Traditional CPU-centric Scheduling

Page 93: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU-centric Scheduling (First-fit partitioning)

Page 94: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU-centric Scheduling (First-fit partitioning)

Page 95: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU-centric Scheduling (First-fit partitioning)

30

Page 96: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU-centric Scheduling (First-fit partitioning)

30

Page 97: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU-centric Scheduling (First-fit partitioning)

30

26

Page 98: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU-centric Scheduling (ILP-based partitioning)

Page 99: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU-centric Scheduling (ILP-based partitioning)

Page 100: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU-centric Scheduling (ILP-based partitioning)

20

Page 101: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

GPU-centric Scheduling (ILP-based partitioning)

20

20

Page 102: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Simulation evaluation

❖ The UUnifast-Discard method was applied to generate task sets.

❖ Evaluated methods

➡ Comparison with first-fit partition using TDA-based tests.

➡ Comparison with first-fit partition using constant time tests.

➡ Comparison among different ILP-based approaches.

➡ Representative Approaches Comparison.

Page 103: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

First-Fit partition using TDA-based tests(CT tests).N

orm

aliz

ed n

umbe

r of

req

uire

d sh

ared

res

ourc

e

Page 104: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

ILP-based approaches and representative approaches comparisonN

orm

aliz

ed n

umbe

r of

req

uire

d sh

ared

res

ourc

e

Page 105: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Conclusion

❖ Develop a HRT multi-phase task scheduling framework

➡ Resolve this problem from a counter-intuitive shared-resource-centric perspective.

➡ Develop a rather comprehensive set of suspending task partitioning algorithms that minimize the required size of the shared resource.

➡ A GPU-based prototype case study and extensive simulation-based experiments have been conducted.

Page 106: Shared-Resource-Centric Limited Preemptive Scheduling: A

Shared-Resource-Centric Limited Preemptive Scheduling

Zheng Dong @ RTAS’18, Porto

Thank you!