Elsevier

Parallel Computing

Volume 29, Issue 1, January 2003, Pages 111-134
Parallel Computing

Job preemption, fast subcube compaction, or waiting in hypercube systems? A selection methodology

https://doi.org/10.1016/S0167-8191(02)00221-1Get rights and content

Abstract

For a hypercube environment, this paper proposes a decision making method that tries to answer the following question: when a fully specified job arrives into a hypercube system and does not find an available free subcube that fulfills its execution requirements, what action to take:

  • (1)

    Preempt one of the running jobs, use its allocated subcube and resume it later.

  • (2)

    Do fast compaction for one of the allocated subcubes (using all disjoint paths method [IEEE Trans. Parallel Dist. Syst. 9 (1) (1998) 50]) to utilize a coalesced subcube area and run in it.

  • (3)

    Wait till one of the running jobs terminates and leaves the system.


An algorithm of complexity O(N2mlog(N)) is given to illustrate the selection methodology of a candidate job and the corresponding action, where N is the maximum number of jobs running in the hypercube system, and m is the maximum number of processing segments defined along one execution window. The action that causes a maximum time gain (maximum remaining laxities) is chosen. The selection approach enhances the preemption concept and can be incorporated into a job allocator for a hypercube system. Illustrative case studies are given to illustrate its applicability.

Introduction

In a hypercube system, the problem of fast subcube compaction using all disjoint paths has begun to receive attention in recent years and it was possible to prove its efficiency [7]. Subcube compaction operation means coalescing of allocated subcubes together, compacting thus unused subcube areas; this leads to better utilization of available space. In our paper, it is tried to utilize it in a preemptive scheduling scheme where prioritized jobs execute independently of each other, and each has its own time and dimensionality specifications. Fast subcube compaction is proposed to be used as an alternative to preemption; when a prioritized job arrives and does not find a free subcube to accommodate it, one of the lower priority running jobs can be suspended, the newly arriving job is initiated and later the suspended job is resumed. Subcube compaction is done by moving one or several processing job(s) from its (their) allocated source subcube(s) to its (their) target subcube(s), and coalescing free areas together. A target subcube is an unallocated free subcube where the candidate for action job is moved and run. If one or several jobs is (are) moved, it is considered partial compaction. If all are moved, it is total compaction. Jobs execution is temporarily suspended during the compaction.

Preemption may induce some changes in the execution pattern of a running job, specifically, in the characterization of its window of execution [6]. One possibility for this change, as suggested here, is that the processing time segments of the preempted job are pushed forward one at a time (time compaction). In case of compaction, the compaction time may induce some rescheduling in the execution window of the compactable job(s) and/or the arriving job. Another possibility for the arriving job is to wait for the termination of any running higher priority job before being run.

The approach adopted in this paper for fast compaction is the one suggested in [7] using all disjoint paths method. It was proved that it drastically reduces the job migration time and is easily computed when the addresses of the source and the target subcubes are known, and the network latency is determined. Its applicability in a hypercube system with preemption as suggested here depends on the temporal relationship between

  • (1)

    compaction time (as calculated based on source and target addresses, number of disjoint paths, and network latency);

  • (2)

    time specifications of the window of execution of both the arriving job and the set of running jobs (number and lengths of processing segments, and inter-processing idle gaps/laxities);

  • (3)

    dimensionality characteristics of the subcube size requested by the arriving job considering what is available in the system.


The presented study aims at guiding the decision-making process when a new job arrives (released job) into a hypercube system where there is no available subcube to allocate it (Fig. 1). It answers the following scheduling issues when a new job arrives.

  • Is it better to preempt a running job, run in its subcube and resume it later?

  • Is it better to migrate a running job by doing some subcube space compaction, during which the arriving and the running jobs are suspended, to create a coalesced area that supports running both jobs?

  • Is it better to wait till one of the running jobs terminate, then take its subcube and start running?


