insertion wcet insertion 99.9 insertion avgt heap wcet heap 99.9 heap avgt 200 execution time number of elements

Size: px
Start display at page:

Download "insertion wcet insertion 99.9 insertion avgt heap wcet heap 99.9 heap avgt 200 execution time number of elements"

Transcription

1 Time-Constrained Sorting A Comparison of Diæerent Algorithms P. Puschner Technische Universitíat Wien, Austria peter@vmars.tuwien.ac.at A. Burns University of York, UK burns@minster.york.ac.uk Abstract: The designers of real-time systems try to avoid a poor utilization of hardware by assigning only the absolutely necessary time budget to each task. In certain cases it is also acceptable to cut the time quantum assigned to a task below its worst-case needs, provided èaè a high percentage of executions complete within this quantum and èbè the quality of the aborted computations is suæcient for further processing. In this paper we study the eæect of reserving less than the worst-case execution time for diæerent sorting algorithms. We investigate into the quality of the partial results of the sorting algorithms at the point of their termination. To do so, we deæne a set of metrics and compare the quality of incomplete sorts of aborted computations against these metrics. Further, we evaluate the sensitiveness of the results to changes in the completion rate of the chosen time quantum. As a result we present a rating of the evaluated algorithms and show how to achieve the best tradeoæ between the CPU-time allocation and completion rate for the sorting algorithms. 1 Introduction The sorting of data is a key activity in a number of real-time applications. Although there are many diæerent sorting algorithms to choose from, most have the property that the average time it takes to complete a sort operation is signiæcantly less than the theo-

2 retical worst-case time. The systemèapplication designer is therefore faced with a choice èdilemmaè: æ reserve enough resources for the worst case, and experience considerable underutilization at run-time, or æ reserve less than the worst-case, have better resource utilization but risk an occasional incomplete sort. Clearly if it is imperative that the sort operation must always be completed then worstcase analysis and resource reservation must be used. But for many application this is not necessary; a percentage success rate is suæcient as long as the abandoned sort leaves the data in an eæective partially ordered form. In this paper we deæne a set of possible metrics for partially ordering and examine a number of sort routines against these metrics. The results of this study are recommendations on how best to trade computation time against quality of result. Although aimed speciæcally at sorting, the framework we use is applicable to other algorithms, for example search routines, that have this distinction of average and worst-case computation time. There exists a lot of literature that describes the operation and the peculiarities of sorting algorithms ëaho, Hopcroft, Ullman 1983, Cormen, Leiserson, Rivest 1990, Knuth 1973, Mehlhorn 1984, Sedgewick 1989, Sedgewick, Fajolet 1996ë. With respect to performance these works typically focus on the average and to some extent on the worst-case number of operations that the algorithms need to obtain a fully sorted solution. Recent work ëmittermair, Puschner 1997, Puschner to appearë investigates the suitedness of diæerent sorting programs for hard and soft real-time applications. This paper extends these studies on sorting algorithms by considering the termination of the sorting programs when their deadlines expire. It compares the quality of the resulting partial sorts of the diæerent algorithms. 1.1 Motivation The purpose of this section is to illustrate that it is indeed worth while to refrain from reserving resources for the worst case, if the application allows this. It is well-known that for many sorting algorithms the worst-case execution time is far beyond the execution time of an average execution. Also, the standard deviation of the execution times from the average execution time is small compared to the diæerence between the worst case and the average case. As a consequence, a resource allocation strategy that reserves less than the WCET for a sorting task has to reserve signiæcantly less time than the WCET even if the reserved duration must guarantee a completion ratio for the task that is close to

3 100 percent. Thus, conæguring the duration of execution intervals based on the demanded completion rate of an algorithm instead of its WCETs, is a very eæective means to keep resource costs low èsee Figure 1è wcet 99.9 avgt wcet 99.9 avgt 200 execution time number of elements Figure 1: WCETs, 99.9è Time Quanta, and Average Execution Times of Three Sorting Algorithms Figure 1 shows the time quanta one has to reserve for two sample sorting algorithms è sort and sortè to accommodate that 99.9è of all executions complete. The time quanta ècurves without dot marksè are compared to average execution times ècross dot marksè and worst-case execution-time bounds ètriangular dot marksè. One can observe that the quanta are closer to average execution times than worst-case bounds. The paper is structured as follows: In Section 2 we derive the amount of time that has to be reserved for a program in order to ensure a given percentage of completions. Section 3 gives a detailed description of the experiments we conducted to assess the sorting program. The main part, Section 4, investigates how the algorithms behave with respect to the diæerent metrics. Also, we explain the dependence between the quality of the results and the completion rate. Section 5 summarizes our ændings and concludes the paper.

4 2 Derivation of Resource Needs We deæne the p-quantum for a task as the duration that needs to be reserved for the task to guarantee that p out of all executions complete within that duration. In other words, on the average only 1 out of 1=è1, pè executions need more time than the p-quantum. Ideally one would derive a p-quantum by constructing the cumulative distribution function ècdfè of the execution time of the task. The execution time at which the CDF reaches p is the p-quantum èsee Figure 2è cumulative probability of completion p-quantum èp =0:95è time relative to WCET of task Figure 2: Derivation of a p-quantum from the CDF of the execution times. The example shows the CDF of a sample task and illustrates the derivation of the 0:95-quantum. Since the construction of exact CDFs is in practice infeasible, p-quanta must be approximated. A viable solution for the estimation of a p-quantum is to measure the execution times of a large number of executions of the task and to apply a statistic test for quantiles of continuous distributions, as for example described in ëdegroot 1986ë, to approximate the bound. From n execution time samples, an estimate for the p-quantum with conædence coeæcient æ is computed as the value of the order statistics of the execution time samples at the æ quantile of the binomial distribution for n trials and probability p.

5 3 Experiment Description The reservation of p-quanta for tasks is tolerable as long as abandoned tasks leave their data in a state of acceptable quality. The goal of the experiments is to compare the quality of partial solutions of sorting algorithms when terminated by the expiration of their p-quantum. We will deæne a set of possible metrics and examine a number of sorting algorithms against these metrics. Additionally, we will test in which way the choice of diæerent values for p inæuences the quality oftheresults. 3.1 Sorting Algorithms In the experiments we used six common algorithms for sorting arrays: Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort, and Heap Sort. We implemented the algorithms in C to sort elements of two-byte integer. The coding followed the description of the algorithms in standard literature ëmehlhorn 1984, Sedgewick, Fajolet 1996ë. We implemented very simple versions of all algorithms, e.g., sort splits list down to the length of a single element and sort takes the ærst item of each list as the pivoting element. The algorithms, of course, have diæerent timing characteristics, a comparison of which èfrom the real-time perspectiveè we have already given ëmittermair, Puschner 1997, Puschner to appearë. In this paper we are primarily concerned with the quality of the partially ordered output from the algorithms when they are terminated early. We therefore ënormalize" the results by use of the same p-quantum on each algorithm rather than use absolute time. 3.2 Experiment Steps The experiments followed the following steps for each sorting program and each value of p for the p-quanta. First the program was compiled and prepared for execution with execution-time simulation for the MC68000 processor. To derive an estimate for the p- quantum, we generated arrays of random data and executed the sorting program with these inputs. The execution-time simulation computed the number of CPU cycles for each of the test runs and stored the execution time together with the input data set. From the execution times we derived the needed p-quantum as described in the previous section. After the computation of the p-quantum the stored execution times and input arrays were re-used for the succeeding evaluations. For each of the input sets the execution

