Incremental Accuracy Simulation Methodology
2.6.1 Incremental Accuracy
One way to use simulations is to evaluate systems that cannot be solved analytically, but retaining the framework of steady state conditions. This means that the system is simulated until the measured features converge. First you need to get into steady state In order to simulate the system in a steady state, you must first ensure that it is in a steady state. This is not trivial, as simulations often start from an empty sys- tem. Thus the first part of the simulation is often discarded, so as to start the actual evaluation only when the system finally reaches the desired state. For example, when trying to evaluate the response time of jobs in an open system, the first jobs find an empty system no need to wait in queue, and fully available resources. Later jobs typically need to wait in the queue for some time, and the resources may be fragmented. The decision regarding when steady state is achieved typically also depends on the convergence of the measured metrics. The simulation length is determined by the desired accuracy Once the steady state is reached, the simulation is continued until the desired accu- racy is reached. As the simulation unfolds, we sample more and more instances of the performance metrics in which we are interested. For example, as we simulate more and more jobs, we collect samples of job response times. The average value of the samples is considered to be an estimator for the true average value of the metric, as it would be in a real system. The longer the simulation, the more samples we have, and the more confidence we have in the accuracy of the results. This derives from the fact that the size of the confidence interval the range of values in which we think the true value resides with a certain degree of confidence is inversely proportional to the square root of the number of samples. Exercise 29 What sort of confidence levels and accuracies are desirable in systems evaluation? To read more: Standard simulation methodology is covered in many textbooks, e.g. Jain [7, Part V], as well as textbooks dedicated to the topic such as Law and Kelton [11]. The issues discussed here are surveyed in [13]. 372.6.2 Workloads: Overload and Lack of Steady State
Parts
» | Komputasi | Suatu Permulaan
» Operating System Functionality | Komputasi | Suatu Permulaan
» Abstraction and Virtualization | Komputasi | Suatu Permulaan
» Hardware Support for the Operating System
» Roadmap | Komputasi | Suatu Permulaan
» Scope and Limitations | Komputasi | Suatu Permulaan
» Performance Metrics | Komputasi | Suatu Permulaan
» Statistical Characterization of Workloads
» Analysis, Simulation, and Measurement
» Modeling: the RealismComplexity Tradeoff
» Waiting in Queues Queueing Systems
» Queueing Analysis Queueing Systems
» Incremental Accuracy Simulation Methodology
» Workloads: Overload and Lack of Steady State
» Summary | Komputasi | Suatu Permulaan
» Process States What is a Process?
» Operations on Processes and Threads
» Multiprogramming and Responsiveness Having Multiple Processes in the System
» Multiprogramming and Utilization Having Multiple Processes in the System
» Multitasking for Concurrency The Cost
» Performance Metrics Scheduling Processes and Threads
» Handling a Given Set of Jobs
» Using Preemption Scheduling Processes and Threads
» Priority Scheduling Scheduling Processes and Threads
» Starvation, Stability, and Allocations
» Fair Share Scheduling Scheduling Processes and Threads
» Concurrency and the Synchronization Problem
» Mutual Exclusion Algorithms Mutual Exclusion for Shared Data Structures
» Semaphores and Monitors Mutual Exclusion for Shared Data Structures
» Locks and Disabling Interrupts
» Deadlock and Livelock Resource Contention and Deadlock
» A Formal Setting Resource Contention and Deadlock
» Deadlock Prevention, Avoidance, and Detection
» Real Life Resource Contention and Deadlock
» Mapping Memory Addresses | Komputasi | Suatu Permulaan
» Support for Segmentation Segmentation and Contiguous Allocation
» Algorithms for Contiguous Allocation
» Address Translation Paging and Virtual Memory
» Algorithms for Page Replacement
» Swapping | Komputasi | Suatu Permulaan
» Links Alternatives for File Identification
» Data Access Access to File Data
» Caching and Prefetching Access to File Data
» Memory-Mapped Files Access to File Data
» Mapping File Blocks Storing Files on Disk
» Reliability Storing Files on Disk
» Levels of Security System Security
» Mechanisms for Restricting Access
» User Identification | Komputasi | Suatu Permulaan
» Controling Access to System Objects
» Virtualization | Komputasi | Suatu Permulaan
» Resource Management | Komputasi | Suatu Permulaan
» Reduction Hardware Support and Co-Design
» Booting the System | Komputasi | Suatu Permulaan
» Timers Kernel Priorities Context Switching
» Kernel Address Mapping Making a System Call
» Error Handling | Komputasi | Suatu Permulaan
» Parallelism vs. Concurrency Kernel Locking Conflicts SMP Scheduling Multiprocessor Scheduling
» Supporting Multicore Environments System Composition
» Code Structure Monolithic Kernel Structure
» Microkernels | Komputasi | Suatu Permulaan
» Extensible Systems | Komputasi | Suatu Permulaan
» Naming | Komputasi | Suatu Permulaan
» Remote Procedure Call Message Passing
» Streams: Unix Pipes, FIFOs, and Sockets
» Shared Memory Programming Interfaces
» Distributed System Structures | Komputasi | Suatu Permulaan
» Example Client-Server Systems | Komputasi | Suatu Permulaan
» Middleware | Komputasi | Suatu Permulaan
» Protocol Stacks Communication Protocols
» Error Correction Implementation Issues
» TCP Congestion Control Implementation Issues
» Authentication Authentication and Security
» Security Authentication and Security
» Networked File Systems | Komputasi | Suatu Permulaan
» Load Balancing | Komputasi | Suatu Permulaan
» Requirements Scheduling in Real-Time Systems
Show more