COT 4600 Operating Systems Fall 2009Lecture 22Performance metricsSystem design for performanceSystem design for performance (cont’d)Resource sharing -queuingCOT 4600 Operating Systems Fall 2009Dan C. MarinescuOffice: HEC 439 BOffice hours: Tu-Th 3:00-4:00 PM22222Lecture 22Attention: due dates for the project Phase 3 – due todayPhase 4 – due Tuesday November 24Final exam – Thursday December 10 4-6:50 PMLast time: Implementation of AWAIT, ADVANCE, TICKET, and READPolling and interruptsEvolution of the Intel x86 architectureVirtual MachinesToday:Performance Metrics (Chapter 5)Random variablesElements of queuing theoryNext Time: I/O bottleneckPerformance metricsWide range, sometimes correlated, other times with contradictory goals :Throughput, utilization, waiting time, fairnessLatency (time in system)CapacityReliability as a ultimate measure of performanceSome measures of performance reflect physical limitations: capacity, bandwidth (CPU, memory, communication channel), communication latency.Often measures of performance reflect system organization and policies such as scheduling priorities.Resource sharing is an enduring problem; recall that one of the means for virtualization is multiplexing physical resources.The workload can be characterized statisticallyQueuing Theory can be used for analytical performance evaluation.Lecture 22 3System design for performanceWhen you have a clear idea of the design, simulate the system before actually implementing it.Identify the bottlenecks. Identify those bottlenecks likely to be removed naturally by the technologies expected to be embedded in your system.Keep in mind that removing one bottleneck exposes the next. Concurrency helps a lot both in hardware and in software.in hardware implies multiple execution unitsPipelining multiple instructions are executed concurrentlyMultiple exaction units in a processor: integer, floating point, pixelsGraphics Processors – geometric engines.Multi-processor systemMulti-core processorsParadigm: SIMD (Single instruction multiple data), MIMD (Multiple Instructions Multiple Data.Lecture 22 4System design for performance (cont’d)in software complicates writing and debugging programs. SPMD (Same Program Multiple data) paradigmDesign a well balanced system:The bandwidth of individual sub-systems should be as close as poosibleThe execution time of pipeline stages as close as poosibleLecture 22 5Resource sharing -queuingSee class notes.Lecture 22
View Full Document