6 time was compared to the p-quantum. All inputs with an execution time greater than the p-quantum were sorted again. This time, however, the execution was terminated upon expiration of the p-quantum. The partial result that had been computed within the p- quantum was taken as part of the entire evaluation of the sorting algorithms. 3.3 Evaluation Metrics The quality of a partially sorted solution very much depends on the application. While one application might demand that a large fraction of the array is sorted, another application might favor solutions where the array elements are not too far from their correct position. Tocover a certain range of possible application needs weinvestigated the incomplete results of the sorting algorithms with respect to æve diæerent metrics: æ length of the longest sorted sub-sequence æ number of elements in wrong position æ max P jactual position, correct positionj æ P jactual position, correct positionj æ èactual position, correct positionè Points of Evaluation We organized our work into two series of experiments. In the ærst series we evaluated and compared the partial solutions for diæerent array sizes. In the second series we assessed the inæuence of the size of the p-quantum on the quality of the partial solutions. In the ærst series we chose array sizes of 10, 50, 100, 150, and 200 elements, respectively. For each size we determined the 0.9-quantum for each of the algorithms and evaluated the partial results Table 1 shows that stopping at the p-quantum reduces the time consumption of many algorithms signiæcantly, especially if arrays to be sorted are large. We determined the percentage of results that were already sorted, though they still had not completed 1, and compared all partial solutions against the above-listed metrics. 1 Most standard sorting algorithms continue operation even though the data might already be completely sorted. This comes from the fact that loops have æxed iteration counts and that the algorithms do not check the sortedness of data during their operation.

7 Table 1: Duration of 0.9-Quanta Relative the WCET Bounds èin Percentè 10 elements 100 elements In the second series we æxed the array size to 100 elements. We varied the size of the p- quantum by choosing six diæerent values for p: 0.75, 0.8, 0.85, 0.9, 0.95, and Again, each algorithm was evaluated with respect to all these quantum sizes and metrics. 3.5 Ensuring Consistent Termination Before we start the main investigation we have to ensure that the abandoned sorts leave the arrays in a consistent state. We have to consider that most sorting algorithms perform sequences of operations during which the contents of the array is not consistent elements may be missing or duplicated. To make sure the contents of the array is consistent at evaluation time, sorting programs must not be interrupted during action sequences that have to be atomic. Thus if an atomic operation is in progress at the time the p-quantum ends, the termination of the sorting algorithm is delayed until the contents of the array is valid again. Figure 3 shows that the precautions for consistency are relevant. Especially Insertion Sort and Heap Sort return a large fraction of inconsistent solutions if the critical sections of code are not protected. Only Merge Sort does not produce inconsistent results. Since Merge Sort uses two arrays, one array is always in a consistent state. As mentioned above, we can avoid inconsistencies in the results, if we ensure that the termination of the sorting programs are delayed until the array is in a valid state. The maximum termination delays are bounded and can be computed by program code analysis. In this way we can ensure that the sorting programs terminate before the expiration of their time quantum despite the presence of non-interruptible code sections. Figure 4 shows the average delays caused by atomic sequences of operations for the investigated sorting programs èthe units along the y-axis are numbers of instruction cycles on the MC68000 processorè. The reader can observe the following points from the graphs:

8 fraction of samples array size Figure 3: Percentage of Consistent Terminations among all Terminations at the p-quantum èp=0.9è time units array size Figure 4: Average Delay of Interruptions if Interrupts are being Disabled while the Array being Sorted is in an Inconsistent State æ Insertion Sort shows the longest delays. The delays grow proportionally with the array size. æ Compared with Insertion Sort, the delays for Heap Sort are short. They grow slower than linearly for increasing array sizes. æ The delays for Merge Sort are zero, for the other algorithms they are close to zero. Our experiments take into account that not all programs can be terminated immediately at

9 the end of the assigned p-quantum. The execution simulator was programmed to delay the termination till the end of an atomic operation in case the array contents was inconsistent when the p-quantum expired. 4 Results This section presents the results of our experiments together with explanations and interpretations. Section 4.1 evaluates how many of the interrupted sorts yielded a sorted solution at the time of the interruption. Section 4.2 compares the partial results of the sorting algorithms against the diæerent metrics and investigates the dependence of the results on the array size. Finally, Section 4.3 assesses the inæuence of a change of the completion ratio on the results. 4.1 Percentage of Sorted Arrays Despite Early Termination fraction of samples array size Figure 5: Percentage of Sorted Arrays for Diæerent Array Sizes. Figure 5 shows the percentage of sorted arrays from those execution of sorting algorithms that were terminated because of the expiration of the 0:9-quantum. The ægure presents the following facts: æ For all algorithms the completion rate decreases with increasing array size. æ Heap sort has the worst completion ratio for small arrays. For all algorithms but Heap Sort the completion rate is higher than 80è for arrays with 10 elements.

10 æ Selection Sort has the highest rate of sorted array in the case of early termination. Bubble Sort is second-best for arrays for medium size to large arrays è60 to 70è sortedè. 4.2 Evaluation Against Metrics Weevaluated the six sorting algorithms against each of the æve metrics listed in Section 3.3. All computations of the algorithms were terminated at the time the respective 0.9-quantum was reached. The results of those executions that had not completed at the time the quantum expired were taken for our assessment. This section compares the ændings from these evaluations. Length of the longest sorted sub-sequence number of elements array size Figure 6: Longest Sorted Sequences æ For all algorithms except Merge Sort the average length of sorted subsequences in the interrupted executions lies between 90 and 100 percent of the total array size. æ For Merge Sort the average length of the maximum sorted sub-sequence is much shorter than for the other algorithms èsee Figure 6è. This result has the following reason. Merge Sort internally uses two arrays and s elements from the sorted lists of one array into the other array. If the destination array is not completely ælled at the time the 0.9-quantum expires, Merge Sort returns the source array. The maximum length of a sorted subsequence in the source array is in this case the

11 maximum power of two that is smaller than the array size, i.e., 8 for arrays of size 10, 32 for arrays of size 50, and so on. Thus the pessimistic result for Merge Sort. Average Number of Elements in Wrong Position Figure 7 shows the results for the second metric, which judges the algorithms by the average number of elements found in a wrong position at the expiration time of the 0.9-quantum number of elements array size Figure 7: Average Number of Elements in Wrong Position for Diæerent Array Sizes æ The average number of elements in a wrong position is lowest for Selection Sort, low for Bubble Sort, Quick Sort, and Heap Sort. æ For Merge Sort the number of elements in a wrong position is extremely high èmore than 50è for 50 elements, 75è for 200 elementsè. For Insertion Sort the number of elements in a wrong position is slightly smaller èappr. 35è for 50 elements and 50è for 200 elementsè. max jactual position, correct positionj This metric compares the algorithms with respect to the maximum distance an array element has from its correct position at termination time. The respective results are displayed in Figure 8.

12 distance array size Figure 8: Average of max jactual position, correct positionj for Diæerent Array Sizes æ The reader can observe similarities to the previous metric. Merge Sort and Insertion Sort perform much worse than the other algorithms. æ The gradient of the curve of Merge Sort steadily increases in each interval between 10, 50, 100, and 150 elements. In the interval between 150 and 200 elements it is, however, lower than between 100 and 150 elements. The reason is that in all but the last interval the maximum size of the sorted sublists increases, meaning that the maximum possible distance of an element from its correct position increases, too. Only for 200 elements the maximum size of a sorted sublist is equal to to the maximum sublist size for 150 elements: 128. Since the maximum possible distance of an element from its correct position does not increase, the average of the maxima does not increase so ly, either. P jactual position, correct positionj While the result of the previous metric was determined by a single array element, this metric sums up the displacements of all array elements. The graphs resulting from the evaluation of the partial sorts of the algorithms with respect to this metric are shown in Figure 9. æ Selection Sort performs best. Even for 200 elements the average sum of distances of elements from their correct position is lower than 1.

