On Windows File Access Modes : A Performance Study Jalil Boukhobza & Claude Timsit laboratory Versailles Saint Quentin University.

Slides:



Advertisements
Similar presentations
Storing Data: Disk Organization and I/O
Advertisements

Overview of Mass Storage Structure
- Dr. Kalpakis CMSC Dr. Kalpakis 1 Outline In implementing DBMS we need to answer How should the system store and manage very large amounts of data?
Storing Data: Disks and Files: Chapter 9
CS 277 – Spring 2002Notes 21 CS 277: Database System Implementation Notes 02: Hardware Arthur Keller.
CS4432: Database Systems II Data Storage - Lecture 2 (Sections 13.1 – 13.3) Elke A. Rundensteiner.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
1 Advanced Database Technology February 12, 2004 DATA STORAGE (Lecture based on [GUW ], [Sanders03, ], and [MaheshwariZeh03, ])
Accurate and Efficient Replaying of File System Traces Nikolai Joukov, TimothyWong, and Erez Zadok Stony Brook University (FAST 2005) USENIX Conference.
1 Storage Hierarchy Cache Main Memory Virtual Memory File System Tertiary Storage Programs DBMS Capacity & Cost Secondary Storage.
SECTIONS 13.1 – 13.3 Sanuja Dabade & Eilbroun Benjamin CS 257 – Dr. TY Lin SECONDARY STORAGE MANAGEMENT.
CS4432: Database Systems II Lecture 2 Timothy Sutherland.
Avishai Wool lecture Introduction to Systems Programming Lecture 9 Input-Output Devices.
1 CS222: Principles of Database Management Fall 2010 Professor Chen Li Department of Computer Science University of California, Irvine Notes 01.
Introduction to Database Systems 1 The Storage Hierarchy and Magnetic Disks Storage Technology: Topic 1.
12.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 12: Mass-Storage Systems.
Disk and I/O Management
CS4432: Database Systems II Data Storage (Better Block Organization) 1.
Memory Management in Windows and Linux &. Windows Memory Management Virtual memory manager (VMM) –Executive component responsible for managing memory.
Slide 1 Windows PC Accelerators Reporter :吳柏良. Slide 2 Outline l Introduction l Windows SuperFetch l Windows ReadyBoost l Windows ReadyDrive l Conclusion.
Caching and Virtual Memory. Main Points Cache concept – Hardware vs. software caches When caches work and when they don’t – Spatial/temporal locality.
Toolbox for Dimensioning Windows Storage Systems Jalil Boukhobza, Claude Timsit 12/09/2006 Versailles Saint Quentin University.
Lecture 11: DMBS Internals
The Intel Architecture and Windows Internals
Origianal Work Of Hyojun Kim and Seongjun Ahn
TRACK-ALIGNED EXTENTS: MATCHING ACCESS PATTERNS TO DISK DRIVE CHARACTERISTICS J. Schindler J.-L.Griffin C. R. Lumb G. R. Ganger Carnegie Mellon University.
CS 162 Section Lecture 8. What happens when you issue a read() or write() request?
Chapter 111 Chapter 11: Hardware (Slides by Hector Garcia-Molina,
RAPID-Cache – A Reliable and Inexpensive Write Cache for Disk I/O Systems Yiming Hu Qing Yang Tycho Nightingale.
1Fall 2008, Chapter 12 Disk Hardware Arm can move in and out Read / write head can access a ring of data as the disk rotates Disk consists of one or more.
CS 6502 Operating Systems Dr. J.. Garrido Device Management (Lecture 7b) CS5002 Operating Systems Dr. Jose M. Garrido.
An I/O Simulator for Windows Systems Jalil Boukhobza, Claude Timsit 27/10/2004 Versailles Saint Quentin University laboratory.
Amy Apon, Pawel Wolinski, Dennis Reed Greg Amerson, Prathima Gorjala University of Arkansas Commercial Applications of High Performance Computing Massive.
PR SM Laboratory A Parameter Extraction Tool for Windows I/O System Characterization Versailles Saint Quentin University National Scientific research center.
CPSC 404, Laks V.S. Lakshmanan1 External Sorting Chapter 13: Ramakrishnan & Gherke and Chapter 2.3: Garcia-Molina et al.
1 External Sorting. 2 Why Sort?  A classic problem in computer science!  Data requested in sorted order  e.g., find students in increasing gpa order.
DMBS Internals I. What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the database concurrently.
Latency Reduction Techniques for Remote Memory Access in ANEMONE Mark Lewandowski Department of Computer Science Florida State University.
Disk Basics CS Introduction to Operating Systems.
A Measurement Based Memory Performance Evaluation of Streaming Media Servers Garba Isa Yau and Abdul Waheed Department of Computer Engineering King Fahd.
Windows XP Memory Management Aaron Lanoy and Jason Farnsworth.
COMPASS Computerized Analysis and Storage Server Iain Last.
ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 7 – Buffer Management.
DMBS Internals I February 24 th, What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the.
Improving the Reliability of Commodity Operating Systems Michael M. Swift, Brian N. Bershad, Henry M. Levy Presented by Ya-Yun Lo EECS 582 – W161.
DMBS Internals I. What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the database concurrently.
Magnetic Disk Rotational latency Example Find the average rotational latency if the disk rotates at 20,000 rpm.
CPS216: Advanced Database Systems Notes 03: Data Access from Disks Shivnath Babu.
1 Lecture 16: Data Storage Wednesday, November 6, 2006.
WSRR 111 Coerced Cache Eviction and Discreet Mode Journaling: Dealing with Misbehaving Disks Abhishek Rajimwale, Vijay Chidambaram, Deepak Ramamurthi Andrea.
CS422 Principles of Database Systems Disk Access Chengyu Sun California State University, Los Angeles.
File organization Secondary Storage Devices Lec#7 Presenter: Dr Emad Nabil.
Chapter 10: Mass-Storage Systems
Lecture 16: Data Storage Wednesday, November 6, 2006.
Chapter 12: Mass-Storage Structure
Lecture 11: DMBS Internals
Virtual Memory Main memory can act as a cache for the secondary storage (disk) Advantages: illusion of having more physical memory program relocation protection.
RAID RAID Mukesh N Tekwani
Lecture 9: Data Storage and IO Models
Sanuja Dabade & Eilbroun Benjamin CS 257 – Dr. TY Lin
iSCSI-based Virtual Storage System for Mobile Devices
IT Infrastructure: Software
Overview Continuation from Monday (File system implementation)
Persistence: hard disk drive
Mass-Storage Systems.
RAID RAID Mukesh N Tekwani April 23, 2019
Disk Scheduling The operating system is responsible for using hardware efficiently — for the disk drives, this means having a fast access time and disk.
Chapter 11: Mass-Storage Systems
CPS216: Advanced Database Systems Notes 04: Data Access from Disks
CS 245: Database System Principles Notes 02: Hardware
Presentation transcript:

On Windows File Access Modes : A Performance Study Jalil Boukhobza & Claude Timsit laboratory Versailles Saint Quentin University (France)

01/04/2005PRiSM / UVSQ2 Outline 1. Motivations 2. Windows file access strategies 3. Read performance analysis 4. Write performance analysis 5. Conclusions and guidelines 6. Perspectives

01/04/2005PRiSM / UVSQ3 Motivations Windows I/O systems  very used BUT very poorly studied ! CreateFile() function  Many file access modes  different caching algorithms  big performance variations Disk subsystems built independently from OS Interaction with the OS are not easily predictable How does the performance vary with the access strategy and the storage subsystem and why ?

01/04/2005PRiSM / UVSQ4 Previous work Riedel et al., Microsoft (1998) : global performance measurements for some architectures (operating systems, disks, RAID configurations, etc.) Chung et al., Microsoft (2000) : continuation of the first one with more recent architectures. Not all the access modes have been studied and performance fluctuations have not been explained

01/04/2005PRiSM / UVSQ5 Windows file access strategies Different file access modes in the CreateFile() function: Without using the file system cache: no buffer mode Using the file system cache: sequential, normal, write through modes. Achieved experiments : accessing sequential blocks with different I/O strategies (access modes and request sizes) File System Driver Storage Device Driver Storage Device Cache Manager Virtual Memory Manager I/O request FastIO Page fault

01/04/2005PRiSM / UVSQ6 Read performance analysis Pentium IV 1.8GHz / 256MB RAM Win 2K professional SP3 / FAT32&NTFS Disk: Fujitsu Man3184mp / Ultra SCSI / 18.4 GB / 8MB cache / Rpm seek: min: 0.4ms, avg 4.5 ms, max : 11ms track size : 221KB ~ 370KB Transfer rate int: 84MB/sec, ext : 160MB/sec Pentium III 500 MHz / 192MB RAM Win 2K professional SP2 / FAT32&NTFS Disk: Toshiba MK6012MAP/ ATA 4 / 6GB / 1MB cache / 4200 rpm seek: min: 3ms, avg 13 ms, max : 24ms Track size : unknown Transfer rate int: 24Mo/sec, ext : 66.7Mo/sec

01/04/2005PRiSM / UVSQ7 KB Response time measurements 2 1

01/04/2005PRiSM / UVSQ8 Normal mode response times  Periodic response times  They depend on request sizes.  They are due to : File system prefetching algorithms Disk prefetching algorithms Interactions between them

01/04/2005PRiSM / UVSQ9 Example of normal mode read (Fujitsu disk) Response time (ms) B1 B3 B2 B5 B4 +B5,B6,B7,B8,B9,B10,B11 B1 B3 B2 B6 B5B7 B8 B9 B10 B11 B10 B9B8 B7 B6 B11 B4 +B5,B6,B7,B8,B9,B10,B11 Block 1 Block 2 Block Optimal access Normal mode access Block 1 Block 2 Block Disk prefetching 4 System process Application process Wait System prefetching Disk prefetching Application

01/04/2005PRiSM / UVSQ10 Example of normal mode read (Toshiba) Response times for one period: t1 = 8,5ms t2 = 15,6ms t3 = 0,16ms t4 = 16,9ms The tested architecture characteristics: Disk cache throughput ~30MB/sec Memory throughput : ~400MB/sec Track revolution time: 14,28ms Seek time track/track: 3.5ms Track size : 182KB Block1 Block2 Block3 3 Optimal access Normal mode access Block1 Block2 Block Disk prefetching t1: The application requests the block 1 t1 = Reading of a 64KB block + track/track seek = 64 * 14.28/ = 8.5ms t2: The system asks for the block 3 (prefetching), then the application asks for the block 2: t2 = reading of the block 2 on the disk (local prefetching) + reading of the block 3 on the disk (system prefetching of block 3) + reading of block 2 from the disk cache (disk prefetching) = (64 * 14.28/182) + ( 64 * 14.28/ ) + (64*1000/(1024*30)) = ~ 5 + 8,5 + 2,1 = 15,6 ms t3: Memory copy of block 3 prefetched by the system. t3 = 64*1000/(1024*400) = ~ 0.16ms t4: Reading time of the block 4: repositioning of the disk head on the first sector of the block then reading : t4 = ((14,28 – (reading of the block 2 from the disk cache + memory copy of block 3)) + 5) = 14,28 – (2,1 + 0,16) + 5 = ~ 16,9 ms.

01/04/2005PRiSM / UVSQ11 Conclusions : read operations Periodic response times System prefetching does not depend on file systems (NTFS & FAT32) but on access modes Interactions between system and disk prefetching influence very much the performances No buffer mode : Good performances / except some request sizes No file system cache level Sequential mode : As good as no buffer mode for request sizes multiple of 64KB and less than 160KB File system cache level activated Normal (default) mode : Performance drop by a factor 2-3 A different file system cache algorithm (compared to sequential mode) Different disk prefetching reactions

01/04/2005PRiSM / UVSQ12 Write operation analysis Flush of data that were on the cache segment to be used Copy of data on the disk cache segment Once the segment is filled or/and the disk head positioned, the copy of data from the cache to the disk begins Disk driver File system driver Win32 function Disk cache Lazy write algorithm

01/04/2005PRiSM / UVSQ13 Normal and sequential mode analysis KB block copied to the disk 64KB block copied to the file system cache and flushed later on to the disk Example with a 320KB request size: File system cache Disk flush Req 4Req 5 Req 6Req 7Req 8 Req 2 Req 1 Req 3

01/04/2005PRiSM / UVSQ14 Write through mode analysis T reponse = Td1 + Ttr1 + Td2 + Ttr2 Td1: time to position the head from the system block to the data block to write Ttr1: writing time of the data block Td2: positioning time from the written data block to the system block Ttr2: writing time of the system block Block to write System block to modify Departure and arrival position  Write through algorithms on both disk cache and file system cache  Response times are multiple of 6ms (one disk revolution)

01/04/2005PRiSM / UVSQ15 Conclusions : write operations Periodic response times No buffer mode : Generally good performances whatever the request size No copy of the written data on the file system cache Normal and sequential modes : Performance drop compared to the no buffer mode Many passing over the same region of the disk Strong interactions between the disk cache and the file system cache One copy of some written data on the file system cache Write through mode Poor performances as compared to the other modes Data are immediately copied on the disk

01/04/2005PRiSM / UVSQ16 Conclusions and guidelines To understand file access performance → response time analysis Read operations : If one read → no buffer mode (exceptions) If many reads → sequential mode (request sizes) Write operations : If one write (no modification of data) → no buffer mode If many writes → sequential or normal mode (request size) Security → write through mode (loss : till a factor 10 !!!)  OS behavior is the same (given an access mode) but storage systems employ different strategies  Choosing a good I/O strategy is crucial to obtain good performances

01/04/2005PRiSM / UVSQ17 Perspectives Multi file access performances Simulation of file accesses (validation phase) Doing the same job on Linux systems Testing RAIDs

01/04/2005PRiSM / UVSQ18 Thank you !