DSplay: An Efficient Dynamic Priority Queue Structure For Discrete Event Simulation
|
|
- Adela Reeves
- 6 years ago
- Views:
Transcription
1 DSplay: An Efficient Dynamic Priority Queue Structure For Discrete Event Simulation Rick Siow Mong Goh & Ian Li- Jin Thng Department of Electrical and Computer Engineering, National University of Singapore & Abstract. Priority queues are widely employed in numerous applications such discrete event simulations (DESs). The priority queue structure plays an integral role of managing the pending event set of a DES. The priority queue contains events where the minimum timestamp event has the highest priority and the maximum timestamp event has the lowest priority. A Calendar Queue (CQ) is a useful structure often employed in DESs. Its popularity is due to its expected O(1) access time for many simulation scenarios, provided the CQ resizes appropriately frequent to ensure that events are evenly distributed in the CQ structure. The resize operation is triggered whenever the number of events fluctuates significantly or when a skewed event distribution is detected. A resize operation is costly as it copies events from the old CQ structure to a newly-created one. Other CQ variants such as the Dynamic CQ and SNOOPy exhibit somewhat futile attempts to improve the heuristics involve in triggering the resize operation. This article introduces a novel priority queue implementation known as the Dynamic Splay Tree (DSplay) structure which does not require the resize operation to obtain near O(1) performance. The DSplay is also empirically shown to be on the average at least 100% faster than all the current priority queues. 1. INTRODUCTION Priority queues are used in a wide variety of applications such as data compression techniques, realtime systems, operating systems and discrete event simulations (DESs). DES is a type of simulation that involves discrete models where a system is modeled as a number of concurrent logical processes interacting by a set of pending event messages. An event may change the state of the system and has an associated timestamp that corresponds to the instance of its intended occurrence in the simulated time. The pending event set (PES) is defined as the set of all events generated during a DES that have not been simulated or evaluated yet. The PES is essentially a priority queue controlling the flow of simulation of events with the minimum timestamp having the highest priority and maximum timestamp having the least priority. These events should be processed in nondecreasing time-order with multiple events of equal timestamp being processed in the order that they are inserted into the PES. If processed in this manner, causality relations between these events would not be violated. A sequential DES frequently operates in a three-step cycle: dequeue removal of an event with the highest priority from the PES; execute to process this dequeued event; enqueue insertion of new event/s resulting from the execution into the PES. Comfort [1] has revealed that up to 40% of the computational effort in a simulation may be devoted on the management of the PES alone. In the management of the PES, the enqueue and dequeue operations account for as much as 98% of all operations on the PES [1]. Understandably, as a simulation system becomes larger, the length of simulation time may take days or weeks to yield results with an acceptable level of statistical error. Hence the priority queue employed should be efficient especially for large-scale simulations that involve large number of events during the execution of simulation models. The metric of interest in the variety of applications is the time required to perform the most common operations on the embedded priority queue within each application, namely, the enqueue and dequeue operations. This metric is referred to as access time [2]. For DES, the amortized (i.e. averaged over the number of events in the queue) access time [3] is undoubtedly the most important criterion in selecting the appropriate priority queue algorithm. This is because from a user s point of view, the total run-time of a simulation job is by far more important than the time-taken by each individual priority queue operation. The assortment of proposed priority queues can be characterized mainly into two categories: tree-based and list-based. Example of a popular tree-based priority queue is the Splay Tree [4], which is famous for its O(log(n)) amortized access time. The Splay Tree has been shown empirically to outperform other tree-based structures [2]. Examples of some applications of the Splay Tree include: the pending event set structure in the CelKit [5], the data structure for fast IP lookups [6] and in the block sorting process of Burrows and Wheeler [7]. List-based priority queues are mainly popularized by the widely used Calendar Queue (CQ) [8]. Although it has a worst-case amortized bound of O(n); equivalent to the bound of a linear linked list, the CQ has been employed in various simulation systems such as GTW[9], CSIM18 [10], Network Simulator v2 [11], as well as in a quality of service algorithm where it maintains the real-time packet requests [12]. However, the CQ is known to perform poorly at O(n) when the event distribution is highly skewed. A few CQ variants such as the Dynamic CQ (DCQ) [13] and SNOOPy CQ (SNOOPy) [14] have since been proposed to deal with
2 this scenario. But experiments conducted by the authors show that these CQ variants too have shortcomings in some benchmark scenarios. This paper proposes a novel yet simple approach of using a single Splay Tree with traditional linked lists, henceforth referred to as the Dynamic Splay (DSplay) structure. Employing deferred sorting methodology and uniquely eliminating the costly resize operations suffered by current O(1) priority queues, the DSplay achieves excellent performance. The rest of the paper is organized as follows: Section 2 focuses on the DSplay algorithm; Section 3, the experimental results; finally in Section 4, the conclusion. 2. DYNAMIC SPLAY (DSPLAY) PRIORITY QUEUE The poor performance of the CQ is often due to two reasons. Firstly, the static-resize rule in which the CQ resizes only if the number of events doubles or halves compared to the number of events after the last resize. The CQ computes the new bucketwidth by sampling some high-priority events before transferring all the events to the newly constructed structure. However, under highly-skewed distributions, most events may fall into some few lists. If the number of events does not vary much, the CQ does not resize due to its static rule. As such, the enqueueing of events in those congested buckets can be as expensive as O(n) per enqueue since a linear search is required to find the correct position of the event to be enqueued in that crowded bucket. Secondly, large overheads in the O(n) resize operation, which can be frequent if the number of events in the PES fluctuates greatly. This occurs when there are many successive enqueues or dequeues that leads to frequent resizing of the number of buckets in the CQ. During a resize operation, the overhead incurred is considered significant as most or all the events are redistributed in a newly-created queue with new operating parameters such as a newly-calculated bucketwidth. Furthermore, the events in the CQ are already sorted. To re-enqueue these sorted events is highly inefficient. The CQ variants such as DCQ and SNOOPy use different approaches of determining the optimum operating parameters of CQ to attempt to solve some of these problems. DCQ and SNOOPy are however experimentally found to have performed worse than CQ in some scenarios (see section 3). The design of DSplay is based on the desirable characteristics of both tree-based (i.e. Splay Tree) and list-based priority queues (i.e. CQ): worst-case bound of O(log(n)) and the expected O(1) amortized access time respectively. DSplay improves over the CQs by not requiring a resize operation. It depends on its list-based structure of spreading out events to deal with skewed distributions. Unlike the CQs, no heuristic event sampling is required to obtain the appropriate bucketwidth of its list-based structure and this further reduces its overhead. Also, the DSplay utilizes a deferred sorting methodology in which a small number of high priority events are sorted in the tree-based portion (i.e. Splay Tree) of its structure, leaving the far future events unsorted. The Splay Tree ensures that the worst-case amortized bound is O(log(n)) per event instead of O(n) which is the amortized complexity of the CQs while the list-based portion of DSplay facilitates in achieving an expected O(1) amortized access time for many simulation scenarios. 2.1 The DSplay Structure The main building blocks of the DSplay are made of three tiers. The first-tier (T 1 ), is a Splay Tree. This is the primary tier of the DSplay in which the events with the minimum timestamps are sorted and stored. Second-tier (T 2 ) is an array of buckets each containing a singly linked list (i.e. a sub-list). This list-based secondary tier stores events differently from the CQs as the CQs employ sorted sub-lists discipline while T 2 uses an unsorted sub-lists discipline. Also, events in the sublists of the CQs could span multiple years while the DSplay s T 2 is a list-based structure which only spans a calendar year. Finally, the third-tier (T 3 ) is an unsorted singly linked list. Acting as an overflow list to contain far future events, T 3 buffers events that do not affect T 1 and T 2. This reduces the number of events in both T 1 and T 2 and is responsible for ensuring that T 2 spans a calendar year. In addition, this last tier is the novelty behind the dynamic mechanism of the DSplay. 2.2 The DSplay Algorithm The DSplay marks the first departure from the CQs heuristic method of determining the number of buckets as well as the bucketwidth by making its T 2 to be dependent on its T 3. T 2 s length of 1 year, the number of buckets and the bucketwidth are dynamically assigned only when T 3 transfers events into T 2. This will become more vivid when the dequeue and enqueue operations are explained. The DSplay keeps a set of variables to function and they are defined as follow: T 1 _num: Number of events in T 1. T 2 _start: Set equal to T 3 _min whenever events are being transferred from T 3 to T 2. It is used to calculate the correct bucket-index when an event is enqueued in T 2. T 2 _cur: Minimum timestamp which events can be enqueued in T 2. This is updated when T 2 transfers a bucket of events to T 1. T 2 _num: Number of events in T 2. T 2 _bw: Bucketwidth of T 2. T 2 _idx: Bucket-index of T 2 when events are transferred from T 2 to T 1. T 3 _cur: Minimum timestamp of an event that can be enqueued in T 3. This value will be set equal to T 3 _max at each transfer of events from T 3 to T 2. T 3 _min: Minimum timestamp in T 3. T 3 _max: Maximum timestamp in T 3. T 3 _num: Number of events in T 3.
3 2.2.1 Dequeue Operation At the onset, all enqueued events are placed in T 3 in a FIFO manner without time-order thus leaving T 1 and T 2 being empty. On the first dequeue, all the events are transferred from T 3 to T 2. The length of 1 year in T 2 = T 3 _max T 3 _min. T 2 _bw = 1 year in T 2 / T 3 _num, where T 3 _num is the number of buckets to be created in T 2, giving an average of one event per bucket on the assumption that the event distribution is a uniform distribution. Though in practical scenarios this may not be true, the DSplay is not much affected in terms of performance because the enqueue of events into T 2 is still O(1) per event since events are merely appended to the sub-lists in the appropriate buckets. Thereafter, the events in the first bucket of T 2 (where T 2 _idx = 1 and that T 2 _cur = T 2 _start = T 3 _min have been initialized) will be transferred to T 1 (i.e. a Splay Tree) where events are sorting according to the native operations of a Splay Tree. T 2 _idx is incremented to 2 and T 2 _cur is then set = T 2 _start + T 2 _idx * T 2 _bw. Thus the highest priority event would be the first event in T 1. On each dequeue, the highest priority event would be removed from T 1 and then processed. Events in T 1 would continue to be dequeued until T 1 is empty. Subsequently, the events in the second non-empty bucket of T 2 would be transferred to T 1 and so on till all the buckets are empty. Thus, essentially a Splay Tree is dynamically created on each transfer of a bucket in T 2 to T 1 and then depleted. These reiterations led to the coining of the name DSplay. Once T 2 is empty, the whole cycle repeats itself with T 3 treating the next dequeue to be alike the first dequeue as mentioned Enqueue Operation For each enqueue operation, DSplay checks if that event timestamp is greater than T 3 _cur. If so, the event is simply placed at the end of the linked list in T 3. If the event is not inserted in T 3, DSplay then checks if the event timestamp is greater than T 2 _cur. If so, the event is enqueued in T 2. On enqueueing in T 2, the bucketindex of the bucket where this event is to be inserted in T 2 is set = (timestamp T 2 _start) / T 2 _bw, and the event is appended at the tail of the sub-list in that bucket with this bucket-index. Else if the event is not enqueued in T 2 or T 3, that event will be enqueued in T EXPERIMENTAL RESULTS The performance of priority queues are often measured by the average access time of the enqueue and dequeue operations under different load conditions. The parameters to be varied for each priority queue performance benchmark are: the access pattern, the priority increment distribution and the queue size. The access pattern models used are the Classic Hold and Up/Down. They emulate the steady-state and the transient phase of a typical simulation respectively. The various priority increment distributions tested are as shown in Figure 1, which return random numbers [0,1], and the queue sizes range from 1,000 to 30,000. These benchmark scenarios had also been commonly applied in [2],[13],[14],[15]. The experiments were carried out on an AMD Athlon MP 1.2GHz dual-processor server running the priority queues sequentially. Required memory was pre-allocated. All code was written in the C programming language. Rectangle NegTriangle Triangle Camel Figure 1: Various Priority Increment Distributions Employed in the Experiments The Camel(x,y) distribution is used to model bursty traffic in computer and communication networks which represents a highly-skewed distribution. The parameters used for Camel(x,y) result in two humps with x probability mass being concentrated in the two humps. The duration of the humps makes up y of an interval, where x and y are (0,1). Change(A,B,x) is a compound distribution that combines priority distribution A and B, with x priority increments being alternately drawn by A and B. In our experiments, Camel(0.7,0.2), Camel(0.98, 0.01), and Change(Camel(0.98, 0.01),Triangle, 2000) are used. Figure 2: Classic Hold and Rectangle
4 Figures 2 to 7 illustrate the results obtained under the Classic Hold model commonly employed to test the steady-state performance of priority queues. The obvious knee seen in the curves plotted is due to the declining cache performance and occurs when the queue size is about 6,000 events. This phenomenon is also observed in the graphs found in [2] where the experiments were done on SUN and Intel architectures. Figures 6 and 7 vividly reveal the weaknesses found in the CQs which are mainly due to their static size-based resize and their poor sampling heuristics which are unable to handle skewed distributions. The Splay Tree performs predictably at O(log(n)) and is only convincingly better than the CQs for the Change distribution. The speedup DSplay offers over the Splay Tree is two to three times in almost all the scenarios. Figure 5: Classic Hold and Camel(0.7,0.2) Figure 3: Classic Hold and Triangle Figure 6: Classic Hold and Camel(0.98,0.01) Figure 4: Classic Hold and NegTriangle Figure 7: Classic Hold and Change(Camel(0.98, 0.01), Triangle, 2000)
5 Figure 8: Up/Down and Rectangle Figure 11: Up/Down and Camel(0.7,0.2) Figure 9: Up/Down and Triangle Figure 12: Up/Down and Camel(0.98,0.01) Figure 10: Up/Down and NegTriangle Figure 13: Up/Down and Change(Camel(0.98, 0.01), Triangle, 2000) Figures 8 to 13 show the results obtained under the Up/Down model that is generally used to test the transient state performance of priority queues. This model tests the performance of the priority queues during transient periods when the queue size fluctuates frequently and it indeed uncovers the CQs weaknesses
6 manifested in the form of the various plateaus in the figures. The Splay Tree performs well and is stable for all queue sizes and distributions. The DSplay performs more than 100% better than the priority queues almost all the scenarios. Figures 14 and 15 demonstrate the strengths of the DSplay priority queue. It performs stably and offers good performance for all queue sizes and is considerably insensitive to event distribution. Figure 14: Classic Hold Model DSplay Figure 15: Up/Down Model DSplay 4. CONCLUSION The current expected O(1) priority queues do not exhibit O(1) average time complexity in some scenarios tested under the commonly used benchmarking models and distributions. A new priority queue implementation for the pending event set has been illustrated and tested with empirical results showing performance surpassing current structures and consistently exhibits better performance in all distributions and queue sizes tested. The DSplay s performance improvement of 100% on the average and up to 10 times more than some current priority queues in certain scenarios is owed to the fact it does not have the costly resize operations that severely affect the current priority queues. To handle skewed distributions, the DSplay employs two list-based structures with deferred sorting methodology, as well as a Splay Tree to efficiently manage a small number of sorted events. These mechanisms contribute to the low management overheads and consequently ensure the DSplay s superiority over the current expected O(1) priority queues. These results provide testimonial that the DSplay priority queue structure is suitable for implementation in sizable application scenarios such as, but not limited to discrete event simulation. REFERENCES 1. Comfort, J.C. (1984) The simulation of a master-slave event set processor, Simulation, vol. 42, pp Rönngren, R. & Ayani, R. (1997) A Comparative Study of Parallel and Sequential Priority Queue Algorithms, ACM Trans. Modeling and Computer Simulation, vol. 7, no. 2, Apr, pp Tarjan, R.E. (1985) Amortized computational complexity, SIAM Journal on Algebraic and Discrete Methods, vol. 6, no. 2, pp Sleator, D. & Tarjan, R. (1985) Self adjusting binary search trees, Journal of the ACM, vol. 32, pp Gomes, F., Franks, S., Unger, B., Xiao, Z., Cleary, J., & Covington, A. (1995) SimKit: A high performance logical process simulation class library in C++, Proc. of the 1995 Winter Simulation Conference, pp Narlikar, G. and Zane, F. (2001) Performance modeling for fast IP lookups, Proc. of the 2001 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, pp Yugo, K. I. R., Moffat, A., & Ngai, C. H. A. (2002) Enhanced word-based block-sorting text compression, Proc. of the twenty-fifth Australasian conference on Computer science, pp Brown, R. (1988) Calendar queues: a fast O(1) priority queue implementation for the simulation event set problem, Communications of the ACM, vol. 24, no. 12, pp Das, S., Fujimoto, R., Panesar, K., Allison, D., & Hybinette, M. (1994) GTW: a time warp system for shared memory multiprocessors, Proc. of the 1994 Winter Simulation Conference, pp Schwetman, H. (1996) CSIM18 User s Guide. Austin, TX: Mesquite Software, Inc. 11. Fall, K. and Varadhan, K. (2002) The ns Manual. UCB/LBNL/VINT Network simulator v Stoica, I., Zhang, H., & Ng, T.S.E. (2000) A hierarchical fair service curve algorithm for link-sharing, real-time, and priority services, IEEE/ACM Trans. Networking, vol. 8, no. 2, Apr, pp Oh, S-H. & Ahn, J.S. (1998) Dynamic Calendar Queue, Proc. 32nd Annual Simulation Symposium, pp Tan, K.L. & Thng, L-J. (2000) SNOOPy calendar queue, Proc Winter Simulation Conference, pp Jones, D.W. (1986) An empirical comparison of priority-queue and event-set implementations, Communications of the ACM, vol. 29, no. 4, pp
MLIST: AN EFFICIENT PENDING EVENT SET STRUCTURE FOR DISCRETE EVENT SIMULATION
MLIST: AN EFFICIENT PENDING EVENT SET STRUCTURE FOR DISCRETE EVENT SIMULATION RICK SIOW MONG GOH IAN LI-JIN THNG Department of Electrical and Computer Engineering National University of Singapore 4 Engineering
More informationA Comparative Study of Parallel and Sequential Priority Queue Algorithms
A Comparative Study of Parallel and Sequential Priority Queue Algorithms ROBERT RÖNNGREN and RASSUL AYANI Royal Institute of Technology (KTH), Stockholm, Sweden Priority queues are used in many applications
More informationComparison of Priority Queue algorithms for Hierarchical Scheduling Framework. Mikael Åsberg
Comparison of Priority Queue algorithms for Hierarchical Scheduling Framework Mikael Åsberg mag04002@student.mdh.se August 28, 2008 2 The Time Event Queue (TEQ) is a datastructure that is part of the implementation
More informationFAST CELL LEVEL ATM NETWORK SIMULATION
Proceedings of the 22 Winter Simulation Conference E. Yücesan, C.-H. Chen, J. L. Snowdon, and J. M. Charnes, eds. FAST CELL LEVEL ATM NETWORK SIMULATION Xiao Zhong-e Rob Simmonds Brian Unger Dept. Computer
More informationAn Empirical Performance Study of Connection Oriented Time Warp Parallel Simulation
230 The International Arab Journal of Information Technology, Vol. 6, No. 3, July 2009 An Empirical Performance Study of Connection Oriented Time Warp Parallel Simulation Ali Al-Humaimidi and Hussam Ramadan
More informationSluggish Calendar Queues for Network Simulation
Sluggish Calendar Queues for Network Simulation Guanhua Yan and Stephan Eidenbenz Discrete Simulation Sciences (CCS-5) Los Alamos National Laboratory {ghyan, eidenben}@lanl.gov Abstract Discrete event
More informationAdvanced 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 informationMEMORY SENSITIVE CACHING IN JAVA
MEMORY SENSITIVE CACHING IN JAVA Iliyan Nenov, Panayot Dobrikov Abstract: This paper describes the architecture of memory sensitive Java cache, which benefits from both the on demand soft reference objects
More informationEvent List Management In Distributed Simulation
Event List Management In Distributed Simulation Jörgen Dahl ½, Malolan Chetlur ¾, and Philip A Wilsey ½ ½ Experimental Computing Laboratory, Dept of ECECS, PO Box 20030, Cincinnati, OH 522 0030, philipwilsey@ieeeorg
More informationNetwork Model for Delay-Sensitive Traffic
Traffic Scheduling Network Model for Delay-Sensitive Traffic Source Switch Switch Destination Flow Shaper Policer (optional) Scheduler + optional shaper Policer (optional) Scheduler + optional shaper cfla.
More informationIII Data Structures. Dynamic sets
III Data Structures Elementary Data Structures Hash Tables Binary Search Trees Red-Black Trees Dynamic sets Sets are fundamental to computer science Algorithms may require several different types of operations
More informationAchieving Distributed Buffering in Multi-path Routing using Fair Allocation
Achieving Distributed Buffering in Multi-path Routing using Fair Allocation Ali Al-Dhaher, Tricha Anjali Department of Electrical and Computer Engineering Illinois Institute of Technology Chicago, Illinois
More informationDesign of a Weighted Fair Queueing Cell Scheduler for ATM Networks
Design of a Weighted Fair Queueing Cell Scheduler for ATM Networks Yuhua Chen Jonathan S. Turner Department of Electrical Engineering Department of Computer Science Washington University Washington University
More informationPerformance of Multihop Communications Using Logical Topologies on Optical Torus Networks
Performance of Multihop Communications Using Logical Topologies on Optical Torus Networks X. Yuan, R. Melhem and R. Gupta Department of Computer Science University of Pittsburgh Pittsburgh, PA 156 fxyuan,
More informationA Study of the Performance Tradeoffs of a Tape Archive
A Study of the Performance Tradeoffs of a Tape Archive Jason Xie (jasonxie@cs.wisc.edu) Naveen Prakash (naveen@cs.wisc.edu) Vishal Kathuria (vishal@cs.wisc.edu) Computer Sciences Department University
More informationLarge-Scale Network Simulation Scalability and an FPGA-based Network Simulator
Large-Scale Network Simulation Scalability and an FPGA-based Network Simulator Stanley Bak Abstract Network algorithms are deployed on large networks, and proper algorithm evaluation is necessary to avoid
More informationSmart priority queue algorithms for self-optimizing event storage
Simulation Modelling Practice and Theory 12 (2004) 15 40 www.elsevier.com/locate/simpat Smart priority queue algorithms for self-optimizing event storage H.A. Bahr *, R.F. DeMara School of Electrical Engineering
More informationDiffServ Architecture: Impact of scheduling on QoS
DiffServ Architecture: Impact of scheduling on QoS Abstract: Scheduling is one of the most important components in providing a differentiated service at the routers. Due to the varying traffic characteristics
More informationScheduling. Scheduling algorithms. Scheduling. Output buffered architecture. QoS scheduling algorithms. QoS-capable router
Scheduling algorithms Scheduling Andrea Bianco Telecommunication Network Group firstname.lastname@polito.it http://www.telematica.polito.it/ Scheduling: choose a packet to transmit over a link among all
More informationPacket Classification Using Dynamically Generated Decision Trees
1 Packet Classification Using Dynamically Generated Decision Trees Yu-Chieh Cheng, Pi-Chung Wang Abstract Binary Search on Levels (BSOL) is a decision-tree algorithm for packet classification with superior
More informationPerformance Study of a QoS scheduling algorithm over wireless networks
1 Performance Study of a QoS scheduling algorithm over wireless networks Siew HuiPei Joanna, Student Member, IEEE Abstract With the proliferation of wireless networks, consumers are increasingly aware
More informationADAPTIVE 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 informationCharacterization of Request Sequences for List Accessing Problem and New Theoretical Results for MTF Algorithm
Characterization of Request Sequences for List Accessing Problem and New Theoretical Results for MTF Algorithm Rakesh Mohanty Dept of Comp Sc & Engg Indian Institute of Technology Madras, Chennai, India
More informationDOWNLOAD PDF LINKED LIST PROGRAMS IN DATA STRUCTURE
Chapter 1 : What is an application of linear linked list data structures? - Quora A linked list is a linear data structure, in which the elements are not stored at contiguous memory locations. The elements
More informationUsing Simulation to Understand Bottlenecks, Delay Accumulation, and Rail Network Flow
Using Simulation to Understand Bottlenecks, Delay Accumulation, and Rail Network Flow Michael K. Williams, PE, MBA Manager Industrial Engineering Norfolk Southern Corporation, 1200 Peachtree St., NE, Atlanta,
More informationStorage Efficient Hardware Prefetching using Delta Correlating Prediction Tables
Storage Efficient Hardware Prefetching using Correlating Prediction Tables Marius Grannaes Magnus Jahre Lasse Natvig Norwegian University of Science and Technology HiPEAC European Network of Excellence
More informationVirtual-Time Round-Robin: An O(1) Proportional Share Scheduler
Appears in Proceedings of the 21 USENIX Annual Technical Conference, June 21. Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler Jason Nieh Chris Vaill Hua Zhong Department of Computer Science
More informationAdaptive Real-time Monitoring Mechanism for Replicated Distributed Video Player Systems
Adaptive Real-time Monitoring Mechanism for Replicated Distributed Player Systems Chris C.H. Ngan, Kam-Yiu Lam and Edward Chan Department of Computer Science City University of Hong Kong 83 Tat Chee Avenue,
More informationCongestion Avoidance
Congestion Avoidance Richard T. B. Ma School of Computing National University of Singapore CS 5229: Advanced Compute Networks References K. K. Ramakrishnan, Raj Jain, A Binary Feedback Scheme for Congestion
More informationPerformance Extrapolation for Load Testing Results of Mixture of Applications
Performance Extrapolation for Load Testing Results of Mixture of Applications Subhasri Duttagupta, Manoj Nambiar Tata Innovation Labs, Performance Engineering Research Center Tata Consulting Services Mumbai,
More informationPlanar Point Location
C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 04 Date: February 15, 1993 Scribe: John Bazik Planar Point Location 1 Introduction In range searching, a set of values,
More informationRECHOKe: A Scheme for Detection, Control and Punishment of Malicious Flows in IP Networks
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < : A Scheme for Detection, Control and Punishment of Malicious Flows in IP Networks Visvasuresh Victor Govindaswamy,
More informationDynamic Broadcast Scheduling in DDBMS
Dynamic Broadcast Scheduling in DDBMS Babu Santhalingam #1, C.Gunasekar #2, K.Jayakumar #3 #1 Asst. Professor, Computer Science and Applications Department, SCSVMV University, Kanchipuram, India, #2 Research
More informationTSAR : A Two Tier Sensor Storage Architecture using Interval Skip Graphs
TSAR : A Two Tier Sensor Storage Architecture using Interval Skip Graphs Authors: Peter Desnoyers, Deepak Ganesan, Prashant Shenoy ( University of Massachusetts, Amherst, MA) Presented by: Nikhil Raghavan
More informationScheduling Algorithms to Minimize Session Delays
Scheduling Algorithms to Minimize Session Delays Nandita Dukkipati and David Gutierrez A Motivation I INTRODUCTION TCP flows constitute the majority of the traffic volume in the Internet today Most of
More informationChapter 6 Memory 11/3/2015. Chapter 6 Objectives. 6.2 Types of Memory. 6.1 Introduction
Chapter 6 Objectives Chapter 6 Memory Master the concepts of hierarchical memory organization. Understand how each level of memory contributes to system performance, and how the performance is measured.
More informationA Simulation-Based Analysis of Scheduling Policies for Multimedia Servers
A Simulation-Based Analysis of Scheduling Policies for Multimedia Servers Nabil J. Sarhan Chita R. Das Department of Computer Science and Engineering The Pennsylvania State University University Park,
More informationPerformance Evaluations for Parallel Image Filter on Multi - Core Computer using Java Threads
Performance Evaluations for Parallel Image Filter on Multi - Core Computer using Java s Devrim Akgün Computer Engineering of Technology Faculty, Duzce University, Duzce,Turkey ABSTRACT Developing multi
More informationComparison of Shaping and Buffering for Video Transmission
Comparison of Shaping and Buffering for Video Transmission György Dán and Viktória Fodor Royal Institute of Technology, Department of Microelectronics and Information Technology P.O.Box Electrum 229, SE-16440
More informationWeb page recommendation using a stochastic process model
Data Mining VII: Data, Text and Web Mining and their Business Applications 233 Web page recommendation using a stochastic process model B. J. Park 1, W. Choi 1 & S. H. Noh 2 1 Computer Science Department,
More informationAppendix B. Standards-Track TCP Evaluation
215 Appendix B Standards-Track TCP Evaluation In this appendix, I present the results of a study of standards-track TCP error recovery and queue management mechanisms. I consider standards-track TCP error
More informationCS162 Operating Systems and Systems Programming Lecture 11 Page Allocation and Replacement"
CS162 Operating Systems and Systems Programming Lecture 11 Page Allocation and Replacement" October 3, 2012 Ion Stoica http://inst.eecs.berkeley.edu/~cs162 Lecture 9 Followup: Inverted Page Table" With
More informationTHE 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 information4.1 COMPUTATIONAL THINKING AND PROBLEM-SOLVING
4.1 COMPUTATIONAL THINKING AND PROBLEM-SOLVING 4.1.2 ALGORITHMS ALGORITHM An Algorithm is a procedure or formula for solving a problem. It is a step-by-step set of operations to be performed. It is almost
More informationIMA Preprint Series # 2021
O(N) IMPLEMENTATION OF THE FAST MARCHING ALGORITHM By Liron Yatziv Alberto Bartesaghi and Guillermo Sapiro IMA Preprint Series # 2021 ( February 2005 ) INSTITUTE FOR MATHEMATICS AND ITS APPLICATIONS UNIVERSITY
More informationQueuing. Congestion Control and Resource Allocation. Resource Allocation Evaluation Criteria. Resource allocation Drop disciplines Queuing disciplines
Resource allocation Drop disciplines Queuing disciplines Queuing 1 Congestion Control and Resource Allocation Handle congestion if and when it happens TCP Congestion Control Allocate resources to avoid
More informationA GPU-Based Application Framework Supporting Fast Discrete-Event Simulation
SIMULATION OnlineFirst, published on October 22, 2009 as doi:10.1177/0037549709340781 A GPU-Based Application Framework Supporting Fast Discrete-Event Simulation Hyungwook Park Paul A. Fishwick Department
More informationThe Impact of Parallel Loop Scheduling Strategies on Prefetching in a Shared-Memory Multiprocessor
IEEE Transactions on Parallel and Distributed Systems, Vol. 5, No. 6, June 1994, pp. 573-584.. The Impact of Parallel Loop Scheduling Strategies on Prefetching in a Shared-Memory Multiprocessor David J.
More informationHeap-on-Top Priority Queues. March Abstract. We introduce the heap-on-top (hot) priority queue data structure that combines the
Heap-on-Top Priority Queues Boris V. Cherkassky Central Economics and Mathematics Institute Krasikova St. 32 117418, Moscow, Russia cher@cemi.msk.su Andrew V. Goldberg NEC Research Institute 4 Independence
More informationAssessing the Convergence Properties of NSGA-II for Direct Crashworthiness Optimization
10 th International LS-DYNA Users Conference Opitmization (1) Assessing the Convergence Properties of NSGA-II for Direct Crashworthiness Optimization Guangye Li 1, Tushar Goel 2, Nielen Stander 2 1 IBM
More informationPerformance Evaluation of AODV and DSDV Routing Protocol in wireless sensor network Environment
2012 International Conference on Computer Networks and Communication Systems (CNCS 2012) IPCSIT vol.35(2012) (2012) IACSIT Press, Singapore Performance Evaluation of AODV and DSDV Routing Protocol in wireless
More informationVirtual Prototyping and Performance Analysis of RapidIO-based System Architectures for Space-Based Radar
Virtual Prototyping and Performance Analysis of RapidIO-based System Architectures for Space-Based Radar David Bueno, Adam Leko, Chris Conger, Ian Troxel, and Alan D. George HCS Research Laboratory College
More informationRED behavior with different packet sizes
RED behavior with different packet sizes Stefaan De Cnodder, Omar Elloumi *, Kenny Pauwels Traffic and Routing Technologies project Alcatel Corporate Research Center, Francis Wellesplein, 1-18 Antwerp,
More informationChapter 8 Virtual Memory
Operating Systems: Internals and Design Principles Chapter 8 Virtual Memory Seventh Edition William Stallings Operating Systems: Internals and Design Principles You re gonna need a bigger boat. Steven
More informationThe Grid File: An Adaptable, Symmetric Multikey File Structure
The Grid File: An Adaptable, Symmetric Multikey File Structure Presentation: Saskia Nieckau Moderation: Hedi Buchner The Grid File: An Adaptable, Symmetric Multikey File Structure 1. Multikey Structures
More informationSimulation-Based Performance Comparison of Queueing Disciplines for Differentiated Services Using OPNET
Simulation-Based Performance Comparison of Queueing Disciplines for Differentiated Services Using OPNET Hafiz M. Asif and El-Sayed M. El-Alfy College of Computer Science and Engineering King Fahd University
More informationData structure and algorithm in Python
Data structure and algorithm in Python Linked Lists Xiaoping Zhang School of Mathematics and Statistics, Wuhan University Table of contents 1. Singly Linked Lists 2. Circularly Linked Lists 3. Doubly Linked
More informationECE519 Advanced Operating Systems
IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (10 th Week) (Advanced) Operating Systems 10. Multiprocessor, Multicore and Real-Time Scheduling 10. Outline Multiprocessor
More informationADAPTIVE AND DYNAMIC LOAD BALANCING METHODOLOGIES FOR DISTRIBUTED ENVIRONMENT
ADAPTIVE AND DYNAMIC LOAD BALANCING METHODOLOGIES FOR DISTRIBUTED ENVIRONMENT PhD Summary DOCTORATE OF PHILOSOPHY IN COMPUTER SCIENCE & ENGINEERING By Sandip Kumar Goyal (09-PhD-052) Under the Supervision
More informationSpeeding up Queries in a Leaf Image Database
1 Speeding up Queries in a Leaf Image Database Daozheng Chen May 10, 2007 Abstract We have an Electronic Field Guide which contains an image database with thousands of leaf images. We have a system which
More informationVariable Step Fluid Simulation for Communication Network
Variable Step Fluid Simulation for Communication Network Hongjoong Kim 1 and Junsoo Lee 2 1 Korea University, Seoul, Korea, hongjoong@korea.ac.kr 2 Sookmyung Women s University, Seoul, Korea, jslee@sookmyung.ac.kr
More informationFIRM: A Class of Distributed Scheduling Algorithms for High-speed ATM Switches with Multiple Input Queues
FIRM: A Class of Distributed Scheduling Algorithms for High-speed ATM Switches with Multiple Input Queues D.N. Serpanos and P.I. Antoniadis Department of Computer Science University of Crete Knossos Avenue
More informationScalability of Parallel Simulation Cloning
Scalability of Parallel Simulation Cloning Maria Hybinette Computer Science Department University of Georgia Athens, GA 30602-7404, USA maria@cs.uga.edu Richard M. Fujimoto College of Computing Georgia
More informationA Control-Theoretical Approach for Fair Share Computation in Core-Stateless Networks
A Control-Theoretical Approach for Fair Share Computation in Core-Stateless Networks Hoon-Tong Ngin and Chen-Khong Tham National University of Singapore, Department of Electrical and Computer Engineering,
More informationCombining In-Transit Buffers with Optimized Routing Schemes to Boost the Performance of Networks with Source Routing?
Combining In-Transit Buffers with Optimized Routing Schemes to Boost the Performance of Networks with Source Routing? J. Flich 1,P.López 1, M. P. Malumbres 1, J. Duato 1, and T. Rokicki 2 1 Dpto. Informática
More informationPERSONAL communications service (PCS) provides
646 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 5, NO. 5, OCTOBER 1997 Dynamic Hierarchical Database Architecture for Location Management in PCS Networks Joseph S. M. Ho, Member, IEEE, and Ian F. Akyildiz,
More informationOVSF Code Tree Management for UMTS with Dynamic Resource Allocation and Class-Based QoS Provision
OVSF Code Tree Management for UMTS with Dynamic Resource Allocation and Class-Based QoS Provision Huei-Wen Ferng, Jin-Hui Lin, Yuan-Cheng Lai, and Yung-Ching Chen Department of Computer Science and Information
More informationOptimistic Parallel Simulation of TCP/IP over ATM networks
Optimistic Parallel Simulation of TCP/IP over ATM networks M.S. Oral Examination November 1, 2000 Ming Chong mchang@ittc.ukans.edu 1 Introduction parallel simulation ProTEuS Agenda Georgia Tech. Time Warp
More informationImproving VoD System Efficiency with Multicast and Caching
Improving VoD System Efficiency with Multicast and Caching Jack Yiu-bun Lee Department of Information Engineering The Chinese University of Hong Kong Contents 1. Introduction 2. Previous Works 3. UVoD
More informationCHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION
131 CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION 6.1 INTRODUCTION The Orthogonal arrays are helpful in guiding the heuristic algorithms to obtain a good solution when applied to NP-hard problems. This
More informationCSE 332: Data Structures & Parallelism Lecture 3: Priority Queues. Ruth Anderson Winter 2019
CSE 332: Data Structures & Parallelism Lecture 3: Priority Queues Ruth Anderson Winter 201 Today Finish up Intro to Asymptotic Analysis New ADT! Priority Queues 1/11/201 2 Scenario What is the difference
More informationOn the Effectiveness of CoDel for Active Queue Management
1 13 Third International Conference on Advanced Computing & Communication Technologies On the Effectiveness of CoDel for Active Queue Management Dipesh M. Raghuvanshi, Annappa B., Mohit P. Tahiliani Department
More informationVirtual Machine Placement in Cloud Computing
Indian Journal of Science and Technology, Vol 9(29), DOI: 10.17485/ijst/2016/v9i29/79768, August 2016 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Virtual Machine Placement in Cloud Computing Arunkumar
More informationResearch Article Average Bandwidth Allocation Model of WFQ
Modelling and Simulation in Engineering Volume 2012, Article ID 301012, 7 pages doi:10.1155/2012/301012 Research Article Average Bandwidth Allocation Model of WFQ TomášBaloghandMartinMedvecký Institute
More informationRouter Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13
Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of California Berkeley Review: Switch Architectures Input Queued
More informationRole of Aging, Frequency, and Size in Web Cache Replacement Policies
Role of Aging, Frequency, and Size in Web Cache Replacement Policies Ludmila Cherkasova and Gianfranco Ciardo Hewlett-Packard Labs, Page Mill Road, Palo Alto, CA 9, USA cherkasova@hpl.hp.com CS Dept.,
More informationWorst-case Ethernet Network Latency for Shaped Sources
Worst-case Ethernet Network Latency for Shaped Sources Max Azarov, SMSC 7th October 2005 Contents For 802.3 ResE study group 1 Worst-case latency theorem 1 1.1 Assumptions.............................
More informationMetaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini
Metaheuristic Development Methodology Fall 2009 Instructor: Dr. Masoud Yaghini Phases and Steps Phases and Steps Phase 1: Understanding Problem Step 1: State the Problem Step 2: Review of Existing Solution
More informationTuning RED for Web Traffic
Tuning RED for Web Traffic Mikkel Christiansen, Kevin Jeffay, David Ott, Donelson Smith UNC, Chapel Hill SIGCOMM 2000, Stockholm subsequently IEEE/ACM Transactions on Networking Vol. 9, No. 3 (June 2001)
More informationEvaluating the Impact of Different Document Types on the Performance of Web Cache Replacement Schemes *
Evaluating the Impact of Different Document Types on the Performance of Web Cache Replacement Schemes * Christoph Lindemann and Oliver P. Waldhorst University of Dortmund Department of Computer Science
More informationImplementation of a leaky bucket module for simulations in NS-3
Implementation of a leaky bucket module for simulations in NS-3 P. Baltzis 2, C. Bouras 1,2, K. Stamos 1,2,3, G. Zaoudis 1,2 1 Computer Technology Institute and Press Diophantus Patra, Greece 2 Computer
More informationVerification and Validation of X-Sim: A Trace-Based Simulator
http://www.cse.wustl.edu/~jain/cse567-06/ftp/xsim/index.html 1 of 11 Verification and Validation of X-Sim: A Trace-Based Simulator Saurabh Gayen, sg3@wustl.edu Abstract X-Sim is a trace-based simulator
More informationStop-and-Go Service Using Hierarchical Round Robin
Stop-and-Go Service Using Hierarchical Round Robin S. Keshav AT&T Bell Laboratories 600 Mountain Avenue, Murray Hill, NJ 07974, USA keshav@research.att.com Abstract The Stop-and-Go service discipline allows
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 10: Search and Heaps MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Search and Heaps 2 Linear Search Binary Search Introduction to trees Priority Queues Heaps Linear Search
More informationSubject : Computer Science. Paper: Data Structures. Module: Priority Queue and Applications. Module No: CS/DS/14
e-pg Pathshala Subject : Computer Science Paper: Data Structures Module: Priority Queue and Applications Module No: CS/DS/14 Quadrant 1- e-text Welcome to the e-pg Pathshala Lecture Series on Data Structures.
More informationPage 1. Goals for Today" TLB organization" CS162 Operating Systems and Systems Programming Lecture 11. Page Allocation and Replacement"
Goals for Today" CS162 Operating Systems and Systems Programming Lecture 11 Page Allocation and Replacement" Finish discussion on TLBs! Page Replacement Policies! FIFO, LRU! Clock Algorithm!! Working Set/Thrashing!
More informationReal-Time Scalability of Nested Spin Locks. Hiroaki Takada and Ken Sakamura. Faculty of Science, University of Tokyo
Real-Time Scalability of Nested Spin Locks Hiroaki Takada and Ken Sakamura Department of Information Science, Faculty of Science, University of Tokyo 7-3-1, Hongo, Bunkyo-ku, Tokyo 113, Japan Abstract
More informationSearch Algorithms for Discrete Optimization Problems
Search Algorithms for Discrete Optimization Problems Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar To accompany the text ``Introduction to Parallel Computing'', Addison Wesley, 2003. 1 Topic
More informationIndexing Variable Length Substrings for Exact and Approximate Matching
Indexing Variable Length Substrings for Exact and Approximate Matching Gonzalo Navarro 1, and Leena Salmela 2 1 Department of Computer Science, University of Chile gnavarro@dcc.uchile.cl 2 Department of
More informationPriority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies
CSCD 433/533 Priority Traffic Advanced Networks Spring 2016 Lecture 21 Congestion Control and Queuing Strategies 1 Topics Congestion Control and Resource Allocation Flows Types of Mechanisms Evaluation
More informationDistributed Fault-Tolerant Channel Allocation for Cellular Networks
1326 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 18, NO. 7, JULY 2000 Distributed Fault-Tolerant Channel Allocation for Cellular Networks Guohong Cao, Associate Member, IEEE, and Mukesh Singhal,
More informationMemory. Objectives. Introduction. 6.2 Types of Memory
Memory Objectives Master the concepts of hierarchical memory organization. Understand how each level of memory contributes to system performance, and how the performance is measured. Master the concepts
More informationMemory Management 3/29/14 21:38
Presentation for use with the textbook Data Structures and Algorithms in Java, 6 th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 2014 Memory Management Diagram of a 4 4 plane of
More informationH3C S9500 QoS Technology White Paper
H3C Key words: QoS, quality of service Abstract: The Ethernet technology is widely applied currently. At present, Ethernet is the leading technology in various independent local area networks (LANs), and
More informationIX: A Protected Dataplane Operating System for High Throughput and Low Latency
IX: A Protected Dataplane Operating System for High Throughput and Low Latency Belay, A. et al. Proc. of the 11th USENIX Symp. on OSDI, pp. 49-65, 2014. Reviewed by Chun-Yu and Xinghao Li Summary In this
More informationA Hybrid Interconnection Network for Integrated Communication Services
A Hybrid Interconnection Network for Integrated Communication Services Yi-long Chen Northern Telecom, Inc. Richardson, TX 7583 kchen@nortel.com Jyh-Charn Liu Department of Computer Science, Texas A&M Univ.
More informationPerformance Evaluation of Scheduling Mechanisms for Broadband Networks
Performance Evaluation of Scheduling Mechanisms for Broadband Networks Gayathri Chandrasekaran Master s Thesis Defense The University of Kansas 07.31.2003 Committee: Dr. David W. Petr (Chair) Dr. Joseph
More informationZBD: Using Transparent Compression at the Block Level to Increase Storage Space Efficiency
ZBD: Using Transparent Compression at the Block Level to Increase Storage Space Efficiency Thanos Makatos, Yannis Klonatos, Manolis Marazakis, Michail D. Flouris, and Angelos Bilas {mcatos,klonatos,maraz,flouris,bilas}@ics.forth.gr
More informationLecture 14 Page Replacement Policies
CS 423 Operating Systems Design Lecture 14 Page Replacement Policies Klara Nahrstedt Fall 2011 Based on slides by YY Zhou and Andrew S. Tanenbaum Overview Administrative Issues Page Replacement Policies
More informationSimulation Models for Manufacturing Systems
MFE4008 Manufacturing Systems Modelling and Control Models for Manufacturing Systems Dr Ing. Conrad Pace 1 Manufacturing System Models Models as any other model aim to achieve a platform for analysis and
More information