« first day (3709 days earlier)      last day (1316 days later) » 

12:10 AM
@dustytrash What motherboard? The HD Audio header is typically on the bottom left of the board.
 
Ive checked the manual, it doesnt seem to have an HD Audio Header
Is my best option to buy a sound card instead?
Its a server board
 
1:11 AM
Could go USB... Cheap soundcards are uncommon otherwise
 
Thanks good idea, I think I'll go with USB to audio connector
 
Or abuse your graphics card for sound out - I was using dp and the audio out on my monitor of the time
 
Never heard of using a graphics card for sound out
Oh I see a Sound card on Amazon for 16$ cdn
I googled 'graphics card audio' and see NVidia has 'digital audio' is that the same thing as abusing a graphics card for sound out?
I have a GTX 1080 which is NVidia
 
Yup. Most modern video outs include audio
If your monitor has speakers or an audio out....
@dustytrash most of those are a really old connexant model with no windows 10 support
 
1:26 AM
Oh, my monitor does have an Audio out... My monitors have speakers, I should have known
Thanks @JourneymanGeek. I am now using my Monitor audio out. Works fine and saved me some money
 
😁
I have a pc with a dead onboard sound chip sooooo
 
😂
 
 
10 hours later…
11:17 AM
My machine is wired for front-panel audio but that's almost never used. I use audio out from my monitor
@dustytrash HDMI and DisplayPort can carry audio. Most modern monitors have an audio-out connector or headphone jack which you can plug speakers into.
 
11:39 AM
@dustytrash Okay, now I remember. Did you get registered memory?
 
 
1 hour later…
12:42 PM
@bwDraco not sure, its KVR24N17D8/16 Kingston, DDR4 non-ecc
Hopefully its right. I bought the wrong ram the first time. I have so much RAM i cant use now
 
 
3 hours later…
3:29 PM
Could I use a different type of RAM if it's for another CPU? It's a multiple CPU system
I'm planning on designating one CPU just for a VM
 
4:14 PM
@bwDraco I believe it's unbuffered. So Not registered. It is working, though. I guess I just won't see as good performance?
 
 
2 hours later…
6:25 PM
@dustytrash You have server processors, which allow you to use special memory that can enhance reliability and enable very high memory capacity. Error-correcting code (ECC) memory uses extra memory chips to detect and correct most memory errors without interrupting system operation, increasing reliability for mission-critical systems. Registered and load-reduced memory are designed to enable much higher memory capacities per module and per channel.
While you're not required to use ECC or registered memory, it's highly recommended that you take advantage of the functionality offered by your system. AFAICT, all major OEMs will equip systems using server-class processors with ECC memory.
Registered or load-reduced memory isn't mandatory, but it's the only way to get the colossal (64+ GB per module) memory capacities that are often required for large servers. Your system can take 768 GB of RAM and the only way to get there is by using these special modules that only server-class processors can use.
Jul 2 at 23:52, by bwDraco
(8x64 GB + 8x32 GB will get you to 768 GB)
If I'm building a system around Xeon or EPYC processors, I'll always get ECC memory to go with them.
 
Wow I couldn't imagine having 768GB, people thought my last system with 64GB was impressive
I can't afford that much anyways haha
 
Considering your needs, I'd actually suggest getting eight 32 GB LRDIMMs, four for each socket, which will give you 256 GB of memory (128 GB per socket). This leaves your options open, including the ability to fill the remaining slots with 64 GB modules for the maximum 786 GB.
Just bear in mind you can't mix ECC with non-ECC memory, or registered/load-reduced memory with unbuffered memory.
RDIMMs and LRDIMMs are pretty much always ECC so you shouldn't have to worry about that.
Anyhoo, my lunch break is almost over so TTYL.
 
6:40 PM
TTYL. Thanks for your help. For now I think I'm going to get a few more 16GB sticks on non-ECC, just because I don't want to spend too much
It's all for my own personal use
 
*maximum 768 GB (correcting typo)
Anyhoo, TTYL, and have fun.
 
6:59 PM
TTYL. Thanks again
 
7:20 PM
@bwDraco Sorry to bother again, Is this right: amazon.ca/2x32GB-DDR4-2133MHz-PC4-17000-Reduced-Workstation/dp/…
I might go with what you suggested. I think I can still return my 16GB non-ECC stick
Also do you think there will be a noticeable performance boost?
 
 
2 hours later…
9:31 PM
ECC memory is actually slightly slower, but only by 1-2%. It's a matter of reliability. Having that much memory means there's a greater chance of an error, though, and most proper servers have ECC memory, so why not?
You don't have to get ECC memory, though, especially if cost is a consideration. But it is recommended for a server system.
Ultimatelty, the choice is yours.
And again, you do need to have all ECC memory to actually take advantage of the increased reliability. You can mix memory capacities, but each channel should have equal amounts of memory, and you shouldn't mix memory types.
It's okay to run different memory capacity modules within each memory channel, but you should ensure that all channels are populated with identical memory configurations. For example, you can have a 16 GB and a 32 GB module on each channel for 48 GB. But all eight channels (four channels per socket) should have that same configuration. (If you populated all 16 slots this way, the system would have a total of 384 GB of memory, 192 GB per socket.)
And again, all memory must be ECC for that functionality to work.
You cannot mix registered, load-reduced, and unbuffered memory at all. A system that has more than one of these types installed most likely will not boot up.
 
9:46 PM
Which functionality must be ECC? Do you mean the different memory configurations?
 
All modules must support ECC for ECC to work. You'd have to replace all modules with ECC memory.
 
Im going to try to find some used or cheaper ECC buffered. But if i cant i think ill stick with non-ecc non-registered. It is a server rig but i dont need the extra reliability
Just to clarify, i could have an 16gb and an 8, as long as all populated channels have the same config?
 
Ultimately, if you'd rather not replace existing memory, you should probably stick with non-ECC unbuffered DIMMs. Just make sure all channels are populated equally.
 
Could one channel have a 16gb and 2 8gbs, while another has 4 8gbs?
 
There's only two slots per channel. There are, however, four memory channels per socket, and eight channels in total.
IIRC there's eight blue slots and eight white slots on your board. Each memory channel is a pair of slots, one blue and one white. If using one memory module per channel, populate all eight blue slots with identical memory modules. If using two modules per channel, the blue slots and white slots can have different size modules in them, but all the slots of a particular color should be populated with modules of identical specification.
While you can technically mix different configurations, it's not recommended, and it's likely that some or all of that memory will run slower.
Multi-channel memory architectures are designed to increase performance by allowing the processor to access the memory in each channel in parallel. For this to work optimally, the memory in each channel needs to be identical.
On a typical desktop system with two memory channels, if you have 16 GB in one channel and 8 GB in the other, 16 GB of the total 24 GB (8 GB in each channel) will run in dual-channel mode. The other 8 GB will run in single-channel mode.
 
10:01 PM
Okay that makes sense. Yeah there are 8 white and 8 blue
 
Now I'm not sure about how this works if you populate each channel differently altogether. It's entirely possible the multi-channel functionality will not work at all, resulting in substantially reduced performance.
 
Right now i just have 1 cpu and 1 channel popualted, but tomorrow im adding the other cpu and populating another channel for it
 
Hmm.
Obviously, you need to have at least one memory module for each socket for it to work. And each socket can have a different amount of memory installed.
But such a configuration is obviously not going to be optimal.
Whatever you do, the four channels for each socket should have equal configurations.
 
Okay no problem i can keep both having the same amount of memory
What if a channel has no memory? Is that okay?
 
That's okay. Just make sure you populate all channels equally as you add memory.
And fill all the blue slots before filling the white slots.
If you have four 16 GB modules and two processors installed, put two modules into blue slots for each of the sockets. This will give each socket 32 GB, for a total of 64 GB.
 
10:16 PM
Okay im going to do that!
Then im guessing when I want to upgrade again, i should buy 2 more 16GB?
 
Yup.
When you do, put the two modules into the third channel for each socket.
Fill out all the channels equally for each socket first to ensure that each socket has the same amount of memory.
Then when you add another pair of 16 GB modules, fill the fourth channel for each socket with these modules.
In all cases, use the blue slots. Don't put anything into the white slots until all the blue slots are filled.
If you only have one processor installed onto the board and four memory modules, fill all four of the blue slots for that processor socket with that memory. Once you get the second processor, move the modules in channels 3 and 4 of the first processor socket into channels 1 and 2 of the second processor.
Remember that each processor has its own memory. While one processor can access another processor's memory, there is a significant amount of latency in doing so.
If you only have one processor installed, the memory slots for the other processor socket will not work, so all the memory will need to be in the slots for the processor socket that is populated.
Getting the hang of it now?
 
