System Performance: Multi-Tasking

One of the key drivers of advancements in computing systems is multi-tasking. On mobile devices, this is quite lightweight - cases such as background email checks while the user is playing a mobile game are quite common. Towards optimizing user experience in those types of scenarios, mobile SoC manufacturers started integrating heterogeneous CPU cores - some with high performance for demanding workloads, while others were frugal in terms of both power consumption / die area and performance. This trend is now slowly making its way into the desktop PC space.

Multi-tasking in typical PC usage is much more demanding compared to phones and tablets. Desktop OSes allow users to launch and utilize a large number of demanding programs simultaneously. Responsiveness is dictated largely by the OS scheduler allowing different tasks to move to the background. Intel's Alder Lake processors work closely with the Windows 11 thread scheduler to optimize performance in these cases. Keeping these aspects in mind, the evaluation of multi-tasking performance is an interesting subject to tackle.

We have augmented our systems benchmarking suite to quantitatively analyze the multi-tasking performance of various platforms. The evaluation involves triggering a VLC transcoding task to transform 1716 3840x1714 frames encoded as a 24fps AVC video (Blender Project's 'Tears of Steel' 4K version) into a 1080p HEVC version in a loop. VLC internally uses the x265 encoder, and the settings are configured to allow the CPU usage to be saturated across all cores. The transcoding rate is monitored continuously. One complete transcoding pass is allowed to complete before starting the first multi-tasking workload - the PCMark 10 Extended bench suite. A comparative view of the PCMark 10 scores for various scenarios is presented in the graphs below. Also available for concurrent viewing are scores in the normal case where the benchmark was processed without any concurrent load, and a graph presenting the loss in performance.

UL PCMark 10 Load Testing - Digital Content Creation Scores

 

UL PCMark 10 Load Testing - Productivity Scores

 

UL PCMark 10 Load Testing - Essentials Scores

 

UL PCMark 10 Load Testing - Gaming Scores

 

UL PCMark 10 Load Testing - Overall Scores

The presence of a transcoding workload in the CPU cores makes handling other tasks an uphill task for low-power PCs. The PCMark 10 workloads above bring out that aspect. The ECS LIVA Z2 and LIVA Z3 are able to only handle the 'Productivity' and 'Essentials' workload components, while ending up with a timeout on others. Other than the 'Gaming' component, we see the June Canyon NUC being most effective at handling multi-tasking due to its actively cooled nature - it has the least performance loss across almost all PCMark 10 components.

Following the completion of the PCMark 10 benchmark, a short delay is introduced prior to the processing of Principled Technologies WebXPRT4 on MS Edge. Similar to the PCMark 10 results presentation, the graph below show the scores recorded with the transcoding load active. Available for comparison are the dedicated CPU power scores and a measure of the performance loss.

Principled Technologies WebXPRT4 Load Testing Scores (MS Edge)

The June Canyon's WebXPRT4 scores are well behind that of the Jasper Lake-based units under normal conditions. However, addition of the transcoding workload results in significant loss in performance for the latter set. The June Canyon has limited performance loss, with its active cooling probably allowing it to go the extra mile in the presence of heavy sustained workloads.

The final workload tested as part of the multitasking evaluation routine is CINEBENCH R23.

3D Rendering - CINEBENCH R23 Load Testing - Single Thread Score

 

3D Rendering - CINEBENCH R23 Load Testing - Multiple Thread Score

The June Canyon NUC with its active cooling comes out on top with the transcoding load active.

After the completion of all the workloads, we let the transcoding routine run to completion. The monitored transcoding rate throughout the above evaluation routine (in terms of frames per second) is tabulated below.

VLC Transcoding Rate (Multi-Tasking Test) - Frames per Second
  Enc. Pass #1 PCMark 10 WebXPRT4 Cinebench Enc. Pass #2
ECS LIVA Z3
(Pentium Silver N6000)
0.1541 0.1071 0.1294 0.1476 0.1424
ECS JSLM-MINI
(Pentium Silver N6000)
0.2223 0.1635 0.1635 0.2092 0.2216
ZOTAC ZBOX CI331 nano
(Celeron N5100)
0.3016 0.1943 0.1859 0.2025 0.1864

The transcoding rates drop down with simultaneous loading, as expected. For the JSLM-MINI, the first pass and second pass rates are pretty much equal, pointing to the absence of throttling. However, both the LIVA Z3 and the ZBOX CI331 nano suffer from reduced rates in the second pass - the internal temperatures are high enough for the CPU to  be throttled after extended sustained loading.

GPU Performance HTPC Credentials
Comments Locked

52 Comments

View All Comments

  • ganeshts - Wednesday, July 13, 2022 - link

    Are you aware of any boards / PCs with Elkhart Lake that supports in-band ECC? Vendors I talk to seem to indicate that there is some other feature X that gets disabled if you do in-band.. and that feature X is more important for their target market compared to in-band ECC. So, they do not enable in-band ECC in their products even if the processor supports it.
  • mode_13h - Thursday, July 14, 2022 - link

    > Are you aware of any boards / PCs with Elkhart Lake that supports in-band ECC?

    Sorry, I've not seriously investigated the matter.

    > Vendors I talk to seem to indicate that there is some other feature X
    > that gets disabled if you do in-band.

    Wow. I'd love to know more! I figured the main tradeoff was just one of performance (and probably a less significant hit on memory capacity). I wonder why they don't just make it a user-configurable option.

    TBH, I don't know specifics about how Intel implements it. I *assume* they simply set aside a chunk of physical address space to hold the ECC bits for the rest of the address space, but that's just a guess.
  • ganeshts - Tuesday, July 12, 2022 - link

    Looks like you will leave me with nothing to write about for the Atlas Canyon review coming up later this week :)
  • abufrejoval - Thursday, July 14, 2022 - link

    If you keep me updated on the things in your pipeline, I'll make sure not to spoil things ;-)
  • mode_13h - Thursday, July 14, 2022 - link

    But I love your posts! I'll bet < 1% of the article readers look this deep into the comments.
  • mode_13h - Wednesday, July 13, 2022 - link

    Nice review!

    I had one of those ASRock Apollo Lake boards, but never got it to work. It's possible the RAM I got was incompatible, but it was decent quality (Crucial, IIRC) and their website claimed it worked with that board.

    I was sad to see ASRock has no Jasper Lake-based successor, but TBH I'd rather have Elkhart Lake and its in-band ECC-support. I'm just now noticing that Asrock Industrial has some tasty looking options, there. Now, if I can just figure out where to buy a IMB-1003D...
  • abufrejoval - Thursday, July 14, 2022 - link

    NUCs can take quite a while for the initial boot, even the Core based models.

    If I hadn’t been distracted at the time, I’d have already given up on the Jasper Lake NUC working with 64GB: I had been ready to turn it off by the time it showed the logo! Must have lasted something like 30 seconds or so, just to test and tune the RAM, which was DDR4-3200 after all and not quite the DDR4-2900 specs it officially prefers.

    Actually, I really hate that vendors increasingly just program at most 2 settings into DIMMs these days, so you can’t recycle them on a different machine.

    Once you realized that bits can rot, it’s very difficult to forego ECC. The very first IBM-PCs had parity and I’m not sure when it got dropped from mainline. Once I started running PCs as home servers, I’ve tried to make sure they had ECC memory. My workstations are also all 128GB ECC.

    I bought the Atoms mostly to run QA for oVirt, not as a “production” platform: low cost and low power was key, ECC simply not an economically viable option.

    They have been running non-stop for years now, with a collective 128GB of RAM and no glitch that I have ever noticed...

    The first time I ever heard of inline ECC was in one of your posts here. After a short moment of “bug-eyed disbelief” it seemed to make sense in an era, when little ever happens in RAM below the granularity of a cache line: the days of truly random RAM where all accesses were equally …slow are long past us, I believe the original Compaq 386 was the first to exploit static column RAM.

    I believe RAM compression was also implemented by an IBM server chipset many years ago, memory encryption is available on every modern laptop, so inline ECC seems very believable and not extremely costly: I’d just love to have the choice!

    As a matter of fact, this gets me asking: Core chips seem to employ ECC practically everywhere on internal registers, caches and data paths, but do Atoms do likewise? I’d guess they would have to for the server variants, so leaving that out for the entry level chips seems almost extra effort, yet I can’t recall hearing any mention one way or another.

    I’ve been trying to buy an Alder Lake replacement for a Haswell Xeon server with ASRocks IMB-X1712 mainboard mentioned here that supports DDR4-3200 ECC RAM. Unfortunately that’s another phantom product that never seems available for sale.
  • mode_13h - Thursday, July 14, 2022 - link

    > Must have lasted something like 30 seconds or so, just to test and tune the RAM

    Does the BIOS have an option to disable it, or at least a "fast boot" option?

    > Once you realized that bits can rot, it’s very difficult to forego ECC.

    The places where you really want ECC are those where a memory error can get persisted in data of non-trivial value. On fileservers and database servers, it's a must (unless the data is virtually disposable or they're simply providing read-only access).

    In the worst case, a memory error can actually cause filesystem corruption. It's unlikely, but the thing to remember about memory errors is that they're not entirely random or isolated. A DRAM chip could conceivably fail in a way that suddenly results a large number of memory errors. This will usually crash the machine (if not using ECC), but you could plausibly suffer data corruption just before that happens.

    > I bought the Atoms mostly to run QA for oVirt

    My ASRock board was meant to replace my Raspberry Pi as a streaming media server, for in-home use.

    > The first time I ever heard of inline ECC was in one of your posts here.

    I'm pretty sure the first I'd heard of it was on here, as well. I had a similar reaction as yours, but the more I thought about it, the more sense it made. It'd be hard for me to prefer it when I could have the real deal, but not a bad compromise on something like an Atom-tier platform.

    > little ever happens in RAM below the granularity of a cache line

    Yeah, you could implement it by blocking off 1/8th of RAM (in truth, you'd only need 1/9th, but 1/8th would keep things aligned more nicely) and associating 8 bytes of ECC information per 64-bytes of physical address space. Depending how you implement it, the hit to memory bandwidth could be as little as 11%, for linear accesses.

    TBH, I'm a little more mystified by the concept of memory compression. I guess it'd have to be block based, perhaps decompressing whole pages at a time? Then, when you page fault, some kind of index tells you where the page starts. There'd no doubt be some padding or unused space between the pages (or whatever granularity the blocks are). Perhaps the more interesting aspect would be deciding where to write newly-compressed pages.

    Of the three, memory encryption seems the most straight-forward. You would likely have a 1:1 mapping, so the only tricky part is one of key management.

    > Unfortunately that’s another phantom product that never seems available for sale.

    I'll bet availability is being hampered by just a couple key components being extremely hard to source. I heard some motherboard vendors have been unable to source certain Ethernet MACs. Another example I've heard is RAID controllers.
  • abufrejoval - Thursday, July 14, 2022 - link

    >> Must have lasted something like 30 seconds or so, just to test and tune the RAM

    >Does the BIOS have an option to disable it, or at least a "fast boot" option?

    That was only ever an issue for the initial boot with that RAM. Once it has figured out the RAM speed settings any normal boot is at reasonable speeds.

    I've research the Elkhart Lake Atoms a bit and they seem quite hard to find. Embedded systems with them sell for eye watering prices.

    ZFS was always the typical example for why bit flips could have catastrophical consequences when you cache aggressively and keep key data structure in RAM for months or longer.

    I use GlusterFS with VDO de-dup and compression on the Atoms, where a single bit flip could have similarly drastic consequences, but so far I've noticed no issue.

    It seems that getting a low power ECC platform is intentionally made difficult, closest I've recently got was with Ryzen 5750G APUs, which isn't that low power nor that cheap.

    DDR5 with real ECC seems even worse which is why the ASRock board with the W680 chipset and DDR4 support seems so attractive... and unavailable!

    RAM compression: It definitely requires OS support, but other than that seems not too difficult to do. I saw a demo booth at the HiPEAC 2020 conference in Bologna from a Swedish startup I believe, that tries to sell the IP e.g. for integration in RISC-V.
  • mode_13h - Friday, July 15, 2022 - link

    > Elkhart Lake Atoms a bit and they seem quite hard to find.

    They exist, if expensive and uncommon: https://www.newegg.com/p/1JW-003Z-00026

    According to the manufacturer's site, it even seems to support in-band ECC:

    https://www.mitacmct.com/IndustrialMotherboard=PD1...

    However, that would seem to require the PD10EHI-X6413E model, which is *not* so readily available.

    > ASRock board with the W680 chipset

    Yeah, I was starting to browse for W680 boards, recently. I wish I could find an ATX (or micro-ATX) with 2x DDR5 slots, but every one I've found is either DDR4 or 4x DDR5 slots. Anyway, I'm not really in a hurry.

    > RAM compression: ... seems not too difficult to do.
    > ...a Swedish startup ... that tries to sell the IP

    Okay, think about that for a second. Someone thought it offered enough value and is sufficiently hard that they started a company around it!

Log in

Don't have an account? Sign up now