Micro553 Posted June 18, 2021 Share Posted June 18, 2021 I just went from 3700x to 5950x. I runa daily driver/gaming win10 VM with a passed red devil rx 6900 xt. When I was on the 3700x I isolated cores 2,3,6,7 because of how the cpu is builed. I got tips from here that this was the way to go. Now with the 5950x I´m kind of lost. I think i undersland that 5950x is builed diffrent. Right now I have cores 2,3,6,7,10,11,14,15 isolated and choosen in the gui for win10. But maybe thats not the best way to have it? Maybe isolate 8-15 instead. Or 8-15 plus 4 more that are shared with the rest for a 12 core vm? I want to have a fast stable win10 but also some headroom for the rest. I think I have a cpu that can manage Other then win10 I run about 20 dockers, Plex, shinobi, nextcloud, glances, the *arr ones etc I also run Home Assistant as a vm and have given it 8 cores (non of the isloated ones) Quote Link to comment
John_M Posted June 18, 2021 Share Posted June 18, 2021 8 hours ago, Micro553 said: When I was on the 3700x I isolated cores 2,3,6,7 because of how the cpu is builed. I got tips from here that this was the way to go. I'm not sure why you chose the isolate those four (virtual) cores. The 3700X has eight actual cores, each of which can run two threads, giving 16 virtual cores. For each core you want to dedicate to a VM you need to specify the two virtual cores for maximum efficiency. The GUI helps you with this. For the 3700X you'll see that physical core 0 is represented by virtual cores 0 (labelled "CPU" in the GUI) and 8 (labelled "HT" in the GUI), physical core 1 is represented by virtual cores 1 and 9, and so on, finishing with physical core 7 being represended by virtual cores 7 and 15. So isolating virtual cores 2, 3, 6 and 7 isn't optimal. If you want to isolate two physical cores 2 and 3, you should isolate virtual cores 2, 3, 10 and 11. If you want to isolate four physical cores 2, 3, 6 and 7, you should isolate virtual cores 2, 3, 6, 7, 10, 11, 14 and 15. 9 hours ago, Micro553 said: Now with the 5950x I´m kind of lost. I think i undersland that 5950x is builed diffrent. It is constructed differently, with two core chiplets instead of one but the same principle applies. The 5950X has 16 actual cores, each of which can run two threads, giving 32 virtual cores. Again the GUI helps you when it comes to allocating the pairs of virtual cores. For the 5950X you'll see that physical core 0 is represented by virtual cores 0 (labelled "CPU" in the GUI) and 16 (labelled "HT" in the GUI), physical core 1 is represented by virtual cores 1 and 17, and so on, finishing with physical core 15 being represended by virtual cores 15 and 31. 9 hours ago, Micro553 said: Right now I have cores 2,3,6,7,10,11,14,15 isolated and choosen in the gui for win10. That is not optimal. If you want to isolate four actual cores you need to specify eight virtual cores, such as 2, 3, 4, 5, 18, 19, 20 and 21. If you want to isolate eight actual cores you need to spacify 16 virtual cores and in the case of the 5950X you will get a little bit of extra performance by specifying all the cores on the same chiplet, like this: 8, 9, 10, 11, 12, 13, 14, 15, 24, 25, 26, 27, 28, 29, 30 and 31. The following tables might help 3700X: Physical Virtual Cores Core "CPU" "HT" 0 0 8 1 1 9 2 2 10 3 3 11 4 4 12 5 5 13 6 6 14 7 7 15 5850X: Physical Virtual Cores Core "CPU" "HT" 0 0 16 1 1 17 2 2 18 3 3 19 4 4 20 5 5 21 6 6 22 7 7 23 8 8 24 9 9 25 10 10 26 11 11 27 12 12 28 13 13 29 14 14 30 15 15 31 Quote Link to comment
Micro553 Posted June 19, 2021 Author Share Posted June 19, 2021 Thank u so much for the great explanation. I have now changed and pinned 8 - 15 as u said. So 8 cores / 16 threds on the same chiplet pinned for win10. Are there any perfomece benefits to assign 4 more cores like non pinned core 4,5,6,7? As I´m running now is this the same as running a 5800x BM? Quote Link to comment
John_M Posted June 19, 2021 Share Posted June 19, 2021 8 hours ago, Micro553 said: Are there any perfomece benefits to assign 4 more cores like non pinned core 4,5,6,7? Every additional core you add (even if they are not pinned, and therefore potentially shared with other processes) will bring a performance increase to your VM if the workload can make use of the extra cores. If the workload can't use the extra cores then you'll probably see a slight increase in latency as the cores on one chiplet can't access the L3 cache on the other chiplet. It's a question of balance. 8 hours ago, Micro553 said: As I´m running now is this the same as running a 5800x BM? Yes, by dedicating an entire chiplet to your VM you have something similar to a 5800X running bare metal. It isn't quite the same because the base and boost core frequencies are different between the 5800X and the 5950X due to the power budget per core being less for the latter, which is only partly offset by the higher binned silicon, and because the resources of the I/O chiplet are shared between the VM and the host. Quote Link to comment
Micro553 Posted June 28, 2021 Author Share Posted June 28, 2021 So been running your proposal for a while. I mean pinning 8 -15 for a 8 core VM. It seems stable but the thing thats bugging me (not a big deal but still) is that with the old pinning I got alot better FPS playing warzone. With 8 core (2,3,67,10,11,14,15) and my Rx 6900 xt I got over 200 fps. Now I´m at 150-160 fps. Not the end of the world but been reading other having problems with the RX 6900 xt where the cpu was the bottleneck. I will try to give my VM 4 more cores (non pinned) and see if that helps. Quote Link to comment
drkpu1se Posted January 30, 2023 Share Posted January 30, 2023 I hate to bring up a post not touched in almost two years, but I'm looking to do something similar. @Micro553 any chance you remember what kind set up you had going for optimal results? Quote Link to comment
TCMapes Posted March 18 Share Posted March 18 Just wanted to post this here. But from the following console commands the CPU lay seems to have CCD 0 on CPU 0 through 15 and CCD 1 on CPU 16 through 31. From the below information it looks like I should do CPU isolation on 16 thru 31. Then pin those to my gaming VM. Am I missing something here? ----------------lstopo command-------------------------------------------------------- Machine (126GB total) Package L#0 NUMANode L#0 (P#0 126GB) L3 L#0 (32MB) L2 L#0 (512KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0 PU L#0 (P#0) PU L#1 (P#16) L2 L#1 (512KB) + L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1 PU L#2 (P#1) PU L#3 (P#17) L2 L#2 (512KB) + L1d L#2 (32KB) + L1i L#2 (32KB) + Core L#2 PU L#4 (P#2) PU L#5 (P#18) L2 L#3 (512KB) + L1d L#3 (32KB) + L1i L#3 (32KB) + Core L#3 PU L#6 (P#3) PU L#7 (P#19) L2 L#4 (512KB) + L1d L#4 (32KB) + L1i L#4 (32KB) + Core L#4 PU L#8 (P#4) PU L#9 (P#20) L2 L#5 (512KB) + L1d L#5 (32KB) + L1i L#5 (32KB) + Core L#5 PU L#10 (P#5) PU L#11 (P#21) L2 L#6 (512KB) + L1d L#6 (32KB) + L1i L#6 (32KB) + Core L#6 PU L#12 (P#6) PU L#13 (P#22) L2 L#7 (512KB) + L1d L#7 (32KB) + L1i L#7 (32KB) + Core L#7 PU L#14 (P#7) PU L#15 (P#23) L3 L#1 (32MB) L2 L#8 (512KB) + L1d L#8 (32KB) + L1i L#8 (32KB) + Core L#8 PU L#16 (P#8) PU L#17 (P#24) L2 L#9 (512KB) + L1d L#9 (32KB) + L1i L#9 (32KB) + Core L#9 PU L#18 (P#9) PU L#19 (P#25) L2 L#10 (512KB) + L1d L#10 (32KB) + L1i L#10 (32KB) + Core L#10 PU L#20 (P#10) PU L#21 (P#26) L2 L#11 (512KB) + L1d L#11 (32KB) + L1i L#11 (32KB) + Core L#11 PU L#22 (P#11) PU L#23 (P#27) L2 L#12 (512KB) + L1d L#12 (32KB) + L1i L#12 (32KB) + Core L#12 PU L#24 (P#12) PU L#25 (P#28) L2 L#13 (512KB) + L1d L#13 (32KB) + L1i L#13 (32KB) + Core L#13 PU L#26 (P#13) PU L#27 (P#29) L2 L#14 (512KB) + L1d L#14 (32KB) + L1i L#14 (32KB) + Core L#14 PU L#28 (P#14) PU L#29 (P#30) L2 L#15 (512KB) + L1d L#15 (32KB) + L1i L#15 (32KB) + Core L#15 PU L#30 (P#15) PU L#31 (P#31) ------------------lscpu -e-------------------------------------------------------- CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ MHZ 0 0 0 0 0:0:0:0 yes 5083.3979 2200.0000 3696.7129 1 0 0 1 1:1:1:0 yes 5083.3979 2200.0000 3838.7380 2 0 0 2 2:2:2:0 yes 5083.3979 2200.0000 4712.8442 3 0 0 3 3:3:3:0 yes 5083.3979 2200.0000 4323.0791 4 0 0 4 4:4:4:0 yes 5083.3979 2200.0000 4716.0020 5 0 0 5 5:5:5:0 yes 5083.3979 2200.0000 4095.6111 6 0 0 6 6:6:6:0 yes 5083.3979 2200.0000 4717.2632 7 0 0 7 7:7:7:0 yes 5083.3979 2200.0000 4715.3799 8 0 0 8 8:8:8:1 yes 5083.3979 2200.0000 3594.2419 9 0 0 9 9:9:9:1 yes 5083.3979 2200.0000 3400.0000 10 0 0 10 10:10:10:1 yes 5083.3979 2200.0000 3581.8450 11 0 0 11 11:11:11:1 yes 5083.3979 2200.0000 3400.0000 12 0 0 12 12:12:12:1 yes 5083.3979 2200.0000 3400.0000 13 0 0 13 13:13:13:1 yes 5083.3979 2200.0000 3746.9951 14 0 0 14 14:14:14:1 yes 5083.3979 2200.0000 3400.0000 15 0 0 15 15:15:15:1 yes 5083.3979 2200.0000 3400.0000 16 0 0 0 0:0:0:0 yes 5083.3979 2200.0000 3787.1699 17 0 0 1 1:1:1:0 yes 5083.3979 2200.0000 4684.5049 18 0 0 2 2:2:2:0 yes 5083.3979 2200.0000 4675.6758 19 0 0 3 3:3:3:0 yes 5083.3979 2200.0000 4415.8789 20 0 0 4 4:4:4:0 yes 5083.3979 2200.0000 4704.3140 21 0 0 5 5:5:5:0 yes 5083.3979 2200.0000 4511.8540 22 0 0 6 6:6:6:0 yes 5083.3979 2200.0000 4669.6411 23 0 0 7 7:7:7:0 yes 5083.3979 2200.0000 4663.3330 24 0 0 8 8:8:8:1 yes 5083.3979 2200.0000 3400.0000 25 0 0 9 9:9:9:1 yes 5083.3979 2200.0000 3400.0000 26 0 0 10 10:10:10:1 yes 5083.3979 2200.0000 3400.0000 27 0 0 11 11:11:11:1 yes 5083.3979 2200.0000 3400.0000 28 0 0 12 12:12:12:1 yes 5083.3979 2200.0000 3400.0000 29 0 0 13 13:13:13:1 yes 5083.3979 2200.0000 3400.0000 30 0 0 14 14:14:14:1 yes 5083.3979 2200.0000 3593.3479 31 0 0 15 15:15:15:1 yes 5083.3979 2200.0000 3400.0000 Quote Link to comment
TCMapes Posted March 18 Share Posted March 18 I just read the command information wrong. Seems i had the pinning right for my gaming vm then. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.