Author Topic: PixInsight Benchmark  (Read 64227 times)

Offline dzso.bacsi

  • Member
  • *
  • Posts: 67
Re: PixInsight Benchmark
« Reply #15 on: 2014 May 13 01:04:55 »

Offline georg.viehoever

  • PTeam Member
  • PixInsight Jedi Master
  • ******
  • Posts: 2132
Re: PixInsight Benchmark
« Reply #16 on: 2014 May 13 01:50:20 »
I have a triple-booting system (Win7/Linux/OSX) so I thought it would be fun to benchmark PixInsight on the same hardware with each OS.  If you ever needed an incentive to move to Linux, this is it.  Summary of total performance by OS:

Windows 7 x64 Ultimate: 2541
OSX Hackintosh with Mavericks v9.2 x64:  2827
Linux Fedora x64: 5833  <--Damn
...
Eric,
the swap transfer rate for windows is extremely slow (150 MiB/s) compared to the one reported by Linux (2800MiB/s). It seems that in reality Linux is writing to RAM, whereas Windows is actually writing to the SSDs. If this is caused by Windows, then indeed Microsoft should do something about this. If this is PI on Windows, then Juan should work on this...

Georg
Georg (6 inch Newton, unmodified Canon EOS40D+80D, unguided EQ5 mount)

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: PixInsight Benchmark
« Reply #17 on: 2014 May 13 03:59:49 »
Hi,

In first place, thank you very much for participating in this benchmark project. I didn't expect such a success! Now I'll have to improve the benchmark page with more advanced search and listing options, considering the large amount of reports :)

Quote
the swap transfer rate for windows is extremely slow (150 MiB/s) compared to the one reported by Linux (2800MiB/s). It seems that in reality Linux is writing to RAM, whereas Windows is actually writing to the SSDs. If this is caused by Windows, then indeed Microsoft should do something about this. If this is PI on Windows, then Juan should work on this...

The Linux kernel uses free RAM to cache disk accesses. With its default configuration, the kernel can use almost all RAM available as a huge I/O cache if necessary. The kernel decides when and how to actually write the cached data to disk, following a strategy to minimize system interruptions and maximize efficiency of disk transfers. On journaling filesystems such as ext3, ext4 and xfs, the disk cache also minimizes the risk of data loses in the event of a system crash or power cut.

When I designed the PixInsight benchmark, I gave special importance to measuring disk swapping performance accurately. Remember that the benchmark attempts to be a quality estimate of the actual user's experience, not just a speed test. The benchmark basically consists of three phases:

1. Apply a sequence of processes, including highly parallelized processes, some processes that don't favor parallel execution, as well as processes that generate swap files of varying sizes (from 3 GiB to 10 MiB, unordered).

2. Undo all the processes applied in step 1. This massive undo task reads all swap files, so this may force the cache to dump most of its data to disk. However, an intelligent cache system may decide to read directly from memory if part of the data still haven't been written to disk. This is what the Linux kernel does, and it does it very well.

3. Apply the same processes of step 1 again. By doing this, all the swap files generated in step 1 have to be deleted, which necessarily invalidates the whole cache and forces it to start a new sequence.

The code that implements swap file management is exactly the same on all platforms, so PixInsight makes no distinction. The benchmark results reflect the actual performance of each machine and operating system.

Efficient disk caching is a very nice feature of the Linux kernel that greatly improves the user's experience with applications that have to manage huge volumes of data, such as PixInsight. This is especially true on machines with large amounts of RAM in the range of 32 to 64 GiB or more. When combined with PixInsight's parallel swap disk access feature, the performance gains can be spectacular. As far as I know, Neither Windows nor Mac OS X implement this kind of RAM cache, or perhaps it can be enabled on these operating systems, but I don't know how. I am not sure about FreeBSD either (Conor?).
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline georg.viehoever

  • PTeam Member
  • PixInsight Jedi Master
  • ******
  • Posts: 2132
Re: PixInsight Benchmark
« Reply #18 on: 2014 May 13 04:46:07 »
....As far as I know, Neither Windows nor Mac OS X implement this kind of RAM cache, or perhaps it can be enabled on these operating systems, but I don't know how. I am not sure about FreeBSD either (Conor?).
I am not a Windows OS expert, but basically all reasonably modern operating systems do some kind of file caching -including Windows. I really wonder why it appears to be so ineffective for Windows.

On my Windows system in Drive C/Properties/Hardware/Drive/Policies I find that there is a "Turn off Windows write cache buffer flushing on this device" setting. There are warnings about data consistency associated with it. It is deactivated by default. I wonder if this might be one of the causes for the mediocre performance on Windows...

Georg
Georg (6 inch Newton, unmodified Canon EOS40D+80D, unguided EQ5 mount)

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: PixInsight Benchmark
« Reply #19 on: 2014 May 13 06:43:38 »
Quote
Turn off Windows write cache buffer flushing on this device

