1
00:00:00,000 --> 00:00:07,830
many serious game streamers use a second PC actually so they got one for gaming

2
00:00:05,609 --> 00:00:11,910
and then another one dedicated to encoding and interacting with their

3
00:00:09,719 --> 00:00:15,420
audience so we were brainstorming and talking about some cool projects that

4
00:00:13,590 --> 00:00:20,689
we've done in the past with unread and virtualization technology and well let's

5
00:00:18,510 --> 00:00:26,970
just say the old light bulb went off what if we could build using an Intel

6
00:00:24,240 --> 00:00:32,390
high core count core I nine processor a two-in-one solution splitting a single

7
00:00:30,510 --> 00:00:37,100
Tower with a single motherboard effectively in half to perform both of

8
00:00:35,670 --> 00:00:42,660
those duties virtually of course would we end up with

9
00:00:40,410 --> 00:00:51,770
a viable day-to-day streaming solution well thanks to Intel sponsorship of this

10
00:00:46,280 --> 00:00:56,759
investigation we are about to find out

11
00:00:59,380 --> 00:01:06,740
okay so let's start with this why would anyone want to run a virtualized

12
00:01:04,610 --> 00:01:12,170
two-in-one setup as opposed to just having two separate machines I mean bare

13
00:01:09,140 --> 00:01:14,000
metals more efficient right let's take a

14
00:01:12,170 --> 00:01:20,810
look at a few reasons why it might actually be a cool idea first and most

15
00:01:17,050 --> 00:01:23,270
importantly for many is cost unless you

16
00:01:20,810 --> 00:01:30,590
already have a second computer to dedicate to encoding you would still

17
00:01:25,760 --> 00:01:33,170
have to buy GPU RAM and storage for two

18
00:01:30,590 --> 00:01:38,240
but you could save the considerable expense of many other components in

19
00:01:35,570 --> 00:01:43,220
addition your total power consumption and heat output will be a touch lower

20
00:01:40,850 --> 00:01:49,640
than running separate PCs meaning your energy bill will be lower - the second

21
00:01:46,160 --> 00:01:51,229
reason to go virtual is space while it's

22
00:01:49,640 --> 00:01:55,729
not a concern for some if you're streaming from a college dorm or a small

23
00:01:53,390 --> 00:02:00,170
apartment this means one less tower taking up space in your gaming area not

24
00:01:58,369 --> 00:02:06,229
every virtualized - and one has to be this big reason number three versatility

25
00:02:03,770 --> 00:02:11,750
since the gaming and streaming setups are virtualized not only are any

26
00:02:08,899 --> 00:02:17,690
potential software issues confined to each VM but they can also be much more

27
00:02:14,660 --> 00:02:19,940
quickly and easily backed up or cloned

28
00:02:17,690 --> 00:02:25,069
once you're set up so in the future you can easily hit the reset button in case

29
00:02:22,580 --> 00:02:30,020
anything should go wrong also thanks to the magic of on raid your gaming /

30
00:02:27,260 --> 00:02:34,459
streaming machine can act as a file and media server for the rest of your

31
00:02:31,550 --> 00:02:39,920
household so the plan then is to use a portion of our CPU to encode our video

32
00:02:37,670 --> 00:02:44,600
stream using x264 with high quality settings that way we can avoid the

33
00:02:42,530 --> 00:02:48,980
potential for scheduler conflicts without manually assigning CPU

34
00:02:46,880 --> 00:02:54,590
affinities and task manager like we would if we were doing both tasks on one

35
00:02:51,530 --> 00:02:56,630
OS well okay Linus this all sounds great

36
00:02:54,590 --> 00:03:02,450
but there's got to be disadvantages right well there is the fact that when

37
00:02:59,930 --> 00:03:08,020
using virtualization some devices can't be easily allocated to a VM our onboard

38
00:03:05,450 --> 00:03:13,960
audio for example shares an eye a new group with the chipset and essentially

39
00:03:10,390 --> 00:03:16,480
cannot be used same story with USB ports

