Monday, 20 February 2017

WSJT-X, MSK144 and low processing power

OK, this one is for the computer nerds out there, so for general amateur radio listeners it may not be in the main stream of this blog.

ASSERTION:- Running WSJT-X with MSK144 mode is very heavy on computer power, but particularly on computers with AMD processors.

I can only make this assertion based on my own experience of 4 computers.

I started to have problems with computer 1, my standard office machine. Then I drafted in machine 2, a higher specification "gaming" machine, which was better but not great. That got me thinking and it planted in my head the fact that both this machines have AMD chips. I did not have an Intel machine around, but I did try my Windows tablet, which has a tiny single core Intel Atom processor and it seemed to work.

Then I built up computer 3, a purpose made model with a fast gaming motherboard which I specifically built to allow me to test a fast machine. It has high speed discs and SATA 3.0 cabling to stop other processes slowing down WSJT-X. Despite all this is was not much better.

So, to answer the question one way or the other I bought a cheap Intel based computer second hand from eBay for £79. This came with a Celeron processor which I changed for a 4 core Intel i5 running at 3.3GHz and added as much RAM as I had or could rummage from dead PCs - 6Gb. If this could run WSJT-X and MSK happily then my assertion was probably right - then I could reasonably say that it is the AMD ones which don't cope well with it.
Click to enlarge (as usual)
The cheap refurbished Intel machine ran just fine. It was far better than any of the better specified AMDs.

So what do I mean by "problems with WSJT-X and MSK144"?
Top two traces - MSHV fine. Bottom two traces WSJT-X cutting short. Both running MSK on AMD machine 2.
Well, the image above (click to enlarge if you need to) shows at the bottom WSJT-X being cut short before 12 seconds of the 15 seconds receive segment. For reference the top two traces show MSHV running at the same time to show that the audio and timing on the computer are OK. I had to cut the upper trace in each about half a second short to stop the traces renewing, but you can see the difference on the upper traces too.

I am not talking about clipping half a second off the odd trace when there was a transient load on the processor. When I say "problems" I mean routinely chopping the end off the received trace every 15 seconds. This would be half a second minimum, often two or three seconds. That is enough to waste a lot of time on meteor scatter contacts.

I would expect other momentary demands on the processor to shorten the trace very slightly once in a while and that would be a "slight" problem, but honestly I would regard that as perfectly acceptable. Here we were seeing significant shortening happening all the time.

I did a lot of work to try to identify what was happening. With the AMD machines the processor load was relatively high compared to the Intel one, even though the AMDs were all far more capable machines. However, when I got to machine 3 there was plenty of unused processor capacity, plenty of unused RAM and the discs were idling. It seemed that adding more speed, cores, or anything to the AMD machines was getting me nowhere. There seems to be something in the architecture of the system which is causing a bottleneck.

By contrast here is a screen shot of two instances of WSJT-X running on the simpler Intel machine (number 4)
Not a second dropped from either trace.

By that way, in case you think that I was working LU on 6m, that was on 40m JT9, and I had switched over modes and bands without erasing the screen.

It actually got to the point before I tried the Intel PC where, if I tried two instances of WSJT-X and MSK144 on the AMD machines I could shorten the segments to 6.5 seconds, at which point the % processor time showing in WSJT-X had exceeded 200%, the PC processor was overheating and I stopped before something blew up. Shutting down did not prevent the PC crashing. I'll spare you that photo. It certainly looked as if three good fast AMDs had a problem where a modest Intel rescued from a skip seemed to run almost faultlessly.

So do I have enough information to definitively say that all AMD processors have  a problem running WSJT-X with MSK144. Probably not. Just four machines compared here. Do I suspect that this is an issue? Yes. But suspicion is not proof.

If you use WSJT-X and do not use the MSK144 mode, this need not worry you. The other modes do not have real time decoding and are not an issue to even a slow computer. However, if it was me advising on a new computer for WSJT-X and MSK144, I would advise an Intel processor.

In fact, something second hand "Intel Inside" from eBay looks like a good bet.