I would NOT disable buffer flushing, at least not for any drive where the stored data are important. This may cause data corruption in the event of a system crash, including corruption of system files which may leave the system unusable or cause big problems on Windows. Note that this is not the same as the massive disk access cache implemented by the Linux kernel. Linux flushes the cache periodically in the background.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline sreilly

  • PixInsight Padawan
  • ****
  • Posts: 791
    • Imaging at Dogwood Ridge Observatory
Re: PixInsight Benchmark
« Reply #20 on: 2014 May 13 09:01:20 »
Good fun but I think one has to interpret the results with care. There are some very high scores due to use of RAM disks as swap disks but that only works if the swap files are smaller than the (probably) limited size of the RAM disk.


Bob,

Maybe I'm not tech savvy enough but my understanding was that SSD drives would not be a good choice for swap drives as the effect of many read/writes would be harmful over time to the drive itself. At least that's what I thought the reasoning was behind not defragmenting SSD drives. Am I confusing this with another SSD drive issue? I've got both the laptop and desktop system booting off the SSD drives and mainly have the programs installed on them. Data files and so on are on standard 7200 WD drives. On the desktop I have two drives being used for swap drives. The laptop has a mSATA SSD and a 500 GB Hitachi drive. At the time I built the desktop system 16 GBs was the largest matched memory kit available so that's what it runs on now. The laptop was brought up to 24 GBs.

Steve
Steve
www.astral-imaging.com
AP1200
OGS 12.5" RC
Tak FSQ-106ED
ST10XME/CFW8/AO8
STL-11000M/FW8/AO-L
Pyxis 3" Rotator
Baader LRGBHa Filters
PixInsight/MaxIm/ACP/Registar/Mira AP/PS CS5

Offline eneilson

  • Newcomer
  • Posts: 6
Re: PixInsight Benchmark
« Reply #21 on: 2014 May 13 09:11:02 »
Thanks Juan for the in depth details on the disk caching.  It looks like neither OSX nor Windows implement an optimum swap scheme although OSX does a slightly better job than Windows.  Linux seems to improve CPU performance as well.  For simplicity, here are the three main benchmark stats for each OS run on the same hardware platform. I did some anecdotal tests of some old image data on Linux and I'm seeing real world gains in processing speed.

Win7:
- Total Performance: 2541
- CPU Performance: 4810
- Swap Performance: 863

OSX:
- Total Performance: 2827
- CPU Performance: 4681
- Swap Performance: 1090

Linux:
- Total Performance: 5908
- CPU Performance: 5133
- Swap Performance: 15703
 
Eric

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: PixInsight Benchmark
« Reply #22 on: 2014 May 13 09:56:34 »
Steve,

For desktop/workstation use, endurance is not a practical concern with modern SSD drives, even with TLC drives. When we designed our current main workstation, we decided to use two Samsung SSD 840 EVO drives of 1 TB each as the main system disks. As described on this report on AnandTech, one of these disks would require about 32 years to die at 100 GiB of writes per day. The whole computer will be completely obsolete much earlier than when one of these disks becomes problematic due to excessive p/e cycles, so endurance is definitely not a practical problem.

Using SSD drives for swap file storage is the best way to boost your PixInsight experience; I strongly recommend them for this use.

That said, the source code of the whole PixInsight platform is on RAID 1 arrays of enterprise-class HGST hard disks... just in case :)
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline Bob Andersson

  • Member
  • *
  • Posts: 67
Re: PixInsight Benchmark
« Reply #23 on: 2014 May 13 10:01:24 »
Hi Steve,

I think more modern mass-market SSDs are better than the first/second generation ones but I'll leave that discussion to those who actually use them. I've sidestepped the issue by going entirely for enterprise SSDs which are designed for this sort of workload, both in terms of overprovisioning and firmware, even though they don't boast headline grabbing peak transfer rates.

My workstation has been running for about eight months now and my C: drive, a single SSD controlled by the motherboard and so benefiting from Windows TRIM support has, for a transfer size of 8192 KB and length of 256 MB, write and read speeds of 480421 and 497102 KB/sec, as reported by ATTO (486957 and 499414 eight months ago). My D: drive is 4 SSDs as RAID 0 hanging off an LSI MegaRAID controller (so no Windows TRIM support) and hosts most of my applications, their swap files and the Windows swap file as well as the PI swap file. The equivalent benchmark numbers are 1652927 and 1665232 (1665232 and 1669374 eight months ago) and, as expected, are almost four times faster than a single drive. Today's figures are with the machine having been running for about 11 hours whereas eight months ago the test was done shortly after initial boot so I think the differences are essentially meaningless.

At first glance this may seem off-topic but I think the moral is that SSDs are perfectly valid choices as PI swap drives. Why did I go for very expensive enterprise drives? Well, and this is definitely veering off-topic, I was lucky enough to be able to afford them and I predict I'll still be using the same workstation in 15 years time as I believe CPU performance has effectively plateaued but that's not a topic for this thread or, probably, this forum!

Bob.

P.S. The purists might have other suggestions for hard disk benchmark software but ATTO is what I originally used and is pretty consistent so I think the comparisons are good enough.