40
00:03:13,960 --> 00:03:21,130
each grouping of ports has to be on a dedicated controller in order to pass it

41
00:03:19,150 --> 00:03:25,350
through so that you can hot plug your devices something that we pretty much

42
00:03:22,900 --> 00:03:31,780
take for granted these days and finally while it's possible to run on

43
00:03:28,690 --> 00:03:34,090
raid without its own video card it's a

44
00:03:31,780 --> 00:03:38,950
royal pain so we grabbed a dedicated sound card for our gaming VM and extra

45
00:03:36,640 --> 00:03:44,820
USB controller we're using one of the onboard ones for the other VM and an el

46
00:03:41,800 --> 00:03:50,110
cheapo third graphics card for under 8

47
00:03:44,820 --> 00:03:52,030
so we are ready to you oh wait so during

48
00:03:50,110 --> 00:03:57,340
our testing we found that gaming performance was actually best when we

49
00:03:54,670 --> 00:04:02,530
assigned four cores and eight threads to our gaming VM and in some configurations

50
00:03:59,560 --> 00:04:07,660
we actually found tests that performed better in a virtualized environment

51
00:04:05,350 --> 00:04:12,430
compared to an equivalent configuration running on bare metal Y so this is the

52
00:04:11,080 --> 00:04:16,630
kind of thing that we encounter sometimes when we're running on the

53
00:04:14,560 --> 00:04:19,900
bleeding edge we spoke with on raids developers about the issue and they're

54
00:04:18,280 --> 00:04:24,370
putting together some information to share with the Red Hat and KVM

55
00:04:22,090 --> 00:04:27,970
hypervisor folks so that hopefully we'll see a resolution by the time game's

56
00:04:26,350 --> 00:04:32,440
demand more cores for optimal performance but for the time being our

57
00:04:30,100 --> 00:04:38,320
classic four core eight thread setup manages a negligible performance hit

58
00:04:35,230 --> 00:04:40,990
compared to bare metal and our streaming

59
00:04:38,320 --> 00:04:46,300
VM can suck up those extra cores anyway so that it could be used for heavier

60
00:04:43,480 --> 00:04:50,590
video editing and faster encoding for those edited videos that can later be

61
00:04:48,280 --> 00:04:55,030
uploaded to YouTube or other video on-demand sites alright then so let's

62
00:04:53,290 --> 00:05:00,400
show off the rest of the setup we're using the utterly unique level one text

63
00:04:57,460 --> 00:05:05,470
DisplayPort 1.2 KVM from Wendell and his team this gives us support for high

64
00:05:02,560 --> 00:05:12,310
refresh rate monitors like a Seuss's 240 hertz rog swift PG 2 v 8 q and easy

65
00:05:09,610 --> 00:05:15,970
switching between our VMs saving us from using two keyboards and mice though it

66
00:05:14,410 --> 00:05:21,809
should be noted that having an extra one on hand is pretty useful in some cases

67
00:05:18,510 --> 00:05:24,479
we're using Corsairs massive obsidian

68
00:05:21,809 --> 00:05:31,439
900 D tower thanks to its ample cooling capacity and we're powering all three of

69
00:05:27,659 --> 00:05:34,649
our GPUs the 1080 Ti for gaming the 1050

70
00:05:31,439 --> 00:05:37,289
Ti for streaming and that basic one for

71
00:05:34,649 --> 00:05:44,159
unrated off of an ax 1200 eye power supply and we've thrown in a monstrous

72
00:05:40,439 --> 00:05:48,300
on raid array of 712 terabyte Seagate

73
00:05:44,159 --> 00:05:50,580
iron wolf pro drives for 60 terabytes of

74
00:05:48,300 --> 00:05:55,169
protected storage that's visible to both VMs not to mention as I said before

75
00:05:52,889 --> 00:05:59,849
anyone else on the network who needs it allowing us to record our streams

76
00:05:57,110 --> 00:06:03,289
basically indefinitely so we can make them epic frag vids after we're done

77
00:06:02,189 --> 00:06:09,899
streaming finally for our capture Carlo and other

