Title: Automated Real Life Event Scheduler
1 Automated Real Life Event
Scheduler
- Presented by Raven Ali
- Advisor Professor Charles R. Hardnett
2Goals of the Scheduler
- responsible for inferring tasks that are
necessary to complete the event to which they
belong - assuring that all deadlines are met, and
determining the most efficient way to complete
events - studying and modeling existing processor
algorithms - certain aspects of process schedulers that will
apply well to real life, others will be added - ultimately a unique algorithm will be developed
using different aspects of each scheduler
3The Process
- Research Real time deterministic algorithms
- Evaluate different algorithms
- Compare to real life situations
- Make modifications to algorithm
- Develop my own algorithm
- Apply algorithm to real life events
4Real-time Deterministic Scheduling
- task managing of CPU sharing among ready
processes/threads - Made necessary by shared resources
- Various algorithms
- Measures of performance
- Probability distribution of service time
- Efficiency
- Nature of I/O demand
5What is EDF?
- A strategy for CPU or disk access scheduling.
- The task with the earliest deadline is always
executed first. - Earliest deadline is determined through a
computation of slack time - Basic Definition of Slack - difference between
the start time and deadline - Generally utilizes up to 100 of CPU time (when
scheduling processor allocation time). - It doesn't consider priorities, and once
processes start missing their deadlines, the
system will be completely unpredictable. - Here is where REAL LIFE conditions are added!
6Modified EDF
- Optimal dynamic priority algorithm
- 3 categories
- Periodic class, work
- Sporadic homework
- Aperiodic grocery shopping
- Keepers
- Computation time, slack time, period, deadline
- Additions
- dependency, start time, max quanta, min quanta
- max quanta
- min quanta
7EDF Real-life Attributes
- These additions are set of conditions that
differentiate our version of EDF from traditional
process scheduling.
- Start Time the time at which an event enters the
scheduler - This is an important attribute because it is a
point of reference for slack time and deadline - MaxQuanta max number of time intervals in a row
that an event can be processed - The maximum amount of time that a person can work
on an task without a loss of efficiency - Example Ten hours straight of typing
- MinQuanta minimum block of time that a process
needs to execute - The minimum amount of time that a person has to
work on a task to maintain efficiency - Example Five minutes studying for a test
- Dependency events which contain a deadline that
is contingent on the completion of another task - Each event may have multiple dependencies that
can ultimately help determine priority - Example An agenda has to be completed before you
call a meeting
8Real Time vs. Real Life
- Real-Life Event Scheduling
- ESet of preemptable and non-premptable events
- Real-Time Task Scheduling
- Tset of premptable tasks
where,
9Algortithm
10Determining the schedule
- Goal Meet deadlines of all periodic and sporadic
requests and to minimize response time of
aperiodic request. - Periodic P Events have hard deadline and recur
at regular intervals - Sporadic J - Events recur in irregular or
unpredictable instances and have hard deadlines - Aperiodic K Events have soft deadlines and
occur at sporadically - Following the computation of slack time, and
determination of priority, for each incoming
event the current event is scheduled based on an
EDF basis -
11Steps to scheduling
EDF Scheduler
12Step 2
Step 1
- Compute the initial slack of periodic events as
they enter the system. - Determine the slack of new sporadic events to
assure that there is enough time for K() to meet
its deadline. Recompute after an event is
scheduled. If the result of this equationthen idle time is adjusted to allow time for the
event. - Part 2 Determine whether accepting J() is going
to cause any request already in the system to
miss its deadline. If the result of this
equationtime for the event.
Experimental Example (CompTime,maxQ,minQ,deadline
,hyperperiod)
Step 3
13Experimental Example (CompTime,maxQ,minQ,deadline
,hyperperiod)
Already scheduled
- Periodic
- P1(1,1,1,57,168)
- P2(1,1,1,58,168)
- P3(1,1,1,62,168)
- P4(1,1,1,28,168)
- P5(6,6,6,65,168)
- P6(5,5,5,72,168)
- Sporadic
- K1(3,1,1,61,168)
- K2(2,1,1,62,168)
- K3(3,2,1,65,168)
- K5(5,3,2,41,168)
- K6(4,2,2,65,168)
- Aperiodic
- J1(10,4,2,or-85,168)
Incoming Events
14Experimental Example
- After performing all three steps on the incoming
events these are the resulting queues
- After these queues are created
- Idle time (time when you are unable to schedule
events6hours/day) is added incrementally . - Periodic events are placed in their specified
time slot - Sporadic events are used to fill in the empty
spots
- Aperiodic events are added when there is a pause
in the flow of incoming events or the queues are
empty
15Experimental Example
- In the resulting schedule there are various
instances of real time scheduling that are
demonstrated.
Idle time was adjusted here because in Step 3 of
the acceptance test yielded a negative number, so
idle time was adjusted here
Calculating STEP 3
Idle time is adjusted so that the result is 0
Idle time for a hyperperiod
Sporadic requests deadlines earlier than min
periodic
24-23-0-0-0-0 1 0
24-42-0-0-0-0 -22 !0
Minimum initial slack of periodic events
16Experimental Example
- In the resulting schedule there are various
instances of real time scheduling that are
demonstrated.
Idle time is reduced here to make s(4) 0
This is where a reduction was made from 5 to 6
and ultimately 130 to 129
S4K424(41-28)-21-0-5-0-1-9 1
Here the slack of s(K4) was -6. So idle time was
reduced to make s(K4) equal to 1.
Calculating STEP 2
Completed portion of periodic events w/ deadlines
after K4
of completed sporadic requests
Comp time of sporadic events with deadlines
before K4
Deadline of P4
Sporadic events with deadlines after K4
Idle time
initial slack of P4
K4 deadline
Comp time
S4K424(41-28)-23-0-5-0-1-9 -1
17Aperiodic Examples
- Here the aperiodic J events are added at the end
of the queue after all other events have been
scheduled
18Conclusions
- Based on the type of event and EDF all events are
scheduled and all deadlines are met. - The flexibility allowed by idle time is essential
to make everything fit. - Aperiodic events have a very low priority but are
still completed
19Calendar
THIS CALENDAR REPRESENTS ONE HYPERPERIOD OR 168
HOURS
20Executive Assistant (XS)
- Personal and professional task manager
- Software currently available for organizing
atomic actions - XS provides support for organizing
- Groups of actions
- Simplifying ongoing tasks
- Attempts to infer tasks from various user
provided info
21Future Research
- Human Computer Interaction
- How much can idle time be realistically be
reduced - Self prioritizing
- Methods for handling events that cannot be
scheduled - Executive Assistant (XS)
22Thank You
- Professor Hardnett
- Spelman College Computer Science Department
- INCUR