13 sum of distances array size Figure 9: Average of P jactual position, correct positionj for Diæerent Array Sizes æ Expect for 10 elements, Merge Sort shows the worst result. The reason is that Merge Sort sorts sublists and array elements cannot move across predeæned borders in each sorting run. Thus although the unsorted arrays resulting from early termination always consist of two sublists that are entirely sorted, the distance of each element from its ænal location can still be long. æ Though better than Merge Sort, Insertion Sort performs much worse than the other algorithms for an array size of 50 or more. æ The results of Bubble Sort, Quick Sort, and Heap Sort are relatively similar. For arrays of medium to large size the metric yields much better results than Merge Sort and Insertion Sort, and worse results than Selection Sort. Among these three algorithms Quick Sort shows the best results for small arrays of 10 Elements. For large arrays its results are, however, worse than for Bubble and Heap Sort. P èactual position, correct positionè 2 This metric is similar to the previous one. In comparison to the previous metric, however, this metric places a stronger weight on larger displacements. The results for this metric are very similar to the results of the previous metric èsee Figure 10è. The variances of the distances of array elements from their correct position seem to be similar for all algorithms. Since the results for this metric closely resembles the results from the previous point the same interpretation hold as for Figure 9.

14 1e sum of square distances array size P Figure 10: Average of èactual position, correct positionè 2 Array Sizes for Diæerent 4.3 Changing the Completion Ratio p Up to this point we had æxed the completion ratio p to 0.9 and compared the results of the diæerent algorithms when terminated by the expiration of the p-quantum. In the following we investigate how a change of p aæects the duration of the p-quantum and the results of the sorting algorithms. These data are interesting, because they provide guidance for selecting appropriate values of p. Also these data tell us in which situation a reduction of p yields a substantial reduction of the resource needs è=size of the p-quantumè and in which situation a decrease of p yields only little gain. Figures 11 and 12 show the cumulative execution time distribution functions ècdfè of the sorting algorithms for 10 and 100 elements, respectively. For each algorithm the CDF is scaled relative to its WCET. The ægures display the correlation between p and the size of the respective p-quantum for the algorithms. We can immediately observe that a reduction of the completion ratio from 1.0 to avalue ëclose to 1.0", e.g., to 0.99 for arrays with 100 elements or to 0.97 for arrays of 10 elements, yields the most signiæcant reduction of the size of the p-quantum. A further reduction of p, below this point, brings little gain with respect to the CPU utilization in relation to the fall oæ in the completion rate. While Figure 12 shows the CDFs of the sorting programs relative to their WCETs, Figure 13 presents the absolute execution time CDFs of the implementations of the algorithms in our target environment. Besides the dot marks that help to identify the graphs, we have also dot-marked the 0:99-quanta and the WCETs ècumulative probability of completion = 1.0è of all CDF graphs. The results demonstrate that it makes a big diæerence whether

15 cumulative probability of completion execution time relative to WCET Figure 11: CDFs of Execution Times for Sorting Programs with 10 Elements Relative towcets cumulative probability of completion execution time relative to WCET Figure 12: CDFs of Execution Times for Sorting Programs with 100 Elements Relative to WCETs we judge the algorithms based on their WCETs or their p-quanta. Thus, if not all executions of a program have to run till completion, it pays oæ to investigate the resource needs of the p-quanta of possible alternative implementations. For example, Merge Sort has the shortest WCET among all algorithms shown in Figure 13. If we are, on the other hand, only interested in 0.99 completion, then Quick Sort has the smallest 0.99-quantum. Quick Sort would thus be preferable in this case. The reader can observe a similar result when comparing the three 0èN 2 è algorithms Bubble Sort, Insertion Sort, and Selection Sort. While Selection Sort has the smallest WCET, the 0.99-quantum of Insertion Sort is signiæcantly smaller than the other quanta.

16 cumulative probability of completion insert. select execution time [CPU cycles] Figure 13: CDFs of Absolute Execution Times for Sorting Programs with 100 Elements The small change of the size of the p-quantum for variations of p below the eæective range near the completion rate of 1.0 leads to only small changes in the quality of partial sorts when p is changed. This can be seen in Figure 14, where we æxed the array size and varied p between 0.75 and The ægure shows that the fraction of interrupted, yet sorted solutions changes only slowly in comparison to the change of the completion ratio of the p-quantum. fraction of samples percentage of completions Figure 14: Percentage of Sorted Arrays of Consistent Interruptions for Different Completion Ratios In the following we explored, to which extent the completion ratio p, selected for the p- quantum, inæuences the quality of the unsorted solutions with respect to the metrics we

17 used earlier. Again the quality of the results hardly changed when we changed p in the range between 0.75 and 0.99 èsee Figures 15 to 17; the graphs for the third and the æfth metric have been left out since they very much resemble the shown æguresè. Figures 15 to 17 compare those partial results of the diæerent algorithms that had not been completely sorted at the termination time. Considering the steepness of the execution time CDFs, the results shown in Figures 15 to 17 conærm our expectations. Since for all values of p in the range between 0.75 and 0.99 the sizes of the p-quanta are very similar, nearly the same time is available for the computation in the diæerent situation. Thus, also the qualities of the partial results hardly diæer for the diæerent completion rates number of elements percentage of completions Figure 15: Longest Sorted Runs of Unsorted Consistent Arrays for Diæerent Completion Ratios The above observations suggest a rule for the of the parameter p for the p-quantum of the sorting algorithms. Select that value of p close to 1.0 where the CDF of the execution times of the sorting algorithms shows the maximum change of the gradient. This value of p yields the best tradeoæ between CPU time savings and the degradation of the completion rate. 5 Summary and Conclusion In this paper we have analyzed a collection of related algorithms that have the property that their worst-case execution times tend to be much greater than their average. In choosing between the algorithms, it is necessary to know the quality requirement of the application. The algorithms addressed in this paper are all sorting routines. If an application requires a

18 number of elements percentage of completions Figure 16: Average Number of Elements in Wrong Position of Unsorted Consistent Arrays for Diæerent Completion Ratios sum of distances percentage of completions Figure 17: Average of P jactual position, correct positionj for Unsorted Consistent Arrays for Diæerent Completion Ratios guarantee that all input data must be fully sorted on all occasions then the designer must choose the algorithm with the shortest WCET for the maximum size of the problem that will be encountered. But if this absolute guarantee is not required then a number of other attributes become important. Firstly the probability of completion, as a function of percentage of WCET assigned to the algorithm, allows routines to be picked that can have high expectation of completion for relatively low execution times. For example with Quick Sort of 100 elements 0.99 of all executions can be expected to complete within only 0.25 WCET.

19 The other important issue is the quality of the data if the algorithm is terminated before sorting is completed. We considered a number of metrics in the paper the length of the longest sorted subsequence at termination time, the number of elements in wrong position, the maximum displacement of an element, the sum of displacements of all displaced elements, and the sum of the squares of the displacements. A main observation is that the evaluations against the diæerent metrics yield similar rankings of the algorithms: Merge Sort performs very poor for each of the metrics. This is certainly due to the fact that Merge Sort does signiæcant moves of elements in the ænal run. Next to Merge Sort comes Insertion Sort. Its maximum displacement of an element is comparable to Merge Sort. With respect to the number of elements in a wrong position and the two metrics that sum up displacements Insertion Sort performs better then Merge Sort, but still signiæcantly worse than all other algorithms. The results of Bubble Sort, Heap Sort, and Quick Sort are relatively close together, with Quick Sort showing the est degradation of the quality among the three algorithms. Selection Sort returns the best results for all considered metrics. While the result is only slightly better than Bubble Sort, Heap Sort, and Quick Sort, for the ærst three metrics, the two sum-metrics give a clear vote for Selection Sort. The investigation into the sensitiveness of the results on the completion ratio èand thus the duration of the reserved time quantumè revealed a uniform characteristic for all algorithms. A reduction of the completion ratio from 1.0 to a value ëclose to 1.0" è0.99 for arrays with 100 elements, 0.97 for arrays with 10 elements in our experimentsè yields signiæcant resource savings. A reduction of the completion rate below this point shortens the duration of the necessary time quantum for the algorithms only little relative to the big loss of completions; such a further reduction is thus not advisable. 6 References ëaho, Hopcroft, Ullman 1983ë A. Aho, J. Hopcroft, and J. Ullman. Data Structures and Algorithms. Addison-Wesley, Reading, MA, ëcormen, Leiserson, Rivest 1990ë T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. MIT Press and McGraw Hill, ëdegroot 1986ë M. H. DeGroot. Probability and Statistics. Addision-Wesley, Reading, MA, ëknuth 1973ë D. E. Knuth. The Art of Computer Programming, volume 3. Addison- Wesley, Reading, MA, USA, ëmehlhorn 1984ë K. Mehlhorn. Data Structures and Eæcient Algorithms, volume 1. Springer, EATCS Monographs, 1984.