Edit: Typo corrected!
« Last Edit: 2014 May 14 01:26:30 by Bob Andersson »
TEC 140 'scope, FLI ML16803 camera, ASA DDM60 Pro mount.

Offline bitli

  • PTeam Member
  • PixInsight Guru
  • ****
  • Posts: 513
Re: PixInsight Benchmark
« Reply #24 on: 2014 May 13 10:01:53 »
Submitting the benchmark from the main PC I get the error:

Code: [Select]
Sending benchmark data to server...
323 of 323 bytes transferred (100%) *** Error: response code = 406
Error: No such file, or file download error (response code = 406): https://pixinsight.com/benchmark/cgi-bin/v1/benchmark-submit.php?serialNumber=<OBSCURED-JUST-IN-CASE>Pversion=1.00.07cpuVendor=GenuineIntelcpuModel=Intel%28R%29%20Core%28TM%29%20i7%20CPU%20%20%20%20%20%20%20%20%20930%20%20%40%202.80GHzplatform=WindowsplatformBrief=WindowsoperatingSystem=Microsoft%20Windows%207%20ProfessionalcoreVersion=PixInsight%20Core%2001.08.01.1092%20%28x64%29numberOfProcessors=8totalMemorySizeKiB=12581360totalTime=172.629cpuTime=97.408swapTime=75.178swapTransferRate=220.474totalIndex=2725cpuIndex=3886swapIndex=1221machineInfo=Custom%20built%20desktopmotherboardInfo=Gigabyte%20GA-X58A-UD%25diskInfo=Samsung%20SSD%20830%20ATAcomments=PixInsight%20runs%20at%20priority%20High%20%28not%20system%20critical%29%2C%20all%20core%20for%20the%20benchmark%20%28usually%20reduced%20to%207%20core%29

with the serial number obscured (just in case ...).
It worked fine when sent from my portable computer from the same location.

-- bitli




Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: PixInsight Benchmark
« Reply #25 on: 2014 May 13 10:16:34 »
Quote
Submitting the benchmark from the main PC I get the error:

406 means that the data sent are unacceptable for some reason, so this might be a bug in the script but I cannot reproduce it. If you disable secure connections, does the same problem happen?
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: PixInsight Benchmark
« Reply #26 on: 2014 May 13 10:18:56 »
Quote
with the serial number obscured (just in case ...).

Everything is 100% public in the PixInsight benchmark (or it would be suspicious, which would pose doubts about its validity), so don't worry about publishing benchmark serial numbers beyond the fact that by doing this your benchmarks are no longer anonymous.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: PixInsight Benchmark
« Reply #27 on: 2014 May 13 10:40:53 »
Hi Bob,

Good fun but I think one has to interpret the results with care. There are some very high scores due to use of RAM disks as swap disks but that only works if the swap files are smaller than the (probably) limited size of the RAM disk.

On systems with large amounts of RAM, using RAM disks is a valid practical option for PixInsight swap files in my opinion. For example, with 64 GiB of RAM one can use a 24-GiB RAM disk and one or two SSD drives configured for parallel swap access. With three drives for example, this configuration would allow for 72 GiB of total swap storage while leaving 40 GiB of free memory.

Quote
Update: I've just checked the size of the "fits" file supplied with the benchmark. At 10.6 MB it's tiny for an RGB image - my monochrome files are 32 MB straight from the camera and the RGB of my recent M31 image sits at 384 MB. None of us would be happy with a benchmark that required such a large file before it could be run but maybe the supplied 10.6 MB file is so small that it comfortably fits in virtually all RAM disks, even the tiny ones, without any need for paging out to more permanent storage. If so then I think that significantly distorts the benchmark results.

The benchmark input file is small because it has to be distributed online. However, the script resamples it to 8192x8192 and 16384x16384 pixels several times. This requires 768 MiB and 3 GiB respectively, both in memory and on swap disks. The total amount of required swap space is about 5.5 GiB. I wouldn't say that a 16Kx16K RGB 32-bit floating point image is something small :)
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline Alejandro Tombolini

  • PTeam Member
  • PixInsight Jedi
  • *****
  • Posts: 1267
    • Próxima Sur
Re: PixInsight Benchmark
« Reply #28 on: 2014 May 13 10:43:07 »
Hi.

I noticed this as well. I managed to solve it by unchecking the 'secure connections' option (as well as selecting the force image input download).

I suspect that the file may be available over http, but not https, or something like that  ;-)

Cheers -

Thanks, that works!!

Offline Bob Andersson

  • Member
  • *
  • Posts: 67
Re: PixInsight Benchmark
« Reply #29 on: 2014 May 13 10:54:46 »
Hi Juan,

Thanks for setting my mind at rest. I'm suitably contrite that I even raised the question.  :-[

So, "good fun" and an excellent discussion which will help users tune their PI workstations. Thank you to the team who put this together. :)

Bob.
TEC 140 'scope, FLI ML16803 camera, ASA DDM60 Pro mount.