The traces were collected during a ~84 minute TPC-E run which included a ~20 minute warmup time. Contact Name: Swaroop Kavalanekar, Bruce Worthington Contact Email: Swaroop.Kavalanekar@microsoft.com, Bruce.Worthington@microsoft.com Company: Microsoft Trace events: Primarily File IO, Disk IO (block level), Thread, Process, and Context Switch (w/ misc. other events) Duration: 6 trace files, 10-16 minutes each. OS: Windows Server 2008 (pre-release) DB Server: Windows SQL Server 2005, SP1 Benchmark: TPC-E, kit 0.22, 200,000 Customers. Processors: 4 quad-core 1.8 GHz Opterons Memory: 128 GB Disks: 12 (array controllers, each exposing two LUNs) X 2 (LUNs) X 14 (spindles per RAID-0 LUN with stripe units of 256KB) x 36 GB 15Krpm SCSI drives (partially filled) 8 X 68 GB (internal disks, system + other partitions not used for this experiment) Disk- and File-related Trace Event Headers (found at beginning of file): DiskRead, TimeStamp, Process Name ( PID), ThreadID, IrpPtr, ByteOffset, IOSize, ElapsedTime, DiskNum, IrpFlags, DiskSvcTime, I/O Pri, VolSnap, FileObject, FileName DiskWrite, TimeStamp, Process Name ( PID), ThreadID, IrpPtr, ByteOffset, IOSize, ElapsedTime, DiskNum, IrpFlags, DiskSvcTime, I/O Pri, VolSnap, FileObject, FileName DiskReadInit, TimeStamp, Process Name ( PID), ThreadID, IrpPtr DiskWriteInit, TimeStamp, Process Name ( PID), ThreadID, IrpPtr DiskFlush, TimeStamp, Process Name ( PID), ThreadID, IrpPtr, ElapsedTime, DiskNum, IrpFlags, DiskSvcTime, I/O Pri DiskFlushInit, TimeStamp, Process Name ( PID), ThreadID, IrpPtr FileIoCreate, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, Options, Attributes,ShareAccess, FileName, ParsedOptions, ParsedAttributes, ParsedShareAccess FileIoCleanup, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, FileName FileIoClose, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, FileName FileIoFlush, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, FileName FileIoRead, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, ByteOffset, Size, Flags, Priority, FileName, ParsedFlags FileIoWrite, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, ByteOffset, Size, Flags, Priority, FileName, ParsedFlags FileIoSetInfo, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, ExtraInfo, InfoClass, FileName FileIoQueryInfo, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, ExtraInfo, InfoClass, FileName FileIoFSCTL, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, ExtraInfo, InfoClass, FileName FileIoDelete, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, ExtraInfo, InfoClass, FileName FileIoRename, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, ExtraInfo, InfoClass, FileName FileIoDirEnum, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, FileIndex, Size, InfoClass, FileName, FileName FileIoDirNotify, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, FileIndex, Size, InfoClass, FileName, FileName FileIoOpEnd, TimeStamp, Process Name ( PID), ThreadID, CPU, IrpPtr, FileObject, ElapsedTime, Status, ExtraInfo, Type, FileName FileNameCreate, TimeStamp, FileObject, FileName FileNameDelete, TimeStamp, FileObject, FileName FileNameRundown, TimeStamp, FileObject, FileName Notes: DiskReadInit and DiskWriteInit are redundant events -- all of their information can be extracted from the corresponding completion events (DiskRead and DiskWrite) DiskFlush(Init) is generated to flush hardware caches (e.g., by FlushFileBuffers calls to the kernel) Some basic information about the trace is given after the headers. Example: OS Version: 6.0.6001, Trace Size: 3899392KB, Events Lost: 0, Buffers lost: 0, Trace Start: 128372283835077654, Trace Length: 10 min, PointerSize: 8, Trace Name: G2.W2K8.tpce.ENTDL585G2.Administrator.10-18-2007.05-46-PM.trace.etl Primary fields of interest for storage workload research: Timestamp: Time from start of trace in microseconds IrpPtr: Virtual address of kernel data structure corresponding to a specific IO (can be used to link start events and completion events -- e.g., DiskReadStart and DiskRead) ByteOffset: Offset of request from start of disk in bytes for disk events and start of file in bytes for file events IOSize, Size: Size of request in bytes ElapsedTime: Time from start event to completion event for a specific IO in microseconds DiskNum: Physical disk number as viewed by Windows -- in this case each 14-disk RAID-0 array appears as a single drive DiskServTime: Ignore I/O Pri, Priority: 4 levels of I/O priority are defined in Windows Server 2008 Obvious fields: Process Name ( PID), ThreadID, CPU, FileName Definitions of other trace event fields available from the authors (until the next Windows SDK is released in 1Q08, which should have a more complete disclosure of event fields).