This project is licensed under the terms of the MIT license. Trace Name: ssdtrace Contributor Name: Shehbaz Jaffer Contributor Email Address: shehbaz@cs.toronto.edu Thank you for your interest in downloading the traces. A detailed description of the traces can also be found in our paper: SSD-Based Workload Characteristics and Their Performance Implications Gala Yadgar, Moshe Gabel, Shehbaz Jaffer, Bianca Schroeder ACM Transactions in Storage Please cite our paper if the trace is useful in your research. This folder contains the following files: ========================================= 1. ssdtrace-sample.gz - A sample trace containing the first 10,000 records of the trace. 2. ssdtrace-XX.gz - 27 gzipped files with serial id 00-26 (replace XX with a serial number). Each file is ~1GB in size and contains different segments of the original blocktrace file. The entire trace can be regenerated by unzipping and concatenating the files in the order of their serial number. On Unix platforms, this can be done by running the following command in the same folder where all gzipped files were downloaded: `cat *.gz | unzip > rawfile` 3. README. Additional Trace Information can be found below: =============================================== Name of the I/O Trace: ssdtrace Paper: SSD-Based Workload Characteristics and Their Performance Implications Number of Records within the I/O Trace Data File: 2073713605 (~ 2 Billion) Date of Trace Collection: Dec 14, 2018 - Jan 9, 2019 Time Span of I/O Trace: 9.68 Hours Type of I/O Trace: File System Blocktrace. General Categorization of Workload: YCSB Workload Type A (50% reads, 50% updates) on RocksDB running on ext4 FileSystem. Trace Format Description: ========================= Each blocktrace record contains the following fields [Device Major Number,Device Minor Number] [CPU Core ID] [Record ID] [Timestamp (in nanoseconds)] [ProcessID] [Trace Action] [OperationType] [SectorNumber + I/O Size] [ProcessName] More details about each blocktrace field can be obtained here: https://linux.die.net/man/1/blkparse Platform Details: ================ Machine Specification: ASUS Cores: 28 Cores (Hyperthreading enabled) @2.4GHz Memory: 128 GB Operating System: Linux 5.0.0, Ubuntu 18.04 LTS Disk Specifications: 2 x Samsung 970 Pro NVMe SSD Drive Workload Specifications: YCSB Workload Type A (50% Reads, 50% Writes) on RocksDB running on top of ext4 file system. Tool to capture the I/O Trace: ============================= blktrace/blkparse version 2.0.0. Trace Workload Description ========================== We run YCSB-0.15.0 benchmark with RocksDB in embedded mode. We choose YCSB Workload A containing 50% reads and 50% updates of 1 billion operations on 250 million records, to simulate a session store recording recent actions. We run this setup for 9.7 hours which results in generating over 352 million block I/O requests at the file system level. Trace Environment Description ============================= We format both disks with the ext4 file system with default journaling (data=ordered) mode. The first disk is a dedicated SSD that stores all blocktrace files and the second hosts YCSB and RocksDB. We use separate disks so that the writes done during the blocktrace collection don't interfere with the YCSB I/O operations.