I do not know why I bothered with all those fancy machines.

Seriously though, a moderate specification Intel machine should be fine. Multi-core, maybe 3GHz+, as much RAM as you can afford (or scavenge - you can buy more second hand on eBay if your machine can run it). WSJT-X does not use the discs much but beware of other processes going on at the same time, so the better specification you can muster the better. It need not break the bank and I will cover shack PCs shortly in another posting.

If anyone else has experienced  shortened traces while running MSK144 I am sure we would all be keen to hear from them.

EDIT: Later I found that it is better to have multiple instances of WSJT-X feeding USB sockets on different USB hubs inside the computer. OK, so I have only used inboard USB sockets (outboard USB hubs are not good for this purpose), but clearly some on-board USB sockets also share hubs. So I put one rig on the USB3.0 hub, one on the motherboard USB sockats and another on a separate hub feeding an on-motherboard USB extension board. That seemed to solve the shortened trace problem. I suspect that sharing a hub means sharing bandwidth for the WSJT-X audio signal. 




  1. Excellent write up Jim. I hope that the developers will find the reason for this, and also will be interested to hear if anyone else has seen this kind of thing.

  2. Thanks David. I am hoping that anybody else searching on the internet for the key words in the title will find this. I did a search myself before doing anything else and it got no good links. I still wonder if I just happen to be unlucky. 73. Jim

  3. Hi Jim,

    can you tell us the model of AMD CPU that is exhibiting this poor performance. I think I know where the problem is but I need to confirm some details.


  4. I wonder if Linux would be a way of avoiding Windows hogging processing power - I haven't dared to venture into this area myself yet.

    I don't have any issues with my 2.8GHz I7 PC so long as Windows isn't doing updates.

    Good luck

    Richard GI4DOH

  5. Bill. Thanks. I have sent you an email which I hope arrives a the right place. For general interest:-
    1) AMD FX-4170 Quad 4.20GHz
    2) AMD FX-8350 8-core 4.0GHz
    3) AMD FX-6350 6 core 3.9GHz
    Richard. Yes, thanks. That adds another one to the Intel success list. We still await more word on the AMD failures. I think you are right in your observation that things will get shorter during updates etc. I would expect this unless you were using the huge capacity of the famous old ICL mainframe machine in ... history (though of course maybe we have outpaced it in home computing by now). Some clipping is inevitable as we can only provide for average use. However, it was pretty pronounced and constant on the AMDs.
    Maybe you get what you pay for in this world (Hilberling PT-8000B not withstanding).

  6. Hi Jim - I'm shopping for i5 computers and see there is a large range of performance specs for i5 chips. I wonder which model i5 you used?

    73 - Dick, W3OA

  7. Hi Dick

    It is an i5-2500 3.30GHz four core.

    The explanation for this spec is that I bought this processor a few years ago and used it in a fast gaming set-up for digital video editing. Then the PSU blew and mangled the board.

    Pretty well everything was messed up except the processor. So I left it for a while and then bought a second hand (used) computer from eBay and stole the GigaByte mother board from it, replacing everything else.

    So you can probably get better i5s now, for a fair price, than the one I have. But I had it, and I might as well put it to use.

    I guess you know what you are doing and you hardly need many tips from me. But I would just add that if you are going to use any mode with WSJT-X 1.7 except MSK144 then a simpler set-up will probably do. For MSK144 my machine does work, and only shortens the MSK trace occasionally.

    You have the right plan to seleect your own components. Key to the whole thing as far as I can see is to get a good balance between a good board, capable processor, enough RAM, 6.0Gb SATA leads, and nice fast discs. It doesn't mean that everything has to be high spec, but that when you look on Resource Manager then nothing is holding it all up.

    What I did was start with old disks and small RAM, and then upgraded until everything was in nice balance with the processor.

    Good luck and see you on the bands.



  8. Thank you for your quick reply. It is a great help.

    Yes, looking to run MSK144 at a multi op contest station this June. Lots to learn between now and then.

    73 - Dick, W3OA