Layered Queueing Network Modeling of Software Systems Murray Woodside 5201 Canal Building Building Security System (buffering)

Slides:



Advertisements
Similar presentations
Distributed Multimedia Systems
Advertisements

MCTS GUIDE TO MICROSOFT WINDOWS 7 Chapter 10 Performance Tuning.
Transaction.
1 Multiprocessor and Real-Time Scheduling Chapter 10.
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
Fundamentals of Python: From First Programs Through Data Structures
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
Lecture 21 Last lecture Today’s lecture Cache Memory Virtual memory
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Suite zTPFGI Facilities. Suite Focus Three of zTPFGI’s facilities:  zAutomation  zTREX  Logger.
Chapter 10 Multiprocessor and Real-Time Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community.
Multiprocessor and Real-Time Scheduling Chapter 10.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
6 Memory Management and Processor Management Management of Resources Measure of Effectiveness – On most modern computers, the operating system serves.
Suite zTPFGI Facilities. Suite Focus Three of zTPFGI’s facilities:  zAutomation  zTREX  Logger.
Data Sharing. Data Sharing in a Sysplex Connecting a large number of systems together brings with it special considerations, such as how the large number.
Consider the program fragment below left. Assume that the program containing this fragment executes t1() and t2() on separate threads running on separate.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays - done for rsrv in 3.14 Channel access priorities - planned to.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
Software Design Evaluation: Vision and Tools....The PUMA project 25 June 2004 Murray Woodside, Dorina Petriu page 1 Software Design Evaluation: Vision.
Monitoring and Managing Server Performance. Server Monitoring To become familiar with the server’s performance – typical behavior Prevent problems before.
DECStation 3100 Block Instruction Data Effective Program Size Miss Rate Miss Rate Miss Rate 1 6.1% 2.1% 5.4% 4 2.0% 1.7% 1.9% 1 1.2% 1.3% 1.2% 4 0.3%
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Queue Manager and Scheduler on Intel IXP John DeHart Amy Freestone Fred Kuhns Sailesh Kumar.
From UML to Performance Models 29 June 2004 Dorina C. Petriu, Gordon Gu page 1 From UML to Performance Models: High Level View Dorina C. Petriu Gordon.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
Software System Performance CS 560. Performance of computer systems In most computer systems:  The cost of people (development) is much greater than.
The Functions of Operating Systems Network Operating Systems (NOS)
Identify internal hardware devices (e. g
Chapter 19: Network Management
OPERATING SYSTEMS CS 3502 Fall 2017
REAL-TIME OPERATING SYSTEMS
Memory Management.
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Address – 32 bits WRITE Write Cache Write Main Byte Offset Tag Index Valid Tag Data 16K entries 16.
Chapter 2 Memory and process management
EMERALDS Landon Cox March 22, 2017.
Architecture & System Performance
Architecture & System Performance
Advanced Topics in Concurrency and Reactive Programming: Asynchronous Programming Majeed Kassis.
Applied Operating System Concepts -
MCTS Guide to Microsoft Windows 7
How will execution time grow with SIZE?
I/O Resource Management: Software
Chapter 1: Introduction
A Framework for Automatic Resource and Accuracy Management in A Cloud Environment Smita Vijayakumar.
RTS: Kernel Design and Cyclic Executives
Chapter 8: Main Memory.
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
MANAGING DATA RESOURCES
Memory Management 11/17/2018 A. Berrached:CS4315:UHD.
RTS: Kernel Design 11/30/2018.
Main Memory Background Swapping Contiguous Allocation Paging
CS703 - Advanced Operating Systems
RTS: Kernel Design 1/2/2019.
An Introduction to Software Architecture
Multiprocessor and Real-Time Scheduling
Chapter 1 Introduction to Operating System Part 2
Simple Web Server: Bottlenecks
CS703 - Advanced Operating Systems
LHC BLM Software audit June 2008.
CrawlBuddy The web’s best friend.
Virtual Memory: Working Sets
Chapter 1: Introduction
COMP755 Advanced Operating Systems
Modeling and Evaluating Variable Bit rate Video Steaming for ax
Chapter 3: Process Management
Presentation transcript:

Layered Queueing Network Modeling of Software Systems Murray Woodside 5201 Canal Building Building Security System (buffering)

Building Security System Two subsystems: CCTV storage, and door access control hope to manage up to 100 cameras Components, shown as UML with MARTE annotations:

Door Access Scenario 1. Poisson arrivals of Users 2/s User puts card thru reader 2. Process card, check rights 3. Open door or record alarm Requirement: 1 s response with 95% probability 4. Write log of events

CCTV capture scenario Trigger camera read events Buffer operations: get release (the N cameras were not modeled) 2. Put the image in a buffer, send to database 3. Store image in database

The LQN Model Video Capture subsystem Door Access subsystem Shared Resources

Handling of Buffering Each buffer must be emptied before it can be used for another camera Thus the buffer is a resource that could have a queue, which should be modeled as the pseudo-task Buffer Model fragment without buffer How the buffer pool was modeled real task BufferManager and pseudo-task Buffer forwarding call to a function of BufferManager

Handling of Buffering (2) The operations that require holding the buffer are executed by calls from the buffer pool pseudo-task Buffer separate from the buffer manager task!! including the execution of the release operation by the buffer manager assumes the manager has a dedicated thread for release releaseBuf is executed by storeImage, or bufEntry

Model Features This model illustrates how we can model logical resources (the buffer pool) the use of forwarding the use of second phase to improve concurrency (later)

Results #1 Base case, one buffer, so one camera at a time Ncam Average Response Time Normalized Utilizations Prob of Missing Deadline Cycle (sec) User (sec) AcqProc Buffer StoreProc AppCPU Cameras Doors 10 0.327 0.127 0.960 0.9998 0.582 0.549 0.031 20 0.655 0.138 0.963 0.9999 0.545 0.0007 0.036 30 0.983 0.133 0.964 0.544 0.4196 0.038 40 1.310 0.129 0.965 0.9962 0.034 Table 1. Simulation results for the base case Base case, one buffer, so one camera at a time Access-control responses are fine; the event rate was kept constant at 2/s. Camera polling becomes too slow between 20 and 30 cameras try adding more buffers.

Results #2 cameras fixed at 40, vary the number of buffers NBuf disappointing: the miss probability levels out above 9% at about 7 buffers. StoreProc is apparently the new bottleneck: try an additional thread NBuf Average Response Time Normalized Utilizations Prob of Missing Deadline Cycle (sec) User (sec) AcqProc Buffer StoreProc AppCPU Cam’s Doors 1 1.309 0.137 0.965 0.9999 0.583 0.544 0.9961 0.034 2 1.016 0.132 0.975 0.8762 0.800 0.702 0.5503 0.032 3 0.941 0.980 0.8235 0.893 0.756 0.2506 0.036 4 0.911 0.131 0.983 0.8042 0.936 0.782 0.1597 7 0.879 0.986 0.8136 0.984 0.810 0.0948 0.033 10 0.872 0.129 0.987 0.8437 0.995 0.817 0.0935

Results #3 Success! Two threads on StoreProc combined with 4 buffers brings the miss probability down well within spec of 1 second for each 40 cameras, Nuser = 100 doors, Nbuf = 4 buffers No. of Store Proc Average Response Time Normalized Utilizations Prob of Missing Deadline Cycle (sec) User (sec) AcqProc Buffer StoreProc AppCPU Cam’s Doors 1 0.911 0.131 0.983 0.8042 0.936 0.782 0.1597 0.032 2 0.756 0.137 0.946 0.5805 0.616 0.940 0.0022 0.035 3 0.743 0.139 0.932 0.5484 0.441 0.956 0.0015 0.039

Discussion The saturated resource is AppProc making multiplicity = 2 allows 50 cameras The limitation is now at AcquireProc, due to a long service time the time it takes to store the buffers is limiting multithreading alone is not the answer To allow an earlier start on the next camera, we can put the calls from AcquireProc into phase 2, with multithreading early reply to VideoController moves the capture on to the next camera much earlier allows the concurrent phase-2 Acquire tasks to run in parallel Other adjustments are also possible

Results #4 By using phase 2 at AcquireProc and various multiplicities we can get a capacity of 100 cameras. Even more capacity can be found with StoreProc. Another exploration approach: set multiplicities at inf and see if specified delays are feasible at all, and what mulitplicity is used (= utilizattion), then work down to specified delays. 100 cameras, Nuser = 100 doors, Nbuf = 10 buffers Multiplicity (Acquire, Buffer, Store, App. CPU) Average Response Time Normalized Utilizations Prob of Missing Deadline Cycle (sec) User (ms) Acquire Proc Buffer Store   App CPU Cam’s Doors 2, 4, 2, 2 1.250 0.133 0.988 0.923 0.886 0.710 0.9995 0.0332 2, 10, 6, 3 0.837 0.132 0.689 0.751 0.707 0.0057 0.0307 3, 10, 6, 3 0.768 0.134 0.983 0.895 0.910 0.769 0.0005 0.0352