Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group
ATLAS LOOK-AHEAD SCHEDULING USING WORKLOAD METRICS
MICHAEL ROITZSCH, STEFAN WÄCHTLER, HERMANN HÄRTIG
TU Dresden ATLAS
API DILEMMA
�4
guaranteessimplicity
strict contracts loose rules
perio
dic
task
s ▸
slack
recl
aim
ing ▸
fair
shar
ing ▸
appl
icat
ion
hint
s ▸
ATLA
S ▸
TU Dresden ATLAS
ATLASAuto-Tuning Look-Ahead Scheduler
support desktop-class applications with a fitting interface
simplify by only asking for knowledge from the application domain
improve scheduling behavior compared to CFS
�5
TU Dresden ATLAS
⎡ | | ⎣
⎤ | | ⎦
⎡ | | ⎣
⎤ | | ⎦
⎤ | | ⎦
⎡ | | ⎣
x1
x2
x3
…
Job 1 m11 m12 m13 … t1
Job 2 m21 m22 m23 … t2
Job 3 m31 m32 m33 … t3
Job 4 m41 m42 m43 … t4
Metrics TimesCoefficients
× =≈
MATH
�12
provided measuredinferred
TU Dresden ATLAS
SCHEDULINGsubmit(thread, deadline, metrics)
next()
�14
Input Decode
ApplicationScheduler
LRT: run just when necessary
EDF: tolerate underestimation
TU Dresden ATLAS
SUMMARYATLAS uses explicit job submission
deadlines describe timing requirements
execution times derived fromworkload metrics
adopting ATLAS and obtaining metrics
precision of estimation
improved scheduling behavior�15
TU Dresden ATLAS
CODE AVAILABLE
�16
https://os.inf.tu-dresden.de/~mroi/svn/video/branches/2013-RTAS-ATLAS/
TU Dresden ATLAS
ADOPTING ATLAS
�17
void input() {! for (;;) {! frame = read_frame(); video_queue.put(frame);! }!}!!void decoder() {! for (;;) { frame = video_queue.get();! decode(frame);! picture_queue.put(frame);! }!}
TU Dresden ATLAS
ADOPTING ATLAS
�18
void input() {! for (;;) {! frame = read_frame();
video_queue.put(frame);! }!}!!void decoder() {! for (;;) { frame = video_queue.get();! decode(frame);! picture_queue.put(frame);! }!}
atlas_job_submit(decoder, deadline(), metrics());
TU Dresden ATLAS
ADOPTING ATLAS
�19
void input() {! for (;;) {! frame = read_frame();
video_queue.put(frame);! }!}!!void decoder() {! for (;;) {
atlas_job_next();
frame = video_queue.get();! decode(frame);! picture_queue.put(frame);! }!}
atlas_job_submit(decoder, deadline(), metrics());
TU Dresden ATLAS
PREDICTION
�20
0%
10%
20%
30%
40%
Shore Black Swan Park Run Rush Hour Hungergames
Time Only Reduced Full
Mea
n Re
lativ
e Er
ror
TU Dresden ATLAS
PREDICTION
�21
������������
��� �������
�� �����������
����������
�����
�
��
�
�
��
��
��
��
��
�����������
���� ���� ���� ���� ����
TU Dresden ATLAS
ATLAS BEHAVIOR
�23
Fram
e In
terv
al (m
s)
0
45
90
135
180
0 5 10 15 20 25 30
ATLAS CFS
TU Dresden ATLAS
FUTURE IDEAS
handle overload by back pressure
experiment with modern UI workloads like gesture tracking
integrate with runtime forasynchronous dispatch dispatch_async(queue,job,work);
�24