Modeling: the RealismComplexity Tradeoff
2.4 Modeling: the RealismComplexity Tradeoff
Except for direct measurements, performance evaluations depend on a model of the studied system. This model can be made as detailed as desired, so as to better reflect reality. However, this leads to two problems. First, a more detailed model requires more data about the workload, the environment, and the system itself, data that is not always available. Second, a more detailed model is naturally harder to evaluate. Statics are simpler than dynamics One way to simplify the model is to use a static workload rather than a dynamic one. For example, a scheduler can be evaluated by how well it handles a given job mix, disregarding the changes that occur when additional jobs arrive or existing ones terminate. The justification is that the static workload is considered to be a snapshot of the real dynamic workload. By freezing the dynamic changes in the workload, one saves the need to explicitly model these dynamics. By repeatedly evaluating the system under different static workloads, one may endeavor to capture the behavior of the system as it would be in different instants of its dynamic evolution. But real systems are typically dynamic The problem with using static workloads is that this leads to lesser accuracy and less confidence in the evaluations results. This happens because incremental work, as in a dynamically evolving real system, modifies the conditions under which the system operates. Creating static workloads may miss such effects. For example, the layout of files on a disk is different if they are stored in a disk that was initially empty, or in a disk that has been heavily used for some time. When storing data for the first time in a new file system, blocks will tend to be allocated consecutively one after the other. Even if many different mixes of files are consid- ered, they will each lead to consecutive allocation, because each time the evaluation starts from scratch. But in a real file system after heavy usage — including many file deletions — the available disk space will become fragmented. Thus in a live file sys- tem there is little chance that blocks will be allocated consecutively, and evaluations based on allocations that start from scratch will lead to overly optimistic performance results. The solution in this case is to develop a model of the steady state load on a disk, and use this to prime each evaluation rather than starting from scratch [14]. 28 And of course distributions are important too Another aspect of the realismcomplexity tradeoff is the choice of distributions used to represent the workload. The whole previous section on workloads is actually about the need to create more complex and realistic models. If simple distributions are chosen, this may adversely affect the validity of the evaluation results.2.5 Queueing Systems
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