Flexible I/O Tester development
 help / color / mirror / Atom feed
* ZBC/FLEX FIO addition ideas
@ 2018-03-06 18:59 Phillip Chen
  2018-03-15 16:15 ` Kris Davis
  0 siblings, 1 reply; 12+ messages in thread
From: Phillip Chen @ 2018-03-06 18:59 UTC (permalink / raw)
  To: fio

Hello again,
We are interested in making changes to the Seagate branch of FIO that
ideally would be widely picked up that would allow FIO to run well on
Host Managed/Zoned Block Command (ZBC) drives. Host Managed drives
have some simple restrictions which make running workloads on them
very challenging. The main hurdles to overcome are all writes must be
at its zone write pointer, all reads must be below its zone write
pointer, and reads or writes can be over more than one zone. The
largest difficulty is to get random performance data. To do this we
will need to add the capability to write randomly between zones (but
sequentially within zones) and only read what has been written. There
seem to be two approaches that could work for this and I'd appreciate
any advice as to which approach to pursue.
Approach 1:
We could let FIO pick I/O offsets as it usually does, but change those
offsets into legal ones before they reach the drive.
Approach 2:
We create a random Host Managed specific workload which will be aware
of where it is legal to read and write and will only pick offsets that
are valid. Additionally, we would later make some small changes to the
existing sequential workloads that would prevent I/O over zone
boundaries and do some preparation (writing over zones we are planning
to read and resetting the write pointers of zones we want to write
over). I am leaning towards this approach because it makes more sense
to me.
Either way, we will need to implement some way of keeping track of
where it is legal to read and write as well as send some new commands
like get zone information and reset write pointer(s). Again, it seems
like there are two viable approaches.
Approach 1:
We can create a new I/O engine which handles all the I/O as well as
any additional ZBC specific commands like get zone information and
resetting write pointers. However, we would like to avoid this option
because our customers to use the I/O engine they are comfortable with.
Approach 2:
We create a layer above the I/O engine which watches all of the I/O
and keeps track of the write pointers on the drive as well as issuing
any additional ZBC commands as necessary.

Thank you,
Phillip Chen

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-03-23 17:35 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-06 18:59 ZBC/FLEX FIO addition ideas Phillip Chen
2018-03-15 16:15 ` Kris Davis
2018-03-15 16:30   ` Sitsofe Wheeler
2018-03-15 16:43     ` Bart Van Assche
2018-03-15 18:06       ` Phillip Chen
2018-03-15 18:38         ` Bart Van Assche
2018-03-15 19:40           ` Phillip Chen
2018-03-15 21:01             ` Bart Van Assche
2018-03-17  7:55       ` Sitsofe Wheeler
2018-03-20  2:21         ` Bart Van Assche
2018-03-23 17:30           ` Phillip Chen
2018-03-23 17:35             ` Bart Van Assche

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox