43 WITHOUT COMMUNICATION COSTS

Decoding Quick Response Code In .NET FrameworkUsing Barcode Control SDK for Visual Studio .NET Control to generate, create, read, scan barcode image in Visual Studio .NET applications.

communication costs, as there is in the general problem On the other hand, problems that are similar to the scheduling problem and seem to be easy at rst sight, such as the KNAPSACK or the BINPACKING problems (Cormen et al [42], Garey and Johnson [73]), are NP-complete, too Theorem 43 (NP-Completeness Cost-Free Communication) Let G = (V, E, w) be a task graph and Pc0 a parallel system The decision problem SCHED-C0(G, Pc0 ) associated with the scheduling problem is as follows Is there a schedule S for G on Pc0 with length sl(S) T , T Q+ SCHED-C0(G, Pc0 ) is NP-complete Proof The same proof as for Theorem 41 is used with one small modi cation for the construction of an instance of SCHED-C0(G, Pc0 ):

QR Code JIS X 0510 Generator In Visual Studio .NETUsing Barcode encoder for Visual Studio .NET Control to generate, create QR Code ISO/IEC18004 image in .NET applications.

1 There are no edge weights, that is, c(e) = 0 e E (instead of c(e) = 2 e E in SCHED(G, P))

QR Code Recognizer In .NETUsing Barcode reader for .NET framework Control to read, scan read, scan image in .NET applications.

The argumentation is then identical to that in the proof of Theorem 41; even the time bound T can remain unchanged Polynomial for Unlimited Processors While in general the scheduling problem without communication costs is NP-complete, it is solvable in polynomial time for an unlimited number of processors Note that this is in contrast to the general scheduling problem; see Theorem 42 A simple algorithm to nd an optimal schedule is based on two ideas: 1 Each node is assigned to a distinct processor 2 Each node starts execution as soon as possible Since there is only one task on each processor, the earliest start time is only determined by the precedence constraints of the task graph; processor constraints cannot occur (Condition 41) A node can start its execution as soon as its data is ready From Eq (417) of De nition 416, it is clear that the DRT is not a function of the processors on which the involved nodes are executed This is the essential difference from the general case, where communication costs must be considered Hence, the earliest possible start time of a node is its DRT, and each node should start at that time: ts (n) = tdr (n) n V (418)

Making Barcode In Visual Studio .NETUsing Barcode creator for VS .NET Control to generate, create bar code image in Visual Studio .NET applications.

The job of the algorithm is to calculate the DRTs and to assign the start times in the correct order For the calculation of a node s DRT, the nish time of all its predecessors must be known This is easily accomplished by handling the nodes in a topological order (De nition 36), which guarantees that the nish times of all predecessors pred(ni ) of a node ni have already been de ned when ni s DRT is calculated Algorithm 6 shows this procedure in algorithmic form It is assumed that

Barcode Scanner In .NETUsing Barcode recognizer for VS .NET Control to read, scan read, scan image in Visual Studio .NET applications.

TASK SCHEDULING

Creating QR Code JIS X 0510 In Visual C#Using Barcode creation for .NET Control to generate, create QR Code image in VS .NET applications.

the processors and nodes are consecutively indexed, that is, V = {n1 , n2 , , n|V| } and Pc0, = {P1 , P2 , , P|Pc0, | } Algorithm 6 Optimal Scheduling G = (V, E, w) on Pc0, , with |Pc0, | |V| Insert {n V} in topological order into sequential list L for each ni in L do DRT 0 for each nj pred(ni ) do DRT max{DRT , tf (nj )} end for ts (ni ) DRT ; tf (ni ) ts (ni ) + w(ni ) proc(ni ) Pi , Pi Pc0, end for Theorem 44 (Optimal Scheduling on Unlimited Processors) Let G = (V, E, w) be a task graph and Pc0, a parallel system, with |Pc0, | |V| Algorithm 6 produces an optimal schedule Sopt of G on Pc0, Proof The produced schedule Sopt is feasible: (1) each node is scheduled on a distinct processor, hence the processor constraint (Condition 41) is always adhered to; and (2) the nodes comply with the precedence constraints (Condition 42), since the start time of each node is not earlier than its DRT The correct calculation of the DRTs is guaranteed by the topological order in which the nodes are processed The produced schedule Sopt is optimal, because each node starts execution at the earliest possible time, the time when its data is ready The DRT cannot be reduced, since it is not a function of the processors (De nition 416); that is, scheduling the involved nodes on other processors does not change the DRT Algorithm 6 has a time complexity of O(V + E): calculating a topological order is O(V + E) (Algorithm 4) To calculate the DRT of each node (O(V)), every predecessor is considered, which amortizes to O(E) predecessors for the entire graph Hence, this part is also O(V + E) While Algorithm 6 is simple, it does not utilize the processors in an ef cient way Usually, there will be a schedule S that uses less than |V| processors, but whose schedule length is also optimal, that is, sl(S) = sl(Sopt ) Yet again, nding the minimum number of processors for achieving the optimal schedule length is an NP-hard problem (Darte et al [52]) A simple heuristic to reduce the number of processors, while maintaining the optimal schedule length, is linear clustering, which is presented in Section 532 Used Processors In Lemma 42 of Section 422 it was stated that the more processors are available for the task graph to be scheduled on, the smaller (or equal) the optimal schedule length The situation becomes less trivial and more interesting when one considers the used processors (De nition 411) in a schedule

QR Printer In VS .NETUsing Barcode creation for ASP.NET Control to generate, create QR Code image in ASP.NET applications.

QR Creation In Visual Basic .NETUsing Barcode generator for VS .NET Control to generate, create QR Code ISO/IEC18004 image in Visual Studio .NET applications.

Code39 Creator In .NET FrameworkUsing Barcode encoder for .NET Control to generate, create Code 3/9 image in VS .NET applications.

2 Of 5 Standard Creation In .NETUsing Barcode generator for .NET framework Control to generate, create C 2 of 5 image in Visual Studio .NET applications.

Data Matrix 2d Barcode Generation In C#Using Barcode printer for .NET framework Control to generate, create ECC200 image in VS .NET applications.

Code39 Generation In JavaUsing Barcode drawer for Java Control to generate, create Code 3/9 image in Java applications.

Printing UPCA In Visual C#Using Barcode printer for VS .NET Control to generate, create UPC-A Supplement 2 image in .NET applications.

EAN / UCC - 13 Drawer In JavaUsing Barcode creation for Java Control to generate, create European Article Number 13 image in Java applications.