20 ëmittermair, Puschner 1997ë D. Mittermair and P. Puschner. Which Sorting Algorithms to Choose for Hard Real-Time Applications. In Proc. Euromicro Workshop on Real-Time Systems, pages 250í257, Toledo, Spain, June ëpuschner to appearë P. Puschner. Real-Time Performance of Sorting Algorithms. Real- Time Systems, toappear. ësedgewick 1989ë R. Sedgewick. Algorithms. Addison-Wesley, Reading, MA, USA, ësedgewick, Fajolet 1996ë R. Sedgewick and P. Fajolet. An Introduction to the Analysis of Algorithms. Addison-Wesley, Reading, MA, USA, 1996.

Position Sort. Anuj Kumar Developer PINGA Solution Pvt. Ltd. Noida, India ABSTRACT. Keywords 1. INTRODUCTION 2. METHODS AND MATERIALS

Position Sort. Anuj Kumar Developer PINGA Solution Pvt. Ltd. Noida, India ABSTRACT. Keywords 1. INTRODUCTION 2. METHODS AND MATERIALS Position Sort International Journal of Computer Applications (0975 8887) Anuj Kumar Developer PINGA Solution Pvt. Ltd. Noida, India Mamta Former IT Faculty Ghaziabad, India ABSTRACT Computer science has

More information

arxiv: v3 [cs.ds] 18 Apr 2011

arxiv: v3 [cs.ds] 18 Apr 2011 A tight bound on the worst-case number of comparisons for Floyd s heap construction algorithm Ioannis K. Paparrizos School of Computer and Communication Sciences Ècole Polytechnique Fèdèrale de Lausanne

More information

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing 1. Introduction 2. Cutting and Packing Problems 3. Optimisation Techniques 4. Automated Packing Techniques 5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing 6.

More information

Chapter 5. Track Geometry Data Analysis

Chapter 5. Track Geometry Data Analysis Chapter Track Geometry Data Analysis This chapter explains how and why the data collected for the track geometry was manipulated. The results of these studies in the time and frequency domain are addressed.

More information

Comparing Implementations of Optimal Binary Search Trees

Comparing Implementations of Optimal Binary Search Trees Introduction Comparing Implementations of Optimal Binary Search Trees Corianna Jacoby and Alex King Tufts University May 2017 In this paper we sought to put together a practical comparison of the optimality

More information

Lutz Prechelt Fakultíat fíur Informatik. Universitíat Karlsruhe, Postfach Dí7500 Karlsruhe, Germany.

Lutz Prechelt Fakultíat fíur Informatik. Universitíat Karlsruhe, Postfach Dí7500 Karlsruhe, Germany. Comparison of MasPar MP-1 and MP- Communication Operations Lutz Prechelt èprechelt@ira.uka.deè Institut fíur Programmstrukturen und Datenorganisation Fakultíat fíur Informatik Universitíat Karlsruhe, Postfach

More information

A,B,C,D 1 E,F,G H,I,J 3 B 5 6 K,L 4 M,N,O

A,B,C,D 1 E,F,G H,I,J 3 B 5 6 K,L 4 M,N,O HYCORE: A Hybrid Static-Dynamic Technique to Reduce Communication in Parallel Systems via Scheduling and Re-routing æ David R. Surma Edwin H.-M. Sha Peter M. Kogge Department of Computer Science and Engineering

More information

THE EFFECT OF JOIN SELECTIVITIES ON OPTIMAL NESTING ORDER

THE EFFECT OF JOIN SELECTIVITIES ON OPTIMAL NESTING ORDER THE EFFECT OF JOIN SELECTIVITIES ON OPTIMAL NESTING ORDER Akhil Kumar and Michael Stonebraker EECS Department University of California Berkeley, Ca., 94720 Abstract A heuristic query optimizer must choose

More information

19.2 View Serializability. Recall our discussion in Section?? of how our true goal in the design of a

19.2 View Serializability. Recall our discussion in Section?? of how our true goal in the design of a 1 19.2 View Serializability Recall our discussion in Section?? of how our true goal in the design of a scheduler is to allow only schedules that are serializable. We also saw how differences in what operations

More information

International Journal of Scientific & Engineering Research, Volume 4, Issue 7, July ISSN

International Journal of Scientific & Engineering Research, Volume 4, Issue 7, July ISSN International Journal of Scientific & Engineering Research, Volume 4, Issue 7, July-201 971 Comparative Performance Analysis Of Sorting Algorithms Abhinav Yadav, Dr. Sanjeev Bansal Abstract Sorting Algorithms

More information

Approximating a Policy Can be Easier Than Approximating a Value Function

Approximating a Policy Can be Easier Than Approximating a Value Function Computer Science Technical Report Approximating a Policy Can be Easier Than Approximating a Value Function Charles W. Anderson www.cs.colo.edu/ anderson February, 2 Technical Report CS-- Computer Science

More information

A CPLD-based RC-4 Cracking System. short ètypically 32 or 40 bitsè sequence of bits. As long as. thus can not decrypt the message.

A CPLD-based RC-4 Cracking System. short ètypically 32 or 40 bitsè sequence of bits. As long as. thus can not decrypt the message. A CPLD-based RC-4 Cracking System Paul D. Kundarewich and Steven J.E. Wilton Dept. of Electrical and Computer Engineering University of British Columbia Vancouver, BC, Canada kundarew@ieee.org, stevew@ece.ubc.ca

More information

Evaluation of Power Consumption of Modified Bubble, Quick and Radix Sort, Algorithm on the Dual Processor

Evaluation of Power Consumption of Modified Bubble, Quick and Radix Sort, Algorithm on the Dual Processor Evaluation of Power Consumption of Modified Bubble, Quick and, Algorithm on the Dual Processor Ahmed M. Aliyu *1 Dr. P. B. Zirra *2 1 Post Graduate Student *1,2, Computer Science Department, Adamawa State

More information

process variable x,y,a,b,c: integer begin x := b; -- d2 -- while (x < c) loop end loop; end process; d: a := b + c

process variable x,y,a,b,c: integer begin x := b; -- d2 -- while (x < c) loop end loop; end process; d: a := b + c ControlData-æow Analysis for VHDL Semantic Extraction æ Yee-Wing Hsieh Steven P. Levitan Department of Electrical Engineering University of Pittsburgh Abstract Model abstraction reduces the number of states

More information

ISA[k] Trees: a Class of Binary Search Trees with Minimal or Near Minimal Internal Path Length

ISA[k] Trees: a Class of Binary Search Trees with Minimal or Near Minimal Internal Path Length SOFTWARE PRACTICE AND EXPERIENCE, VOL. 23(11), 1267 1283 (NOVEMBER 1993) ISA[k] Trees: a Class of Binary Search Trees with Minimal or Near Minimal Internal Path Length faris n. abuali and roger l. wainwright

More information

having any value between and. For array element, the plot will have a dot at the intersection of and, subject to scaling constraints.