78
00:06:06,809 --> 00:06:12,330
surprise no capture card so we actually

79
00:06:09,899 --> 00:06:19,019
originally had planned to use one that 4k one from El Gato but this ended up

80
00:06:16,379 --> 00:06:25,649
being way cooler so our gaming VM is actually transmitting its video and

81
00:06:21,959 --> 00:06:29,399
audio feed to the encoder VM using the

82
00:06:25,649 --> 00:06:32,519
low impact OBS NDI plugin which runs

83
00:06:29,399 --> 00:06:34,769
with very little quality loss over our

84
00:06:32,519 --> 00:06:39,749
virtualized 10 gigabit network connection between our VMs then from

85
00:06:37,769 --> 00:06:46,139
there we've set the streaming machines output settings to Twitch's ultimate

86
00:06:42,149 --> 00:06:48,360
1080p 60fps quality setting and would

87
00:06:46,139 --> 00:06:54,300
you look at that after a few command-line tweaks we could not only

88
00:06:50,550 --> 00:06:57,569
encode on the fly but do so at x264

89
00:06:54,300 --> 00:06:59,819
s-slow preset which is 6 notches up from

90
00:06:57,569 --> 00:07:04,860
the default potato quality ultra-fast and

91
00:07:00,829 --> 00:07:07,889
to validate our original hypothesis is

92
00:07:04,860 --> 00:07:11,729
there some benefit from separating them

93
00:07:07,889 --> 00:07:14,519
in VMs we pushed our 11 hyper threaded

94
00:07:11,729 --> 00:07:20,550
cores to their limit in the streaming vm to the point where we forced our encoded

95
00:07:17,789 --> 00:07:24,689
video to start dropping frames then we went back to the gaming vm to see if

96
00:07:22,769 --> 00:07:28,889
those resources were effectively being isolated and it was still running games

97
00:07:26,999 --> 00:07:34,060
like nobody's business so what have we learned then on this

98
00:07:31,000 --> 00:07:36,370
journey well for one a virtualized dual

99
00:07:34,060 --> 00:07:41,169
head system with all of its shortcomings has some advantages operating our two

100
00:07:39,220 --> 00:07:45,639
virtual machines was about as transparent as running two completely

101
00:07:43,060 --> 00:07:50,350
independent systems whether via KVM switch or with two full sets of

102
00:07:47,710 --> 00:07:54,639
peripherals this is a use case for many course systems that we've been excited

103
00:07:52,240 --> 00:07:58,900
about for years now and one that has many applications beyond game streaming

104
00:07:57,130 --> 00:08:06,010
that is just gonna get better in time and second is that with superior codecs

105
00:08:02,919 --> 00:08:07,810
such as x265 on the horizon that are

106
00:08:06,010 --> 00:08:13,630
better optimized not only for image quality but for better thread and memory

107
00:08:10,780 --> 00:08:17,680
utilization that happens to mesh great with core I nines new cache design

108
00:08:15,160 --> 00:08:21,910
you'll be able to push the quality even higher with a setup like this all we

109
00:08:20,139 --> 00:08:26,500
need to do then is wait for twitch and mainstream broadcasting software to

110
00:08:24,160 --> 00:08:32,680
support it in the meantime though we've still built one of the coolest x264

111
00:08:29,680 --> 00:08:36,460
streaming setups out there so thanks to everyone for their help with this and

112
00:08:34,390 --> 00:08:41,560
especially Intel for sponsoring this sick experiment and also you guys for

113
00:08:39,310 --> 00:08:44,980
watching it so if you guys dislike this video you can hit that button but if you

114
00:08:42,969 --> 00:08:48,460
liked it hit like yet subscribe maybe consider checking out where to buy the

115
00:08:46,510 --> 00:08:52,450
stuff we featured at the link in the video description maybe a shiny new core

116
00:08:50,320 --> 00:08:55,839
I 9 also link down there is our merch storage has cool shirts like this one

117
00:08:53,860 --> 00:08:58,350
and our community forum which you should totally join
