Jump to content

ChalkChalkson

Member
  • Posts

    1,205
  • Joined

  • Last visited

Reputation Activity

  1. Like
    ChalkChalkson got a reaction from 12eward in Remote Connection without Router Based DNS   
    The problem mainly seems to be that you don't have a VPN server running. DDNS built into the router shouldn't be an issue. You can get something as simple as a raspberry pi anywhere in the network and install OpenVPN and some DDNS on there. I wrote a detailed how to for unraid, but the exact same thing works on every linux distro on which you can get docker running.  All you need to do with the router is forward some ports
  2. Informative
    ChalkChalkson got a reaction from Ben17 in 11,500 RPM Fan!!   
    ^^this only works if you either use the jet to drive a turbofan, or when your CPU is hotter than the exhaust of the jet (which is very toasty)
  3. Agree
    ChalkChalkson got a reaction from Slayerking92 in Gigabit Connection Limited to 100Mb?   
    Mb. I'm such an idiot - I even took a screenshot and forgot to put it in the post O.o
  4. Agree
    ChalkChalkson got a reaction from Spuriae in This Sounds Too Good to be True - 1950W/(m*K) TIM   
    Nope there is more to it. If all that was going on was the shitty elasticity, you'd see performance very similar to that of a dry mount (which isn't that awful). The physics of pyrolitic carbon is such that is only conducts in one plane (thread where I explained how and why after the floatplane release). Or as figgyc said:
    Since it's in the description of the product I'd assume @AlexTheGreatish was aware. Pretty hyped to see what they are planning with it.
     
    That could work. In the thread I linked earlier we also chatted for a second about thermal compounds that use small fibers of carbon to increase conductivity. Blending would be considerably worse though since it produces flakes. The performance you'd get would essentially be the average of the conductivities in all directions which is to say you put a lot of effort into getting slightly worse graphite. Maybe if you could find a way of getting  ~1-10µm thin strips that are ~100µm long, then suspending them in a silicone rubber of some sort and aligning them to poke up vertically through the use of an electrostatic field....
  5. Agree
    ChalkChalkson got a reaction from Nex6 in This Sounds Too Good to be True - 1950W/(m*K) TIM   
    Nope there is more to it. If all that was going on was the shitty elasticity, you'd see performance very similar to that of a dry mount (which isn't that awful). The physics of pyrolitic carbon is such that is only conducts in one plane (thread where I explained how and why after the floatplane release). Or as figgyc said:
    Since it's in the description of the product I'd assume @AlexTheGreatish was aware. Pretty hyped to see what they are planning with it.
     
    That could work. In the thread I linked earlier we also chatted for a second about thermal compounds that use small fibers of carbon to increase conductivity. Blending would be considerably worse though since it produces flakes. The performance you'd get would essentially be the average of the conductivities in all directions which is to say you put a lot of effort into getting slightly worse graphite. Maybe if you could find a way of getting  ~1-10µm thin strips that are ~100µm long, then suspending them in a silicone rubber of some sort and aligning them to poke up vertically through the use of an electrostatic field....
  6. Agree
    ChalkChalkson got a reaction from leadeater in Would old Threadripper be a good platform for a Plex / NAS?   
    the new encoder in only available on 10th gen cards (except for the 1030).
    what do the vms do? is dual core enough for them?  NVIDIA GPUs are limited to 2 streams per card, but unless 3 people streams 4k at the same time it's not really an issue as 1080p can be handled fine on the CPU
    Yeah CPU encoding is very inefficient. But that CPU is pretty fine, maybe just try the Plexpass for a month and throw a 1050 in, see that does the trick (very likely)
  7. Agree
    ChalkChalkson got a reaction from leadeater in Would old Threadripper be a good platform for a Plex / NAS?   
    That's actually not too bad to do, just mark everything in Plex, click optimize and do one for TV universal and one for PC. The conversion does take a long time and lot of storage though. But for a couple of people GPU encoding is much more efficient.
    How much would you spend on a TR? PC partpicker tells me what I'd consider a pretty overkill setup for MB CPU and GPU for Plex + 1-2 VMs should be in the 330$ range while MoBo + CPU for TR should be in the 450 range, enough to pay for the Plex pass to unlock GPU transcode
  8. Agree
    ChalkChalkson got a reaction from leadeater in Would old Threadripper be a good platform for a Plex / NAS?   
    First question: what do you want your Plex box to do? Dozens of clients streaming at 4k or 1-2 people streaming 1080p?
     
    From what I see a "cheap" TR system would spend about 500 bucks on the MoBo and CPU combo. For that you can also get a plex pass lifetime subscription (120), a gtx 1050 (75-100 bucks), a ryzen 6 core (120-160) and an 8 sata port x570 board (150). That will serve you better in terms of encoding streanms for a handful of people using it (nvenc is amazing), you have a little more flexible hardware and you have a plex pass...
     
    If you want your box to run multiple servers though or many vms, then TR might be a good fit
     
    My Plex server is running on 2 cores of an Intel 6 core i5 with a 1050ti and even when I eliminate the network as a bottleneck, the HDD read spead becomes an issue way before the transcoding does. But the 10th gen GPU was needed, when I didnt have it, it was having trouble transcoding the 4k Blue Ray rips I keep on there. You can work around that by converting them to a different format though.
  9. Informative
    ChalkChalkson got a reaction from kirashi in 100Mb/s speeds in Gb network?   
    Turns out the run from the router to the basement is only 100Mb/s. For now I have moved the NAS directly to the router, but that might not do the trick. My TV is in the basement and 4k blue rays are around 100Mb/s bit rate as well IIRC
  10. Agree
    ChalkChalkson got a reaction from BruteSquad in Amateur vs Pro Photography Challenge - Google Pixel 3 vs Fujifilm GFX   
    This video was freaking amazing on so many levels. Though seeing that you ended up going pretty deep on the talent show thing in the end, maybe you could have pronounced that more earlier on. Also I wish there was a little actual analysis in the end by Linus or Brandon. Honestly, I'd love to see a standalone video that is nothing but the two going through their pictures discussing where the better tool helped
  11. Agree
    ChalkChalkson got a reaction from ARikozuM in Amateur vs Pro Photography Challenge - Google Pixel 3 vs Fujifilm GFX   
    Have you seen the video? Linus took some really good shots! It's almost like doing videos all day for several years gives you some basic sense of shot composition :P
  12. Like
    ChalkChalkson got a reaction from Ben17 in Cheap minecraft server   
    If I were you I'd do one of three things depending on your situation:
     
    1: You have an unnecessarily powerful PC (like most of the people on this forum including me)
    Setup a VM host Install the MineOS Docker Install a Windows (or whatever OS you are used to) VM (Or just follow my UnraidGuide, I go into setting up a MinecraftServer specifically) 2: Setup a server @ home 
    If you want it just for the server and don't want to use it as a NAS, too, I would go ebay shopping for old PCs/Servers. Try to find something with a Sandybridge Chip or newer, with at least 2 cores and hyper threading (or 4 cores without). And use at least 8GB of RAM. If you want to mod the game and have a fair number of players 8 is kinda minimum If you go for a NAS, Plex, Minecraft combo, or plan to extend your internet presence from the Minecraft server to a webpage or plex or so, I'd probably buy new consumer hardware. I am running my little server on a Pentium G4560 with 8GB, but this is primarily a NAS and plex server, setup the minecraft server pretty much only so I could include it in the Unraid guide. (If you live with your parents, they may agree on paying for this hardware, since it offers a pretty safe place to store images and important documents).  3: Letting someone do it for you
    Most prices for hosting are kinda fair Less risk of potential attacks less stuff to deal with inherently more expensive and less flexible easier to scale  
    If you need one pretty quickly, live in europe or don't care about high-ish pings and are happy with relatively little power (2 modern CPU cores), I could setup a VM on one of my rigs and give you RDP access via a VPN or Teamviewer. At least for a while
  13. Like
    ChalkChalkson got a reaction from m0bb in Unraid guide   
    EDIT: This is heavily outdated and half the stuff in here doesn't work anymore due to some repos no longer being maintained. I probably won't be updating it though since A - time, B - my current setup is pretty different, C - I think other people can do this better.
     
    Steps:
    What is unraid and how does it work Components installing unraid setting up the shares configuring your router plugins and docker OpenVPN Plex Apache MineOS backups crontab further reading 1-Preamble
     
    When it comes down to it unraid is a linux distribution, under the hood it uses a standard linux kernel and kvm, so in theory you can do everything unraid can with open-source freeware. Note however, that the UI and a few of the plugins definitely are worth the 50 bucks you pay for it.
    The NAS side works the following way:
    You have shares, which can be exported via SMB or NFS, so you can access them over the network like any other drive. The files are then distributed on the actual drives, but not striped, so even if you lose 2 drives at the same time, you wouldn't lose all the data. Each share has its own privacy rules. but non are encrypted by default.
    The parity is something rather interesting, each part of the parity drive holds the value of all other drives x-ored, so you can rebuild any one drive. Note that this only works, when you replace that drive on its own, not, when you replace 1 failed drive with 2. Adding a second parity allows any 2 drives to fail but that math is orders of magnitude harder.
     
    2-Components
     
    Here is what you need for a server:
    CPU (should go with at least a modern dualcore) Motherboard Power Supply Case A USB drive (should go with at least 8GB) 2 or more Harddrives (see below) With the harddrives there are a few things to consider, first, a failing harddrive is a real danger to your data, no matter what you do, so you shouldn't go with the sketchiest drives you can find, but you also don't need anything fancy. Also: you should get a drive that is at least as large, as the largest drive you want to add in the future.
    If you want to have a proper backup, you need all the components twice of course.
     
     
    3-installing unraid
     
    First start downloading the unraid server zip from this page, then insert your USB drive, rightclick in the explorer, hit format, select FAT32 and name it 'UNRAID'.
    After that, put all files from the zip onto the flashdrive and execute "makebootable.bat" as administrator. Now insert it into the newly built computer.
    Go into the BIOS and set USB as the top boot priority.
    Now you can unplug keyboard and screen from the server, you won't need them anymore.
    Go to your normal PC, open a browser and type in "http://tower" and hit enter. On the page you will land on you can either get a trial key or copy-paste your key.
     
    First things first: you want to set a password for your "root" (admin) account:
    Go to the "users" tab, click on the "root" account and add a password. Hit "done".
    After you got that sorted out, go to the "Main" tab. Now select your largest drive as parity and put the others in as disks.
    Now just hit the format button and, when finished, start the array.
     
     
    4-shares
     
    Now this depends heavily on usecase, I decided that the best option for me is giving each server 2 shares, one being the "main" share of that server, the other one holding backups of the other one's main share.
    To create shares, go to the "Shares" tab, click add share, type in the name and optionally select "use cache drive", I would advise to keep the rest unchanged. Hit "add share".
    Now, you can select the export settings, if your household is only using windows (apart from the unraid server(s)) you can just hit "done". If you have linux machines that are supposed to be able to access the data, you need to enable NFS. 
    If you want to make it only accessible to certain people, hit "done" for the moment, go to the "users" tab, create a new user, go back to the "shares" tab, click the name of the share, and select "private" or "secure" for all exports. "secure" means only the selected users have write access, but everyone has read access, "private" gives no permission to other users.
    Usually you should make it "secure" with read/write for root.
     
     
    5-The router
     
    First, you should think about what parts of the server you want to make public. I would recommend only making a potential website, a VPN and potentially your Plex public.
    Here are some common ports:
    HTTP (Websites) Port 80
    Plex Port 32400
    OpenVPN Port 1194 (changeable) 
    Minecraft Port 25565
    CoD 4 Ports 28960 20800 20810
     
    Now go to your router page (most commonly 192.168.0.1) and add a port forward from port 80 to port 80 on the IP of your server.  Use a page like this one to check whether it is open or not and immediately delete this port forward!
    If the port did not show up as open, give your ISP a call and ask whether you are on IPv4 and whether your IP is capsuled. Try to sound annoyed and ask them to give you your own IPv4, while you are at it, you could also ask, whether you have a DNS running, and what the domain for it is and, if not, whether your IP is static. After they worked their magic, try again.
    Now just forward all the ports to your server. If you want to host a website (public port needs to be 80), do not forward to the internal port 80, use 8080 internally instead, otherwise anyone can access the settings of you unraid server and thus your private network.
     
     
    6-plugins and docker
     
    Time to add stuff to listen to these ports.
    First, lets add the unofficial, "app store". Go to the plugins tab, install plugins and copy paste this url:
    After this is done, go to the new "Apps" tab and search for "openvpn". Install the "OpenVPN Server" and, if you want to back up the server to another one in a different network, install the "OpenVPN Client" on the other one. While you are at it, go to the "docker" tab, click add container, select the "plex" template and hit "done". 
     
     
    7-OpenVPN
     
    Now go to "settings", openVPN Server, "OpenVPN Server Cert/Misc" and configure to your desire, 2048bit RSA is still considered safe, but the only trade off for using 4096bit is a bit of time during signing and connecting. I'd also change the path to store server and client certificates to "/boot/config/plugins/openvpnserver/" for convince sake. Hit "save configuration" and go to the next tab. Here you could leave anything at default as well, but if you already have a DNS it doesn't hurt to specify your domain.
    Hit "save" and go to the first tab.
    Install EasyRSA with the button and generate the server certificate. Go to the clients, keep the default selected and type in the certificate name (doesn't really matter). Go to the first tab again and start the openvpn server.
     
    Now navigate to the path you specified for the client certificates to be stored in ("boot" is exported as "flash") and go into the folder with the name of your client certificate. Copy the ".ovpn" file.
    On the client side (could be another unraid server, or your PC, install the client software and navigate to the openVPN folder.
    Windows: C:\Program Files\OpenVPN\config , unraid with plugin: \\[ServerIP]\flash\config\plugins\openvpnclient and store the certificate there.
     
    At this point you really want a either a static IP or a DNS. I decided to buy a domain from No-IP, but this service also offers free (ugly) domains.After you registered your domain and account, go to the "apps" tab and search for "noip" and install. Now navigate to \\[ServerIP]\appdata\No-Ip\ and edit the .config file (I'd recommend Notepad++) and fill in your information. Save, go to the "Docker" tab and start No-IP (might also want it to auto-start), if your information in the .config file is correct it will start, otherwise it won't. 
     
    Now you can navigate back to the .ovpn file on your client, edit it with Notepad++ and change the first line to "remote [yourdomain].[tld]".
     
    Congratulations, after saving you should now be able to remote into the network where your server is at any time like
     
     
    8-Plex
     
    Plex is way easier to set up, after you added a container using the plex preset, you are almost good to go. Click the plex-icon under "Docker", click "edit", "Add another path/port/variable" name it however you please, under container path just type /plex or /movies etc. under host path type /mnt/user/[your share]/[folder] give it read/write access and hit "apply". Now start the plex server, click the icon again to open the "web-ui". Login or register, press "add library" and select the folder you specified as /plex or /movies in the last step. Press "next" and "done".
     
    Now you can access your movies from everywhere by either getting a plex app or just typing "[yourdomain].[tld]:32400" into your browser.
     
    [If you want something similar for mine-os (minecraft server) and or apache (a website), please comment. I think these are pretty niche things]
     
    9-Apache
     
    So, you want a website and already have your website as a .html file(s), but are wondering how to get it out there? My answer: get a professional web-hosting service. 
    But if you really want to host it yourself Apache is a good solution. 
    First step: go to your router again and add a forward from port 80 to port 8080 on your server, I can only say it again, do not forward anything to port 80 on your server!
    Now go to the "Apps" tab, search for "Apache" and "Apache" by "linuxserver". 
    You will be send to a Docker configuration page. Here you need to change "Host Port 1" from 80 to 8080.
    Hit "apply", then "done".
    Go to the "Docker" tab, click on the Apache icon and press restart. Now wait for the page to reload.
    Open explorer and navigate to apache on the "appdata" share. 
    Place your .html file(s) directly in the folder "www" and make sure the page people are supposed to land on is named "index.html"
    Hit the apache logo in the "Docker" tab again, restart and wait for the page to refresh.
    Now you should have a nicely working website!
     
     
    10-MineOS
     
    To get a (or in fact multiple) Minecraft servers running, you should install MineOS. To to "apps" search for MineOS and install. 
    On the docker configuration page change the variable in "key1" to change your password, then hit apply and done.
    Go to the "Docker" tab, click the MineOS icon and open the WebUI. If you have a decent browser installed you will now get a warning, pass that warning and login with account name "minecraft" and your password.
    Click on "manage profiles" now it depends a bit on what you want to do:
     
    If you just want a vanilla server click on "create stock profile" and select your version. Now wait for the page to refresh and press the green "update" button next to the new profile. Wait for the page to refresh again and check that there is a check mark in the "ok" column.
    Now click "create server" name it and continue to the next page. Configure to your liking (I'd leave the port at 25565). Hit next again and select "vanilla[game version]" as the profile and hit submit.
    You'll be redirected to the "Dashboard", click the name of your server and hit start.
    The server will shut down after a few moments, refresh the page and navigate to the server again. Where there used to be the "start server" button, there should now be a "accept EULA" one. Accept the EULA and start your server.
     
    If you something more sophisticated, like a forge server click "create custom profile" and use a variation on the following settings
    profile name: "forge-installer" type: standalone, runnable jar Download URL: http://files.minecraftforge.net/maven/net/minecraftforge/forge/1.11.2-13.20.0.2228/forge-1.11.2-13.20.0.2228-installer.jar save download as: forge-installer-1-11-2 jarfile to run: forge-installer-1-11-2 jarfile arguments: --installServer Hit the update button and wait for the refresh and check that the check-mark is there under "ok".
    Now click "create server" name it and continue to the next page. Configure to your liking (I'd leave the port at 25565). Hit next again and select "forge-installer" as the profile and hit submit.
    You'll be redirected to the "Dashboard", click the name of your server and hit start.
    After a few moments the server will shut down again.
    Create another profile with a variation of the following settings:
    profile name: forge-1-11-2 type: unmanaged jarfile to run: forge-1.11.2-13.20.0.2228-universal.jar jarfile arguments: Now click the name of your server on the Dashboard again, go to "server.config" and change the first variable to "forge-1-11-2".
    Now start your server.
    You might need to refresh the page and accept the EULA before the server starts.
     
     
    11-backups
     
    Now we come to the nice parts: For this you need 2 servers that can see each other (eg over the vpn you set up). The IP of the main server will be 1.2.3.4 the IP of the backup server will be 1.2.3.5 from now on. The folder you want to backup is in the share "share" and is called "important" and the backup shall be stored in the share "backup". 
    I will now assume you are working on windows. Open the old control panel, programs, programs and feature. On the left hand side, select "active windows features" and select the "Telnet client".
    Hit windows and r, to open the "execute" window, type in "telnet 1.2.3.4" and hit enter. Use "root" as your login. 
    Type in:
    rsync -avz -e ssh /mnt/user/share/important root@1.2.3.5:/mnt/user/backup you might need to confirm and enter your credentials now, so this isn't good for regular backups, but a great way to test, whether it works at all.
    Assuming that it works, you now want a certificate, so you can back up without prompts whenever you want. So execute the following command:
    "ssh-keygen -t rsa -b 2048 -f /root/.ssh/rsync-key" when promted for a password just hit enter.
    scp /root/.ssh/rsync-key.pub root@1.2.3.5:/root/ now switch to the other server with
    telnet 1.2.3.5 here you need to make the newly generated key an authorised key (hit enter after each like):
    then mkdir .ssh chmod 700 .ssh fi mv rsync-key.pub .ssh/ cd .ssh/ if [ ! -f authorized_keys ]; then touch authorized_keys ; chmod 600 authorized_keys ; fi cat rsync-key.pub >> authorized_keys chmod 700 .ssh/ chmod 600 .ssh/rsync-key.pub chmod 644 .ssh/authorized_keys Now go back top the other server:
    telnet 1.2.3.4 And check out if it works or not:
    rsync -avz -e "ssh -i /root/.ssh/rsync-key" /mnt/user/share/important root@1.2.3.5:/mnt/user/backup Now you just need to make it sick for the next reboot:
    cp /root/.ssh/* /boot/config/sshroot/ cd /root/.ssh cp /boot/config/sshroot/* /root/.ssh/ chmod 600 * [Big thanks to tr0910 who wrote this post on the unraid forum, this ssh based solution is way more elegant than my previous one]
    Also note, that rsync works both ways: by switching the order of the folders, you copy data the other way
     
     
    12-cron
     
    So, now you have a simple 1 line solution to back up folders, but you don't want to do it manually, you want the machine to remember. A solution for this is cron.
    First step is making sure cron is doing its thing, just execute:
    crontab -l If you see a whole bunch of commented lines roll by, you are good.
     
    Open up explorer and navigate to \\1.2.3.4\flash\config\plugins and make a folder called "cron", make a new text file and rename it to "backup.cron" (make sure you override the .txt ending)
    I will now assume you want to back up at 3:30 every tuesday, here you can read more on the time format of cron.
    30 3 * * 2 rsync -avu --numeric-ids --progress  -e "ssh -i /root/.ssh/rsync-key  -T  -o Compression=no -x "  /mnt/user/share/important  root@1.2.3.5:/mnt/user/backup/ save the file.
     
    Now go back into the telnet window and execute:
    cd /boot/config/plugins/cron crontab backup.cron crontab -l if it displays the line inside your cron file, you are good.
     
     
    But note this will only move new files to the backup share. 
    To get the IMO best possible result, jump over to the backup server
    telnet 1.2.3.5 and repeat the process for a new cron file on that server called "movebackup.cron" containing the following code:
    20 3 * * 2 shopt -s extglob 21 3 * * 2 cd /mnt/user/SyncedShare/ 22 3 * * 2 mkdir "Backup-$(date +%Y-%m-%d)" 23 3 * * 2 mv ls !("Backup-"*) "Backup-$(date +%Y-%m-%d)" This will create a folder with the date of the backup in the name and move the synced files there every week
    If there are folders that only contain files that don't change and are too big to reasonable sustain this process (like movies or pictures) create folders for them in the "important" folder and replace the last line in movebackup.cron with:
    23 3 * * 2 mv ls !("Backup-"*|movies|pictures) "Backup-$(date +%Y-%m-%d)"  
    Note that from my understanding the "ls" shoudn't be needed, but without it it did not work in my case.
     
     
    13-Further reading:
     
    Getting started with unraid
    ssh rsync setup
    cron
    a random linux shell tutorial i just googled
     
    [Screenshots will be added on request]
  14. Like
    ChalkChalkson got a reaction from Benajim117 in Improving LTT testing methodology   
    Hey there,
    In the last year or so we have seen many improvements to the LTT testing methodology. Many of them were probably due to input by the new writers @LMG Ivan, @AlexTheGreatish and @GabenJr , but I am sure just having more man-hours available per review also helps
    There are a few things though that could still be improved, some wouldn't add much effort, some a lot, some would straight up increase accuracy, some would make the data more applicable. If you, the reader, have any ideas of your own or want to tell me that I am stupid and my ideas wouldn't work, please comment, I hate it when the internet is just a bunch of people screaming into an endless abyss
     
    The following list is just what came to my mind in the last few months since the forum was decoupled from floatplane (this reduced engagement in the comments so freaking much ).
    1: Power Draw (please adapt this, if anything)
    2: Temperature (nice to have, especially when comparing intel to AMD chips)
    3: Copute/Science Benchmarks (nice to have, but only applicable for few chips)
    4: Low End Benchmarks (not 100% serious, but could actually be great)
     
    1: Power draw
    This one is pretty simple: measuring power as drawn from the PSU is hopelessly inaccurate, and the first method adds nearly no work:
    Current-clamp
    Additional work: 10s in windows calc
    How to: Just put a current clamp around the EPS or PCIe power cables and multiply by your PSUs 12V rail voltage (usually 11.9 to 12.1V) and boom.
    Accuracy: over by ~10% for consumer CPUs with decent VRMs, more inaccurate for GPUs, over by ~10% again and under by up to 75W, so kinda bad.
    Cost: Around 75bucks if you want a decent current clamp
    Would I recommend it? Yes, definitely. Current-clamp + correction
    Additional work: lots of maths and look stuff up, I'd guess an hour per board.
    How to: Check the data-sheets of the controller and MOSFETs for efficiency (well, you can at least find the switching loss and the efficiency, but that maths shouldn't be too hard). For GPUs, it's also good to know whether they use the PCIe slot for the GPU, or just the other components, if the latter, perfect, your measurement just got more accurate with less work. Alternatively just use boards for which the VRM losses are known (I think Buildzoid includes them in his PCB breakdowns, not sure though).
    Accuracy: My guess is that you should be able to get it down to a +/- 5W interval for pretty much every board/chip
    Cost: Maybe 30 bucks in employee time?
    Would I recommend it? No. This is way too much effort.
    2: CPU/GPU Temperature
    Software tools are pretty good these days, but you can improve upon them significantly with decent thermocouples.
    Additional work: installing the thermocouple (~30min) once per board, plus 2min to get a multimeter when you start testing
    How to: on the back of the socket, you will find several VCore connection points (eg capacitors). Attach your couple to that point (ideally with liquid metal or something similar) and hold it in place with silicone, plastydip, or whatever you like. This gives you a connection directly to the silicon with ~200W/mK over the entire distance.
    Accuracy: you should be under by like 2K tops, probably significantly less
    Cost: Less than 10 bucks for a decent thermocouple
     
    3: Benchmarks for Compute/Sience Hardware:
    Since you guys are the Top Gear of tech and that is where the insane hardware lives now, no wonder you have been testing this hardware in the last months. But I am sure you will agree that your reviews didn't always test what the things are actually made for. You do include some decent synthetic workloads since I think the Titan V review (?) but there aren't too many science/compute real world tests you are doing (I recall one video where you called in a scientist though...). Here are a few things I'd suggest (GPU and CPU loads are mixed here):
    Neural Net training time
    Get some LSTM Tensor Flow example code and measure training time for a given data set. Tensor Flow is widely used in the field, so this would be very applicable and means there is a ton of really good example code. Linear Equations
    In theoretical physics, we often reduce problems to large linear equation systems with sparse matrices. The Pardiso Solver is decently common and very easy to use. If you want to go deep, try using different types of matrices. Database performance
    Probably don't need to explain this one, I suggest SQL and generating a huge database first (filled with dummy accounts each having an RSA key if possible) then run some selects. JuPyTer
    JuPyTer is awesome for science and thus used a lot. Luckily for you there is this awesome resource of actually useful JuPyTer notebooks you can use for benchmarking. And if all universities are operating like mine, you'd be suprised how much of that exact code is running on scientists computers (or uni compute servers) right now I would be really happy if you could include some of those benchmarks in your reviews, not only the high end compute stuff, but also higher end consumer stuff, for me and some people I know, stuff like that actually plays a big role in purchasing decisions and currently all we have to go by is guesswork.
     
    I am (as you can probably tell) decently passionate about getting better benchmarks for those kinds of workloads into videos about that kind of hardware (the Xeon Phi video(s) made me a bit sad), so I would be willing to create some benchmarks for you guys (including the forum people), but only if anyone actually cares. For my stuff I just run whaever projects I am currently working on, so I always have a 100% applicable benchmark to hand, but I think I am not the only one who cares. What I'd make would probably come down to a bunch of example code in a package (maybe some of my projects, but I am 70% sure I can't use the two coolest ones because of uni IP stuff) with nothing added to each one but some code to measure and output the runtime. I am sure there are people at LMG who could do this just as well though.
     
    4: Benchmarking Low End Devices
    When you are testing low end  devices, you tend to focus at low end games (which is understandable) but I think you are missing a significant chunk of what people are actually doing with those things. Here are some really dumb ideas (that acually mean something to lay people and are fun for enthusiasts):
    Google Chrome
    Create a folder of random, downloaded webpages you open one by one, until the first one gets unloaded Power Point
    Add rectangles to a slide until lag is noticable Photoshop
    The smudge tool is notorious to cause people on laptops headaches, maybe measure the largest size smudge tool that can perform in real time (standardized background of course) Excel
    On a large worksheet with tons of formulas, how long does the update take? (Maybe use one of @AlexTheGreatish 's old spreadsheets? I recall you mentioned one once)  
  15. Like
    ChalkChalkson got a reaction from Turtle Rig in 280 vs 360 AIO   
    Ok, cooling is a topic I could talk about for hours, so please stop me if I go overboard
    The question of 280 vs 360 is pretty interesting in a few different ways:
     
    1: Cooling Capacity
    1.1 Background:
    As you probably know a good way to think of cooling is in terms of little heat packages flowing like cars through traffic. If you want to cool say 90W from a CPU, you can imagine 90 cars (á 1J) coming out of your CPU every second. They need to move through the heat spreader, the cold plate, the water, the metal of the fins and finally into the air. The more area they move through the easier the heat can move, think of adding more lanes to a road. Some materials are easier to move through than others, think of aluminium as an asphalt and Intel's TIM as a dirt road. The final thing is the temperature difference; when the heat cars need to move through a thin slice of material (or from one to another) think of their speed as depending on the difference in temperature between the two ends (and the material). This means that for every meter of heat transfer through a given object you need more temperature difference with the increase being linea. Fun Fact: heatpipes or the water in your loop would be like a road that is also a conveyor belt.
     
    1.2 What that actually means to your case:
    When you compare two radiators, you need to think of the cars moving from your water into the air, as the materials are pretty much the same, as is the power of your CPU, so only the area impacts the temperature significantly. And if you want to lower your thermals, you want to pick the radiator with more surface area.
     
    1.3 Radiator areas
    So, what is the area of a 120x360 or a 140x280 radiator? Might sound like a trick question, but it is important to remember that the radiator is more than a solid box, it has fins and those do the actual thermal transfer. So you would need to find out how many fins there are per cm² and how large each fin is. But I am pretty sure that, if you are comparing two radiators out of the same product line, that those are equal. So here, in this specific case, just multiplying 120mm x 360mm (= 432cm²) and 140mm x 280mm (= 392cm²) and find that the 360 should give you around 10% more surface area. And thus ~10% lower temperatures.
     
    2: Fans
    The larger the fan the slower the static pressure. Think about it this way: look at a small part of the fan at the rim, the force applied to it is the static pressure of the fan, this force is now directed along the fan blade, meaning a part of it tries to stop the fan from spinning. The torque the motor needs to overcome that force is just the force multiplied with the fan blade radius. So the longer the fan blades the less pressure the motor can sustain.
    What does increase is the amount of air shuved through the radiator. I got quite intrigued by your description and did some maths. Turns out, comapring the two setups gives you the following equality:
    A\cdot T\cdot (H + \frac{v}{c}(exp(-\frac{cH}{v})-1))= constant So, no matter what setup you are using, if the fans can manage the pressure (and if not it'd favor the smaller fans) area and temperature are still inversely proportional to each other.
     
    The only thing that could make the 280 quieter at the same cooling performance is fan quality (assuming the radiators themselves have equal quality).
     
    3: My suggestion
    10% isn't a ton, but can ammount to 5K or so. If you care about performance deltas like that (ie you consider delidding) go for the 360, otherwise pick based on the spot you'd rather have the radiator
     
     
    EDIT:
    Dammit! When I saw LaTeX in the code box, I was filled with joy, that I could insert LaTeX into LTT forum posts, but at last, writing maths here still sucks
  16. Informative
    ChalkChalkson got a reaction from Zarous in 280 vs 360 AIO   
    Ok, cooling is a topic I could talk about for hours, so please stop me if I go overboard
    The question of 280 vs 360 is pretty interesting in a few different ways:
     
    1: Cooling Capacity
    1.1 Background:
    As you probably know a good way to think of cooling is in terms of little heat packages flowing like cars through traffic. If you want to cool say 90W from a CPU, you can imagine 90 cars (á 1J) coming out of your CPU every second. They need to move through the heat spreader, the cold plate, the water, the metal of the fins and finally into the air. The more area they move through the easier the heat can move, think of adding more lanes to a road. Some materials are easier to move through than others, think of aluminium as an asphalt and Intel's TIM as a dirt road. The final thing is the temperature difference; when the heat cars need to move through a thin slice of material (or from one to another) think of their speed as depending on the difference in temperature between the two ends (and the material). This means that for every meter of heat transfer through a given object you need more temperature difference with the increase being linea. Fun Fact: heatpipes or the water in your loop would be like a road that is also a conveyor belt.
     
    1.2 What that actually means to your case:
    When you compare two radiators, you need to think of the cars moving from your water into the air, as the materials are pretty much the same, as is the power of your CPU, so only the area impacts the temperature significantly. And if you want to lower your thermals, you want to pick the radiator with more surface area.
     
    1.3 Radiator areas
    So, what is the area of a 120x360 or a 140x280 radiator? Might sound like a trick question, but it is important to remember that the radiator is more than a solid box, it has fins and those do the actual thermal transfer. So you would need to find out how many fins there are per cm² and how large each fin is. But I am pretty sure that, if you are comparing two radiators out of the same product line, that those are equal. So here, in this specific case, just multiplying 120mm x 360mm (= 432cm²) and 140mm x 280mm (= 392cm²) and find that the 360 should give you around 10% more surface area. And thus ~10% lower temperatures.
     
    2: Fans
    The larger the fan the slower the static pressure. Think about it this way: look at a small part of the fan at the rim, the force applied to it is the static pressure of the fan, this force is now directed along the fan blade, meaning a part of it tries to stop the fan from spinning. The torque the motor needs to overcome that force is just the force multiplied with the fan blade radius. So the longer the fan blades the less pressure the motor can sustain.
    What does increase is the amount of air shuved through the radiator. I got quite intrigued by your description and did some maths. Turns out, comapring the two setups gives you the following equality:
    A\cdot T\cdot (H + \frac{v}{c}(exp(-\frac{cH}{v})-1))= constant So, no matter what setup you are using, if the fans can manage the pressure (and if not it'd favor the smaller fans) area and temperature are still inversely proportional to each other.
     
    The only thing that could make the 280 quieter at the same cooling performance is fan quality (assuming the radiators themselves have equal quality).
     
    3: My suggestion
    10% isn't a ton, but can ammount to 5K or so. If you care about performance deltas like that (ie you consider delidding) go for the 360, otherwise pick based on the spot you'd rather have the radiator
     
     
    EDIT:
    Dammit! When I saw LaTeX in the code box, I was filled with joy, that I could insert LaTeX into LTT forum posts, but at last, writing maths here still sucks
  17. Informative
    ChalkChalkson got a reaction from Mavflight09 in 280 vs 360 AIO   
    Ok, cooling is a topic I could talk about for hours, so please stop me if I go overboard
    The question of 280 vs 360 is pretty interesting in a few different ways:
     
    1: Cooling Capacity
    1.1 Background:
    As you probably know a good way to think of cooling is in terms of little heat packages flowing like cars through traffic. If you want to cool say 90W from a CPU, you can imagine 90 cars (á 1J) coming out of your CPU every second. They need to move through the heat spreader, the cold plate, the water, the metal of the fins and finally into the air. The more area they move through the easier the heat can move, think of adding more lanes to a road. Some materials are easier to move through than others, think of aluminium as an asphalt and Intel's TIM as a dirt road. The final thing is the temperature difference; when the heat cars need to move through a thin slice of material (or from one to another) think of their speed as depending on the difference in temperature between the two ends (and the material). This means that for every meter of heat transfer through a given object you need more temperature difference with the increase being linea. Fun Fact: heatpipes or the water in your loop would be like a road that is also a conveyor belt.
     
    1.2 What that actually means to your case:
    When you compare two radiators, you need to think of the cars moving from your water into the air, as the materials are pretty much the same, as is the power of your CPU, so only the area impacts the temperature significantly. And if you want to lower your thermals, you want to pick the radiator with more surface area.
     
    1.3 Radiator areas
    So, what is the area of a 120x360 or a 140x280 radiator? Might sound like a trick question, but it is important to remember that the radiator is more than a solid box, it has fins and those do the actual thermal transfer. So you would need to find out how many fins there are per cm² and how large each fin is. But I am pretty sure that, if you are comparing two radiators out of the same product line, that those are equal. So here, in this specific case, just multiplying 120mm x 360mm (= 432cm²) and 140mm x 280mm (= 392cm²) and find that the 360 should give you around 10% more surface area. And thus ~10% lower temperatures.
     
    2: Fans
    The larger the fan the slower the static pressure. Think about it this way: look at a small part of the fan at the rim, the force applied to it is the static pressure of the fan, this force is now directed along the fan blade, meaning a part of it tries to stop the fan from spinning. The torque the motor needs to overcome that force is just the force multiplied with the fan blade radius. So the longer the fan blades the less pressure the motor can sustain.
    What does increase is the amount of air shuved through the radiator. I got quite intrigued by your description and did some maths. Turns out, comapring the two setups gives you the following equality:
    A\cdot T\cdot (H + \frac{v}{c}(exp(-\frac{cH}{v})-1))= constant So, no matter what setup you are using, if the fans can manage the pressure (and if not it'd favor the smaller fans) area and temperature are still inversely proportional to each other.
     
    The only thing that could make the 280 quieter at the same cooling performance is fan quality (assuming the radiators themselves have equal quality).
     
    3: My suggestion
    10% isn't a ton, but can ammount to 5K or so. If you care about performance deltas like that (ie you consider delidding) go for the 360, otherwise pick based on the spot you'd rather have the radiator
     
     
    EDIT:
    Dammit! When I saw LaTeX in the code box, I was filled with joy, that I could insert LaTeX into LTT forum posts, but at last, writing maths here still sucks
  18. Informative
    ChalkChalkson got a reaction from Brian Furious in Unraid guide   
    EDIT: This is heavily outdated and half the stuff in here doesn't work anymore due to some repos no longer being maintained. I probably won't be updating it though since A - time, B - my current setup is pretty different, C - I think other people can do this better.
     
    Steps:
    What is unraid and how does it work Components installing unraid setting up the shares configuring your router plugins and docker OpenVPN Plex Apache MineOS backups crontab further reading 1-Preamble
     
    When it comes down to it unraid is a linux distribution, under the hood it uses a standard linux kernel and kvm, so in theory you can do everything unraid can with open-source freeware. Note however, that the UI and a few of the plugins definitely are worth the 50 bucks you pay for it.
    The NAS side works the following way:
    You have shares, which can be exported via SMB or NFS, so you can access them over the network like any other drive. The files are then distributed on the actual drives, but not striped, so even if you lose 2 drives at the same time, you wouldn't lose all the data. Each share has its own privacy rules. but non are encrypted by default.
    The parity is something rather interesting, each part of the parity drive holds the value of all other drives x-ored, so you can rebuild any one drive. Note that this only works, when you replace that drive on its own, not, when you replace 1 failed drive with 2. Adding a second parity allows any 2 drives to fail but that math is orders of magnitude harder.
     
    2-Components
     
    Here is what you need for a server:
    CPU (should go with at least a modern dualcore) Motherboard Power Supply Case A USB drive (should go with at least 8GB) 2 or more Harddrives (see below) With the harddrives there are a few things to consider, first, a failing harddrive is a real danger to your data, no matter what you do, so you shouldn't go with the sketchiest drives you can find, but you also don't need anything fancy. Also: you should get a drive that is at least as large, as the largest drive you want to add in the future.
    If you want to have a proper backup, you need all the components twice of course.
     
     
    3-installing unraid
     
    First start downloading the unraid server zip from this page, then insert your USB drive, rightclick in the explorer, hit format, select FAT32 and name it 'UNRAID'.
    After that, put all files from the zip onto the flashdrive and execute "makebootable.bat" as administrator. Now insert it into the newly built computer.
    Go into the BIOS and set USB as the top boot priority.
    Now you can unplug keyboard and screen from the server, you won't need them anymore.
    Go to your normal PC, open a browser and type in "http://tower" and hit enter. On the page you will land on you can either get a trial key or copy-paste your key.
     
    First things first: you want to set a password for your "root" (admin) account:
    Go to the "users" tab, click on the "root" account and add a password. Hit "done".
    After you got that sorted out, go to the "Main" tab. Now select your largest drive as parity and put the others in as disks.
    Now just hit the format button and, when finished, start the array.
     
     
    4-shares
     
    Now this depends heavily on usecase, I decided that the best option for me is giving each server 2 shares, one being the "main" share of that server, the other one holding backups of the other one's main share.
    To create shares, go to the "Shares" tab, click add share, type in the name and optionally select "use cache drive", I would advise to keep the rest unchanged. Hit "add share".
    Now, you can select the export settings, if your household is only using windows (apart from the unraid server(s)) you can just hit "done". If you have linux machines that are supposed to be able to access the data, you need to enable NFS. 
    If you want to make it only accessible to certain people, hit "done" for the moment, go to the "users" tab, create a new user, go back to the "shares" tab, click the name of the share, and select "private" or "secure" for all exports. "secure" means only the selected users have write access, but everyone has read access, "private" gives no permission to other users.
    Usually you should make it "secure" with read/write for root.
     
     
    5-The router
     
    First, you should think about what parts of the server you want to make public. I would recommend only making a potential website, a VPN and potentially your Plex public.
    Here are some common ports:
    HTTP (Websites) Port 80
    Plex Port 32400
    OpenVPN Port 1194 (changeable) 
    Minecraft Port 25565
    CoD 4 Ports 28960 20800 20810
     
    Now go to your router page (most commonly 192.168.0.1) and add a port forward from port 80 to port 80 on the IP of your server.  Use a page like this one to check whether it is open or not and immediately delete this port forward!
    If the port did not show up as open, give your ISP a call and ask whether you are on IPv4 and whether your IP is capsuled. Try to sound annoyed and ask them to give you your own IPv4, while you are at it, you could also ask, whether you have a DNS running, and what the domain for it is and, if not, whether your IP is static. After they worked their magic, try again.
    Now just forward all the ports to your server. If you want to host a website (public port needs to be 80), do not forward to the internal port 80, use 8080 internally instead, otherwise anyone can access the settings of you unraid server and thus your private network.
     
     
    6-plugins and docker
     
    Time to add stuff to listen to these ports.
    First, lets add the unofficial, "app store". Go to the plugins tab, install plugins and copy paste this url:
    After this is done, go to the new "Apps" tab and search for "openvpn". Install the "OpenVPN Server" and, if you want to back up the server to another one in a different network, install the "OpenVPN Client" on the other one. While you are at it, go to the "docker" tab, click add container, select the "plex" template and hit "done". 
     
     
    7-OpenVPN
     
    Now go to "settings", openVPN Server, "OpenVPN Server Cert/Misc" and configure to your desire, 2048bit RSA is still considered safe, but the only trade off for using 4096bit is a bit of time during signing and connecting. I'd also change the path to store server and client certificates to "/boot/config/plugins/openvpnserver/" for convince sake. Hit "save configuration" and go to the next tab. Here you could leave anything at default as well, but if you already have a DNS it doesn't hurt to specify your domain.
    Hit "save" and go to the first tab.
    Install EasyRSA with the button and generate the server certificate. Go to the clients, keep the default selected and type in the certificate name (doesn't really matter). Go to the first tab again and start the openvpn server.
     
    Now navigate to the path you specified for the client certificates to be stored in ("boot" is exported as "flash") and go into the folder with the name of your client certificate. Copy the ".ovpn" file.
    On the client side (could be another unraid server, or your PC, install the client software and navigate to the openVPN folder.
    Windows: C:\Program Files\OpenVPN\config , unraid with plugin: \\[ServerIP]\flash\config\plugins\openvpnclient and store the certificate there.
     
    At this point you really want a either a static IP or a DNS. I decided to buy a domain from No-IP, but this service also offers free (ugly) domains.After you registered your domain and account, go to the "apps" tab and search for "noip" and install. Now navigate to \\[ServerIP]\appdata\No-Ip\ and edit the .config file (I'd recommend Notepad++) and fill in your information. Save, go to the "Docker" tab and start No-IP (might also want it to auto-start), if your information in the .config file is correct it will start, otherwise it won't. 
     
    Now you can navigate back to the .ovpn file on your client, edit it with Notepad++ and change the first line to "remote [yourdomain].[tld]".
     
    Congratulations, after saving you should now be able to remote into the network where your server is at any time like
     
     
    8-Plex
     
    Plex is way easier to set up, after you added a container using the plex preset, you are almost good to go. Click the plex-icon under "Docker", click "edit", "Add another path/port/variable" name it however you please, under container path just type /plex or /movies etc. under host path type /mnt/user/[your share]/[folder] give it read/write access and hit "apply". Now start the plex server, click the icon again to open the "web-ui". Login or register, press "add library" and select the folder you specified as /plex or /movies in the last step. Press "next" and "done".
     
    Now you can access your movies from everywhere by either getting a plex app or just typing "[yourdomain].[tld]:32400" into your browser.
     
    [If you want something similar for mine-os (minecraft server) and or apache (a website), please comment. I think these are pretty niche things]
     
    9-Apache
     
    So, you want a website and already have your website as a .html file(s), but are wondering how to get it out there? My answer: get a professional web-hosting service. 
    But if you really want to host it yourself Apache is a good solution. 
    First step: go to your router again and add a forward from port 80 to port 8080 on your server, I can only say it again, do not forward anything to port 80 on your server!
    Now go to the "Apps" tab, search for "Apache" and "Apache" by "linuxserver". 
    You will be send to a Docker configuration page. Here you need to change "Host Port 1" from 80 to 8080.
    Hit "apply", then "done".
    Go to the "Docker" tab, click on the Apache icon and press restart. Now wait for the page to reload.
    Open explorer and navigate to apache on the "appdata" share. 
    Place your .html file(s) directly in the folder "www" and make sure the page people are supposed to land on is named "index.html"
    Hit the apache logo in the "Docker" tab again, restart and wait for the page to refresh.
    Now you should have a nicely working website!
     
     
    10-MineOS
     
    To get a (or in fact multiple) Minecraft servers running, you should install MineOS. To to "apps" search for MineOS and install. 
    On the docker configuration page change the variable in "key1" to change your password, then hit apply and done.
    Go to the "Docker" tab, click the MineOS icon and open the WebUI. If you have a decent browser installed you will now get a warning, pass that warning and login with account name "minecraft" and your password.
    Click on "manage profiles" now it depends a bit on what you want to do:
     
    If you just want a vanilla server click on "create stock profile" and select your version. Now wait for the page to refresh and press the green "update" button next to the new profile. Wait for the page to refresh again and check that there is a check mark in the "ok" column.
    Now click "create server" name it and continue to the next page. Configure to your liking (I'd leave the port at 25565). Hit next again and select "vanilla[game version]" as the profile and hit submit.
    You'll be redirected to the "Dashboard", click the name of your server and hit start.
    The server will shut down after a few moments, refresh the page and navigate to the server again. Where there used to be the "start server" button, there should now be a "accept EULA" one. Accept the EULA and start your server.
     
    If you something more sophisticated, like a forge server click "create custom profile" and use a variation on the following settings
    profile name: "forge-installer" type: standalone, runnable jar Download URL: http://files.minecraftforge.net/maven/net/minecraftforge/forge/1.11.2-13.20.0.2228/forge-1.11.2-13.20.0.2228-installer.jar save download as: forge-installer-1-11-2 jarfile to run: forge-installer-1-11-2 jarfile arguments: --installServer Hit the update button and wait for the refresh and check that the check-mark is there under "ok".
    Now click "create server" name it and continue to the next page. Configure to your liking (I'd leave the port at 25565). Hit next again and select "forge-installer" as the profile and hit submit.
    You'll be redirected to the "Dashboard", click the name of your server and hit start.
    After a few moments the server will shut down again.
    Create another profile with a variation of the following settings:
    profile name: forge-1-11-2 type: unmanaged jarfile to run: forge-1.11.2-13.20.0.2228-universal.jar jarfile arguments: Now click the name of your server on the Dashboard again, go to "server.config" and change the first variable to "forge-1-11-2".
    Now start your server.
    You might need to refresh the page and accept the EULA before the server starts.
     
     
    11-backups
     
    Now we come to the nice parts: For this you need 2 servers that can see each other (eg over the vpn you set up). The IP of the main server will be 1.2.3.4 the IP of the backup server will be 1.2.3.5 from now on. The folder you want to backup is in the share "share" and is called "important" and the backup shall be stored in the share "backup". 
    I will now assume you are working on windows. Open the old control panel, programs, programs and feature. On the left hand side, select "active windows features" and select the "Telnet client".
    Hit windows and r, to open the "execute" window, type in "telnet 1.2.3.4" and hit enter. Use "root" as your login. 
    Type in:
    rsync -avz -e ssh /mnt/user/share/important root@1.2.3.5:/mnt/user/backup you might need to confirm and enter your credentials now, so this isn't good for regular backups, but a great way to test, whether it works at all.
    Assuming that it works, you now want a certificate, so you can back up without prompts whenever you want. So execute the following command:
    "ssh-keygen -t rsa -b 2048 -f /root/.ssh/rsync-key" when promted for a password just hit enter.
    scp /root/.ssh/rsync-key.pub root@1.2.3.5:/root/ now switch to the other server with
    telnet 1.2.3.5 here you need to make the newly generated key an authorised key (hit enter after each like):
    then mkdir .ssh chmod 700 .ssh fi mv rsync-key.pub .ssh/ cd .ssh/ if [ ! -f authorized_keys ]; then touch authorized_keys ; chmod 600 authorized_keys ; fi cat rsync-key.pub >> authorized_keys chmod 700 .ssh/ chmod 600 .ssh/rsync-key.pub chmod 644 .ssh/authorized_keys Now go back top the other server:
    telnet 1.2.3.4 And check out if it works or not:
    rsync -avz -e "ssh -i /root/.ssh/rsync-key" /mnt/user/share/important root@1.2.3.5:/mnt/user/backup Now you just need to make it sick for the next reboot:
    cp /root/.ssh/* /boot/config/sshroot/ cd /root/.ssh cp /boot/config/sshroot/* /root/.ssh/ chmod 600 * [Big thanks to tr0910 who wrote this post on the unraid forum, this ssh based solution is way more elegant than my previous one]
    Also note, that rsync works both ways: by switching the order of the folders, you copy data the other way
     
     
    12-cron
     
    So, now you have a simple 1 line solution to back up folders, but you don't want to do it manually, you want the machine to remember. A solution for this is cron.
    First step is making sure cron is doing its thing, just execute:
    crontab -l If you see a whole bunch of commented lines roll by, you are good.
     
    Open up explorer and navigate to \\1.2.3.4\flash\config\plugins and make a folder called "cron", make a new text file and rename it to "backup.cron" (make sure you override the .txt ending)
    I will now assume you want to back up at 3:30 every tuesday, here you can read more on the time format of cron.
    30 3 * * 2 rsync -avu --numeric-ids --progress  -e "ssh -i /root/.ssh/rsync-key  -T  -o Compression=no -x "  /mnt/user/share/important  root@1.2.3.5:/mnt/user/backup/ save the file.
     
    Now go back into the telnet window and execute:
    cd /boot/config/plugins/cron crontab backup.cron crontab -l if it displays the line inside your cron file, you are good.
     
     
    But note this will only move new files to the backup share. 
    To get the IMO best possible result, jump over to the backup server
    telnet 1.2.3.5 and repeat the process for a new cron file on that server called "movebackup.cron" containing the following code:
    20 3 * * 2 shopt -s extglob 21 3 * * 2 cd /mnt/user/SyncedShare/ 22 3 * * 2 mkdir "Backup-$(date +%Y-%m-%d)" 23 3 * * 2 mv ls !("Backup-"*) "Backup-$(date +%Y-%m-%d)" This will create a folder with the date of the backup in the name and move the synced files there every week
    If there are folders that only contain files that don't change and are too big to reasonable sustain this process (like movies or pictures) create folders for them in the "important" folder and replace the last line in movebackup.cron with:
    23 3 * * 2 mv ls !("Backup-"*|movies|pictures) "Backup-$(date +%Y-%m-%d)"  
    Note that from my understanding the "ls" shoudn't be needed, but without it it did not work in my case.
     
     
    13-Further reading:
     
    Getting started with unraid
    ssh rsync setup
    cron
    a random linux shell tutorial i just googled
     
    [Screenshots will be added on request]
  19. Agree
    ChalkChalkson got a reaction from Sfekke in Improving LTT testing methodology   
    Well accuracy isn't the same thing as detail, the current clamp on the EPS increases accuracy while providing the same amount of detail.
     
    That's why I said in the Current Clamp + correction thing that you'd need to check what acutally happens to that power, some GPUs just use it for the minor rails. But as I said in the Current Clamp part, this method really insn't that great for GPUs. If you wanted to be super accurate you could use a PCIe riser that gets power via molex or sata and add that to the current clamp (need to measure one voltage at a time of course).
    You mean GN or Actually Hardcore Overclocking with higher production values? I bet that'd flop hard   But if LTT were to add another channel that targeted in depth stuff, I'd hope for a channel that looks at the science of PCs in a TQ style. A lot of stuff to explore there just in physics alone and I don't really see that nieche filled by any other channel.
    F for NickyV
  20. Informative
    ChalkChalkson got a reaction from ModifiedPhotoGraphics in 280 vs 360 AIO   
    Ok, cooling is a topic I could talk about for hours, so please stop me if I go overboard
    The question of 280 vs 360 is pretty interesting in a few different ways:
     
    1: Cooling Capacity
    1.1 Background:
    As you probably know a good way to think of cooling is in terms of little heat packages flowing like cars through traffic. If you want to cool say 90W from a CPU, you can imagine 90 cars (á 1J) coming out of your CPU every second. They need to move through the heat spreader, the cold plate, the water, the metal of the fins and finally into the air. The more area they move through the easier the heat can move, think of adding more lanes to a road. Some materials are easier to move through than others, think of aluminium as an asphalt and Intel's TIM as a dirt road. The final thing is the temperature difference; when the heat cars need to move through a thin slice of material (or from one to another) think of their speed as depending on the difference in temperature between the two ends (and the material). This means that for every meter of heat transfer through a given object you need more temperature difference with the increase being linea. Fun Fact: heatpipes or the water in your loop would be like a road that is also a conveyor belt.
     
    1.2 What that actually means to your case:
    When you compare two radiators, you need to think of the cars moving from your water into the air, as the materials are pretty much the same, as is the power of your CPU, so only the area impacts the temperature significantly. And if you want to lower your thermals, you want to pick the radiator with more surface area.
     
    1.3 Radiator areas
    So, what is the area of a 120x360 or a 140x280 radiator? Might sound like a trick question, but it is important to remember that the radiator is more than a solid box, it has fins and those do the actual thermal transfer. So you would need to find out how many fins there are per cm² and how large each fin is. But I am pretty sure that, if you are comparing two radiators out of the same product line, that those are equal. So here, in this specific case, just multiplying 120mm x 360mm (= 432cm²) and 140mm x 280mm (= 392cm²) and find that the 360 should give you around 10% more surface area. And thus ~10% lower temperatures.
     
    2: Fans
    The larger the fan the slower the static pressure. Think about it this way: look at a small part of the fan at the rim, the force applied to it is the static pressure of the fan, this force is now directed along the fan blade, meaning a part of it tries to stop the fan from spinning. The torque the motor needs to overcome that force is just the force multiplied with the fan blade radius. So the longer the fan blades the less pressure the motor can sustain.
    What does increase is the amount of air shuved through the radiator. I got quite intrigued by your description and did some maths. Turns out, comapring the two setups gives you the following equality:
    A\cdot T\cdot (H + \frac{v}{c}(exp(-\frac{cH}{v})-1))= constant So, no matter what setup you are using, if the fans can manage the pressure (and if not it'd favor the smaller fans) area and temperature are still inversely proportional to each other.
     
    The only thing that could make the 280 quieter at the same cooling performance is fan quality (assuming the radiators themselves have equal quality).
     
    3: My suggestion
    10% isn't a ton, but can ammount to 5K or so. If you care about performance deltas like that (ie you consider delidding) go for the 360, otherwise pick based on the spot you'd rather have the radiator
     
     
    EDIT:
    Dammit! When I saw LaTeX in the code box, I was filled with joy, that I could insert LaTeX into LTT forum posts, but at last, writing maths here still sucks
  21. Agree
    ChalkChalkson got a reaction from Spotty in Improving LTT testing methodology   
    Well accuracy isn't the same thing as detail, the current clamp on the EPS increases accuracy while providing the same amount of detail.
     
    That's why I said in the Current Clamp + correction thing that you'd need to check what acutally happens to that power, some GPUs just use it for the minor rails. But as I said in the Current Clamp part, this method really insn't that great for GPUs. If you wanted to be super accurate you could use a PCIe riser that gets power via molex or sata and add that to the current clamp (need to measure one voltage at a time of course).
    You mean GN or Actually Hardcore Overclocking with higher production values? I bet that'd flop hard   But if LTT were to add another channel that targeted in depth stuff, I'd hope for a channel that looks at the science of PCs in a TQ style. A lot of stuff to explore there just in physics alone and I don't really see that nieche filled by any other channel.
    F for NickyV
  22. Like
    ChalkChalkson got a reaction from Spotty in Improving LTT testing methodology   
    Hey there,
    In the last year or so we have seen many improvements to the LTT testing methodology. Many of them were probably due to input by the new writers @LMG Ivan, @AlexTheGreatish and @GabenJr , but I am sure just having more man-hours available per review also helps
    There are a few things though that could still be improved, some wouldn't add much effort, some a lot, some would straight up increase accuracy, some would make the data more applicable. If you, the reader, have any ideas of your own or want to tell me that I am stupid and my ideas wouldn't work, please comment, I hate it when the internet is just a bunch of people screaming into an endless abyss
     
    The following list is just what came to my mind in the last few months since the forum was decoupled from floatplane (this reduced engagement in the comments so freaking much ).
    1: Power Draw (please adapt this, if anything)
    2: Temperature (nice to have, especially when comparing intel to AMD chips)
    3: Copute/Science Benchmarks (nice to have, but only applicable for few chips)
    4: Low End Benchmarks (not 100% serious, but could actually be great)
     
    1: Power draw
    This one is pretty simple: measuring power as drawn from the PSU is hopelessly inaccurate, and the first method adds nearly no work:
    Current-clamp
    Additional work: 10s in windows calc
    How to: Just put a current clamp around the EPS or PCIe power cables and multiply by your PSUs 12V rail voltage (usually 11.9 to 12.1V) and boom.
    Accuracy: over by ~10% for consumer CPUs with decent VRMs, more inaccurate for GPUs, over by ~10% again and under by up to 75W, so kinda bad.
    Cost: Around 75bucks if you want a decent current clamp
    Would I recommend it? Yes, definitely. Current-clamp + correction
    Additional work: lots of maths and look stuff up, I'd guess an hour per board.
    How to: Check the data-sheets of the controller and MOSFETs for efficiency (well, you can at least find the switching loss and the efficiency, but that maths shouldn't be too hard). For GPUs, it's also good to know whether they use the PCIe slot for the GPU, or just the other components, if the latter, perfect, your measurement just got more accurate with less work. Alternatively just use boards for which the VRM losses are known (I think Buildzoid includes them in his PCB breakdowns, not sure though).
    Accuracy: My guess is that you should be able to get it down to a +/- 5W interval for pretty much every board/chip
    Cost: Maybe 30 bucks in employee time?
    Would I recommend it? No. This is way too much effort.
    2: CPU/GPU Temperature
    Software tools are pretty good these days, but you can improve upon them significantly with decent thermocouples.
    Additional work: installing the thermocouple (~30min) once per board, plus 2min to get a multimeter when you start testing
    How to: on the back of the socket, you will find several VCore connection points (eg capacitors). Attach your couple to that point (ideally with liquid metal or something similar) and hold it in place with silicone, plastydip, or whatever you like. This gives you a connection directly to the silicon with ~200W/mK over the entire distance.
    Accuracy: you should be under by like 2K tops, probably significantly less
    Cost: Less than 10 bucks for a decent thermocouple
     
    3: Benchmarks for Compute/Sience Hardware:
    Since you guys are the Top Gear of tech and that is where the insane hardware lives now, no wonder you have been testing this hardware in the last months. But I am sure you will agree that your reviews didn't always test what the things are actually made for. You do include some decent synthetic workloads since I think the Titan V review (?) but there aren't too many science/compute real world tests you are doing (I recall one video where you called in a scientist though...). Here are a few things I'd suggest (GPU and CPU loads are mixed here):
    Neural Net training time
    Get some LSTM Tensor Flow example code and measure training time for a given data set. Tensor Flow is widely used in the field, so this would be very applicable and means there is a ton of really good example code. Linear Equations
    In theoretical physics, we often reduce problems to large linear equation systems with sparse matrices. The Pardiso Solver is decently common and very easy to use. If you want to go deep, try using different types of matrices. Database performance
    Probably don't need to explain this one, I suggest SQL and generating a huge database first (filled with dummy accounts each having an RSA key if possible) then run some selects. JuPyTer
    JuPyTer is awesome for science and thus used a lot. Luckily for you there is this awesome resource of actually useful JuPyTer notebooks you can use for benchmarking. And if all universities are operating like mine, you'd be suprised how much of that exact code is running on scientists computers (or uni compute servers) right now I would be really happy if you could include some of those benchmarks in your reviews, not only the high end compute stuff, but also higher end consumer stuff, for me and some people I know, stuff like that actually plays a big role in purchasing decisions and currently all we have to go by is guesswork.
     
    I am (as you can probably tell) decently passionate about getting better benchmarks for those kinds of workloads into videos about that kind of hardware (the Xeon Phi video(s) made me a bit sad), so I would be willing to create some benchmarks for you guys (including the forum people), but only if anyone actually cares. For my stuff I just run whaever projects I am currently working on, so I always have a 100% applicable benchmark to hand, but I think I am not the only one who cares. What I'd make would probably come down to a bunch of example code in a package (maybe some of my projects, but I am 70% sure I can't use the two coolest ones because of uni IP stuff) with nothing added to each one but some code to measure and output the runtime. I am sure there are people at LMG who could do this just as well though.
     
    4: Benchmarking Low End Devices
    When you are testing low end  devices, you tend to focus at low end games (which is understandable) but I think you are missing a significant chunk of what people are actually doing with those things. Here are some really dumb ideas (that acually mean something to lay people and are fun for enthusiasts):
    Google Chrome
    Create a folder of random, downloaded webpages you open one by one, until the first one gets unloaded Power Point
    Add rectangles to a slide until lag is noticable Photoshop
    The smudge tool is notorious to cause people on laptops headaches, maybe measure the largest size smudge tool that can perform in real time (standardized background of course) Excel
    On a large worksheet with tons of formulas, how long does the update take? (Maybe use one of @AlexTheGreatish 's old spreadsheets? I recall you mentioned one once)  
  23. Informative
    ChalkChalkson got a reaction from Sfekke in Improving LTT testing methodology   
    Hey there,
    In the last year or so we have seen many improvements to the LTT testing methodology. Many of them were probably due to input by the new writers @LMG Ivan, @AlexTheGreatish and @GabenJr , but I am sure just having more man-hours available per review also helps
    There are a few things though that could still be improved, some wouldn't add much effort, some a lot, some would straight up increase accuracy, some would make the data more applicable. If you, the reader, have any ideas of your own or want to tell me that I am stupid and my ideas wouldn't work, please comment, I hate it when the internet is just a bunch of people screaming into an endless abyss
     
    The following list is just what came to my mind in the last few months since the forum was decoupled from floatplane (this reduced engagement in the comments so freaking much ).
    1: Power Draw (please adapt this, if anything)
    2: Temperature (nice to have, especially when comparing intel to AMD chips)
    3: Copute/Science Benchmarks (nice to have, but only applicable for few chips)
    4: Low End Benchmarks (not 100% serious, but could actually be great)
     
    1: Power draw
    This one is pretty simple: measuring power as drawn from the PSU is hopelessly inaccurate, and the first method adds nearly no work:
    Current-clamp
    Additional work: 10s in windows calc
    How to: Just put a current clamp around the EPS or PCIe power cables and multiply by your PSUs 12V rail voltage (usually 11.9 to 12.1V) and boom.
    Accuracy: over by ~10% for consumer CPUs with decent VRMs, more inaccurate for GPUs, over by ~10% again and under by up to 75W, so kinda bad.
    Cost: Around 75bucks if you want a decent current clamp
    Would I recommend it? Yes, definitely. Current-clamp + correction
    Additional work: lots of maths and look stuff up, I'd guess an hour per board.
    How to: Check the data-sheets of the controller and MOSFETs for efficiency (well, you can at least find the switching loss and the efficiency, but that maths shouldn't be too hard). For GPUs, it's also good to know whether they use the PCIe slot for the GPU, or just the other components, if the latter, perfect, your measurement just got more accurate with less work. Alternatively just use boards for which the VRM losses are known (I think Buildzoid includes them in his PCB breakdowns, not sure though).
    Accuracy: My guess is that you should be able to get it down to a +/- 5W interval for pretty much every board/chip
    Cost: Maybe 30 bucks in employee time?
    Would I recommend it? No. This is way too much effort.
    2: CPU/GPU Temperature
    Software tools are pretty good these days, but you can improve upon them significantly with decent thermocouples.
    Additional work: installing the thermocouple (~30min) once per board, plus 2min to get a multimeter when you start testing
    How to: on the back of the socket, you will find several VCore connection points (eg capacitors). Attach your couple to that point (ideally with liquid metal or something similar) and hold it in place with silicone, plastydip, or whatever you like. This gives you a connection directly to the silicon with ~200W/mK over the entire distance.
    Accuracy: you should be under by like 2K tops, probably significantly less
    Cost: Less than 10 bucks for a decent thermocouple
     
    3: Benchmarks for Compute/Sience Hardware:
    Since you guys are the Top Gear of tech and that is where the insane hardware lives now, no wonder you have been testing this hardware in the last months. But I am sure you will agree that your reviews didn't always test what the things are actually made for. You do include some decent synthetic workloads since I think the Titan V review (?) but there aren't too many science/compute real world tests you are doing (I recall one video where you called in a scientist though...). Here are a few things I'd suggest (GPU and CPU loads are mixed here):
    Neural Net training time
    Get some LSTM Tensor Flow example code and measure training time for a given data set. Tensor Flow is widely used in the field, so this would be very applicable and means there is a ton of really good example code. Linear Equations
    In theoretical physics, we often reduce problems to large linear equation systems with sparse matrices. The Pardiso Solver is decently common and very easy to use. If you want to go deep, try using different types of matrices. Database performance
    Probably don't need to explain this one, I suggest SQL and generating a huge database first (filled with dummy accounts each having an RSA key if possible) then run some selects. JuPyTer
    JuPyTer is awesome for science and thus used a lot. Luckily for you there is this awesome resource of actually useful JuPyTer notebooks you can use for benchmarking. And if all universities are operating like mine, you'd be suprised how much of that exact code is running on scientists computers (or uni compute servers) right now I would be really happy if you could include some of those benchmarks in your reviews, not only the high end compute stuff, but also higher end consumer stuff, for me and some people I know, stuff like that actually plays a big role in purchasing decisions and currently all we have to go by is guesswork.
     
    I am (as you can probably tell) decently passionate about getting better benchmarks for those kinds of workloads into videos about that kind of hardware (the Xeon Phi video(s) made me a bit sad), so I would be willing to create some benchmarks for you guys (including the forum people), but only if anyone actually cares. For my stuff I just run whaever projects I am currently working on, so I always have a 100% applicable benchmark to hand, but I think I am not the only one who cares. What I'd make would probably come down to a bunch of example code in a package (maybe some of my projects, but I am 70% sure I can't use the two coolest ones because of uni IP stuff) with nothing added to each one but some code to measure and output the runtime. I am sure there are people at LMG who could do this just as well though.
     
    4: Benchmarking Low End Devices
    When you are testing low end  devices, you tend to focus at low end games (which is understandable) but I think you are missing a significant chunk of what people are actually doing with those things. Here are some really dumb ideas (that acually mean something to lay people and are fun for enthusiasts):
    Google Chrome
    Create a folder of random, downloaded webpages you open one by one, until the first one gets unloaded Power Point
    Add rectangles to a slide until lag is noticable Photoshop
    The smudge tool is notorious to cause people on laptops headaches, maybe measure the largest size smudge tool that can perform in real time (standardized background of course) Excel
    On a large worksheet with tons of formulas, how long does the update take? (Maybe use one of @AlexTheGreatish 's old spreadsheets? I recall you mentioned one once)  
  24. Informative
    ChalkChalkson got a reaction from Merkey in PC Physics: How does cooling even work   
    What is this thread about?
    I am attempting to write up a little post here that conveys the physics of how the most common (ok, and maybe not so common) methods of PC cooling. If you are only interested in the stuff you need to pick the right coolers, you can skip to the respective paragraph. I am going to start basically from 0 with the physics, since I am specifically writing this for people holding common misconceptions like adding more coolers could get you below ambient or get the room temperature down.
     
    What is heat?
    Ok, first up, we need an idea of what heat is, and how heat travels. Heat is really nothing more than some type of energy (in equations I will write E) held in a material, so we use the unit J (Joules) for the amount of heat stored in an object. "But what about °C/°F/K ?" I hear you ask. Well, this is of course also quite important, the temperature (T) gives us a measure in which direction energy likes to flow. If you have a glass of water at 50°C there is a lot more energy in it than in the same volume of aluminium foil, even at 60°C. However energy will flow from the foil into the glass of water when you bring them together.
    For convenience sake I also want to add, that energy divided by time is power (P) with the unit W.
    TLDR; Energy travels, not temperature.
     
    How does energy travel?
    There are 3 main ways how heat energy travels from one place to another:
    Conduction
    Is the easiest to describe. It describes how heat travels through a solid object like a steel rod. Using this you can describe how the heat gets out of the CPU die, into the thermal paste, through the IHS, though the thermal paste and into the CPU cooler. How good heat travels depends on the difference in temperature, the area through which the heat travels and the material. Let us know think a slice of material with thickness d, where the two large faces have the temperatures T1 and T2 and have area A. Then the amount of energy dE that moves from one face of the slice to the other in time dt is:
    dE=C*A/d * dt * (T1-T2)    
    where C is a constant describing how well heat travels through a material. This constant is called thermal conductivity and has the units W/mK (Watts per meter Kelvin) and is the same as W/m°C
    we can also rewrite the equation slightly and get
    P=C*A/d Radiation
    Is pretty hard to describe with equations, luckily it is so super weak, that unless none of the other ways can happen, one can pretty much ignore the contribution of radiation Convection
    This is the most tricky one. The idea is the following, if you have a bag of marbles and the bottom few are 100°C, then you can make heat travel through the bag by just picking these marbles up and putting them somewhere else. The equations regarding this depend greatly on the specifics of the situation, I will go into more detail regarding air/water cooling in the respective paragraphs.  
     
    Ok, but what temperature is my CPU actually at?
     
    Lets think for a moment about a heater plate with a power output P that is connected via a sheet of copper of area A and thickness d to some solid chunk of magic fairy dust of temperature T2 that doesn't ever change its temperature. What temperature will the heater plate have?
    Well, the same temperature the underside of the copper plate will have, what is that temperature?
    In general we can't answer that, I mean imagine you cooled the plate down to -10°C, turned on the heater and immediately measured the temperature -  of course your will find -10°C again, no matter what the power is. However, some amount of power will move into the copper and heat it up until, eventually, the temperature evens out. By that point all of the power from the heater needs to flow through the copper (otherwise the energy of the copper would increase and thus its temperature).
    This state is called the (thermal) equilibrium.
     
    We can use our equations for the 3 modes of heat transportation to figure out what the temperature difference between the top of the plate (T2) and the bottom (T1) is:
    The copper is solid, so all we need to worry about is conduction, so we open up our physics textbook and look up the thermal conductivity C. We plug it into P=C*A/d * (T1 - T2) and find T1 = P*d/(C*A) + T2.
    Notice that +T2 there? This means, when your room, uuuhm, I mean your magic fairy dust, increases its temperature by 5°C, so will your CPU, uhm, heater plate.
     
     
    Cooling systems are like ogres
     
    So what happens when there are multiple layers? Well, each layer needs to have a temperature difference between the two ends, and you just have to add them up, it's really that simple. So if you have a complex cooling system, say an air cooler,
    You identify the layers involved (TIM, IHS, TIM, heatpipes, cooling fins->air) figure out which layer can be modeled with which equations (conduction, conduction, conduction, conduction*, convection) look up all the constants calculate the temperature differences for each layer add them up Oh, and don't feel afraid to simplify things. Don't the like ~50 coupled 2D partial differential equations that come from looking at each cooling fin as a thing with a temperature gradient? Just assume each fin is the same temperature everywhere. Don't want to solve some complex thing including capillary action for the heatpipes? Just use the W/K for some random heatpipes of roughly the same diameter you find in a spec-sheet and use that instead (maybe divide by the cross-section and multiply by the length to get the a conductivity). Don't want to deal with complicated flow equations? Just assume the water is the same temperature everywhere in the loop.
    And just like this you have all you need to solve pretty much all cooling systems that stay in an equilibrium (like water or air cooling, not LN2).
     
     
    Things I still like to add include solving these problems for specific methods of cooling. Especially the more common ones. However if I want to actually make it understandable, each of these will be quite a few words with illustrations and probably code examples. So I think it will be a bit much for this thread. Tell me if you are interested and I will write them up in a separate post. Otherwise I might end up doing other physics topics first like "How does a transistor actually work?" or "What are the physical limits of computers?". Please tell me which of these you'd be interested in. And don't hold your breath  
  25. Informative
    ChalkChalkson got a reaction from Christophe Corazza in PC Physics: How does cooling even work   
    What is this thread about?
    I am attempting to write up a little post here that conveys the physics of how the most common (ok, and maybe not so common) methods of PC cooling. If you are only interested in the stuff you need to pick the right coolers, you can skip to the respective paragraph. I am going to start basically from 0 with the physics, since I am specifically writing this for people holding common misconceptions like adding more coolers could get you below ambient or get the room temperature down.
     
    What is heat?
    Ok, first up, we need an idea of what heat is, and how heat travels. Heat is really nothing more than some type of energy (in equations I will write E) held in a material, so we use the unit J (Joules) for the amount of heat stored in an object. "But what about °C/°F/K ?" I hear you ask. Well, this is of course also quite important, the temperature (T) gives us a measure in which direction energy likes to flow. If you have a glass of water at 50°C there is a lot more energy in it than in the same volume of aluminium foil, even at 60°C. However energy will flow from the foil into the glass of water when you bring them together.
    For convenience sake I also want to add, that energy divided by time is power (P) with the unit W.
    TLDR; Energy travels, not temperature.
     
    How does energy travel?
    There are 3 main ways how heat energy travels from one place to another:
    Conduction
    Is the easiest to describe. It describes how heat travels through a solid object like a steel rod. Using this you can describe how the heat gets out of the CPU die, into the thermal paste, through the IHS, though the thermal paste and into the CPU cooler. How good heat travels depends on the difference in temperature, the area through which the heat travels and the material. Let us know think a slice of material with thickness d, where the two large faces have the temperatures T1 and T2 and have area A. Then the amount of energy dE that moves from one face of the slice to the other in time dt is:
    dE=C*A/d * dt * (T1-T2)    
    where C is a constant describing how well heat travels through a material. This constant is called thermal conductivity and has the units W/mK (Watts per meter Kelvin) and is the same as W/m°C
    we can also rewrite the equation slightly and get
    P=C*A/d Radiation
    Is pretty hard to describe with equations, luckily it is so super weak, that unless none of the other ways can happen, one can pretty much ignore the contribution of radiation Convection
    This is the most tricky one. The idea is the following, if you have a bag of marbles and the bottom few are 100°C, then you can make heat travel through the bag by just picking these marbles up and putting them somewhere else. The equations regarding this depend greatly on the specifics of the situation, I will go into more detail regarding air/water cooling in the respective paragraphs.  
     
    Ok, but what temperature is my CPU actually at?
     
    Lets think for a moment about a heater plate with a power output P that is connected via a sheet of copper of area A and thickness d to some solid chunk of magic fairy dust of temperature T2 that doesn't ever change its temperature. What temperature will the heater plate have?
    Well, the same temperature the underside of the copper plate will have, what is that temperature?
    In general we can't answer that, I mean imagine you cooled the plate down to -10°C, turned on the heater and immediately measured the temperature -  of course your will find -10°C again, no matter what the power is. However, some amount of power will move into the copper and heat it up until, eventually, the temperature evens out. By that point all of the power from the heater needs to flow through the copper (otherwise the energy of the copper would increase and thus its temperature).
    This state is called the (thermal) equilibrium.
     
    We can use our equations for the 3 modes of heat transportation to figure out what the temperature difference between the top of the plate (T2) and the bottom (T1) is:
    The copper is solid, so all we need to worry about is conduction, so we open up our physics textbook and look up the thermal conductivity C. We plug it into P=C*A/d * (T1 - T2) and find T1 = P*d/(C*A) + T2.
    Notice that +T2 there? This means, when your room, uuuhm, I mean your magic fairy dust, increases its temperature by 5°C, so will your CPU, uhm, heater plate.
     
     
    Cooling systems are like ogres
     
    So what happens when there are multiple layers? Well, each layer needs to have a temperature difference between the two ends, and you just have to add them up, it's really that simple. So if you have a complex cooling system, say an air cooler,
    You identify the layers involved (TIM, IHS, TIM, heatpipes, cooling fins->air) figure out which layer can be modeled with which equations (conduction, conduction, conduction, conduction*, convection) look up all the constants calculate the temperature differences for each layer add them up Oh, and don't feel afraid to simplify things. Don't the like ~50 coupled 2D partial differential equations that come from looking at each cooling fin as a thing with a temperature gradient? Just assume each fin is the same temperature everywhere. Don't want to solve some complex thing including capillary action for the heatpipes? Just use the W/K for some random heatpipes of roughly the same diameter you find in a spec-sheet and use that instead (maybe divide by the cross-section and multiply by the length to get the a conductivity). Don't want to deal with complicated flow equations? Just assume the water is the same temperature everywhere in the loop.
    And just like this you have all you need to solve pretty much all cooling systems that stay in an equilibrium (like water or air cooling, not LN2).
     
     
    Things I still like to add include solving these problems for specific methods of cooling. Especially the more common ones. However if I want to actually make it understandable, each of these will be quite a few words with illustrations and probably code examples. So I think it will be a bit much for this thread. Tell me if you are interested and I will write them up in a separate post. Otherwise I might end up doing other physics topics first like "How does a transistor actually work?" or "What are the physical limits of computers?". Please tell me which of these you'd be interested in. And don't hold your breath  
×