Bin Packing Assignment algorithm for EDF Scheduling

  1. This algorithm is for independent preemptible tasks.
  2. All the processors are identical. The tasks requires no resources except the processor time
  3. The period is equal to the relative deadline.
  4.  

    The sum of utilisations of the tasks assigned to a processor is always less than or equal to 1, the task set is EDF scheduled in that processor.

    So, the problme reduces to making task assignments with the property that the sum of the utilisations of the tasks assigned to a processor does not exceed to 1.

     

     

    T1

    T2

    T3

    T4

    T5

    T6

    T7

    T8

    T9

    T10

    T11

    ei

    5

    7

    3

    1

    10

    16

    1

    3

    9

    17

    21

    Pi

    10

    21

    22

    24

    30

    40

    50

    55

    70

    90

    95

    u(i)

    =ei/Pi

    0.50

    0.33

    0.14

    0.04

    0.33

    0.40

    0.02

    0.05

    0.13

    0.19

    0.22

     

    Arrange the tasks in the order of their utilisation

     

    So the order will be L={T1,T6,T2,T5,T11,T10,T3,T9,T8,T4,T7}

     

    Tasks

    u(i) -> utilisation

    Processor pi

    Assignment Vector(U)

    T1

    0.50

    p1

    (0.50)

    T6

    0.40

    p1

    (0.90)

    T2

    0.33

    p2

    (0.90, 0.33)

    T5

    0.33

    p2

    (0.90,0.66)

    T11

    0.22

    p2

    (0.90,0.88)

    T10

    0.19

    p3

    (0.90,0.88,0.19)

    T3

    0.14

    p3

    (0.90,0.88,0.33)

    T9

    0.13

    p3

    (0.90,0.88,0.46)

    T8

    0.05

    p1

    (0.95,0.88,0.46)

    T4

    0.04

    p1

    (0.99,0.88,0.46)

    T7

    0.02

    p2

    (0.99,0.90,0.46)

     

     

    Steps

  5. When T1 is scheduled, there is only one processor with utilisation 0.5, so T1 is allocated to p1
  6. When T6 comes, again p1 can accommodate as 0.5+0.4=0.9 which is again less than total utilisation factor 1.
  7. When T2 comes, its utilisation is 0.33 which cant be added to p1 since it will cross 1, so a new processor is added and it is p2.
  8. Like wise all other tasks are scheduled according to their utilisation factor.
  9.  

    The Final schedule is given below

    p1=> T1, T6,T8,T4

    p2=> T2,T5,T11,T7

    p3 => T10,T3,T9

     

Advertisements

Published by

tspradeepkumar

I am a professor cum blogger loves to blog on recent technologies, trends, articles on Personal productivity, How to's, blogging, lecture notes, video lectures,etc on topics related to Open source technologies, Embedded Systems, Linux, etc.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s