quality of service and resource management support in
play

Quality-of-Service and Resource management support in Task-Centric - PowerPoint PPT Presentation

Quality-of-Service and Resource management support in Task-Centric Models Artur Podobas, Mats Brorsson, Vladimir Vlassov {podobas,matsbror,vladv}@kth.se 1 Contributions Show that it is possible (with benefits) to achieve QoS in user-space


  1. Quality-of-Service and Resource management support in Task-Centric Models Artur Podobas, Mats Brorsson, Vladimir Vlassov {podobas,matsbror,vladv}@kth.se 1

  2. Contributions  Show that it is possible (with benefits) to achieve QoS in user-space with task-centric programming models  Increase the resource awareness of task-centric runtime systems  Empower the task-centric programming with timing constrained tasks  Reduced power consumption 2

  3. Outline What is QoS?  Task-Centric scheduling and QoS-awareness  Timing as a QoS constraint  Current ideas and implementation  Preliminary Results  Conclusions  3

  4. What is Quality-of-Service? Maximize the user's perceived experience  QoS-needs exist in all system abstraction layers  • Multimedia, Web browsers,... • Operating System,... • NoC interconnects,... Often combined with Resource-management  • Enough resources to satisfy application QoS • …but also not too many to prevent degradation of other applications or to limit power consumption 4

  5. Task-Centric scheduling and QoS-awareness The task-centric paradigm:  Exploiting dynamic parallelism within an application  Programmer exposes available parallelism encapsulated as tasks  A task can dynamically generate new tasks  The task-centric scheduler distributes work across the acquired resources #pragma omp task in() out() inout() merge(v1,v2,N); P0 P0 Distributed P0 P4 #pragma omp task in() out inout() Scheduler { ... } 5

  6. Task-Centric scheduling and QoS-awareness There already exists tons of research concerning QoS  and resource-management • Are they not adaptable to the task-centric paradigm? Not necessarily...  • Existing solutions are within kernel-, hypervisor- or middleware-space • They do not assume multiple layers of scheduling (OS/user-level run-time for multiprogrammed workloads) 6

  7. Task-Centric scheduling and QoS-awareness However, a task-centric runtime system contains a  scheduler: • A distributed scheduler that assigns tasks to cores and which may also control resources (preferably in cooperation with the OS) • Middleware can get incorrect readings of an application’s resource usage • The task-centric runtime system knows what tasks exist, will exist, and about history 7

  8. Timing as a QoS constraint – Soft real-time systems We chose to use timing to specify QoS demands of the  application: • Let the programmer specify the timing behavior of tasks • The timing should be specified so-that violating the constraint will result in a degraded experience for the user The timing-constraints will guide the scheduler in taking  decisions • Tasks with tightest timing constraints execute first • Allow the scheduler to drop tasks predicted to violate their timing constraints • Predict what resources can be turned off to save power and when additional resources are needed 8

  9. Timing as a QoS constraint Extensions to the existing OpenMP directive to support  timing-behavior #pragma omp task deadline (time) release_after (time) ON_ERROR (OMP_SKIP | OMP_NO_SKIP) deadline () – Specifies the latest time a task should finish executing. release_after () – Specified the earliest time a task can start executing. ON_ERROR () - Specifies if this task may or may not be dropped 9

  10. Timing as a QoS constraint now = omp_get_wtime(); #pragma omp task deadline(now + 5 ms) fft_array(); Task creation point now now + 5ms Task's timing constraint 10

  11. Current ideas and implementation The two global goals of the runtime scheduler are:  • Strive to minimize the amount of tasks violating their timing constraints • Re-actively or pro-actively conserve resource according to the needs of the application (throughout execution) to reduce power consumption 11

  12. Current ideas and implementation Goal 1: “Strive to minimize the amount of tasks  violating their timing constraints” Solution:  • Integrate an Earliest-Deadline-First, queuing policy to ensure that the scheduler always executes tasks with the earliest deadline • Integrate an critical queue that handle tasks that, according to their history and timing constraints, might miss their deadline 15000 10000 Predictor 5000 0 task1 task2 task3 EDF-queue Critical-queue 12

  13. Current Ideas and Implementation Goals 2: “Re-actively or pro-actively conserve  resources according to the needs of the application (throughout execution)” Current Solution:  • A “fuzzy-logic” approach monitoring the critical-queue and current timing violations to (de-) active resources Critical-queue Target < Resource regulator Miss ratio Amount of timing ... P1 P2 Pn Violations 13

  14. Current Ideas and Implementation We are using the Nanos++ runtime library (under the  OmpSs programming model) • Plug-in based customization • Compiler assisted development using the Mercurium compiler • Existing debugging tool-chains: Paraver 14

  15. Preliminary results  We ported Nanos++ to the • We soldered and attached TilePRO64 processor a National Instruments  The TilePRO64: Data-acquisition (NI USB- 6210) device to the 64 small but energy  TilePRO64's power pins efficient cores VLIW  700 MHz clock  frequency Soldered header-pins 15

  16. Preliminary results Data-Acquisiton device TilePRO64 Wire 16

  17. Preliminary results We executed the H.264 video decoder on the TilePRO64  For the QoS-aware scheduler, we set a target of < 2%  timing violations We compare the results against a timing-unaware  scheduler, the Breadth-First scheduler In these examples, only the deadline() clause was used  No task dropping  Three scenarios:  1. Not enough resources to meet timing constraints 2. Enough resources to meeting timing constraints 3. All resources available; letting the scheduler decide. 17

  18. Preliminary results H.264 running an HD movie with two cores.  Timing constraint set towards a 10 fps execution  Overall power consumption increase : 0.7%  Investigation need, but likely due to complexity of  scheduler Timing violations H.264 with two cores 40,00% 35,00% 30,00% Fraction misses 25,00% 20,00% 15,00% 10,00% 5,00% 0,00% QoS-aw are Breadth-First 18

  19. Preliminary results H.264 running a HD movie with 12 cores  Timing constraints set towards a 10 fps execution  Overall power consumption decrease : ~5%  Timing violations H.264 with 12 cores 2,00% 1,80% 1,60% 1,40% Fraction misses 1,20% 1,00% 0,80% 0,60% 0,40% 0,20% 0,00% Breadth-First QoS-aw are 19

  20. Preliminary results H.264 decoder running a movie with 56 cores  Timing constraints set towards a 10 fps execution  Overall power consumption decrease : ~17%  Timing violations H.264 with 56 cores 2,50% 2,00% Fraction misses 1,50% 1,00% 0,50% 0,00% Breadth-First QoS-aw are 20

  21. Conclusions In majority of cases, power consumption is decreased  compared to a timing un-aware scheduler A scheduler that guarantees that tasks with earliest  deadline are executed first User-friendliness and portability increase; let the runtime  system decide about resources 21

  22. Future work Future work include  • Refining the resource controlling model. • Further decrease the overhead of our scheduling policy • Evaluate on more benchmarks 22

  23. Acknowledgments Thanks to C.C. Chi and prof B. Juurlink of TU Berlin for  the OmpSs version of H.264 Thanks to M. Själander and S. McKee's team of  Chalmers for the support concerning the power measurements 23

  24. Thank you 24

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend