[Storage System] High Level Overview and Perofrmance Metrics

Storage System Lecture1

What are storage systems all about?

Software (file systems, device drivers, firmware) and Hardware (servers, devices, controllers, interconnect) that collectively provide application writers with an infrastructure that retains persistent data and provides it on request

  1. Logical: Program -> File System -> Controller Firmware
  2. Physical: Client -> Server -> I/O Controller -> Device ASIC

Metrics

Bandwidth/Throughput

Bandwidth is the rate of data movement, usually it is calculated as KB/s or GB/s.
Throughput is the rate of work items, for example, IO/s, Request/sec and so on.
It is easy to confuse these two terms, which required to be cleared at first.
IO Request: The word IO request is frequently used in storage system. Usually it involves following parts:
1. Type: Read/Write/Other operations
2. Location: Start location when the operation begins, usually it is LBN(Logical Block Number).
3. Size: How much data?
4. Device Id: Logical device or physical device

Request vs. Access
A request could involve more than one accesses. Requests are frontend interactions and access are backend interactions. For example, the program asks for the file system request, and it generates quite many disk accessed.

Observed BW = Observed Throughput * Avg. Access Size

However, usually the observed bandwidth is slower than the peek bandwidth, because the system has to handle more tasks than data transfering only.

Latency

Service time: time required to service I/O request from start of service to completion
Queue time: time spent waiting for turn to be serviced

Response time = queue time + service time

Service time latency depends on system/device properties (transfer data rate) and current status(cache state, block location). System properties keep stable in a period of time, while the current status varies from one access to another access.

Queue time latency depends on service time, but also depends on access pattern. Informally, burstiness is variation in inter-arrival times. For the same service time latency, more burstiness means more queue time latency.



Leave a Reply

Your email address will not be published. Required fields are marked *