Post on 04-Jan-2016
PR SMLaboratory
A Parameter Extraction Tool for Windows I/O System A Parameter Extraction Tool for Windows I/O System
CharacterizationCharacterization
Versailles Saint Quentin University
National Scientific research center
Jalil BOUKHOBZA
The Problem Statement
I/Os are critical. Windows OS Vaguely documented
Sources are not available Poorly studied in academic research
Hardware manufacturer’s documentation not sufficient for completely understanding a given I/O system and simulating it.
The Objectives
Understanding I/O flow and Performance in Windows systems. Making possible accurate simulations of the Windows I/O subsystem:
From the application -> Disk mechanical movements
Contributions
Windows I/O performance measurement tool : Windows I/O performance measurement tool : Measure I/O performance of a given architecture on a Windows OS (2000, XP, 2003)
Empirical I/O parameters extraction tool :Empirical I/O parameters extraction tool :
Get the parameters defining the I/O subsystem to:
Understand the resultant performance
Build accurate simulations
Windows I/O Performance Measurements
Windows file access modes (Win32 CreateFile()) Normal, sequential, random, no buffer, write through
Request sizes Sequential / Random (accesses)
Results:
I/O throughput Response times
File system driver
Storage Device driver
Storage Device
Cache manager
Virtual memory manager
I/O requestFastIO
Page fault
Read transfer rates for different modes
0
5
10
15
20
25
30
35
40
45
50
0 100 200 300 400 500 600
Request sizes (KB)
Tra
ns
fer
rate
s (
MB
/se
c)
1- No buffer 2- Normal 3- Sequential
1
2
3
Normal mode read for different request sizes
0
5
10
15
20
25
30
35
0 10 20 30 40Request number
Resp
on
se t
imes (
ms)
512KB 64KB 320KB
Read transfer rates and response times
Example of execution
Configuration:
Empirical I/O Parameter Extraction
File system cache -> process memory throughput (1) Disk cache -> process memory throughput (2) Seek times Track sizes (zoning) Disk cache segment size and number Disk cache algorithms
Process Memory
File system Cache memory Disk
Disk cache
Measuring throughputs1
2
Example:
Conclusions
A Windows dedicated I/O performance measurement tool taking into account thedifferent access modes (using different prefetching algorithms for read / write operations). Very easy to use tool to get I/O parameters. The extracted parameters allow to run accurate simulations less then 4% variation compared to real measures for response times and throughputs.
Under development
Allowing asynchronous file accesses Injecting inter arrival times More control on request sequentiality Testing more architectures
References
Some Studies on Windows I/Os[1] E.Riedel, C.VanIngen, J.Gray “A performance study of sequential I/O on WindowsNT4”, 2nd USENIX WindowsNT Symposium, Seattle, WA, 1998.[2] L.Chung, J.Gray, B.Worthington, R.Horst, Windows2000 disk I/O performance, Technical report MS-TR-2000-55, Microsoft Research, 2000.[3] J. Boukhobza, C. Timsit, “On Windows File Access modes: a Performance Study”, to appear in the proceeding of WISICT2005, Cape Town, South Africa, January 2005.About Windows internals[4] D.A.Solomon, M.E.Russinovich, Inside Windows2000, Redmond, Washington, Microsoft Press, 2000.Caching policies[5] N.C Burnett, J. Bent, A.C. Arpaci-Dusseau, R.H. Arpaci-Dusseau, “Exploiting Gray-Box knowledge of Buffer-cache management”, proceeding of USENIX 2002 Annual Technical conference, Monterey, California, USA, June 2002.Windows I/O simulations [6] J. Boukhobza, C. Timsit, “An I/O Simulator for Windows Systems”, to appear in ESMc2004 proceeding, Paris, France, October 2004.
No buffer mode read of 64KB
0
0.5
1
1.5
2
2.5
0 5 10 15 20 25 30
Request number
Resp
onse
tim
e (m
s)
Seek times
Study the periodicity to find
track size
Per request response time
Cache segment sizeRead block of size T from disk
Re-read that block: if entirely loaded from the disk cache -> segment size ≥T, increment T else decrement T
Empty the cache
Systematic global performance measuring tool
Automatic parameter extraction
Storage architecture
I/O sequence strategy defined by the user or real workload traces
Measuring Tools
Behavior of the storage system for the specified I/O strategy
Performance of the storage system for read/write operation
I/O Generator
Simulation Tool
1 2
3
Disk cache updating algorithmsGenerally simple algorithms (LRU, FIFO, LFU, etc.) that can be tested once the segment size known by issuing different read block sequences and then re-read the blocks to see which one is accessed from the disk (and so has been ejected from the cache).
Using flags of the CreateFile() function
1 2
3 4
5 6
7 8
Processor Intel Pentium4 1,8GHz 256MB RDRAMDisk Fujitsu MAN 3184MP Capacity Rotation Seek
Interface 18,4 GBytes 10025 rpm track to track 0,4/0,6msUltra 160 SCSI Disk Cache Track size average 4,5 / 5ms
8MB 221KB/377KB Full Stroke 11 / 12msSoftware Windows2000 Professional 5.00.2195 Service Pack 3 File sysem FAT324
MASCOTS 2004