Author Topic: PC for software development - recommendations please!  (Read 6394 times)

0 Members and 1 Guest are viewing this topic.

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14464
  • Country: fr
Re: PC for software development - recommendations please!
« Reply #50 on: June 04, 2023, 10:59:33 pm »
Nevertheless, my next desktop/HPC machine will have dual SSD for storage; partially RAID-[01].  I have some very large continuous datasets (hundreds of megabytes) that I'd like to see how fast I can chew trough, mostly MD simulations and such; I'm really looking forward to 1GB/s+ transfer rate for those...

A reasonably good single NVMe SSD on PCIe 4.0 will give you close to 7GB/s. And on PCIe 3.0 about half of that. Of course on large transfers, not small random blocks.
 

Online Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6253
  • Country: fi
    • My home page and email address
Re: PC for software development - recommendations please!
« Reply #51 on: June 05, 2023, 12:04:05 am »
Nevertheless, my next desktop/HPC machine will have dual SSD for storage; partially RAID-[01].  I have some very large continuous datasets (hundreds of megabytes) that I'd like to see how fast I can chew trough, mostly MD simulations and such; I'm really looking forward to 1GB/s+ transfer rate for those...

A reasonably good single NVMe SSD on PCIe 4.0 will give you close to 7GB/s. And on PCIe 3.0 about half of that. Of course on large transfers, not small random blocks.
I dropped a zero there, I think!  :D

My current SSD, Samsung PM961, maxes out at 3 GB/s.  I've been looking at the Samsung 980 Pro series, which also has about 3x the 4k random read rate than PM961, which should help in compiling things.  (I am aware of the 3B2QGXA7 firmware being a big problem.)
It'd also be very interesting to see if RAID-1/mirroring still helps in random small file read cases in Linux, like compiling stuff.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14464
  • Country: fr
Re: PC for software development - recommendations please!
« Reply #52 on: June 05, 2023, 01:57:52 am »
Nevertheless, my next desktop/HPC machine will have dual SSD for storage; partially RAID-[01].  I have some very large continuous datasets (hundreds of megabytes) that I'd like to see how fast I can chew trough, mostly MD simulations and such; I'm really looking forward to 1GB/s+ transfer rate for those...

A reasonably good single NVMe SSD on PCIe 4.0 will give you close to 7GB/s. And on PCIe 3.0 about half of that. Of course on large transfers, not small random blocks.
I dropped a zero there, I think!  :D

Ha, then sure!

It'd also be very interesting to see if RAID-1/mirroring still helps in random small file read cases in Linux, like compiling stuff.

I'd be curious to see that. How could RAID-1 achieve that?
 

Online Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6253
  • Country: fi
    • My home page and email address
Re: PC for software development - recommendations please!
« Reply #53 on: June 05, 2023, 02:44:30 am »
It'd also be very interesting to see if RAID-1/mirroring still helps in random small file read cases in Linux, like compiling stuff.
I'd be curious to see that. How could RAID-1 achieve that?
On software RAID-1, the kernel does a read on only one drive, not both.  Remember, there is no compare on reads.  Although writes must be duplicated on both drives, reads only access one of the drives, so as long as the workload is mostly reading small files and the I/O scheduler is smart enough to read from both drives, the overall small file random 4k-reads-per-sec increases.  In theory, it doubles.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14464
  • Country: fr
Re: PC for software development - recommendations please!
« Reply #54 on: June 05, 2023, 03:12:44 am »
so as long as the workload is mostly reading small files and the I/O scheduler is smart enough to read from both drives,

That's the part I had no idea about. Does it actually do this?
 

Offline paulca

  • Super Contributor
  • ***
  • Posts: 4046
  • Country: gb
Re: PC for software development - recommendations please!
« Reply #55 on: June 05, 2023, 09:56:05 am »
3D Mark uses semi-sythetic real world loads to benchmark disks.

Here's mine from this morning:
https://www.3dmark.com/3dm/95229506?

That is a PCI-E Gen 4 Mv.2 drive on a Crosshair Hero 8
« Last Edit: June 05, 2023, 09:58:12 am by paulca »
"What could possibly go wrong?"
Current Open Projects:  STM32F411RE+ESP32+TFT for home IoT (NoT) projects.  Child's advent xmas countdown toy.  Digital audio routing board.
 

Offline nigelwright7557

  • Frequent Contributor
  • **
  • Posts: 689
  • Country: gb
    • Electronic controls
Re: PC for software development - recommendations please!
« Reply #56 on: June 05, 2023, 12:27:16 pm »
I'm inclined to believe the people saying that storage doesn't make much difference in typical build times, although SSD helps a lot with other things like git.
My PC boots in half the time with a M.2 SSD.
I have a 12600k, 20GB DRAM and it compiles hundreds of thousands of lines of code in a couple of seconds.
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4032
  • Country: nz
Re: PC for software development - recommendations please!
« Reply #57 on: June 05, 2023, 01:29:32 pm »
I'm inclined to believe the people saying that storage doesn't make much difference in typical build times, although SSD helps a lot with other things like git.
My PC boots in half the time with a M.2 SSD.
I have a 12600k, 20GB DRAM and it compiles hundreds of thousands of lines of code in a couple of seconds.

Sure, but once we got rid of Classic MacOS and Windows 95/98 we boot PCs once every couple of months, so who cares about boot times?
 

Online Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6253
  • Country: fi
    • My home page and email address
Re: PC for software development - recommendations please!
« Reply #58 on: June 05, 2023, 01:48:02 pm »
so as long as the workload is mostly reading small files and the I/O scheduler is smart enough to read from both drives,
That's the part I had no idea about. Does it actually do this?
Used to, on spinny rust drives over a decade ago, when seek times were measured in milliseconds.  Haven't tested it since.
 

Offline paulca

  • Super Contributor
  • ***
  • Posts: 4046
  • Country: gb
Re: PC for software development - recommendations please!
« Reply #59 on: June 05, 2023, 04:17:51 pm »
Sure, but once we got rid of Classic MacOS and Windows 95/98 we boot PCs once every couple of months, so who cares about boot times?

Yep.  Right up until the tripled the cost of electric here.

Then all (4 PCs) those 5-10W of sleep power had to go.  They now all get shut down.  Except the linux server.

At the moment, it takes my monitors longer to wake up to the new signal than it does for windows to boot.  I might see BIOS, then the monitor goes into it's black screen while EUFI enables the framebuffer to show the spinner screen with windows logo, however I rarely see it because the PC boots to the login screen faster than the monitor reconnects to the framebuffer.... especially as windows resets it again before displaying the login screen.
"What could possibly go wrong?"
Current Open Projects:  STM32F411RE+ESP32+TFT for home IoT (NoT) projects.  Child's advent xmas countdown toy.  Digital audio routing board.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14464
  • Country: fr
Re: PC for software development - recommendations please!
« Reply #60 on: June 05, 2023, 09:00:21 pm »
It does make a significant difference for build times, obviously it depends on the exact thing you're building.
Large C++ files, for instance, tend to take a long compile time and in this case, file access time will only be a moderate factor.

For those using KiCad, this is a very easy to witness improvement, when opening the symbol and footprint editors for the first time in a session (so nothing cached yet.) Libraries have a ton of small files.
Opening the symbol editor (first time) when libraries are on a HDD (even the fastest one) will take up to 20s-30s. Yes, drives you nuts. On a SATA SSD, it will typically be around 5s.
On a NVMe SSD (which I have switched to for KiCad libraries now), it's almost instant. Makes a freaking great difference when you use KiCad a lot.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf