scheduling time constrained communication in linear networks
DESCRIPTION
Scheduling Time Constrained Communication in Linear Networks. Micah Adler, Arnold L. Rosenberg, Ramesh K. Sitaraman and Walter Unger. The Problem – A Formal Definition. The underlying graph is a linear array. - PowerPoint PPT PresentationTRANSCRIPT
Scheduling Time Constrained Communication in Linear
Networks
Micah Adler, Arnold L. Rosenberg, Ramesh K. Sitaraman and
Walter Unger
The Problem – A Formal Definition
The underlying graph is a linear array. The problem consists of a set packets,
each with a source node + destination node has a release time + deadline.
The objective is to maximize the number of packets delivered in time.
This Problem vs. the Former One
Each packet has a source+destination, release time+deadline
The objective is to deliver all packets; a schedule is feasible if it does so.
– A schedule either succeeds or fails
The objective is to maximize the number of delivered packets
Each packet has a source+destination and a deadline.
– Single release time
Some More Formal Definitions
Formally, a massage is represented by a quadruple .
Its span is defined to be – The distance between source to dest.
Its slack is defined to be – The number of steps the message may
“rest”.
m)()( ,,, d
mr
mmm ttds
mmm sd
mr
md
ms
m ttt )()()(
A Geometric View of the Problem
For a set of messages M and a linear array with n nodes, let
Each row represents a “time-instance”
Each column represents a node of the linear array
10 and 0|, nvtvtM n
A Geometric View of the Problem(Cont)
A massage is represented by a parallelogram.
Its left vertical side lies between rows
within column Its right vertical side lies
between rows
within column
md
mr
m tt )()( ,
ms
)()( , dmm
rm tt
md
A Geometric View of the Problem(Cont)
Some possible paths for the massages.– Recall: each
massage is represented by a parallelogram
What is the different between the green paths and the blue paths?
Buffer Vs. Bufferless Routing
In the Buffered model messages may be buffered in transmit.
In the Bufferless they may not.
What does a Buffered solution look like? And a Bufferless one?
The Bufferless Algorithm - Preliminaries
A scan-line of is the relevant segment of the function x-y=c, for some relevant c.
In what follows, assume these scan- lines are ordered from right to left.
nM
The Bufferless Algorithm Preliminaries (cont)
A massage (parall.) m is relevant to a scan-line if:– A path has not been
assigned to m, yet.– The intersection
between m to is not empty.
– The segment of relevant to m has not been assigned yet.
il
il
il
The Bufferless Algorithm – BFL
For each scan-line , from left to right:– Scan it from bottom to top; as long as there
are parallelograms relevant to assign the relevant segment of to the parall. with the lowest end-point among the relevant parallelograms.
• Note that this is an offline algorithm.
il
ilil
The Bufferless Algorithm – an Operation Example.
The Bufferless Algorithm – an Operation Example.
The Bufferless Algorithm – an Operation Example.
The Bufferless Algorithm – an Operation Example.
The Bufferless Algorithm – an Operation Example.
The Bufferless Algorithm – an Operation Example.
BFL is Nearly Optimal
Theorem: for every set M of massages |OPTBL(M)| 2 • |BFL(M)|
Proof: we will prove that a 1:1 mapping
exists, and the Theorem will follow.
)BFL()BFL(\)OPT(1:1
MMM
BFL is Nearly Optimal –the Proof
Consider a massage– Let pm be the segment assigned to it under
OPT.• The right corner of a segment assigned to a
massage must be in pm. (why?) – (If there is more than one such massage, choose
one arbitrarily).
• Map m’ to m.
As OPT produce a valid schedule, the mapping is indeed 1:1 (why?)
)BFL(\)OPT( MMm
)BFL(' Mm
Buffered vs. Bufferless Scheduling
Theorem: If all massages in the set M have the same span or the same release time then
|OPTB(M)| 2 • |OPTBL(M)|
Theorem: If all massages in the set M have the same slack then
|OPTB(M)| 3 • |OPTBL(M)|
Buffered vs. Bufferless Scheduling
Theorem: for any message set M |OPTB(M)| 4 • (log(M) +1) • |OPTBL(M)|– When
)( max)( , )( max)(
||),(),(1 min)(
^)(
^)(
^^)(
MMMtMt
MMMtM
ss
s
The Buffered Algorithm
The Buffered algorithm, BUF, mimics the bufferless algorithm, BFL, and achieves the same performances. Thus we have:
|OPTB(M)| = ((log(M) ) • |OPTBL(M)|)
– And in the cases mentioned above
|OPTB(M)| = ( |OPTBL(M)|)
– So, what do we need the buffers for?
The Buffered algorithm (cont)
The buffers are used to convert the offline algorithm BFL to an – Distributed
• Only the source node of a massage m receives information about m.
– Online• The information about m is received only at time .
– Local• All routing decisions made by a node are derived only by
information the node received.
algorithm, BUF.
)(rmt
The Buffered algorithm (cont)
Preliminaries: for a massage m let lbuf[m]
(lbfl[m] ) be the scan line in which m reaches
its destination. The invariant: for any message set M,
for every lbuf[m] =lbfl[m] .– Yet, the algorithm is distributed, online and local.
What obstacles must the algorithm overcome?
Mm
Possible problems of the Buffered Algorithm
Premature Preemptive
The Buffered Algorithm, BUF, Preliminaries
Fact: for node v at time t there is a single relevant scan-line, lv-t.
Each node v maintain a list of relevant packets in time t, Ev[v-t].– Can solve the premature problem.– What about the preemptive problem?
Let MRE[v-t] be the endpoint closest (from the left) to node v on lv-t .
The Buffered Algorithm, BUF.
At time t each node v forwards to node v+1 along scan line lv-t
i. The information MRE[v-t].
ii. A massage from Ev[v-t] with the nearest destination of any massage in Ev[v-t] whose source node is MRE[v-t].
• (of course, only if such a massage exists).
The Buffered Algorithm – an Operation Example.
The Buffered Algorithm – an Operation Example.
The Buffered Algorithm – an Operation Example.
The Buffered Algorithm – an Operation Example.
The Buffered Algorithm – an Operation Example.
The Buffered Algorithm – an Operation Example.
The Buffered Algorithm – an Operation Example.
The Buffered Algorithm – an Operation Example.
The Buffered Algorithm – an Operation Example.
The Buffered Algorithm – an Operation Example.
BUF Compared With BFL
Questions?