CPU: What is more important when reading from HDD, processor speed or number of cores?

-3

I am considering which NAS to purchase, a Synology DS418play or DS419play.

The former has a Dual Core 2.0 burst up to 2.5 GHz, and the latter has a Quad Core 1.5 burst up to 2.3 GHz.

In either case, I will use 4x 7200 rpm HDDs, in SHR-1 mode (roughly RAID-1). Main purpose is accessing media files from a computer browser (however not transcoding media).

Onto the actual question: when deciding between processor speed vs. number of cores for getting the best reading performance out of hard drives, which is more important? Is the system such that it typically uses only one core for reading a drive, or does it use multiple cores for multiple drives? For instance, if it always uses only one core for reading all drives, that would indicate to me that processor speed is more important.

NB: This is not a request for purchase recommendations, e.g. it's not necessary to weigh in extraneous factors such as price. Mainly processor speed/number of cores and how they relate to performance in terms of SHR-1/RAID-1 is pertinent.1


1(There isn't really much of a price difference between the two models, so it's not a factor for this discussion. The former is aimed more to home-users and the latter is aimed to small business-users. I am a home user, so the NAS will not see concurrent users. But I am however interested in getting the best read/write possible with these drives.)

Winterflags

Posted 2018-09-26T17:17:09.573

Reputation: 958

What's really important is an SSD or M.2 then you won't need 4 of them. RAID 1 is mirroring so your not gaining any capacity. You state your primary concern is speed vs CPU for hdd(s). A single M.2 will clobber your entire array for speed. – cybernard – 2018-09-27T03:04:57.843

Answers

2

Not knowing the internals of the firmware of both disks I can only speculate, based on my general knowledge of operating systems.

The firmware of a NAS disk is a small operating system which receives requests over one interface from the computer driver, that handles in parallel as many requests as there are disks on the NAS, returning answers over this same interface.

The NAS will then have two queues : for incoming requests and outgoing answers. The basic processes that will be running in the NAS are then :

  • Communication driver with the computer, handling both queues, or two such if send and receive are distinct processes
  • Processors for requests, at least as many as there are disks in the NAS, and perhaps double that number if they are specialized in read or write operations but not both.

This means that in order to handle one stream of sequential requests from only one process on the computer you will only need two cores.

However, the CPU speed of the cores is probably not of much importance, since the major time will surely be spent waiting for the head of the disk to position itself over the plate, and then by the transfer time.

CPU speed will only manifest when searching the inbuilt cache buffer for read requests to avoid accessing the disk if the data is already in memory, which is probably negligible.

In your case also, the difference between 2.5 and 2.3 GHZ is not that large as to make a big difference compared with other factors such as seek time and transfer time.

It may seem that for a single user of modest usage, both NAS are of equivalent performance, since two cores are enough for handling one request at a time.

However, it is easy enough to construct a scenario where a quad-core is better. Take for example the copy of a multi-gigabyte file onto the NAS. The operating system will read as much as possible into cache memory, maybe even the entire file, then write it out using multiple parallel requests to the NAS. In case of RAID, the computer disk driver will distribute the file among as many disks as are available. For example, for two disks the write will terminate at half the time if both work in parallel. A quad-core will do better in such a scenario.

Therefore I would tend to choose the quad-core as being less limited in situations of heavy I/O.

harrymc

Posted 2018-09-26T17:17:09.573

Reputation: 306 093

The NAS devices he's talking about are multimedia hubs that do a lot more than NAS devices have done historically. They transcode and stream media. They use software RAID, external storage devices, manage VPNs, interact with cloud services, and so on. – David Schwartz – 2018-09-26T17:50:46.487

1@DavidSchwartz: True, I didn't take transcoding into account, which is the costliest among your list. This then depends on the kind of usage that the poster intends doing, as more functions add more required processes. If he is going to use some of these functions, then a dual core will certainly not do the job. My basic answer is still that for modest uses both are good, but for anything more ambitious the quad is better. – harrymc – 2018-09-26T17:59:42.987

The OP indicated he's most concerned about read/write speeds for a single user. Likely the CPU won't make all that much difference in this unless he loads the box with high-end SSDs. I've had NAS boxes with slow CPUs though and they really suck even for a single power user. – David Schwartz – 2018-09-26T18:04:06.740

@DavidSchwartz: The difference between 2.5 and 2.3 GHZ is not that large. – harrymc – 2018-09-26T18:38:20.750

Sure, but the difference in actual performance (or even actual clock speed) between a CPU with a burst limit of 2.3 GHz can be significant compared to a CPU with a burst limit of 2.5 GHz. With the same heat sink, if heat is a factor, they may even perform identically. Those are just the wrong numbers to be comparing. Cache differences, instruction set differences, architectural differences, are all more important. If you care about performance, you compare measured performance. – David Schwartz – 2018-09-26T18:47:37.220

The number of disk heads are not related to performance aspects as you claim. – sawdust – 2018-09-26T18:51:10.233

@sawdust: Explain yourself, since each head is autonomous, so X heads can perform X seeks in parallel. – harrymc – 2018-09-26T19:05:33.050

@harrymc "each head is autonomous" -- No, the entire R/W head assembly moves as a single unit. There's only one actuator, so there's no such thing as "seeks in parallel". Only one R/W head is used at a time. There have been a few dual-ported drives with two actuators, but those are rare. – sawdust – 2018-09-26T19:16:28.880

@sawdust: I find you are actually right for PC disks. The last time I have looked at disk structure was on a large mainframe, but such disks are apparently too costly for consumers. However, I remark that consumer disk manufacturers are now moving in that direction also and such disks are now emerging. In any case, in a multi-disk NAS my argument still works, but the number of heads should be replaced by the number of disks. I modified my answer. – harrymc – 2018-09-26T19:26:48.793

@harrymc -- There's still an inaccurate reference to "as many requests as there are heads". FWIW the bulk of my disk experience was with 14" SMD drives, and not PC drives. – sawdust – 2018-09-26T20:13:17.153

1

What matters is the CPU's actual performance. How it achieves its performance doesn't matter.

This question is like asking whether the number of cylinders a car has or the displacement of its engine is more important. Who cares? Unless you design and build cars or are really into the technology, what matters is horsepower, acceleration, and measured performance.

Lookup the performance of the two CPUs on a benchmarking site to see how well they perform. They can have radically different internal architectures that can make details like clock speed and core count impossible to compare.

David Schwartz

Posted 2018-09-26T17:17:09.573

Reputation: 58 310

For what it's worth, they use the Intel Celeron J3355 and J3455 respectively. I.e if architecture was not a part of the question, would higher processing power or dual core be better when reading a HDD? – Winterflags – 2018-09-26T20:54:29.080

@Winterflags And the answer would still be that the faster CPU would be faster. Whether it was faster because it had more cores or because it had a higher clock speed wouldn't matter. Why would it matter how/why it was faster? – David Schwartz – 2018-09-26T21:04:48.483