A hybrid evolutionary approach for heterogeneous multiprocessor scheduling


 Roberta Webb
 1 years ago
 Views:
Transcription
1 Soft Comput DOI 0.00/s FOCUS A hybrid evolutionary approach for heterogeneous multiprocessor scheduling C. K. Goh E. J. Teoh K. C. Tan SpringerVerlag 008 Abstract This article investigates the assignment of tasks with interdependencies in a heterogeneous multiprocessor environment; specific to this problem, task execution time varies depending on the nature of the tasks as well as with the processing element assigned. The solution to this heterogeneous multiprocessor scheduling problem involves the optimization of complete task assignments and processing order between the assigned processors to arrive at a minimum makespan, subject to a precedence constraint. To solve an NPhard combinatorial optimization problem, as is typified by this problem, this paper presents a hybrid evolutionary algorithm that incorporates two local search heuristics, which exploit the intrinsic structure of the solution, as well as through the use of specialized genetic operators to promote exploration of the search space. The effectiveness and contribution of the proposed features are subsequently validated on a set of benchmark problems characterized by different degrees of communication times, task, and processor heterogeneities. Preliminary results from simulations demonstrate the effectiveness of the proposed algorithm in finding useful schedule sets based on the set of new benchmark problems. Keywords Multiprocessor scheduling Heterogeneous Hybrid evolutionary algorithm Local search Precedence C. K. Goh (B) Spintronics, Media and Interface Division, Data Storage Institute, DSI Building, Engineering Drive, Singapore 608, Singapore E. J. Teoh K. C. Tan Department of Electrical and Computer Engineering, National University of Singapore, 4 Engineering Drive, Singapore 6, Singapore Introduction The multiprocessor scheduling problem is a broad category of a class of combinatorial optimization problems in which an originally large problem is broken down into smaller tasks. These smaller, partitioned tasks then require suitable assignment to the individual processing units of a multiprocessor system or processing elements (PE) to be solved. To obtain solutions for optimal schedules in such systems, it has been shown that the problem is NPhard for the general case (Garey and Johnson ; Kasahara and Narita 84; Lewis and ElRewini ; Papadimitriou and Yannakakis 0). The underlying motivation for this problem is quite significant, considering the emergence of computer programs with increasingly higher computational requirements and algorithmic complexity. These factors have necessitated the need for parallel PE in a multicomputer environment, which in turn has seen the increasing need for task allocation to be optimally distributed in a suitable manner to these individual processing units. A typical program can usually be decomposed into a set of smaller tasks, similar to a divideandconquer approach. These smaller tasks almost always have dependencies, and hence precedence requirements in that the results of another set of tasks are required before a particular task can be executed. The critical aim of a scheduler is thus to assign partitioned tasks to available processors in a manner such that () the requirements (or constraints) of precedence between these tasks are met and () the resulting overall length of time required to execute the entire program, the schedule length or makespan, is minimized (Wu et al. 004). To complicate matters, the scheduling of tasks becomes more challenging when communication delays are accounted for. A multiprocessor scheduling problem can be categorized into different classes based on the characteristics of the
2 C. K. Goh et al. problem, the tasks to be scheduled, the multiprocessor system, as well as the availability of a priori information regarding the processing time (ElRewini et al. 4; Kwok and Ahmad, ). Typically the PE constituting a multicomputer environment can be of the same capability (this is known as a homogenous environment) or of a different capability (this is known as a heterogeneous environment) this paper is focused on the latter. Presently, there are numerous methods and approaches which have been developed and subsequently applied to the multiprocessor scheduling problem, typically using a deterministic approach. ElRewini et al.(4) provides a fairly comprehensive taxonomy of how scheduling problems can be categorized, and highlights the key differences that distinguishes one class from the next. Further to this, in Kwok and Ahmad (, ), present a wideranging overview and classification of scheduling algorithms, particularly focusing on deterministic and static scheduling problems. Most of the present techniques are based on heuristics (Kruatrachue and Lewis 8; Macey and Zomaya 8) that are not only greedy in nature but also capable of solving certain instances of the scheduling problem efficiently. With that in mind, the approach proposed here is largely inspired by developments in computational intelligence: evolutionary algorithms (EAs) are a class of stochastic global optimization techniques that has been gaining significant attention from researchers in many fields and it has also been applied to solve the heterogenous multiprocessor scheduling optimization problem (Ritchie and Levine 004; Zhong et al. 004). While EAs are excellent global search algorithms, it is known that they can take a relatively long time to locate the local optimum in the region of convergence (Ong et al. 006). On the other hand, local search heuristics are capable of locating the optimum quickly but are prone to local optimal traps. Therefore, EAs are often hybridized with local search heuristics to maintain a balance between exploration and exploitation, which is crucial to the success of search and optimization processes (Burke et al. 00; Franca et al. 00; Ishibuchi et al. 00; Merz and Freisleben 000; Ong and Keane 004; Tang et al. 00; Zhou et al. 00). Multiprocessor systems have also been exploited to improve EA performance (Lim et al. 00). This paper attempts to present a new hybrid evolutionary algorithm (HEA) for solving the above heterogeneous multiprocessor scheduling problem. The proposed algorithm incorporates two local search operators, based on firstly, list scheduling and secondly, task duplication; both methods attempt to exploit the intrinsic structure of the scheduling problem. Unlike existing evolutionary approaches used to solve the heterogeneous multiprocessor scheduling problem, the proposed HEA also implements a variable length chromosome which preserves the precedence relations, a PE schedule crossover which facilitates the exchange of good schedules assigned to the individual processors as well as specialized mutation operators to improve the diversity of the evolving population. This paper is organized as follows: Sect. gives an overview of existing works as well as the problem formulation of the heterogeneous multiprocessor scheduling problem. Section presents the various features of the proposed HEA including the local search heuristics and specialized genetic operators as well as the algorithmic flow. Section 4 presents the extensive simulation results and analysis of the proposed algorithm. Conclusions are then drawn in Sect.. Background information. Overview of existing works Multiprocessor scheduling based on methods motivated by evolutionary computation approaches have been the focus of many research works over the last decade. Here we offer a brief, nonexhaustive overview of similar works that have motivated our interests and research. Ahmad and Kwok (8) proposed a task duplication approach (together with a review and comparison of some similar algorithms) to mitigate the expensive communication overhead in interprocessor communications that is required when executing dependent tasks on multiple processors. In a similar manner, (Baskiyar and Dickinson 00) addresses static scheduling of a directed acyclic task graph (DAG) on a heterogeneous, bounded set of distributed processors to minimize the makespan, also based on a task duplication approach. Most of the present techniques are based on heuristics that are capable of solving only certain instances of the scheduling problem efficiently. However, the scheduling of tasks with communication overheads and dependencies are gaining increasing attention from researchers. Here, we investigate an alternative paradigm, based on biologically inspired algorithms, to efficiently solve the scheduling problem without the need to apply any restricting assumptions. Aside from the above, other works in the literature have used EAs to determine task priorities based on list scheduling techniques. List scheduling heuristic (LSH) is an approach involving the assignment of a priority to each task to be scheduled within a list, which is then subsequently sorted in decreasing task priority. The task with the highest priority in the unscheduled task list is typically assigned to the first available processor and then removed from the list. If there are more than one task being assigned the same priority level, selection from among the candidate tasks is typically done randomly. This conventional approach will be applied in the comparative study conducted in this paper. On the other hand, an alternative approach would be to use EAs to directly evolve task assignment and order in
3 A hybrid evolutionary approach for HMPS processors. Hou et al. (4) used an EA to evolve candidate solutions, or individuals that in turn consist of multiple lists, with each list representing the tasks assigned to one processor; the authors restrict the explorable design space in order to avoid invalid solutions. However in their proposed approach, the authors consider only homogeneous multiprocessor systems. Consequently, the crossover operation then exchanges tasks between corresponding processors from two different individuals, after which the mutation operator then exchanges these tasks within a single individual. Overall, this approach restricts the actions of genetic operators to ensure the validity of evolved individuals. However, such an approach would mean that some parts of the search space may be unreachable by the algorithm. Correa et al. () subsequently claims to improve upon Hou s original approach to circumvent this problem, and allow the entire search space to be explored. In Kwok and Ahmad (), proposed a coarsegrained parallel genetic algorithm (GA) together with a heuristical list scheduling method, where candidate solutions are vectors of length n, with n being the number of tasks to be scheduled. The elements of a vector represent the tasks themselves and the order of the tasks gives the relative task priorities. A number of orderbased crossover operators are presented and a mutation operator is used to perform random swapping of tasks. In Dhodi et al. (), proposed a Problem Space Genetic Algorithm (PSGA) for datapath synthesis. The problem itself is modified by the EA and subsequently transformed into solution space by means of a heuristic, thus avoiding infeasible solutions. Blickle et al. (6) use an EA to perform allocation and binding on a system level. Scheduling is achieved in a separate step. The authors use multichromosomal individuals to encode the problem and to subsequently guide repair heuristics in parallel. Tsuchiya et al. (8) proposed an approach in which a GA scheduler allows task duplication where a single task may be assigned to multiple processors. Alternatively, Zomaya et al. () incorporate heuristics in the generation of the initial population of an EA and perform a thorough study of how GA performance varies with changing parameter settings. Wu et al. (004) claims that an EAbased approach achieves good performance on most of the problems applied. They also suggest that GAs appear to be the most flexible algorithm for heterogeneous systems because heterogeneous processors make it more difficult for list scheduling algorithms to accurately estimate task priority. An alternative approach, motivated by ant colony optimization (ACO), is developed by Ritchie and Levine (004). When combined with local and tabu search, the ACObased algorithm is able to find shorter schedules on a few benchmark problems. ACO, as the authors also claim, has been shown to be a successful strategy for problems related to scheduling jobs in a heterogeneous computing environment. This approach was only tested in solving a scheduling problem in a static environment for independent jobs.. Heterogeneous multiprocessor scheduling problem Technological advancements have led to the development of large scale parallel and distributed systems for a large range of applications. However, applications are only able to exploit parallelism when their parts do not wait for data longer than necessary. This necessitates appropriate scheduling strategies, which are able to control access to processing resources, as well as scheduling strategies, which control execution of these parallel application modules. Thus, it is not surprising that the focus of research in this area has been on the efficiency and effectiveness of scheduling algorithms. There are increasing concerns that comparative studies performed are not adequate to evaluate the true abilities of the algorithms under test. Addressing the issue of data set generation, Hall and Posner (00) presented a set of guidelines on how data sets should be generated for the evaluation of the various scheduling algorithms. In order to generate a set of good test problems, the researcher must consider:. the purpose of the experiment,. tests performed should be comparable,. unintended bias that can skew the test results, and 4. the reproducibility of the generation scheme. Further, Hall and Posner also state that the generation scheme should have properties such as variety, practical relevance, scale and size invariance, regularity, describability, efficiency, and parsimony. Kwok and Ahmad () presented a suite of five different benchmark graphs. The proposed sets are peer set graphs (PSG), random graphs with optimal solutions using branchandbound (RGBOS), random graphs with predetermined optimal schedules (RGPOS), random graphs with no known optimal schedules (RGNOS), and traced graphs (TG). RGPOS is probably the most interesting set of task graphs in the sense that they are generated based on a set of predetermined solutions. To our knowledge, this is the first instance of such generation scheme for a multiprocessor scheduling problem with communication delay. RGBOS also have a set of optimal solutions, which are determined using the A algorithm (Ahmad and Kwok 8). The A algorithm is a search heuristic, which incrementally searches all paths from the starting point until it finds the shortest path to a goal. PSG is a collection of task graphs used by various researchers. RGNOS consists of large scale randomly generated task graphs while TG represent realworld applications. Coll et al. (00) considered the issue of generating benchmark test sets for heterogeneous systems. The degree of heterogeneity between different processors is defined by a
4 C. K. Goh et al. processor power ratio (PPR), which represents the relative speeds between processors. In addition, they considered the different precedence relationships based on the specific nature of the task to be processed. More recently, Davidovic and Crainic (00) proposed a set of benchmark problems modeling homogeneous systems with communication delays. Based on the criteria proposed by Hall and Posner (00), they proposed two sets of task graphs. Similar to Kwok and Ahmad (), one of the proposed sets is generated based on some predetermined desired solution. However, Davidovic and Crainic provide a much higher degree of control, allowing parameters such as dependency densities to be changed... Problem formulation The multiprocessor scheduling problem can be simply stated as follows: Assuming there are n tasks that have to be executed on m processors where and when should each task be executed, such that some performance measure(s) is (are) optimized? The task of the scheduling algorithm is to ultimately minimize a given cost function of time. The objective function used in this paper is defined as: { } F = min max T f (v i ) () i=,...,n where T f (v i ) denotes the time for the complete execution of task v i. The goal of task assignment/mapping is to determine an assignment of tasks to processors and an order in which tasks are executed to optimize some performance measures. Often, the assignment process should aim to minimize the total cost of executing the programs. An optimal assignment determines both the allocation (identifying specific processor to run certain modules) and the schedule (execution order) of each task. A task in turn, is a collection of instructions, procedures or subroutines, possibly together with some data. Each task is assumed to be immutable. While distributing the tasks to parallel PEs is not difficult, introducing dependencies between the tasks causes degradation of the overall system performance. There are bindings or linkages between some pairs of tasks (we call these dependencies) since a procedure in one task may wish to () transfer control to another procedure in a different task or () access data contained/produced in a different task. It should be noted that these tasks only incur a communication delay when they are assigned to different PEs. It is, thus, important to make the assumption that the cost of executing tasks on different processors and the cost of the communication delay are known in advance. As to why deterministic scheduling is considered, we are inclined to believe that a priori efforts must be devoted to analyze data from machine manufacturers and accumulate actual experience from running smaller programs on fewer processors. Such efforts are fully justified especially if repeated deterministic or production runs of important large programs will be run on large parallel systems where termination and successful results are expected. In fact, it is precisely for these production runs that the effort of optimizing assignment is justified in the first place. The duration of each task is known as well as precedence relations among tasks, i.e. which tasks should be completed before some others can begin. In addition, if dependent tasks are executed on different processors, data transferring times or communication delays that are given in advance are also considered. These latencies also include memory access and synchronization delays. To further include realism into our problem model, we also consider a heterogeneous system, that is a multiprocessor environment consisting of processors with different capabilities. Moreover, we only consider a nonpreemptive system, that is, each PE will complete the processing of each task that is assigned to it. Essentially, this means that PEs will not suspend its processing to take on another task... Problem generator In order to verify the efficacy of our proposed approach, a set of problems are needed for the experimental study. This is achieved via the construction of a benchmark problem generator, which produces a representative problem of a certain complexity based upon a set of input parameters. These test problems are in turn used as the input problem to the task scheduler. Having said that, there are four key components in a task scheduler: the parallel program of interrelated tasks, the target machine (model), the generated schedule, and the performance criterion. Previous works on task scheduling with dependencies usually use a graph representation for either the tasks of the parallel program and the computer model, or both. In an actual multiprocessor computing system, particularly those consisting of heterogeneous elements, the running time of a particular job is not the sole or primary factor to be considered when scheduling jobs. An equally important consideration is the time that it takes to migrate the executables and its associated data from one processor to the next. Braun et al. (00) defined three types of heterogeneity: task heterogeneity, machine heterogeneity and consistency. Task heterogeneity is defined as the amount of variance possible among the execution times of the jobs. Machine heterogeneity, on the other hand, represents the variation of the running time of a particular job across the processors. Lastly, consistency can be categorized as either: consistent,
5 A hybrid evolutionary approach for HMPS inconsistent and semiconsistent. A system is said to be consistent if for a processor A that executes a job C faster than another processor B, then A will execute all other jobs faster than B. A consistent system can therefore be seen as modeling a heterogeneous system in which the processors differ only in their processing speed. A semiinconsistent system is made of elements from both consistent and inconsistent systems. Higher degrees of machine heterogeneity increase the complexity of the multiprocessor scheduling problem. This is because the scheduling algorithm now needs to account for the variation in the individual processor s capabilities, in that certain processors might be more suitable for certain tasks due to hardware or software configurations and compatibility. The multiprocessor system is made up of m processors with their own local memories. The system can have various degree of heterogeneity and the processors are connected via bidirectional links of equal capacity. Each processor has an I/O unit that allows for communication and processing to be performed simultaneously. We assume that there are no startup costs for initiating each task and that input buffers have infinite capacity. A convenient representation for the partially ordered set of tasks is a directed acyclic graph (DAG), which is also known as a task (dependency) graph, where a directed edge e(p, j) between two tasks v p and v i specifies that task v p must be completed before v i can begin. These directed edges in a DAG correspond to the communication messages as well as precedence constraints between the tasks. We consider a node and a task to be equivalent. A task is a set of instructions that must be executed sequentially in the same processor. They are considered to be the smallest possible instruction set that cannot be broken up any further. Mathematically, node v p is a predecessor of node v i if a directed edge originates from v p and ends at v i. In a similar manner, node v s is a successor of node v i if a directed edge originating from v i and ending at v s exists. From a mathematical perspective, for any vertex v in the DAG, there is no nonempty directed path that starts and ends on v as such, for our multiprocessor task scheduling problem, DAGs are quite ideal models since it is not tractable for a vertex to have a path to itself; for example, if an edge v p v i indicates that v i is a part of v p, such a path would indicate that v p is a part of itself, which is impossible. The test sets that were artificially generated using our benchmark problem generator is based on this concept of DAGs. From a practical viewpoint, actual multiprocessor systems are immensely complicated combinations of hardware, software and network components and thus it is difficult to make equitable comparisons of the different approaches that have been used on various systems. In constructing these problems artificially, and in a random manner, the input variables essentially controls not only the size, but also the Table Description of inputs to task generator Parameter Description Values CCR Communicationtocomputation ratio {0.,,.,} Mean proc Mean processing time {0} h pe Variance of processing time {0.,0.,0.} h t Degree of heterogeneity {0.,0.,0.} dpe Width of DAG {0.} dt Degree of dependency {0.,0.,0.} n Number of processors {} m Number of tasks {00} complexity of the generated test set. Specifically, these variables are:. the number of nodes/tasks,. the number of processors available,. the degree of network connectivity, 4. the communicationtocomputation ratio average communication cost divided by its average computation cost in a multiprocessor system. A low CCR in a DAG can be considered as a computationintensive application; on the other hand if CCR is high, it is a communicationintensive application,. the mean processing time the average processing time for all the available processors, 6. the variance of processing time how large the spread of processing time between the available processors,. the degree of heterogeneity how widely differing the capabilities of the processors are, i.e. processors have different execution time on same the task, 8. the degree of precedence/dependency relationship how many predecessor tasks that must be completed before a particular task can be executed. Having said that, the generator produces different test sets for a given set of input parameters. For similar set of parameter, different task problems are generated due to randomness. The input parameters to the generator are shown in Table, together with the associated range of values. The variance in the processing times of the difference tasks comes from h pe, i.e the mean processing time of the ith task is given by T mproc (v i ) = mean proc + h t mean proc U(, ). () where U(, ) denotes a random number sampled using uniform distribution. As mentioned before, each task may have different execution times on different processors. The actual processing time of the ith task on the jth processor is thus given by, T proc (v i, pe j ) = T mproc (v i ) + h pe mean proc U(, ). ()
6 C. K. Goh et al. Table Generated test sets Test set CCR Mean proc h pe h t dpe dt n m T T T T T T T T T T Using these inputs for the benchmark problem generator, sets of random DAGs were constructed to be used as the test bed problems in our experimental study. For our simulation study, ten test sets were generated using various combination of the above input parameters, and are listed in Table. While the standard multiprocessor scheduling problem is itself an NPhard problem, additional factors such as communication delays and heterogeneity increase the complexity of the problem. Hence, due to the sheer number of potential solutions in the search space, scheduling becomes a complex task without the use of an effective search algorithm. These sets are classified in terms of the possible difficulties. Each test set consists of different test problems with different degrees of heterogeneity and dependencies. Here, we consider a total of ten test sets generated in this study, which differs in terms of degree of heterogeneity, density, and CCR. A higher CCR value penalizes dependencies which require transmission or passing of messages from one processor to the next, making it less optimal for interprocessor communication to occur. The variance of processing time and degree of heterogeneity affects the individual processing capabilities of each processor, thus making slower processors less likely to be assigned tasks, and biasing the utility of faster processors. Lastly, the degree of dependency affects the total latency of the makespan in that each processor would have to wait for its dependent tasks to finish execution. Hybrid evolutionary algorithm This section presents the HEA specifically designed to solve the heterogeneous multiprocessor scheduling problem by means of specialized genetic and local search operators. The procedure for generating the initial population is presented in Sect.. while Sect.. describes the structure of the variablelength chromosome used to encode the task schedule in the HEA. Sections. and.4 describe the specialized crossover and mutation operators used to explore the search space, respectively. Two local search heuristics that exploit the intrinsic structures of a heterogeneous multiprocessor scheduling problem solution are presented in Sect... Finally, the algorithmic flow of the HEA is presented in Sect..6.. Initialization The initial population is built using a random LSH, which ensures that the precedence relationships among the tasks are preserved. The initialization process starts with the assignment of priority to each task to be scheduled. In this paper, the priority of the ith task is simply the sum of the number of its parent tasks and their priorities as given below Pr Ti = P i + Pr Tj (4) j P i where P i is the set of parent tasks of the ith task. The list of task is then sorted in the order of increasing priority. This priority list is also used during the genetic processes to maintain the precedence requirements. Instead of assigning the tasks to the earliest available PE, the lowest priority task is assigned to the PEs randomly. The rationale is to provide the initial population with a wider range of diversity to start with.. Variable PE chromosome Evolutionary algorithms operates on a set of encoded parameters to explore the solution space, providing researchers with the flexibility to design an appropriate representation that fulfills some criteria such as ease of implementation or exploitation of the problem structure. For simplicity, the chromosome is often represented as a fixedstructure and the embedded variables are usually assumed to be independent and context insensitive. As mentioned before, the precedence relations among the tasks must be satisfied in the heterogeneous multiprocessor scheduling problem. In Braun et al. (00); Ritchie and Levine (004), the chromosome is a ndimensional array denoting the n tasks to be allocated and the encoded variable in each element represents the PE scheduled to execute the associated task. While such an encoding scheme is simple to implement, it does not consider the order in which the various tasks are processed and the evolved schedules will not satisfy the precedence constraints. On the other hand, Wu et al. (004) considered a representation which encodes taskprocessor pairs and the order in which the pairs appear in the chromosome determines the order in which the tasks will be performed on each processor. This paper adopts a variable length chromosome which is illustrated in Fig.. In contrast to the mentioned works, this encoding scheme does not enforce a fixed number of PEs, i.e.
7 A hybrid evolutionary approach for HMPS Fig. Illustration of a the variable length chromosome and b the associated schedule (a) PEs used in the encoded solution PE PE PE4 PE6 (b) Processors 0 4 PE 4 6 PE PE Tasks to be executed by the associated PE PE4 PE 0 PE Schedule PE6 Tasks 4 the length of the chromosome varies with the actual number of PE utilized. For each of these PEs, there is an associated list of task assigned as well as the order of execution. Each of the task list will henceforth be denoted as PE schedule. When a task is scheduled to run before its predecessor tasks, which have been assigned to other PEs, the only problem is the long idle time incurred while waiting for all the predecessor tasks to be completed. On the other hand, if a task is scheduled to run before its predecessor tasks on the same PEs, then there is no way the task will ever be completed. The overall schedule is infeasible only if a task is scheduled to be executed before a predecessor task within a PE. This follows that it is sufficient to maintain a feasible overall schedule by ensuring the feasibility of each PE schedule. The precedence relations for the tasks executed in a PE can be easily preserved in the proposed scheme by maintaining the order of priority calculated at the beginning of the optimization process.. PE schedule crossover The crossover operation applied by most EAs to solve heterogeneous multiprocessor scheduling problem generally involve the swapping of random segments of tasks or processes between chromosomes, which do not preserve the quality of the different PE schedules. Descriptions of a number of orderedbased crossovers for combinatorial problems can also be found in Davis (), Eiben and Smith (00). However, these crossover operators are not applicable due to the unique structure of the proposed variable length chromosome. The proposed PE schedule crossover is motivated by the fact that the makespan of the multiprocessor schedule is dependent on the fitness of the constituent PE schedules. Since the chromosome encodes a separate list of tasks for each PE, it is intuitive to design a crossover which allows good PE schedules to be shared with other chromosomes in the evolving population. The operation of the crossover is illustrated in Fig.. In the PE schedule crossover, a random PE schedule from each parent is selected for crossover. In the case where one of the selected chromosomes has only one PE schedule, only a schedule associated with a different PE is selected and inserted from the other parent. The selected PE schedule of one parent will either be inserted into the other chromosome as a new schedule or replaces the original schedule of that particular PE, if it is present. Duplicated tasks are deleted while missing tasks are randomly inserted to the other original PE schedules. The new PE schedule will remain intact. To ensure the feasibility of chromosomes after the crossover, the priority list computed at the beginning of the evolutionary process is used to sort the task assigned to each PE in ascending order to preserve feasibility..4 Specialized mutation This paper applies three different specialized mutation operators to improve the diversity of evolving population. For every chromosome undergoing the mutation process, only one particular mutation operator is applied as shown by the pseudocode in Fig.. The main functionalities of the three mutation operators are summarized in Table. Similar to the PE Schedule crossover, each PE schedule is sorted based on the priority list at the end of the mutation operation.. Local search.. Partial list scheduling The optimality of the multiprocessor schedule is only as good as the last completion time of the task. The idea of partial list scheduling (PLS) is to split up the workload among the PEs with the best and worst completion times to improve the makespan. The first step in this heuristic is to select the appropriate PEs from which all tasks are extracted and placed in a list. These PEs are selected based on two criteria, either the
8 C. K. Goh et al. (a) Parent Parent (b) Child Child PE PE PE4 PE6 PE PE PE6 PE PE PE4 PE PE6 PE PE PE (c) Child Child PE PE PE4 PE PE6 PE PE PE Fig. Illustration of the PE schedule crossover for the various steps a selection of random PE schedule, b swapping of selected PE schedules, and c deletion of duplicates and random insertion of missing tasks to form child chromosome Mu tation Operation IF rand < mutation rate Select one mutation operator with equal probability IF Partial Exchange AND No. of PE Schedules > Perform Partial Exchange ELSEIF Schedule Merge AND No. of PE Schedules > Perform Schedule Merge ELSEIF Partial Split AND No. of PE Schedules < PE Perform Partial Split Sort task based on priority Fig. Pseudocode of the mutation operation PE has a completion time that is greater than the upper quartile or it s completion time is lower than the lower quartile of the PE completion times. In the next step, the extracted tasks are sorted based on their priorities determined at the start of the evolutionary process. The tasks, in the order of their priorities, are then assigned to the best possible processor, i.e. the one which allows the earliest start time considering intertask communication (ITC). The new solution will be compared against the original and the better of the two will be retained... Duplication scheduling In multiprocessor scheduling with task interdependencies, some PEs will be idle during various time slots because some task require data from its parent tasks which are assigned to other processors. The idea of duplicating tasks in these idle time slots is to reduce the waiting and ITC delays incurred to reduce the makespan. The pseudocode of the duplication scheduling (DS) heuristic is shown in Fig. 4. The task duplication procedure is conducted iteratively every task in the order of its execution for each PE. The heuristic first determines the idle time which is the difference between the actual and earliest possible start time of the task. It then attempts to duplicate the parent tasks, in the order of their contribution to the delay, until the idle time is used up. The new solution will be compared against the original and the better of the two will be retained..6 Algorithmic flow The algorithmic flow of the HEA is shown in Fig.. The optimization process begins with the initialization of the
9 A hybrid evolutionary approach for HMPS Table Description of the mutation operation Operator Partial exchange Schedule merge Partial split Description The partial exchange operation involves a number of partial schedule exchanges. For each exchange, two PE schedules are randomly chosen and a segment of the selected schedules is then randomly selected and exchanged. In addition, a mechanism is in place such that no PE schedules will be selected twice in a particular partial exchange operation This operation concatenates the two PE schedules with the least number of tasks in the chromosome. Intuitively, this operation is not applicable to solutions with only one PE schedule This operation searches for the PE schedules with the most number of tasks, and breaks the schedule into two at a random point. After which, the upper segment of the divided schedule is assigned randomly to either an idle PE or inserted into the PE schedule with the least number of tasks Duplication S cheduling L ocal Search FOR All PE Schedules FOR All Task in PE Schedule Compute T idle before task execution Determine parents of task Sort parents in descending order of completion time FOR Parents Determine T exe required if d uplicated IF Execution time< T idle Duplicate parent Update T idle : T idle = T idle  T exe ELSE Break Sort task based on priority Evaluate new solution IF new solution is better than old solution Replace old solution YES Evaluate and Rank Solutions Update Archive Return Solution Start Build Initial Population Stopping Criteria met? No Evaluate and Rank Solutions Update Archive Perform Local Search Tournament Selection Local Search Criteria met? Yes No Fig. 4 Pseudocode of the duplication scheduling local search PE Schedule Crossover Mutation population based on the procedure described in Sect... After the initial evolving population is formed, all the chromosomes are evaluated and ranked according to their final execution time in the population. Following the ranking process, an archive population is updated. In this paper, an archive is applied to store all the best solutions found during the search. The archive maintains a fixed number of solutions and the updating process consists of a few steps. The evolving population and the archived solutions are first combined and all duplicate solutions are deleted. The remaining solutions in the combined population are then inserted into the archive in the order of increasing rank until the archive is filled. The binary tournament selection scheme is then performed on the archive. In the binary tournament selection, a pair of individuals is selected randomly from the archive. Thereafter, the selected pair of individuals will enter a tournament where the chromosome with the lower rank is selected for reproduction. This procedure is performed until the mating pool is filled to preserve the original population size. The genetic operators consist of the PE schedule crossover and Fig. Flowchart of HEA the three mutation operators presented in Sects..4 and., respectively. The PLS and DS are applied to the archive populations at a fixed interval, T LS, for better local exploitation in the evolutionary search. Different schemes for incorporating the two local search methods will be explored in Sect. 4.The evolution process is repeated until the stopping criterion is satisfied. 4 Simulation results and analysis This section presents the extensive simulation results and analysis of the proposed HEA. The simulations are implemented using Matlab on an Intel Pentium 4.8 GHz computer and the results shown are based on the final makespan value of the best archived solution. Thirty independent runs are performed for each of the test sets in order to obtain the statistical information, such as consistency and robustness of the
10 C. K. Goh et al. Table 4 Parameter setting for HEA Parameter Settings Populations Population size 0 Archive size 0 Chromosome Variable length chromosome Selection Binary tournament selection Crossover rate 0. Mutation rate 0. Evaluations 600 Local search frequency, T LS algorithms. The various parameter settings for the algorithm are listed in Table 4. The number of evaluations includes the evaluation of solutions from the main algorithmic cycle as well as the local search operations. Section 4. demonstrates the effectiveness of the proposed local search operators, as well as analyzes how the various settings of the local search heuristics will affect algorithmic performances. Section 4. investigates the impact of different problem characteristics on HEA performances and how it compares against conventional heuristics. 4. Effects of local search The HEA incorporates the local search heuristics in order to exploit local schedules in parallel with global evolutionary optimization. In this section, the dynamics and parameter settings of PLS and DS are examined. Note that T and T4 are used in the study here since it has been observed in previous works that ITC will have severe impact on schedule optimality. Six settings of HEA with various implementations of the local search operators are investigated as shown in Table. No local search is applied in setup while only one heuristic is applied for each solution undergoing local search for setups 6. In setup, either PLS or DS is randomly applied. Table Different case setups to examine contribution of the local search heuristics 4 6 PLS Random Yes Alternate Alternate DS Random Yes Alternate Alternate In the third and fourth setup, only one heuristic is applied. The asterisk ( ) in setup and setup 6 denotes which local search is activated first as they are alternately executed. The evolutionary trends of the makespan averaged over 0 runs for T and T4 are plotted in Fig. 6a, b. From the plots, it can be observed that the application of local search results in significant dips in the convergence trace, particularly in instances where DS is applied. Figure 6a, b distinctively demonstrate the effectiveness of local exploitation in the HEA as the five setups which incorporates local search performed better as compared to setup. The performances of setup, setup 4, setup, and setup 6 are comparable, although the combination of DS being activated first and PLS in setup 6 seems to have a slight edge for both problems. On the other hand, setup which activates PLS first has a slower convergence rate for both T and T4. The effectiveness of duplicating tasks in reducing overall completion time is also evident since the four settings of setup, setup, setup and setup 6, are able to find solutions with makespans that are significantly lower than those found without local search and by PLS only. Interestingly, the application of DS seems to have more impact on T with an average of 0% improvement as compared to % for T4 which has a more severe CCR restriction. Setup 6 will be used as the default setup for all subsequent experiments. 4.. Effect of local search frequency In general, there is a need to maintain a balance between exploration and exploitation. Therefore, experiments are also conducted to study the impact of local search frequency on (a) Setup Setup Setup Setup4 Setup Setup Evaluation (b) Setup Setup Setup Setup4 Setup Setup Evaluation Fig. 6 Evolutionary trend of the six setups for a T and b T4
11 A hybrid evolutionary approach for HMPS (a) (b) Evaluation Evaluation Fig. Effects of various T LS settings for a T and b T (a) (b) Archive only Population only Both Setups Archive only Population only Both Setups Fig. 8 of HEA with different individual local search selection schemes for a T and b T4 the performance of the HEA. Apart from the original setting of applying local search at T LS =, four other settings where local search is applied in every generation and at intervals of T LS ={,, 0} generations, respectively, are used in the test. Thirty simulation runs of each of the five settings were performed and the convergence traces are plotted in Fig. a, b. It should be noted that the maximum number of evaluations is maintained at 400 for all simulations, i.e. increasing the frequency of local search reduces the number of generations. From the figures, it can be observed that the convergence speed increases with decreasing T LS. While it is expected that increasing local search frequency will improve convergence speeds, there is always a risk of yielding local optimum solutions due to the lack of sufficient exploration. Nonetheless, we note that a welldesigned LSH is capable of achieving schedules within % of the optimal solution. By comparing the results achieved by the HEA and the conventional heuristics which will be shown in the Sect. 4., it is thus unlikely that the HEA is trapped in a local optimal. This is probably due to the global exploration capability of the HEA. 4.. Effect of individual selection Apart from T LS, another factor that will influence the effectiveness of the local search process is the selection of individuals. In the preceding sections, only archived individuals are exploited by the heuristics. In this section, two other methods of individual selection are investigated. In the second approach, only individuals from the evolving population will undergo local search while random individuals are selected via tournament selection from the archive and evolving population in the third approach. The simulation results are summarized in the form of boxplots in Fig. 8a, b. From the figures, it can be observed that performing local search on archived solutions have an edge as compared to exploiting the evolving population only. On the other hand, the original approach of exploiting the archive only is comparable to the third approach which exploits a selected set of archived and evolving population individuals. The KStest is also compared and it showed that the only the second method is statistically different from the other methods.
12 C. K. Goh et al. Table 6 of HEA with and without the various genetic operators for T and T4 T T4 First quartile HEA Median Third quartile First quartile Crossover only Median Third quartile First quartile Mutation only Median Third quartile The best result in highlighted in bold 4. Effects of genetic operators This section examines the contribution of the specialized genetic operators to the performance of HEA on the problems of T and T4. In order to assess the effects of the PE schedule crossover and the mutation operators, simulations for two different setups of HEA are conducted. Specifically, the first setup incorporates only the PE schedule crossover while only the mutation operator is implemented in the second setup. The simulation results are summarized in Table 6. The results indicate a deterioration of algorithmic performance when either the crossover or mutation operator is removed. Nonetheless, it can be observed that the crossover has a greater impact on algorithmic performance indicating the importance of exchanging PE schedules between individuals. The KStest conducted also showed that HEA is statistically better than HEA with mutation operator only. 4. Investigation of other test problems In order to examine the effectiveness of HEA, a comparative study with conventional LSH and duplication scheduling heuristic (DSH) (Kruatrachue and Lewis 8) is carried out based upon the ten test problems described earlier. LSH has been described earlier in Sect... DSH is an instantiation of the LSH with the task duplication described in Sect... Specifically, in DSH, parent task are assigned into idle slots whenever possible after all tasks are assigned using LSH. As before, 0 simulation runs are conducted for all test problems and the results are summarized in Table. LSH and DSH are deterministic heuristics and only one solution is produced for each problem. As noted before in Sect. 4., the effectiveness of task duplication is evident by comparing the performances between LSH and DSH. The difference between the two conventional heuristics becomes even more apparent as the CCR or degree of heterogeneity increases. On the other hand, the Table Simulation results of LSH, DSH and HEA for the various benchmark problems LSH DSH First HEA Third quartile Median quartile T T T T T T T T T T HEA outperforms both heuristics for all test problems. With the exception of T, it can be observed from Table that the third quartile makespan value attained by HEA is much lower as compared to LSH and DSH for the benchmark problems. This also implies that the HEA is capable of evolving good schedules consistently. In order to analyze the impact of the various problem parameters, the performance trend over the different settings is plotted in Fig. a, d. In general, increasing the degree of CCR, precedence and task heterogeneity result in higher makespans for all algorithms. Nonetheless, it can be observed that the problem and algorithmic performances have different sensitivities toward these parameters. For instance, total execution time seems to vary almost linearly with CCR and task heterogeneity. As CCR increases beyond a certain threshold, we can expect that solutions which employ fewer PEs or, at least, concentrate the workload on a few core PEs to become more desirable. On the other hand, the initial increment in the degree of precedence relation from to 0% leads to a sharp increase in makespan. This is probably due to the subsequent increase in waiting time before a task can be executed. However, it can be seen from Fig. b that such an effect seems to saturate as the degree of precedence is further increased to %. Interestingly, we can observe from Fig. c that increasing PE heterogeneity actually improves the makespan. This behavior can be attributed to the PEs that can be either very efficient or inefficient with certain tasks. As a result, HEA is able to exploit such a problem characteristic to generate schedules that are much better compared to DSH and LSH. Conclusion Task scheduling in a multiprocessor system is an NPhard problem that is critical in distinguishing the performance of a
13 A hybrid evolutionary approach for HMPS (a) 4 40 (b) CCR Degree of Precedence (%) (c) (d) Degree of PE Het (%) Degree of Task Het (%) Fig. Performance trend of HEA (open circle), LHS (open inverted triangle) and DHS (open square) for various degrees of a CCR (results for T, T, T and T4), b precedence (results for T, T and T6), c PE heterogeneity (results for T, T and T8) and d task heterogeneity (results for T, T and T0) multiprocessor system over a single processor system. However, the fact that tasks are located on different PEs mean that additional overheads are incurred. Furthermore, the aim of minimizing time is only a single objective practical requirements require that other measures of cost are minimized as well. In this article, we proposed a HEA specifically designed to solve the heterogeneous multiprocessor scheduling problem by means of a variablelength chromosome, as well as specialized genetic and local search operators. The starting population is initialized using a random LSH to preserve the precedence relationships between the tasks. The evolutionary process is driven two primary variation operator a schedule crossover and three variants of the mutation operator partial exchange, schedule merge, and schedule split; the local search operators on the other hand consists of a partial list scheduling and duplication scheduling approach. In presenting our results based on a fairly extensive simulation study, we showed that, the proposed genetic operators, when coupled with the local search operators performed better than in the case where any one of the operators were omitted. By incorporating the local search operators, particularly duplication local search into the overall proposed algorithm, convergence time, as expected, was shown to decrease. This observation becomes more evident on test sets where the CCR is smaller. References Ahmad I, Kwok YK (8) Optimal and nearoptimal allocation of precedenceconstrained tasks to parallel processors: defying the high complexity using effective search techniques. In: Proceedings of 8 international conference on parallel processing, pp 4 4 Ahmad I, Kwok YK (8) On exploiting task duplication in parallel program scheduling. IEEE Trans Parallel Distrib Syst (): 8 8 Baskiyar S, Dickinson C (00) Scheduling directed acyclic task graphs on a bounded set of heterogeneous processors using task duplication. J Parallel Distrib Comput 6(8): Blickle T, Teich J, Thiele L (6) System level synthesis using evolutionary algorithms, TIKReport, Nr. 6 Braun TD, Siegel HJ, Beck N, Boloni LL, Maheswaran M, Reuther AI, Robertson JP, Theys MD, Yao B, Hensgen D, Freund RF (00)
14 C. K. Goh et al. A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems. J Parallel Distrib Comput 6(6):80 8 Burke EK, Cowling P, De Causmaecker P (00) A memetic approach to the nurse rostering problem. Appl Intell (): 4 Coll PE, Ribeiro CC, de Sousa CC (00) Test instances for scheduling unrelated processors under precedence constraints. inf.pucrio.br/celso/grupo/readme.ps Correa RC, Ferreira A, Rebreyend P () Scheduling multiprocessor tasks with genetic algorithms. IEEE Trans Parallel Distrib Syst 0(8):8 8 Davidovic T, Crainic TG (00) New benchmarks for static task scheduling on homogenous multiprocessor systems with communication delays, Publication CRT, 0004, Centre de Recherche sur les Transports, Universite de Montreal, pp 6 Davis L () Handbook of genetic algorithms. Van Nostrand Reinhold, London Dhodi MK, Hielscher EH, Storer RH, Bhasker J () Datapath synthesis using a problem space genetic algorithm. IEEE Trans CAD 4(8):4 44 Eiben AE, Smith JE (00) Introduction to evolutionary computing. Springer, New York ElRewini H, Lewis TG, Ali HH (4) Task scheduling in parallel and distributed systems. Prentice Hall, Englewood Cliffs Franca PM, Mendes A, Moscato P (00) A memetic algorithm for the total tardiness single machine scheduling problem. Eur J Oper Res ():4 4 Garey MR, Johnson DS () Computers and intractability, a guide to the theory of NPcompleteness. W.H. Freeman and Co., San Francisco Hall NG, Posner ME (00) Generating experimental data for computational testing with machine scheduling applications. Oper Res 4:84 86 Hou ES, Ansari N, Ren H (4) A genetic algorithm for multiprocessor scheduling. IEEE Trans Parallel Distrib Syst (): 0 Ishibuchi H, Yoshida T, Murata T (00) Balance between genetic search and local search in memetic algorithms for multiobjective permutation flowshop scheduling. IEEE Trans Evol Comput ():04 Kasahara H, Narita S (84) Practical multiprocessor scheduling algorithms for efficient parallel processing. IEEE Trans Comput ():0 0 Kruatrachue B, Lewis TG (8) Duplication scheduling heuristic, a new precedence task scheduler for parallel systems, Technical Report 860, Oregon State University Kwok Y, Ahmad I () Efficient scheduling of arbitrary task graphs to multiprocessors using a parallel genetic algorithm. J Parallel Distrib Comput 4():8 Kwok Y, Ahmad I () Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput Surv (4):406 4 Lewis TG, ElRewini H () Introduction to parallel computing. Prentice Hall, New York Lim D, Ong YS, Jin Y, Sendhoff B, Lee BS (00) Efficient hierarchical parallel genetic algorithm using grid computing. In: Future generation computer systems: the international journal of grid computing: theory, methods and applications, pp Macey BS, Zomaya AY (8) A performance evaluation of CP list scheduling heuristics for communication intensive task graphs. In: Proceedings of the joint th international parallel processing symposium and ninth symposium on parallel and distributed programming, pp 8 4 Merz P, Freisleben B (000) Fitness landscape analysis and memetic algorithms for the quadratic assignment problem. IEEE Trans Evol Comput 4(4): Ong YS, Keane AJ (004) MetaLamarckian learning in memetic algorithms. IEEE Trans Evol Comput 8(): 0 Ong YS, Lim MH, Zhu N, Wong KW (006) Classification of adaptive memetic algorithms: a comparative study. IEEE Trans Syst Man Cybern B 6():4 Papadimitriou C, Yannakakis M (0) Toward an architecture independent analysis of parallel algorithms. SIAM J Comput : 8 Ritchie G, Levine J (004) A hybrid ant algorithm for scheduling independent jobs in heterogeneous computing environments. In: Proceedings of the rd workshop of the UK planning and scheduling special interest group Tang J, Lim MH, Ong YS (00) Diversityadaptive parallel memetic algorithm for solving large scale combinatorial optimization problems. Soft Comput ():8 888 Tsuchiya T, Osada T, Kikuno T (8) Geneticbased multiprocessor scheduling using task duplication. Microprocessors Microsyst : 0 Wu AS, Yu H, Jin S, Lin KC, Schiavone G (004) An incremental genetic algorithm approach to multiprocessor scheduling. IEEE Trans Parallel Distrib Syst ():84 84 Zhou Z, Ong YS, Lim MH, Lee BS (00) Memetic algorithm using multisurrogates for computationally expensive optimization problems. Soft Comput (0): Zhong YW, Yang JG, Qi HN (004) A hybrid genetic algorithm for task scheduling in heterogeneous computing systems. In: Proceedings of the third international conference on machine learning and cybernetics, pp Zomaya AY, Ward C, Macey B () Genetic scheduling for parallel processor systems: comparative studies and performance issues. IEEE Trans Parallel Distrib Syst 0(8): 8
THE TWO major steps in applying any heuristic search algorithm
124 IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 3, NO. 2, JULY 1999 Parameter Control in Evolutionary Algorithms Ágoston Endre Eiben, Robert Hinterding, and Zbigniew Michalewicz, Senior Member,
More informationCLIENTCONTRACTOR BARGAINING ON NET PRESENT VALUE IN PROJECT SCHEDULING WITH LIMITED RESOURCES
CLIENTCONTRACTOR BARGAINING ON NET PRESENT VALUE IN PROJECT SCHEDULING WITH LIMITED RESOURCES Nursel Kavlak 1, Gündüz Ulusoy 1 Funda Sivrikaya Şerifoğlu 2, Ş. Đlker Birbil 1 1 Sabancı University, Orhanlı,
More informationRevisiting the Edge of Chaos: Evolving Cellular Automata to Perform Computations
Revisiting the Edge of Chaos: Evolving Cellular Automata to Perform Computations Melanie Mitchell 1, Peter T. Hraber 1, and James P. Crutchfield 2 In Complex Systems, 7:8913, 1993 Abstract We present
More informationA GRASPKNAPSACK HYBRID FOR A NURSESCHEDULING PROBLEM MELISSA D. GOODMAN 1, KATHRYN A. DOWSLAND 1,2,3 AND JONATHAN M. THOMPSON 1*
A GRASPKNAPSACK HYBRID FOR A NURSESCHEDULING PROBLEM MELISSA D. GOODMAN 1, KATHRYN A. DOWSLAND 1,2,3 AND JONATHAN M. THOMPSON 1* 1 School of Mathematics, Cardiff University, Cardiff, UK 2 Gower Optimal
More informationAlgorithms for the multiarmed bandit problem
Journal of Machine Learning Research 1 (2000) 148 Submitted 4/00; Published 10/00 Algorithms for the multiarmed bandit problem Volodymyr Kuleshov Doina Precup School of Computer Science McGill University
More informationLoad Shedding for Aggregation Queries over Data Streams
Load Shedding for Aggregation Queries over Data Streams Brian Babcock Mayur Datar Rajeev Motwani Department of Computer Science Stanford University, Stanford, CA 94305 {babcock, datar, rajeev}@cs.stanford.edu
More informationOn SetBased Multiobjective Optimization
1 On SetBased Multiobjective Optimization Eckart Zitzler, Lothar Thiele, and Johannes Bader Abstract Assuming that evolutionary multiobjective optimization (EMO) mainly deals with set problems, one can
More informationWorkloadAware Load Balancing for Clustered Web Servers
WorkloadAware Load Balancing for Clustered Web Servers Qi Zhang Alma Riska 2 Wei Sun 3 Evgenia Smirni Gianfranco Ciardo 4 Department of Computer Science, College of William and Mary 2 Interfaces and Architecture
More informationA new fuzzydecision based load balancing system for distributed object computing $
J. Parallel Distrib. Comput. 64 (2004) 238 253 A new fuzzydecision based load balancing system for distributed object computing $ YuKwong Kwok and LapSun Cheung Department of Electrical and Electronic
More informationWorkloadAware Database Monitoring and Consolidation
WorkloadAware Database Monitoring and Consolidation Carlo Curino curino@mit.edu Evan P. C. Jones evanj@mit.edu Samuel Madden madden@csail.mit.edu Hari Balakrishnan hari@csail.mit.edu ABSTRACT In most
More informationProfiling Deployed Software: Assessing Strategies and Testing Opportunities. Sebastian Elbaum, Member, IEEE, and Madeline Diep
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 31, NO. 8, AUGUST 2005 1 Profiling Deployed Software: Assessing Strategies and Testing Opportunities Sebastian Elbaum, Member, IEEE, and Madeline Diep Abstract
More informationCostAware Strategies for Query Result Caching in Web Search Engines
CostAware Strategies for Query Result Caching in Web Search Engines RIFAT OZCAN, ISMAIL SENGOR ALTINGOVDE, and ÖZGÜR ULUSOY, Bilkent University Search engines and largescale IR systems need to cache
More information106 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 11, NO. 2, SECOND QUARTER 2009. survivability.
106 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 11, NO. 2, SECOND QUARTER 2009 A Comparative Analysis of Network Dependability, Faulttolerance, Reliability, Security, and Survivability M. AlKuwaiti,
More informationJournal of Computer and System Sciences
Journal of Computer and System Sciences 78 (2012) 1330 1344 Contents lists available at SciVerse ScienceDirect Journal of Computer and System Sciences www.elsevier.com/locate/jcss Cloud federation in a
More informationIEEE/ACM TRANSACTIONS ON NETWORKING 1
IEEE/ACM TRANSACTIONS ON NETWORKING 1 SelfChord: A BioInspired P2P Framework for SelfOrganizing Distributed Systems Agostino Forestiero, Associate Member, IEEE, Emilio Leonardi, Senior Member, IEEE,
More informationEVOLUTIONARY PROBLEM SOLVING. Thomas Philip Runarsson
EVOLUTIONARY PROBLEM SOLVING Thomas Philip Runarsson Faculty of Engineering Reykjavik 2000 Copyright 2000 Thomas Philip Runarsson All Rights Reserved ISBN 9979949414 Háskólaútgáfan University of Iceland
More informationDealing with Uncertainty in Operational Transport Planning
Dealing with Uncertainty in Operational Transport Planning Jonne Zutt, Arjan van Gemund, Mathijs de Weerdt, and Cees Witteveen Abstract An important problem in transportation is how to ensure efficient
More informationA Survey of Design Techniques for SystemLevel Dynamic Power Management
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 8, NO. 3, JUNE 2000 299 A Survey of Design Techniques for SystemLevel Dynamic Power Management Luca Benini, Member, IEEE, Alessandro
More informationTop 10 algorithms in data mining
Knowl Inf Syst (2008) 14:1 37 DOI 10.1007/s1011500701142 SURVEY PAPER Top 10 algorithms in data mining Xindong Wu Vipin Kumar J. Ross Quinlan Joydeep Ghosh Qiang Yang Hiroshi Motoda Geoffrey J. McLachlan
More informationChord: A Scalable Peertopeer Lookup Service for Internet Applications
Chord: A Scalable Peertopeer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science chord@lcs.mit.edu
More informationCLoud Computing is the long dreamed vision of
1 Enabling Secure and Efficient Ranked Keyword Search over Outsourced Cloud Data Cong Wang, Student Member, IEEE, Ning Cao, Student Member, IEEE, Kui Ren, Senior Member, IEEE, Wenjing Lou, Senior Member,
More informationIntroduction to partitioningbased clustering methods with a robust example
Reports of the Department of Mathematical Information Technology Series C. Software and Computational Engineering No. C. 1/2006 Introduction to partitioningbased clustering methods with a robust example
More informationA Tutorial on Physical Security and SideChannel Attacks
A Tutorial on Physical Security and SideChannel Attacks François Koeune 12 and FrançoisXavier Standaert 1 1 UCL Crypto Group Place du Levant, 3. 1348 LouvainlaNeuve, Belgium fstandae@dice.ucl.ac.be
More informationAnt Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem
Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem TR/IRIDIA/19965 Université Libre de Bruxelles Belgium Marco Dorigo IRIDIA, Université Libre de Bruxelles, CP 194/6,
More informationNetwork Support for IP Traceback
226 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 9, NO. 3, JUNE 2001 Network Support for IP Traceback Stefan Savage, David Wetherall, Member, IEEE, Anna Karlin, and Tom Anderson Abstract This paper describes
More informationOptimal Positioning of Active and Passive Monitoring Devices
Optimal Positioning of Active and Passive Monitoring Devices Claude Chaudet Claude.Chaudet@enst.fr GET/ENST LTCIUMR 5141 CNRS 46, rue Barrault 75634 Paris, France Eric Fleury, Isabelle Guérin Lassous
More informationSchedule First, Manage Later: NetworkAware Load Balancing
Schedule First, Manage Later: NetworAware Load Balancing Amir Nahir Department of Computer Science Technion, Israel Institue of Technology Haifa 3, Israel Email: nahira@cs.technion.ac.il Ariel Orda Department
More informationThe MIT Press Journals
The MIT Press Journals http://mitpress.mit.edu/journals This article is provided courtesy of The MIT Press. To join an email alert list and receive the latest news on our publications, please visit: http://mitpress.mit.edu/email
More informationInstituto de Engenharia de Sistemas e Computadores de Coimbra. Institute of Systems Engineering and Computers INESC  Coimbra
Instituto de Engenharia de Sistemas e Computadores de Coimbra Institute of Systems Engineering and Computers INESC  Coimbra Carlos Simões, Teresa Gomes, José Craveirinha, and João Clímaco A BiObjective
More informationContents 1. Introduction 2. Simulation Approach 3. Elementary Circuits
Abstract Physical Unclonable Functions (PUFs) present a promising concept for cryptographic hardware. PUFs provide a challengeresponse scheme, where the response is not calculated but determined by a
More information