Current-Users archive

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

Re: AMD Ryzen and NetBSD?

On 03/07/2017 05:34, Thor Lancelot Simon wrote:
On Sun, Jul 02, 2017 at 10:57:20PM +0100, Patrick Welche wrote:
On Fri, Jun 30, 2017 at 12:00:45PM -0400, Thor Lancelot Simon wrote:

I shoved a rather newer ST2000DM001-1CH164 in, which according to its
marketing bumpf can manage "Max SustainableTransfer Rate 210MB/s"
and not so bad:

# dd if=/dev/zero ibs=64k | progress -l 976751887b dd of=/dev/rdk15 obs=64
  99% |********************************** |   465 GiB  116.74 MiB/s    00:00 ETAd

This is already effectively double buffered, because of the way you used
"progress".  You could try using a larger blocksize for the reads from
/dev/zero (1m perhaps) and also for the writes to rdk15 - the kernel
will buffer up and dispatch the MAXPHYS sized I/Os.

To get 200MB out of that drive you likely need larger writes, which we
currently can't do.  It might perform slightly better through the
filesystem, though.
I have almost the same disk in my NetBSD 8 BETA system:
wd0 at atabus0 drive 0
wd0: <ST2000DM001-1ER164>

It can sustain 210MB READING but I doubt it will be as fast writing. Hard drive manufacturers tend to quote read speeds over write speed as they are much faster. Looking at the ST2000DM1 datasheet confirms that. The sustained read speed is indeed 210MB/s with an average data rate (mixed reads and writes of 150MB/s). Based on past experience the write speed you are seeing is about par for the course in any system. The MB used by disk manufacturers is decimal for capacity and I wouldn't be surprised if they used it for transfer rates as well as it would make the drives look faster.

Heres the spec I looked at.

I can't do a write test at the sector level as its my system disk but doing:

# dd if=/dev/rwd0d bs=64k of=/dev/null
^C44897+0 records in
44897+0 records out
2942369792 bytes transferred in 14.094 secs (208767545 bytes/sec)

Pretty close to the claimed sustained transfer speed. Did a fileystem level write test at 2 different sizes and got:
dd if=/dev/zero of=testme bs=64k
^C18708+0 records in
18707+0 records out
1225981952 bytes transferred in 11.679 secs (104973195 bytes/sec)

dd if=/dev/zero of=testme bs=1m
^C^C3828+0 records in
3827+0 records out
4012900352 bytes transferred in 38.780 secs (103478606 bytes/sec)

For reference this is on an I i7 system:

cpu0: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz, id 0x306c3

So seems like the Ryzen has comparable IO performance to a 6th generation intel i7 and is being speed limited by the disk.


Home | Main Index | Thread Index | Old Index