Yes that all makes sense
One last thing, why do i want to make sure blue is filled first?
 
Blue is slot 1 for each memory channel. White is slot 2.
 
Is it worth it to have only 1 stick in white once blue is completely populated, or would I need to get more than 2 to be a notable upgrade at that pojnt
 
Let's say only one socket has a processor in it, and you have four modules. If you put the modules into both the blue and white slots of two channels, the memory will run in dual-channel mode. If you put them all into the blue slots, they'll run in quad-channel mode, with twice the memory bandwidth.
Again, all the memory channels run in parallel.
If you have two processor sockets populated, and there's not enough memory modules to use all four channels on both processors, it's more important that each processor has an equal amount of memory, so you'll want two modules for each processor socket, with the modules in the first two channels of each socket.
@dustytrash Good question. You can do that, but that extra memory will not have the higher memory bandwidth of the rest of the memory on the system because it doesn't have matching memory in the other channels to run in parallel with.
It'll work, but not all of the memory will be accessible at the same level of bandwidth.
Remember that the memory in each channel runs in parallel. If you have one channel with two 16 GB modules and the other three channels with one 16 GB module each, you'll have 80 GB of memory total, but only the 16 GB that's common to all the channels will actually run in parallel. The extra 16 GB in the first channel will be on its own.
If you have six modules, filling two channels with 2x16GB and two with 1x16GB, the 16 GB that's common to all channels will run quad-channel, while the extra 16 GB in two of the four channels will run dual-channel.
That all assumes it's all with one processor socket. If you have six 16 GB modules and two sockets with processors installed, fill the first (blue) slot of three of the four channels of each socket. This will give each processor 48 GB in three channels.
Get the idea now?
Think of each memory channel as a lane of traffic through which the processor and memory communicate. The processor can communicate with all lanes simultaneously. Two memory modules that share a lane can't go any faster than a single module on that lane, but modules on separate lanes can communicate with the processor simultaneously.
Each "lane" is a blue-white slot pair. This means that if you put four modules into two pairs of blue and white slots, they're sharing two lanes of traffic. If your processor's "memory highway" has four "lanes", you'd obviously want the memory to be on all four of those lanes rather than be limited by the speed of two.
This is only complicated because you have a dual-socket server with four memory channels for each socket, and two memory slots for each channel. Most PCs only have one processor socket and two memory channels, each of which may accept one or two modules.
On a typical desktop, it's little more than "install memory in equal pairs".
 
11:07 PM
Hmm okay I got the idea now!
 
Now with two sockets, you want to have memory for both. Going back to the memory highway analogy, if there is more than one processor socket, each processor has its own set of lanes. But there is also a special road between the processors that allows data from one processor's memory to reach the other processor. Traversing this road takes extra time, which is why it's important that all processors have as many lanes active as possible and enough memory to minimize having to cross that road.
This is called non-uniform memory access (NUMA).
 
11:28 PM
What if one processor is designated to a VM, which may take less or more memory
than the host machine
Or does that not matter in this case
 
A NUMA-aware operating system, including any recent version of Windows or Linux, will account for this and try to avoid having applications spanning NUMA nodes. The hypervisor itself will likely understand this as well. That said, if you assign more vCPUs to a VM than there are physical cores or threads in a single socket, more than one socket's cores, and therefore more than one processor's memory will be involved. It's up to the software to make the most of this situation.
Where possible, the OS will try to keep one each app (or VM, etc.) to one socket's cores and memory, but obviously, this is not always possible, and performance can be noticeably degraded if this isn't handled properly.
If you assign more vRAM to a single VM than memory attached to a single socket, it'll need to use the memory on the other processor, so the vCPUs will likely need to be spread across the two sockets. The hypervisor, as well as the OS and applications running within it, need to be NUMA-aware in this scenario as well.
Long story short, you can use both processor's resources together, but there's a performance penalty if one processor has to use the other processor's memory, so you want to keep each app or VM confined to a single socket's cores and memory whenever possible. NUMA enables greater scalability through multiple processor sockets but the system and applications need to be designed to handle this kind of setup for optimal performance.
The OS and apps will do most of the heavy lifting but it's something to bear in mind when selecting hardware for a multi-socket server.
Got stuff to do, so see you later and good luck with your server.
 
11:57 PM
Okay TTYL! Thanks for all your help. Gives me lots to think about
 

« first day (3709 days earlier)      last day (1316 days later) »