Windows Vista Performance Technologies

Download Report

Transcript Windows Vista Performance Technologies

Windows Vista
Performance
Technologies
Gabriel Aul
Group Program Manager
Microsoft Corporation
System Responsiveness
Ensuring Memory is well Utilized
SuperFetch
Avoiding the Disk Bottleneck
ReadyDrive Hybrid Hard Drive
ReadyBoost Expanded Memory Devices
Supporting infrastructure
Low-priority I/O
Diagnostic tools
What Causes Inconsistent
System Responsiveness?
Poor Memory Content
Performance erodes over time
The application has not run recently
Background applications have swept through memory
Transition-related
After boot or hibernate
After Fast User Switch
After lunch or big application
Random/Blocking Disk Operations
Page faults
Program loads
Disk spin up time
Poor Memory Contents
Effective management of a limited shared
resource under contention
A perennial computer science problem
Affects Disk, CPU, Network, etc.
Typical Memory Pressure Scenario
1. Memory is populated with pages for Application A
2. Application B is loaded, pushing App A’s pages out
3. User switches back to Application A
4. Application A reloads pages as needed through
Pagefaults, pushing out Application B’s pages
5. Repeat cycle…
The Seek Problem
Drive Industry Continues to Deliver Impressive Data
Rate, Rotation and Interface Speed Improvements
ATA/33  ATA/66  ATA/100  SATA
4200RPM  5400RPM  7200RPM
 10000RPM
2 MB  8 MB  16 MB
Result: Sequential IO rates of 80 MB/s+
At that rate, 1 GB of RAM fully populated in ~12.8sec
Seek Times Improving, but not as Significantly
3.5” Desktop drive avg seek ~10 mSec
2.5” Mobile drives ~12.5 mSec
Much better when hitting the track buffer…
Result: Random IO rate limited to an effective 1MB/sec
At that rate, populating 1GB of RAM takes ~1024sec!
The Seek Problem
50% of MobileMark 2005 I/Os are 4 KB and Random
Files and Structured Files
A single DLL is generally 5 to 6 Disk Locations (min)
Directory, MFT Entry, and other File System Metadata
PE Hdr page, .text pages, .data pages, .rsrc pages,…
Programs like Internet Explorer, Adobe Reader, or
Outlook use over 100 DLLs
Reliability and Durability
Logging, Transactions, Application Temp Files
A simple Registry Write can require 5 to 6 Random and
Ordered Disk Writes
Synchronous Blocking Nature of Page Faults
Code pages, Stack pages, and Heap pages can all be faulted upon
Hard to develop Asynchronous Client applications
The Seek Problem
Can be mitigated by adding large amounts
of physical RAM
Lots of headroom for app and data pages
Memory pressure on 2 GB systems is
nominal for most workloads
Not feasible for most customers
Next best solution: Avoid the impact by
caching pages before they are needed
SuperFetch
SuperFetch is a breakthrough in memory management
Optimizes based on usage patterns over time
Takes into account frequency of page usage, usage of page in
context of other pages in memory
Adapts to memory usage patterns, including complex
usage scenarios
Proactive and resilient
Smart about getting the right content into memory early and
resilient to memory pressure
Efficient
Uses low priority I/O for pre-fetching and pre-population
SuperFetch manages RAM and cache memory
ReadyBoost
Non-volatile memory serves as a
supplementary cache for SuperFetch
External USB keys, SD cards, Compact Flash,
internal PCIe cards
Allows fast reads to satisfy page faults
when page is not in main memory
Up to 10x faster than random HDD reads
Latency for USB Flash Drive ~0.8 mSec
Caches data proactively based on
user activity
ReadyBoost Properties
Reliable
Write-through cache allows user to remove
device at any time
No unique contents in the cache – always HDD-backed
Device wear is not an issue
Unique write gathering algorithm optimizes performance and
wear patterns
Projected life of devices 19.4 – 1823 years depending on
device size, variant, and usage patterns
Secure
Data is encrypted using AES 128bit crypto
Efficient
Data is compressed by a factor of 1.8X to 2.3X
ReadyDrive Hybrid Hard Disk
A Nonvolatile cache (NV Cache) is added to
the hard disk drive
Allows data to be read and written while platter is
spun down
Data in cache persisted when powered down
SuperFetch provides efficient cache utilization
Up to 90% Power Saving
over conventional HDD
Dram
Cache
SATA or
PATA
Interface
Read and Write while
spindle is stopped
NV
Cache
ReadyDrive ATA Command Set
A new ATA command set has been specified by Microsoft,
HDD manufacturers, and industry partners which enables
rich management of the NV Cache
Single ATA command with sub-commands
Identify hybrid hard disk functionality
Add/Remove LBAs from NV Cache “pinned set”
Query NV Cache pinned set
Enter/Leave power saving mode
Etc
Accepted by T13 for standardization in the
ATA 8 specification
Opportunity for innovation by device and host
moving forward
ReadyDrive Benefits
Performance
Faster Boot
Windows Vista systems with a ReadyDrive disk can boot faster by eliminating disk spin-up
delay and seeks during the boot process
Faster Hibernate/Resume
New default Sleep behavior of Windows Vista will make resume from hibernate (S4) a more
common occurrence for mobile PCs
Windows Vista resumes faster using H-HDD by eliminating disk spin-up and seeks early in
the resume process
Performance improvement from minimizing disk seeks and enabling more IOs
per second
Power Savings/Battery Life
Windows Vista can reduce HDD power consumption of typical 2.5” HDD by 70-90%
when operating on battery by keeping magnetic platter spun down most of the time
Translates into 6-12% of system power budget depending on design
Reliability improvements
Vibration or impact during writes not a problem with NV memory
Reduced noise
Low-Priority I/O
What is low-priority I/O?
Developers have long been able to throttle CPU
usage by setting thread priorities
With Windows Vista, developers can now set
I/O priorities
Low-priority I/O in Windows Vista
SuperFetch
Search indexing
Windows Defender
Disk defrag software
Startup applications
Performance Tuning And Diagnostics
Lower the cost for diagnosing performance problems
Easier diagnosis and resolution of performance problems
Leverages data within the
Circular Kernel Context Logger (CKCL)
Provides a record of recent system activity
Automated analysis applied for defined scenarios
Analysis results written to System Event Log
Performance Diagnostics Architecture
Windows
Diagnostic
Infrastructure
Performance
Analyzer
CKCL - ETW Kernel Events
System Event Log
Windows Vista Performance
Enhancements
More Consistent Responsiveness
with SuperFetch
Improved state transitions
More resilient to memory pressure
Uses innovative hardware solutions
ReadyDrive Hard Disks provide reliability, battery,
and performance benefits
ReadyBoost Expanded Memory Devices provide
performance boost without needing to add more RAM
Improved diagnostic tools
Performance Diagnostics and Circular Kernel
Context Logger (CKCL)
Call To Action
Use Prioritized IO whenever possible
Ensure your startup apps function
correctly with startup app boxing
Drivers and services not affected
Additional Resources
T13 website for ATA8 specification
http://www.t13.org/
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.