Re: SMR Benchmarking Results

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Allen,

I ran the SMR zone_open and zone_close commands to see what the
overhead was. zone_open and zone_close only take up 3% of the total
time, The rest of the time is consumed while zone_write is taking
place.

                    (open-close)  (open-write-close)
40 zones  -  11.8 secs        6 min 41 secs
400 zones - 1min 52 secs            NA

I looked at zbc_write command, it takes a chunk of file into a
temporary buffer (whose size is 1MB for my experiment) and writes it
to disk. I assume dd also works this way, taking block size (bs
parameter) number of bytes in memory at a time and writing to disk. I
think with this information we can infer that most of the time
consumed is in writing to disk.

I observed a difference in the way zone was being opened while doing
"dd write" and "SMR aware zbc_write". for dd write, the zone is
"implicitly opened", and data is written to it. for zbc writes, when
we issue a zone_open command, the zone is "explicitly opened",
followed by a write, followed by zone_close.

looking at documentation of SMR support for ext4 here:
https://github.com/Seagate/SMR_FS-EXT4 , it seems Implicit open zones
are those zones that the drive can close on its own. explicit zones
cannot be closed on their own - and needs to be closed by explicit
commands like zbc_close.

>From initial experiments it seems that implicitly opened zones perform
better that explicitly opened zones. Probably we will see a difference
in performance when the drive hits the maximum number of implicitly
open zones, when it will internally start closing zones - in that case
we will need smarter zone management - where I feel explicit zone
open/close commands will help.

Thanks,
Shehbaz

On Thu, May 26, 2016 at 1:20 AM, Allen Samuels
<Allen.Samuels@xxxxxxxxxxx> wrote:
> Sounds like the zone open and/or close commands are triggering I/O operations.
>
> Just as an experiment, how long does it take to open and close a bunch of zones with NO data being written to them?
>
>
> Allen Samuels
> SanDisk |a Western Digital brand
> 2880 Junction Avenue, San Jose, CA 95134
> T: +1 408 801 7030| M: +1 408 780 6416
> allen.samuels@xxxxxxxxxxx
>
>
>> -----Original Message-----
>> From: Shehbaz Jaffer [mailto:shehbazjaffer007@xxxxxxxxx]
>> Sent: Wednesday, May 25, 2016 9:44 PM
>> To: Sage Weil <sweil@xxxxxxxxxx>
>> Cc: Allen Samuels <Allen.Samuels@xxxxxxxxxxx>; ceph-
>> devel@xxxxxxxxxxxxxxx
>> Subject: SMR Benchmarking Results
>>
>> Hi Sage,
>>
>> I have been working on benchmarking SMR Drives using libzbc. It appears
>> that issuing ZBC commands for zone aware host is more inefficient as
>> compared to normal copy operations using 'dd' command.
>>
>> I created a 256 MB file and placed it in memory (so that we do not have data
>> fetch overheads). I copy this file repeatedly on a Host Aware SMR drive in 2
>> scenarios :
>>
>> a) dd - I use dumb dd that takes 1MB chunks of file and keeps copying the file
>> to SMR drive for <writeSize> bytes. Note that dd does not take the zones
>> into consideration.
>>
>> b) SMR_aware_copy - This copy takes file chunks 1MB in size, but issues ZBC
>> commands to open each zone, write 256 MB data to the zone, close the
>> zone, and then move to another zone till <writeSize> bytes have been
>> written.
>>
>> performance results for 1GB, 10GB write sizes are 5x slower with "zone
>> aware" writing, as compared to normal dd writing:
>>
>> writeSize (in GB)     dd time (in min:sec)     smr_aware_copy (in min:sec)
>> 1 GB                              0:7                                0:34
>> 10 GB                            1:11                              6:41
>> 50 GB                            5:51                               NA
>> 100 GB                          11:42                             NA
>>
>> (all writes were followed by sync command)
>>
>> I was trying to see if there is an internal cache of some sort in the Host Aware
>> SMR drive, which probably serializes all writes up to certain extent for dd
>> command, but the time for writes using the dd command for up to 100GB
>> follow a linear pattern. I will try to see if we hit a bottleneck with dd for larger
>> file sizes or unaligned writes.
>>
>> Followup questions:
>> --------------------------
>>
>> a) I think we should have some workload traces or patterns so that we can
>> benchmark SMR drives and make allocator more SMR friendly. In particular -
>> i) size of files,
>> ii) alignment of files
>> iii) % read / write/ delete workloads
>> iv) degree of parallelism in writing.
>>
>> b) SMR Drive has a notion of parallel writes - i.e. multiple zones can be kept
>> open and written to simultaneously. I do not think there are multiple heads
>> involved but internally there is some form of "efficient parallel write to zone"
>> mechanism in SMR. I am thinking about this because when we query SMR
>> drive information, it shows that most effieicnt number of zones can be
>> parallelly kept open = 128 .
>> Maybe this is something that we can take advantage of?
>>
>> Thanks and Regards,
>> Shehbaz



-- 
Shehbaz Jaffer
First Year Graduate Student
Sir Edward S Rogers Sr Department of Electrical and Computer Engineering
University of Toronto
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux