On 21/08/2019 08:26, Claude Frantz wrote:
Hi all,

Starting with the disclosure of some vulnerabilities related to the operation of the CPU itself, some effort has been make changing the microcode, the BIOS, the operation of the OS. Some of these vulnerabilities are named spectre_v2, spec_store_bypass, mds, l1tf, spectre_v1, meltdown.

All these additions have reduced the performance of the computer systems, but this amount remain still obscure. Nearly in the same time, WSJT-X has evolute and many routines have been changed notably. Further, Qt5 has evolued too.

In the past, I was able to run WSJT-X in MSK144 mode with "Decode Menu" set to "Deep". After all the above mentioned evolutions, I can only run with "Decode Menu" set to "Fast" on exactly the same computer now. But all updates have always be included. Now, I have only limited performances in MSK144 on the save computer.

Now, I want to known which components have the most amount of responsibility in the degraded situation. I want to determine which modifications would restore better performances and of which amount.

I consider that we have to accept the degradation resulting from the changed BIOS and microcode, and from the change in the kernel code. But the comparison of CPU's becomes more difficult.

But what increase of performance would result in changing from the 32 bit to the 64 mode ? Would the increase of RAM space produce a better performance ? Would the increase of the number of CPU's (of the same speed) give me better performance ? Would the increase of speed of the same number of CPU's give me better performance ? Is it better to avoid the hyper-threading mode ?

Many questions, but what is your opinion ?

Best wishes,
Claude (DJ0OT)

Hi Claude,

the first thing you must do is to check you are comparing like with like. The FTol parameter has a major bearing on the consumption of CPU resource in MSK144 reception mode, unless you are comparing performance between versions using the same value for FTol you are not doing a valid test.

With respect to the performance advantage of using a 64-bit instruction set, the considerably larger number of general purpose CPU registers allows compilers to emit more efficient code where values in registers are not having to be copied to RAM and back to free registers for other computations (register spills), this can have a significant advantage in CPU bound algorithms like the MSK144 decoder. I believe there is also some advantage in that the emulation of 32-bit instructions on a 64-bit processor is not cost free compared with running the same code on a 32-bit processor. The extra address space when using a 64-bit processor is not particularly beneficial to WSJT-X, although on a machine running many processes, hard memory page faults are less likely if all processes can have more of their memory pages in physical memory. Extra unused physical memory addressable in a 64-bit processor system should be used by the operating system for file cacheing and that in turn will speed up disk I/O bound processes, possibly freeing up CPU resource to other CPU bound processes.

With respect to Qt5, there are not really any routines in WSJT-X that are CPU bound while using Qt code. The parts running Qt code are virtually all I/O bound mostly waiting for user input or updating the display in response to I/O based events.

On the recently revealed, and mostly mitigated, vulnerabilities you mention; they are in the domain of the operating system kernel rather than the BIOS or firmware until the real fix via newer processor generations are adopted (9th generation "Coffee Lake" in the case of Intel Core CPUs). The kernel mitigations involve some level of pessimization with the slow down being greatest on the oldest processor models, expected performance impacts of mitigations are between 30% down to as low as 2% on newer CPUs like the 8th generation "Coffee Lake" Intel Core CPUs.

73
Bill
G4WJS.



_______________________________________________
wsjt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to