Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
Need the latest SmartSDR, Power Genius, Tuner Genius and Antenna Genius Software?
SmartSDR v3.8.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
SmartSDR v3.8.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Can SSDR utilize more than 4 processors in the Intel I7 CPU?
Answers
-
<quote>
What do you think?
</quote>
I'd be happy to participate, and lend whatever expertise I may have.
Peter
K1PGV0 -
@Peter, you and I, potentially, disagree on that one. Yes, SSDR will use them, as there is no way to pin cpu affinity. It totally remains to be seen whether it would run any better. I am not convinced it would. It would take more instrumentation that SSDR currently has to determine that. SSDR does not utilize thread pooling so it is difficult to tell what the actual CPU load is. Further, there is no way to know to what degree any thread is waiting for a CPU to become free, or it's time slice, or waiting for some external event. In the later case more processors aren't going to make the wait any less. And, as I said, too many threads cause excess context switching which actually hurt performance.
Those electing to purchase a Dell PowerEdge likely aren't doing it for SSDR. However, if they are runing SSDR along side Folding@home, then yes, the computer will run better with more cores, to a point. What I perceived to be the question was will SSDR run better with more than 4 processors. The wrinkle comes in if those four cores were running at 2.6GHz rather than 3.6GHz. It all comes down to queueing theory, which I highly recommend as a course people should take.
In, well, what I am writing, yes, there wil be more parallelism to utilize more processors. My assessment was, however, based on how SSDR is currently written. But, it is totally ok for us to disagree as, with the existing SSDR, neither can prove their point nor disprove the opposing viewpoint. "Up to some limit"...sure, I maintain that limit, with the existing SSDR, is around 4. So, in that sense, I think we are almost in complete agreement. Another factor is the presence and speed of the GPU(s) which is ancillary to SSDR but does speak to how quickly the physical screen is drawn.
In UX work, the rule of thumb was, don't know if it still is, if response time isn't twice as fast (or 1/2 depending on how you count it) it is imperceptible. At the end of the day, perception is reality. So how much perceived performance improvement would be gleaned from a bigger processor complex vs. a faster video card?
0 -
I believe you can pin a thread to a CPU core using the Win32 API SetProcessAffinityMask(): https://msdn.microsoft.com/en-us/library/windows/desktop/ms686223%28v=vs.85%29.aspx
However as you said, it's generally not beneficial from a performance standpoint. The OS thread dispatcher will automatically do a good job and is more flexible.
SmartSDR can use whatever number of CPU cores exist, however it is not CPU-bound so additional cores won't translate into noticeable UI performance improvements. This can be seen in the below Perfmon data I captured from SmartSDR.
Comments:
- CPU activity is relatively low, so additional CPU resources (either per-core or number of cores) would not produce improvement
- One thread consumes more CPU time, but is well within the capability of this system, a 4Ghz i7-875K Lynnfield CPU from 2010.
- Horizontal scrolling of the panafall display causes CPU spikes on a few threads, but is well within the capability of this system.
- SmartSDR display rate makes a significant difference in CPU consumption, but even at 30 frames/sec it's not that high.
SmartSDR per-thread CPU activity at varying frame rates: http://joema.smugmug.com/photos/i-gpJZG8z/0/XL/i-gpJZG8z-XL.jpg
SmartSDR per-thread CPU activity during horizontal scrolling: http://joema.smugmug.com/photos/i-rz9ZcCV/0/XL/i-rz9ZcCV-XL.jpg0 -
Good to know Joe, about the Win32 SetProcessAffinityMask. I would likely never use it as I think that could cause more harm than good. I run SSDR on a Dell XPS 15Z laptop. I run it with HRDLog, DDUtil, DM-780. I don't believe the CPU has ever gone to 100%. It does have an I7 with turbo-boost to 3.5Ghz. Way back when when Al and I were discussing passmark or whatever that thing was, that ranked the computer, not the app, I did get some interesting figures from perfmon. I was awed by the huge count of threads running in the system. For instance, there are separate threads allocated for TCP and UDP. Having more cores will not make the packets arrive faster, esp when the TCP traffic is running as a result of user input. Get it working, get it working correctly, and if, and only if, there is a performance problem, optimize the code hotspots. Ultimately, SSDR will never run faster than the UDP data arrival rate. If the inter datagram latency is longer than the processing and drawing tasks, one CPU would suffice. If the store clerk can ring out a customer before the next customer arrives, a second opened register is not beneficial.
0
Leave a Comment
Categories
- All Categories
- 260 Community Topics
- 2.1K New Ideas
- 538 The Flea Market
- 7.6K Software
- 5.9K SmartSDR for Windows
- 139 SmartSDR for Maestro and M models
- 368 SmartSDR for Mac
- 251 SmartSDR for iOS
- 226 SmartSDR CAT
- 175 DAX
- 345 SmartSDR API
- 8.8K Radios and Accessories
- 6.9K FLEX-6000 Signature Series
- 45 FLEX-8000 Signature Series
- 803 Maestro
- 43 FlexControl
- 838 FLEX Series (Legacy) Radios
- 753 Genius Products
- 424 Power Genius XL Amplifier
- 280 Tuner Genius XL
- 89 Antenna Genius
- 246 Shack Infrastructure
- 168 Networking
- 410 Remote Operation (SmartLink)
- 119 Contesting
- 642 Peripherals & Station Integration
- 116 Amateur Radio Interests
- 879 Third-Party Software