Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
Priority queues are used in many applications including real-time systems, operating systems, and simulations. Their implementation may have a profound effect on the performance of such applications. In this article, we study the performance of well-known sequential priority queue implementations and the recently proposed parallel access priority queues. To accurately assess the performance of a priority queue, the performance measurement methodology must be appropriate. We use the Classic Hold, the Markov Model, and an Up/Down access pattern to measure performance and look at both the average access time and the worst-case time that are of vital interest to real-time applications. Our results suggest that the best choice for priority queue algorithms depends heavily on the application. For queue sizes smaller than 1,000 elements, the Splay Tree, the Skew Heap, and Henriksen's algorithm show good average access times. For large queue sizes of 5,000 elements or more, the Calendar Queue and the Lazy Queue offer good average access times but have very long worst-case access times. The Skew Heap and the Splay Tree exhibit the best worst-case access times. Among the parallel access priority queues tested, the Parallel Access Skew Heap provides the best performance on small shared memory multiprocessors.
International Journal of Embedded Systems, 2014
The use of hardware-based data structures for accelerating real-time and embedded system applications is limited by the scarceness of hardware resources. Being limited by the silicon area available, hardware data structures cannot scale in size as easily as their software counterparts. We assert a hardware-software co-design approach is required to elegantly overcome these limitations. In this paper, we present a hybrid priority queue architecture that includes a hardware accelerated binary heap that can also be managed in software when the queue size exceeds hardware limits. A memory mapped interface provides software with access to priority-queue structured on-chip memory, which enables quick and low overhead transitions between hardware and software management. As an application of this hybrid architecture, we present a scalable task scheduler for real-time systems that reduces scheduler processing overhead and improves timing determinism of the scheduler.
The Journal of Supercomputing, 1992
We describe a new parallel data structure, namely parallel heap, for exclusive-read exclusive-write parallel random access machines. To our knowledge, it is the first such data structure to efficiently implement a truly parallel priority queue based on a heap structure. Employing p processors, the parallel heap allows deletions of O(p) highest priority items and insertions of O(p) new items, each in O(log n) time, where n is the size of the parallel heap. Furthermore, it can efficiently utilize processors in the range 1 through n.
2014 Proceedings of the Sixteenth Workshop on Algorithm Engineering and Experiments (ALENEX), 2013
The theory community has proposed several new heap variants in the recent past which have remained largely untested experimentally. We take the field back to the drawing board, with straightforward implementations of both classic and novel structures using only standard, well-known optimizations. We study the behavior of each structure on a variety of inputs, including artificial workloads, workloads generated by running algorithms on real map data, and workloads from a discrete event simulator used in recent systems networking research. We provide observations about which characteristics are most correlated to performance. For example, we find that the L1 cache miss rate appears to be strongly correlated with wallclock time. We also provide observations about how the input sequence affects the relative performance of the different heap variants. For example, we show (both theoretically and in practice) that certain random insertion-deletion sequences are degenerate and can lead to misleading results. Overall, our findings suggest that while the conventional wisdom holds in some cases, it is sorely mistaken in others.
2008
I would like to express my deep appreciation to my advisor, Dr. Baker without whose constant support and encouragement, this project would not have seen completion. His original ideas, comments and suggestions were invaluable to me at all times. I also wish to thank my committee members, Dr. Lacher and Dr. Van Engelen for spending their time and effort reviewing this report. I am grateful to Mr. Gaitros, who has been very helpful to me by lending me the resources needed to complete this work. My sincerest gratitude goes to my friends, peers and colleagues, Bharath Allam, Nikhil Iyer, and Nikhil Patel, who were constantly with me with their suggestions and support. I wish to thank Smita Bhatia for her immense patience and inexhaustible support, and my parents, Shaila and Jayprakash for bearing with me through this considerable length of time Last but not the least, a special thanks goes to Douglas Adams for helping me understand the concept of the Babel fish.
Mathematical Systems Theory, 1976
We present a data structure, based upon a hierarchically decomposed tree, which enables us to manipulate on-line a priority queue whose priorities are selected from the interval 1,..., n with a worst case processing time of (9 (log log n) per instruction. The structure can be used to obtain a mergeable heap whose time requirements are about as good. Full details are explained based upon an implementation of the structure in a PASCAL program contained in the paper. * Work supported by grant CR 62-50. Netherlands Organization for the Advancement of Pure Research (Z.W.O.). 100 P. VAN EMDE BOAS, R. KAAS AND E. ZIJLSTRA
ACM SIGBED Review, 2015
In this paper, we propose a new protocol for handling resource sharing among prioritized real-time applications composed on a multiprocessor platform. We propose an optimal priority assignment algorithm which assigns unique priorities to the applications based on information in their interfaces. We have performed experimental evaluations to compare the proposed protocol (called MSOS-Priority) to the current state of the art locking protocols under multiprocessor partitioned scheduling, i.e., MPCP, MSRP, FMLP, MSOS, and OMLP. The evaluations show that MSOS-Priority mostly performs significantly better than alternative approaches.
Proceedings of the tenth ACM international conference on Embedded software - EMSOFT '10, 2010
Many real-time applications are designed to work in different operating modes each characterized by different functionality and resource demands. With each mode change, resource demands of applications change, and static resource reservations may not be feasible anymore. Dynamic environments where applications may be added and removed online also need to adapt their resource reservations. In such scenarios, resource reconfigurations are needed for changing the resource reservations during runtime and achieve better resource allocations. There are a lot of results in the scientific literature of how to find the optimal amount of resources needed by an application in the different operating modes, or how an application can perform safe mode transitions. However, the problem of resource reconfigurations for systems with reservations has not been addressed. A resource scheduler should be reconfigured online in such a way that it still guarantees a certain amount of resources during the reconfiguration process, otherwise applications may miss deadlines. The paper proposes a framework for scheduling real-time applications through scheduling servers that provide resource reservations, and algorithms for changing the resource reservations online while still guaranteeing the feasibility of the system and the schedulability of applications. The framework analysis is integrated into a well-known modular performance analysis paradigm based on Real-Time Calculus. The results are illustrated with examples and a case study.
IEEE Transactions on Consumer Electronics, 2000
Flexible signal processing on programmable platforms are increasingly important for consumer electronic applications and others. Scalable video algorithms (SVAs) using novel priority processing can guarantee real-time performance on programmable platforms even with limited resources. Dynamic resource allocation is required to maximize the overall output quality of independent, competing priority processing algorithms that are executed on a shared platform. In this paper, we describe basic mechanisms for dynamic resource allocation and compare the performance of different implementations on a general purpose platform 1 .
Journal of Systems and Software, 2012
In this work, an experimental comparison among the Rate Monotonic (RM) and Earliest Deadline First (EDF) multiprocessor real-time schedulers is performed, with a focus on soft real-time systems. We generated random workloads of synthetic periodic task sets and executed them on a big multi-core machine, using Linux as Operating System, gathering an extensive amount of data related to their exhibited performance under various real-time scheduling strategies.
Real-Time Systems, 2006
A new feasibility test for preemptive scheduling of periodic or sporadic real-time tasks on a single-queue m-server system allows for arbitrary fixed task priorities and arbitrary deadlines. For the special case when deadline equals period and priorities are rate monotonic, any set of tasks with maximum individual task utilization umax is feasible if the total utilization does not exceed m(1 − umax)/2 + umax.
Journal of Parallel and Distributed Computing, 1990
A simultaneous access priority queue design which handles p accesses in every 0(log p) time is presented. A processor is free to perform another task after issuing an insert, whereas it has to wait 0(log p) time to receive the response of a delete-min. Compared with all sequential access designs which require O(p) time to process p accesses, our design achieves a significant performance improvement. For a fixed number of priorities, we propose a design which can pipeline accesses in constant time. For both designs, the strict highest-priority-out-first property is maintained.
Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000, 2000
This paper addresses the problem of designing scalable concurrent priority queues for large scale multiprocessors -machines with up to several hundred processors. Priority queues are fundamental in the design of modern multiprocessor algorithms, with many classical applications ranging from numerical algorithms through discrete event simulation and expert systems.
Computers, IEEE Transactions on, 1988
Alternative majority voting methods for real-time computing systems," IEEE Trans. Reliability, to be published. T. K. Srikanth and S. Toueg, "Optimal clock synchronization," J. -, "Simulating authenticated broadcasts to derive simple faulttolerant algorithms," Tech. Rep. 84-623, Dep.
IEEE Transactions on …, 1992
Lecture Notes in Computer Science, 2005
Fixed-priority schedulers received a lot of attention from the real-time community, and a big effort has been performed to develop accurate and more general schedulability analysis that can ensure the correct execution of the system. Nevertheless, only few works analysed the overhead and blocking intervals introduced by the scheduler and the associated kernel routines, modifying the schedulability tests to take into account these overheads. However, all these works assume a very simple scheduler that uses trivial data structures to stores the tasks information. This work analyses data structures used in several open real-time kernels that supports Ada language. Additionally, a new data structure, the Cartesian trees, is proposed. As a conclusion, the preliminary studies show that alternative data structures, as proposed Cartesian trees, can improve the scalability of the system strongly reducing the scheduling overheads.
Journal of the ACM, 1993
In this paper, analytical models for a multiprocessor executing a stream consisting of K classes of fork-join jobs are developed. Here, a fork-join job consists of a random number of tasks that can beexecuted independently ofeach other. Several priority policies are analyzed:(a) a strict nonpreemptive head of the line policy (b) a preemptive policy that allows preemptions at the job level, (c) a preemptive policy that allows preemptions at the task level, and (d) a policy in which the priority is a nondecreasing function of the number of tasks in the queue with preemptions at the job level. Using these models, the mean job response time for the different classes under the different policies is compared. These policies are compared to a system in which processors are partitioned so that classes are allocated only to certain processor groups. It is shown that, for the system considered, the task preemption policy has a uniformly better mean class response time and thus is preferable to a system with partitioned processors.
CPH STL TR 2004, 2004
Abstract. We introduce a framework for reducing the number of element comparisons performed in priority-queue operations. In particular, we give a priority queue which guarantees the worst-case cost of O (1) per minimum finding and insertion, and the worst-...
2007
Cache memories are crucial to obtain high performance on contemporary computing systems. However, sometimes they have been avoided in real-time systems due to their lack of determinism. Unfortunately, most of the published techniques to attain predictability when using cache memories are complex to apply, precluding their use on real applications. This paper proposes a memory hierarchy such that, when combined with a careful pre-existing selection of the instruction cache contents, it brings an easy way to obtain predictable yet high-performance results. The purpose is to make possible the use of instruction caches in realistic realtime systems, with the ease of use in mind. The hierarchy is founded on a conventional instruction cache based scheme plus a simple memory assist, whose operation offers a very predictable behaviour and good performance thanks to the addition of a dedicated locking state memory. 1
In past few years the real time systems have seen a shift from uniprocessors to multiprocessors. Uniprocessors have optimal algorithms RM, EDF and LLF but these algorithms prove to be suboptimal for multiprocessor real time systems. Multiprocessor real-time systems require optimal algorithms to meet their logical correctness in constrained time. Several algorithms have been proposed based on RM, EDF and LLF in past few years. In this study, we propose UPD based on RMZLPD and RM. Through simulation, UPD has shown high success ratio and schedulability ratio gain over its predecessors. UPD being a static priority algorithm aims at meeting the deadlines of high priority tasks even under overloaded conditions. UPD has better success ratio and schedulability over algorithms taken for consideration.
Journal of Parallel and Distributed Computing, 1998
We present a parallel priority queue that supports the following operations in constant time: parallel insertion of a sequence of elements ordered according to key, parallel decrease key for a sequence of elements ordered according to key, deletion of the minimum key element, and deletion of an arbitrary element. Our data structure is the first to support multi-insertion and multi-decrease key in constant time. The priority queue can be implemented on the EREW PRAM and can perform any sequence of n operations in O(n) time and O(m log n) work, m being the total number of keyes inserted and/or updated. A main application is a parallel implementation of Dijkstra's algorithm for the single-source shortest path problem, which runs in O(n) time and O(m log n) work on a CREW PRAM on graphs with n vertices and m edges. This is a logarithmic factor improvement in the running time compared with previous approaches.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.