If the arriving job has a higher priority than some running jobs, the available actions are preemption, subcube compaction, otherwise, the action is waiting. These three actions are with/without rescheduling, that causes window modification for the candidate and/or the arriving job.

It is due to the combinatorial nature of this scheduling problem that several assumptions have been proposed to make the analysis tractable, such as assuming known some system parameters, specifically, network latency and rescheduling time per processing segment. Also, the rescheduling process is restricted to specific actions for specific situations, and the solution methodology corresponds to one and only one arriving job.

The algorithm proposed for the selection methodology can be regarded as part of a scheduler of a hypercube system. It gives guidance for the selection of one policy at a time: to do fast compaction, to preempt, or to wait, based on a simple methodology to calculate the net time gain.

This paper is organized as follows: following the introduction in Section 1, Section 2 summarizes the contributions. Section 3 elaborates the problem assumptions and definitions. Section 4 gives the details of the proposed algorithm, and Section 5 presents some illustrative examples. Section 6 is for the complexity analysis. Conclusions ensue in Section 7.

Section snippets

Contributions

  • (1)

    Using an elaborate characterization for the time requirements of each job. Its window of execution is described in terms of several parameters such as its start time, its end time (deadline), its idle times (gaps/laxities: backward, forward, intermediate), and processing intervals which may either be contiguous or non-contiguous, in the form of one or several time segments. This represents an improvement over previous works [1], [3], [5], [7], [8], [9] that characterized the processing time in

Configuration

  • A hypercube system denoted by Hn is available where Hn=(V,E). V is the set of processing vertices, E is the set of edges interconnecting the node, and n is the dimension of the hypercube.

  • Any processor pV can be given the binary representation pnpn−1,…,p1.

  • Any processor interval (p-interval) i can be described by [u,v]i, where u represents the starting point and v the termination point. u=unun−1,…,u1 and v=vnvn−1,…,v1. The p-interval denotes a basic subcube if and only if [5], [9](i)un,…,uk+1=vn

System operation

The hypercube system Hn is available with dimension n for use by a set of independent jobs SJ={Ji,i=1,…,N}. Each job Ji is characterized in terms of a tuple (Ti, di) where Ti is the time specified window and di is the dimension of the needed subcube (Section 3.2). It is assumed that all subcubes allocated to jobs are basic subcubes. Indexes for the allocated jobs are defined in the set NJ={i:i=1,…,N}. Hn is divided into a set of subcubes whose indexes are defined in the set SC={isc:isc=1,…,M}.

Case 1

This case corresponds to a workload with Group1=φ and Group2={1,2,3,4,5}. This means that arriving job x is higher in priority than all running jobs, and therefore the allowable actions are COMPACT and PREEMPT. The arriving job x is characterized by the window given in Fig. 6a, it has dx=4. Jobs 1–5 have the windows shown in Fig. 5b–f. Subcube allocation information in Table 1 shows the dimensions of the available subcubes and subcube status (not_allocated(0)/allocated(1)). Jobs 4 and 5 are

Complexity analysis

  • Phase 1. Schedulability verification is composed of two parts: feasibility test with complexity O(1), and preemptive power test that makes comparisons between the priority of the released job with those of the running jobs in the hypercube. Phase 1 is thus with complexity O(NlogN).

  • Phase 2. Choosing the appropriate action for candidate jobs is composed of an operation assignment of complexity O(N) since it makes an operation assignment for every candidate job and leaves unassigned non-candidate

Conclusions

A selection methodology that elaborates the preemptive scheduling problem in hypercube systems has been presented in this paper. The preemption concept is extended to encompass the possibility to compact an allocated subcube, side by side with the classic concept of preemption. Subcube compaction based on (all disjoint paths) is used here as a tool to do the compaction. The problem tackled here guides the decision making of which action to take: subcube compaction, preemption, or waiting when

References (9)

There are more references available in the full text version of this article.

Cited by (1)

View full text