having any value between and. For array element, the plot will have a dot at the intersection of and, subject to scaling constraints. 02/10/2006 01:42 AM Class 7 From Wiki6962 Table of contents 1 Basic definitions 2 Bubble Sort 2.1 Observations 3 Quick Sort 3.1 The Partition Algorithm 3.2 Duplicate Keys 3.3 The Pivot element 3.4 Size

More information

What Secret the Bisection Method Hides? by Namir Clement Shammas

What Secret the Bisection Method Hides? by Namir Clement Shammas What Secret the Bisection Method Hides? 1 What Secret the Bisection Method Hides? by Namir Clement Shammas Introduction Over the past few years I have modified the simple root-seeking Bisection Method

More information

VARIANCE REDUCTION TECHNIQUES IN MONTE CARLO SIMULATIONS K. Ming Leung

VARIANCE REDUCTION TECHNIQUES IN MONTE CARLO SIMULATIONS K. Ming Leung POLYTECHNIC UNIVERSITY Department of Computer and Information Science VARIANCE REDUCTION TECHNIQUES IN MONTE CARLO SIMULATIONS K. Ming Leung Abstract: Techniques for reducing the variance in Monte Carlo

More information

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. Date: Thursday 1st June 2017 Time: 14:00-16:00

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. Date: Thursday 1st June 2017 Time: 14:00-16:00 COMP 26120 Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Algorithms and Imperative Programming Date: Thursday 1st June 2017 Time: 14:00-16:00 Please answer THREE Questions from the FOUR

More information

Measures of Dispersion

Measures of Dispersion Measures of Dispersion 6-3 I Will... Find measures of dispersion of sets of data. Find standard deviation and analyze normal distribution. Day 1: Dispersion Vocabulary Measures of Variation (Dispersion

More information

Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS

Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS Structure Page Nos. 2.0 Introduction 4 2. Objectives 5 2.2 Metrics for Performance Evaluation 5 2.2. Running Time 2.2.2 Speed Up 2.2.3 Efficiency 2.3 Factors

More information

An Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish Time Scheduling Algorithm

An Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish Time Scheduling Algorithm An Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish Time Scheduling Algorithm Henan Zhao and Rizos Sakellariou Department of Computer Science, University of Manchester,

More information

53 M 0 j èm 2 i è ;1 M 0 j èm 2 i è ;1 èm 2 i è ;0 èm 2 i è ;0 (a) (b) M 0 i M 0 i (c) (d) Figure 6.1: Invalid boundary layer elements due to invisibi

53 M 0 j èm 2 i è ;1 M 0 j èm 2 i è ;1 èm 2 i è ;0 èm 2 i è ;0 (a) (b) M 0 i M 0 i (c) (d) Figure 6.1: Invalid boundary layer elements due to invisibi CHAPTER 6 BOUNDARY LAYER MESHING - ENSURING ELEMENT VALIDITY Growth curves are created with maximum consideration for topological validity and topological compatibility with the model. However, only preliminary

More information

D-Optimal Designs. Chapter 888. Introduction. D-Optimal Design Overview

D-Optimal Designs. Chapter 888. Introduction. D-Optimal Design Overview Chapter 888 Introduction This procedure generates D-optimal designs for multi-factor experiments with both quantitative and qualitative factors. The factors can have a mixed number of levels. For example,

More information

WHITE PAPER: ENTERPRISE AVAILABILITY. Introduction to Adaptive Instrumentation with Symantec Indepth for J2EE Application Performance Management

WHITE PAPER: ENTERPRISE AVAILABILITY. Introduction to Adaptive Instrumentation with Symantec Indepth for J2EE Application Performance Management WHITE PAPER: ENTERPRISE AVAILABILITY Introduction to Adaptive Instrumentation with Symantec Indepth for J2EE Application Performance Management White Paper: Enterprise Availability Introduction to Adaptive

More information

COSC 311: ALGORITHMS HW1: SORTING

COSC 311: ALGORITHMS HW1: SORTING COSC 311: ALGORITHMS HW1: SORTIG Solutions 1) Theoretical predictions. Solution: On randomly ordered data, we expect the following ordering: Heapsort = Mergesort = Quicksort (deterministic or randomized)

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms About the course (objectives, outline, recommended reading) Problem solving Notions of Algorithmics (growth of functions, efficiency, programming model, example analysis)

More information

More Summer Program t-shirts

More Summer Program t-shirts ICPSR Blalock Lectures, 2003 Bootstrap Resampling Robert Stine Lecture 2 Exploring the Bootstrap Questions from Lecture 1 Review of ideas, notes from Lecture 1 - sample-to-sample variation - resampling

More information

The ray tracing software package implements an object-oriented approach to

The ray tracing software package implements an object-oriented approach to Chapter 1 RayTracing 1.1 Using the ray tracer package The ray tracing software package implements an object-oriented approach to rendering and ray tracing. The object oriented design includes base classes

More information

Source EE 4770 Lecture Transparency. Formatted 16:43, 30 April 1998 from lsli

Source EE 4770 Lecture Transparency. Formatted 16:43, 30 April 1998 from lsli 17-3 17-3 Rate Monotonic Priority Assignment (RMPA) Method for assigning priorities with goal of meeting deadlines. Rate monotonic priority assignment does not guarantee deadlines will be met. A pure periodic

More information

TECHNICAL RESEARCH REPORT

TECHNICAL RESEARCH REPORT TECHNICAL RESEARCH REPORT A Simulation Study of Enhanced TCP/IP Gateways for Broadband Internet over Satellite by Manish Karir, Mingyan Liu, Bradley Barrett, John S. Baras CSHCN T.R. 99-34 (ISR T.R. 99-66)

More information

Heuristic Algorithms for Multiconstrained Quality-of-Service Routing

Heuristic Algorithms for Multiconstrained Quality-of-Service Routing 244 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 10, NO 2, APRIL 2002 Heuristic Algorithms for Multiconstrained Quality-of-Service Routing Xin Yuan, Member, IEEE Abstract Multiconstrained quality-of-service

More information

VISUAL BASIC COLLECTIONS

VISUAL BASIC COLLECTIONS VISUAL BASIC COLLECTIONS AND HASH TABLES Tom Niemann Preface Hash tables offer a method for quickly storing and accessing data based on a key value. When you access a Visual Basic collection using a key,

More information

The p-sized partitioning algorithm for fast computation of factorials of numbers

The p-sized partitioning algorithm for fast computation of factorials of numbers J Supercomput (2006) 38:73 82 DOI 10.1007/s11227-006-7285-5 The p-sized partitioning algorithm for fast computation of factorials of numbers Ahmet Ugur Henry Thompson C Science + Business Media, LLC 2006

More information

Class Note #02. [Overall Information] [During the Lecture]

Class Note #02. [Overall Information] [During the Lecture] Class Note #02 Date: 01/11/2006 [Overall Information] In this class, after a few additional announcements, we study the worst-case running time of Insertion Sort. The asymptotic notation (also called,

More information

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University Frequently asked questions from the previous class survey CS 370: SYSTEM ARCHITECTURE & SOFTWARE [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University OpenMP compiler directives

More information

Overcompressing JPEG images with Evolution Algorithms

Overcompressing JPEG images with Evolution Algorithms Author manuscript, published in "EvoIASP2007, Valencia : Spain (2007)" Overcompressing JPEG images with Evolution Algorithms Jacques Lévy Véhel 1, Franklin Mendivil 2 and Evelyne Lutton 1 1 Inria, Complex

More information

Algorithm Analysis and Design

Algorithm Analysis and Design Algorithm Analysis and Design Dr. Truong Tuan Anh Faculty of Computer Science and Engineering Ho Chi Minh City University of Technology VNU- Ho Chi Minh City 1 References [1] Cormen, T. H., Leiserson,

More information

Encoding Time in seconds. Encoding Time in seconds. PSNR in DB. Encoding Time for Mandrill Image. Encoding Time for Lena Image 70. Variance Partition

Encoding Time in seconds. Encoding Time in seconds. PSNR in DB. Encoding Time for Mandrill Image. Encoding Time for Lena Image 70. Variance Partition Fractal Image Compression Project Report Viswanath Sankaranarayanan 4 th December, 1998 Abstract The demand for images, video sequences and computer animations has increased drastically over the years.

More information

Algorithms in Systems Engineering ISE 172. Lecture 12. Dr. Ted Ralphs

Algorithms in Systems Engineering ISE 172. Lecture 12. Dr. Ted Ralphs Algorithms in Systems Engineering ISE 172 Lecture 12 Dr. Ted Ralphs ISE 172 Lecture 12 1 References for Today s Lecture Required reading Chapter 6 References CLRS Chapter 7 D.E. Knuth, The Art of Computer

More information

Overview. Sporadic tasks. Recall. Aperiodic tasks. Real-time Systems D0003E 2/26/2009. Loosening D = T. Aperiodic tasks. Response-time analysis

Overview. Sporadic tasks. Recall. Aperiodic tasks. Real-time Systems D0003E 2/26/2009. Loosening D = T. Aperiodic tasks. Response-time analysis Overview Real-time Systems D0003E Lecture 11: Priority inversion Burns/Wellings ch. 13 (except 13.12) Aperiodic tasks Response time analysis Blocking Priority inversion Priority inheritance Priority ceiling

More information

lecture notes September 2, How to sort?

lecture notes September 2, How to sort? .30 lecture notes September 2, 203 How to sort? Lecturer: Michel Goemans The task of sorting. Setup Suppose we have n objects that we need to sort according to some ordering. These could be integers or

More information

Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network

Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network Thomas Nolte, Hans Hansson, and Christer Norström Mälardalen Real-Time Research Centre Department of Computer Engineering

More information

formulation Model Real world data interpretation results Explanations

formulation Model Real world data interpretation results Explanations Mathematical Modeling Lecture Notes David C. Dobson January 7, 2003 1 Mathematical Modeling 2 1 Introduction to modeling Roughly deæned, mathematical modeling is the process of constructing mathematical

More information

1 Introduction RHIT UNDERGRAD. MATH. J., VOL. 17, NO. 1 PAGE 159

1 Introduction RHIT UNDERGRAD. MATH. J., VOL. 17, NO. 1 PAGE 159 RHIT UNDERGRAD. MATH. J., VOL. 17, NO. 1 PAGE 159 1 Introduction Kidney transplantation is widely accepted as the preferred treatment for the majority of patients with end stage renal disease [11]. Patients

More information

How to Conduct a Heuristic Evaluation

How to Conduct a Heuristic Evaluation Page 1 of 9 useit.com Papers and Essays Heuristic Evaluation How to conduct a heuristic evaluation How to Conduct a Heuristic Evaluation by Jakob Nielsen Heuristic evaluation (Nielsen and Molich, 1990;

More information

The Limits of Sorting Divide-and-Conquer Comparison Sorts II

The Limits of Sorting Divide-and-Conquer Comparison Sorts II The Limits of Sorting Divide-and-Conquer Comparison Sorts II CS 311 Data Structures and Algorithms Lecture Slides Monday, October 12, 2009 Glenn G. Chappell Department of Computer Science University of

More information

ACCURACY AND EFFICIENCY OF MONTE CARLO METHOD. Julius Goodman. Bechtel Power Corporation E. Imperial Hwy. Norwalk, CA 90650, U.S.A.

ACCURACY AND EFFICIENCY OF MONTE CARLO METHOD. Julius Goodman. Bechtel Power Corporation E. Imperial Hwy. Norwalk, CA 90650, U.S.A. - 430 - ACCURACY AND EFFICIENCY OF MONTE CARLO METHOD Julius Goodman Bechtel Power Corporation 12400 E. Imperial Hwy. Norwalk, CA 90650, U.S.A. ABSTRACT The accuracy of Monte Carlo method of simulating

More information

Azure database performance Azure performance measurements February 2017

Azure database performance Azure performance measurements February 2017 dbwatch report 1-2017 Azure database performance Azure performance measurements February 2017 Marek Jablonski, CTO dbwatch AS Azure database performance Introduction The popular image of cloud services

More information

Ch 4 : CPU scheduling

Ch 4 : CPU scheduling Ch 4 : CPU scheduling It's the basis of multiprogramming operating systems. By switching the CPU among processes, the operating system can make the computer more productive In a single-processor system,

More information

Ranking Clustered Data with Pairwise Comparisons

Ranking Clustered Data with Pairwise Comparisons Ranking Clustered Data with Pairwise Comparisons Alisa Maas ajmaas@cs.wisc.edu 1. INTRODUCTION 1.1 Background Machine learning often relies heavily on being able to rank the relative fitness of instances

More information

Math 340 Fall 2014, Victor Matveev. Binary system, round-off errors, loss of significance, and double precision accuracy.

Math 340 Fall 2014, Victor Matveev. Binary system, round-off errors, loss of significance, and double precision accuracy. Math 340 Fall 2014, Victor Matveev Binary system, round-off errors, loss of significance, and double precision accuracy. 1. Bits and the binary number system A bit is one digit in a binary representation

More information

Final Exam in Algorithms and Data Structures 1 (1DL210)

Final Exam in Algorithms and Data Structures 1 (1DL210) Final Exam in Algorithms and Data Structures 1 (1DL210) Department of Information Technology Uppsala University February 0th, 2012 Lecturers: Parosh Aziz Abdulla, Jonathan Cederberg and Jari Stenman Location:

More information

DYNAMIC MEMORY MANAGEMENT FOR EMBEDDED REAL-TIME SYSTEMS

DYNAMIC MEMORY MANAGEMENT FOR EMBEDDED REAL-TIME SYSTEMS DYNAMIC MEMORY MANAGEMENT FOR EMBEDDED REAL-TIME SYSTEMS A. Crespo, I. Ripoll, M. Masmano Universidad Polit«ecnica de Valencia 46022 Valencia, Spain {acrespo,iripoll,mmasmano}@disca.upv.es Abstract Keywords:

More information

PROBABILISTIC SCHEDULING MICHAEL ROITZSCH

PROBABILISTIC SCHEDULING MICHAEL ROITZSCH Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group PROBABILISTIC SCHEDULING MICHAEL ROITZSCH DESKTOP REAL-TIME 2 PROBLEM worst case execution time (WCET) largely exceeds

More information

task type nodes is entry initialize èwith mailbox: access to mailboxes; with state: in statesè; entry ænalize èstate: out statesè; end nodes; task bod

task type nodes is entry initialize èwith mailbox: access to mailboxes; with state: in statesè; entry ænalize èstate: out statesè; end nodes; task bod Redistribution in Distributed Ada April 16, 1999 Abstract In this paper we will provide a model using Ada and the Distributed Annex for relocating concurrent objects in a distributed dataæow application.

More information

æ When a query is presented to the system, it is useful to ænd an eæcient method of ænding the answer,

æ When a query is presented to the system, it is useful to ænd an eæcient method of ænding the answer, CMPT-354-98.2 Lecture Notes July 26, 1998 Chapter 12 Query Processing 12.1 Query Interpretation 1. Why dowe need to optimize? æ A high-level relational query is generally non-procedural in nature. æ It

More information

Randomized Algorithms: Selection

Randomized Algorithms: Selection Randomized Algorithms: Selection CSE21 Winter 2017, Day 25 (B00), Day 16 (A00) March 15, 2017 http://vlsicad.ucsd.edu/courses/cse21-w17 Selection Problem: WHAT Given list of distinct integers a 1, a 2,,

More information

ADAPTIVE SORTING WITH AVL TREES

ADAPTIVE SORTING WITH AVL TREES ADAPTIVE SORTING WITH AVL TREES Amr Elmasry Computer Science Department Alexandria University Alexandria, Egypt elmasry@alexeng.edu.eg Abstract A new adaptive sorting algorithm is introduced. The new implementation

More information

Creating Trading Networks of Digital Archives

Creating Trading Networks of Digital Archives Creating Trading Networks of Digital Archives Brian Cooper and Hector Garcia-Molina Department of Computer Science Stanford University fcooperb,hectorg@db.stanford.edu ABSTRACT Digital archives can best

More information

An Approach to Task Attribute Assignment for Uniprocessor Systems

An Approach to Task Attribute Assignment for Uniprocessor Systems An Approach to ttribute Assignment for Uniprocessor Systems I. Bate and A. Burns Real-Time Systems Research Group Department of Computer Science University of York York, United Kingdom e-mail: fijb,burnsg@cs.york.ac.uk

More information

Addresses in the source program are generally symbolic. A compiler will typically bind these symbolic addresses to re-locatable addresses.

Addresses in the source program are generally symbolic. A compiler will typically bind these symbolic addresses to re-locatable addresses. 1 Memory Management Address Binding The normal procedures is to select one of the processes in the input queue and to load that process into memory. As the process executed, it accesses instructions and

More information

Predicting the Worst-Case Execution Time of the Concurrent Execution. of Instructions and Cycle-Stealing DMA I/O Operations

Predicting the Worst-Case Execution Time of the Concurrent Execution. of Instructions and Cycle-Stealing DMA I/O Operations ACM SIGPLAN Workshop on Languages, Compilers and Tools for Real-Time Systems, La Jolla, California, June 1995. Predicting the Worst-Case Execution Time of the Concurrent Execution of Instructions and Cycle-Stealing

More information

Introduction to Algorithms I

Introduction to Algorithms I Summer School on Algorithms and Optimization Organized by: ACM Unit, ISI and IEEE CEDA. Tutorial II Date: 05.07.017 Introduction to Algorithms I (Q1) A binary tree is a rooted tree in which each node has

More information

Optimized Selection Sort Algorithm is faster than Insertion Sort Algorithm: a Comparative Study

Optimized Selection Sort Algorithm is faster than Insertion Sort Algorithm: a Comparative Study International Journal of Electrical & Computer Sciences IJECS-IJENS Vol: 11 No: 02 19 Optimized Selection Sort Algorithm is faster than Insertion Sort Algorithm: a Comparative Study Sultanullah Jadoon

More information

Allstate Insurance Claims Severity: A Machine Learning Approach

Allstate Insurance Claims Severity: A Machine Learning Approach Allstate Insurance Claims Severity: A Machine Learning Approach Rajeeva Gaur SUNet ID: rajeevag Jeff Pickelman SUNet ID: pattern Hongyi Wang SUNet ID: hongyiw I. INTRODUCTION The insurance industry has

More information

Probability Models.S4 Simulating Random Variables

Probability Models.S4 Simulating Random Variables Operations Research Models and Methods Paul A. Jensen and Jonathan F. Bard Probability Models.S4 Simulating Random Variables In the fashion of the last several sections, we will often create probability

More information

LECTURE NOTES OF ALGORITHMS: DESIGN TECHNIQUES AND ANALYSIS

LECTURE NOTES OF ALGORITHMS: DESIGN TECHNIQUES AND ANALYSIS Department of Computer Science University of Babylon LECTURE NOTES OF ALGORITHMS: DESIGN TECHNIQUES AND ANALYSIS By Faculty of Science for Women( SCIW), University of Babylon, Iraq Samaher@uobabylon.edu.iq

More information

Advanced Algorithms and Data Structures

Advanced Algorithms and Data Structures Advanced Algorithms and Data Structures Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Prerequisites A seven credit unit course Replaced OHJ-2156 Analysis of Algorithms We take things a bit further than

More information

Clustering and Reclustering HEP Data in Object Databases

Clustering and Reclustering HEP Data in Object Databases Clustering and Reclustering HEP Data in Object Databases Koen Holtman CERN EP division CH - Geneva 3, Switzerland We formulate principles for the clustering of data, applicable to both sequential HEP applications

More information

WHITE PAPER Application Performance Management. The Case for Adaptive Instrumentation in J2EE Environments

WHITE PAPER Application Performance Management. The Case for Adaptive Instrumentation in J2EE Environments WHITE PAPER Application Performance Management The Case for Adaptive Instrumentation in J2EE Environments Why Adaptive Instrumentation?... 3 Discovering Performance Problems... 3 The adaptive approach...

More information

Lesson 2-3: The IEEE x MAC Layer

Lesson 2-3: The IEEE x MAC Layer Module 2: Establishing Wireless Connectivity Lesson 2-3: The IEEE 802.11x MAC Layer Lesson Overview This lesson describes basic IEEE 802.11x MAC operation, beginning with an explanation of contention schemes

More information

Networks. November 23, Abstract. In this paper we consider systems with redundant communication paths, and show how

Networks. November 23, Abstract. In this paper we consider systems with redundant communication paths, and show how Soft Real-Time Communication Over Dual Non-Real-Time Networks èextended Abstractè Ben Kao æ Hector Garcia-Molina y November 23, 1992 Abstract In this paper we consider systems with redundant communication

More information

Whitepaper Spain SEO Ranking Factors 2012

Whitepaper Spain SEO Ranking Factors 2012 Whitepaper Spain SEO Ranking Factors 2012 Authors: Marcus Tober, Sebastian Weber Searchmetrics GmbH Greifswalder Straße 212 10405 Berlin Phone: +49-30-3229535-0 Fax: +49-30-3229535-99 E-Mail: info@searchmetrics.com

More information

Algorithms and Applications

Algorithms and Applications Algorithms and Applications 1 Areas done in textbook: Sorting Algorithms Numerical Algorithms Image Processing Searching and Optimization 2 Chapter 10 Sorting Algorithms - rearranging a list of numbers

More information

Chapter 2: Frequency Distributions

Chapter 2: Frequency Distributions Chapter 2: Frequency Distributions Chapter Outline 2.1 Introduction to Frequency Distributions 2.2 Frequency Distribution Tables Obtaining ΣX from a Frequency Distribution Table Proportions and Percentages

More information

Process size is independent of the main memory present in the system.

Process size is independent of the main memory present in the system. Hardware control structure Two characteristics are key to paging and segmentation: 1. All memory references are logical addresses within a process which are dynamically converted into physical at run time.

More information

CS/COE 1501 cs.pitt.edu/~bill/1501/ Introduction

CS/COE 1501 cs.pitt.edu/~bill/1501/ Introduction CS/COE 1501 cs.pitt.edu/~bill/1501/ Introduction Meta-notes These notes are intended for use by students in CS1501 at the University of Pittsburgh. They are provided free of charge and may not be sold

More information

Grouping Genetic Algorithm with Efficient Data Structures for the University Course Timetabling Problem

Grouping Genetic Algorithm with Efficient Data Structures for the University Course Timetabling Problem Grouping Genetic Algorithm with Efficient Data Structures for the University Course Timetabling Problem Felipe Arenales Santos Alexandre C. B. Delbem Keywords Grouping Genetic Algorithm Timetabling Problem

More information

REDUCTION CUT INVERTED SUM

REDUCTION CUT INVERTED SUM Irreducible Plane Curves Jason E. Durham æ Oregon State University Corvallis, Oregon durhamj@ucs.orst.edu August 4, 1999 Abstract Progress in the classiæcation of plane curves in the last æve years has

More information

3. G. G. Lemieux and S. D. Brown, ëa detailed router for allocating wire segments

3. G. G. Lemieux and S. D. Brown, ëa detailed router for allocating wire segments . Xilinx, Inc., The Programmable Logic Data Book, 99.. G. G. Lemieux and S. D. Brown, ëa detailed router for allocating wire segments in æeld-programmable gate arrays," in Proceedings of the ACM Physical

More information

D.Abhyankar 1, M.Ingle 2. -id: 2 M.Ingle, School of Computer Science, D.A. University, Indore M.P.

D.Abhyankar 1, M.Ingle 2.  -id: 2 M.Ingle, School of Computer Science, D.A. University, Indore M.P. A Novel Mergesort D.Abhyankar 1, M.Ingle 2 1 D. Abhyankar, School of Computer Science, D.A. University, Indore M.P. India Email-id: deepak.scsit@gmail.com 2 M.Ingle, School of Computer Science, D.A. University,

More information

Understanding and Comparing Distributions. Chapter 4

Understanding and Comparing Distributions. Chapter 4 Understanding and Comparing Distributions Chapter 4 Objectives: Boxplot Calculate Outliers Comparing Distributions Timeplot The Big Picture We can answer much more interesting questions about variables

More information

Introduction to ANSYS DesignXplorer

Introduction to ANSYS DesignXplorer Lecture 5 Goal Driven Optimization 14. 5 Release Introduction to ANSYS DesignXplorer 1 2013 ANSYS, Inc. September 27, 2013 Goal Driven Optimization (GDO) Goal Driven Optimization (GDO) is a multi objective

More information

Version 8 Base SAS Performance: How Does It Stack-Up? Robert Ray, SAS Institute Inc, Cary, NC

Version 8 Base SAS Performance: How Does It Stack-Up? Robert Ray, SAS Institute Inc, Cary, NC Paper 9-25 Version 8 Base SAS Performance: How Does It Stack-Up? Robert Ray, SAS Institute Inc, Cary, NC ABSTRACT This paper presents the results of a study conducted at SAS Institute Inc to compare the

More information

Algorithms in Systems Engineering ISE 172. Lecture 12. Dr. Ted Ralphs

Algorithms in Systems Engineering ISE 172. Lecture 12. Dr. Ted Ralphs Algorithms in Systems Engineering ISE 172 Lecture 12 Dr. Ted Ralphs ISE 172 Lecture 12 1 References for Today s Lecture Required reading Chapter 5 References CLRS Chapter 11 D.E. Knuth, The Art of Computer

More information

Merge Sort Algorithm

Merge Sort Algorithm Merge Sort Algorithm Jaiveer Singh (16915) & Raju Singh(16930) Department of Information and Technology Dronacharya College of Engineering Gurgaon, India Jaiveer.16915@ggnindia.dronacharya.info ; Raju.16930@ggnindia.dronacharya.info

More information

88 Facta Universitatis ser.: Elect. and Energ. vol. 12, No.1 è1999è To achieve this goal, we use a simple model for estimating integrated circuit crit

88 Facta Universitatis ser.: Elect. and Energ. vol. 12, No.1 è1999è To achieve this goal, we use a simple model for estimating integrated circuit crit FACTA UNIVERSITATIS èniçsè Series: Electronics and Energetics vol. 12, No.1è1999è, 87-101 UDC 621.3.049.7 EXTRACTION OF IC CRITICAL AREAS FOR PREDICTING LITHOGRAPHY RELATED YIELD Zoran Stamenkoviçc Abstract.

More information

Efficient Use of Random Delays

Efficient Use of Random Delays Efficient Use of Random Delays Olivier Benoit 1 and Michael Tunstall 2 1 Gemalto olivier.banoit@gemalto.com 2 Royal Holloway, University of London m.j.tunstall@rhul.ac.uk Abstract Random delays are commonly

More information

File Size Distribution on UNIX Systems Then and Now

File Size Distribution on UNIX Systems Then and Now File Size Distribution on UNIX Systems Then and Now Andrew S. Tanenbaum, Jorrit N. Herder*, Herbert Bos Dept. of Computer Science Vrije Universiteit Amsterdam, The Netherlands {ast@cs.vu.nl, jnherder@cs.vu.nl,

More information

METAL OXIDE VARISTORS

METAL OXIDE VARISTORS POWERCET CORPORATION METAL OXIDE VARISTORS PROTECTIVE LEVELS, CURRENT AND ENERGY RATINGS OF PARALLEL VARISTORS PREPARED FOR EFI ELECTRONICS CORPORATION SALT LAKE CITY, UTAH METAL OXIDE VARISTORS PROTECTIVE

More information

Dual Sorting Algorithm Based on Quick Sort

Dual Sorting Algorithm Based on Quick Sort Dual ing Algorithm Based on Quick 1 P. Dhivakar, 2 G. Jayaprakash 1 PG Student, 2 PG Student, Department of CSE M. Kumarasamy College of Engineering (Autonomous), Karur, TamilNadu, India dhivakarit92@gmail.com

More information

An Enhanced Selection Sort Algorithm

An Enhanced Selection Sort Algorithm SUST Journal of Science and Technology, Vol. 21, No. 1, 2014; P:9-15 An Enhanced Selection Sort Algorithm (Submitted: January 1, 2013; Accepted for Publication: June 18, 2013) Md. Khairullah Department

More information

Using Templates to Introduce Time Efficiency Analysis in an Algorithms Course

Using Templates to Introduce Time Efficiency Analysis in an Algorithms Course Using Templates to Introduce Time Efficiency Analysis in an Algorithms Course Irena Pevac Department of Computer Science Central Connecticut State University, New Britain, CT, USA Abstract: We propose

More information

Empirical analysis of procedures that schedule unit length jobs subject to precedence constraints forming in- and out-stars

Empirical analysis of procedures that schedule unit length jobs subject to precedence constraints forming in- and out-stars Empirical analysis of procedures that schedule unit length jobs subject to precedence constraints forming in- and out-stars Samuel Tigistu Feder * Abstract This paper addresses the problem of scheduling

More information

Face whose neighbors are to be found. Neighbor face Bounding box of boundary layer elements. Enlarged bounding box

Face whose neighbors are to be found. Neighbor face Bounding box of boundary layer elements. Enlarged bounding box CHAPTER 8 BOUNDARY LAYER MESHING - FIXING BOUNDARY LAYER INTERSECTIONS When boundary layer elements are generated on model faces that are too close to each other the layers may run into each other. When

More information

Pseudo code of algorithms are to be read by.

Pseudo code of algorithms are to be read by. Cs502 Quiz No1 Complete Solved File Pseudo code of algorithms are to be read by. People RAM Computer Compiler Approach of solving geometric problems by sweeping a line across the plane is called sweep.

More information

JINI RMI JAVA JAVA UNIX TCP TCP Architectural structure: Runtime structure:

JINI RMI JAVA JAVA UNIX TCP TCP Architectural structure: Runtime structure: Carp@í Managing Dynamic Jini TM Systems æ Michael Fahrmair, Chris Salzmann, Maurice Schoenmakers Technische Universitíat Míunchen Institut fíur Informatik D-80290 Míunchen, Germany ffahrmairjsalzmannjschoenmag@in.tum.de

More information

Fault tolerant scheduling in real time systems

Fault tolerant scheduling in real time systems tolerant scheduling in real time systems Afrin Shafiuddin Department of Electrical and Computer Engineering University of Wisconsin-Madison shafiuddin@wisc.edu Swetha Srinivasan Department of Electrical

More information

Mean Tests & X 2 Parametric vs Nonparametric Errors Selection of a Statistical Test SW242

Mean Tests & X 2 Parametric vs Nonparametric Errors Selection of a Statistical Test SW242 Mean Tests & X 2 Parametric vs Nonparametric Errors Selection of a Statistical Test SW242 Creation & Description of a Data Set * 4 Levels of Measurement * Nominal, ordinal, interval, ratio * Variable Types

More information