ajflynn-io

The tech blog of Ashley Flynn – Games and Simulations Software Engineer

April 2022

My water cooled high performance computing rig for astronomy research – 10 fans, 3 radiators, AMD Ryzen 9 3900XT CPU, Nvidia RTX3090 GPU and RTX2060 Super GPU

TOC

 1. Intro  2. The Benefits of Water Cooling for High Performance Computing  3. Isn’t This Some Kind of Cryptocurrency Mining Rig?  4. Risks, Cost, Emissions and Waste  5. Water Cooling Loop Design and Components  6. Water Cooling Parts  7. High Performance System Parts List  8. But Why Don't You Just...  9. Single versus Dual Loop  10. How Many Radiators Do You Need?  11. AIO vs Custom Loop  12. Flushing all parts out with Distilled Water  13. Temperature and Flow Monitor  14. Tubing  15. Fans and Airflow  16. VRM, RAM, PCH and NVMe cooling  17. Reservoir and Pump  18. Coolant  19. RGB Lighting  20. Coil Whine

1. Intro

Earlier this year I wrote about how you can contribute your PC's computing power (and part of your electricity bill) to distributed volunteer cloud computing for science research https://blog.ajflynn.io/become-part-of-a-global-super-computer-network-for-astronomy-research

This kind of high performance computing can place extreme demands on a PC's cooling system. The CPU and GPU may be run at the limits of their power consumption, 24/7, producing far more heat than standard gaming or business usage ever would.

In this article I'll share some thoughts and experiences from my recently completed project to install water cooling in my home PC, which I use for day to day gaming, as well as for volunteer cloud computing when it is idle.

While the following advice is focused on a system designed for high performance computing for science research applications, the information may still be useful for those looking to add water cooling to their PC for gaming use.

For more detail about water cooling setups and components in general, check out this excellent guide by EKWB https://www.ekwb.com/guides

2. The Benefits of Water Cooling for High Performance Computing

Water cooling has a number of advantages over air cooling for high performance science research applications:

  • Air cooling alone may be unable to sufficiently cool parts inside an enclosed PC case with the CPU and GPU(s) running at 100% power load for extended periods of time. This is a situation that would rarely be encountered while gaming or during normal computer use.
  • Systems running more than one GPU may have insufficient space to allow the GPU stock air coolers to operate efficiently, and the GPUs may even block each others fan inlets entirely.
  • Air cooling may be extremely loud, as a large number of fans may need to be running at high speed. GPU onboard fans are especially loud as they are quite small but must move large volumes of air. Noise isn't a big issue in a data center or dedicated server room, but is a nuisance when the PC is in a home or office environment.
  • It is important to note that water cooling will not cause your PC to produce less heat. It will simply move the heat away from the hot internal components and dissipate it into the air in your room more efficiently. This can allow components to operate at the peak of their power capability without overheating, and operate more quietly, which may not be possible with air cooling alone.

Image by https://www.build-gaming-computers.com Water cooling parts. Image by https://www.build-gaming-computers.com

3. Isn’t This Some Kind of Cryptocurrency Mining Rig?

Water cooling doesn’t make sense for cryptocurrency mining. An open-air rig that is cooled by fans alone is much more cost effective than water cooling. For that kind of computational work, you’re trying to maximise output while minimising cost, and you don’t care if it’s noisy. A mining rig is easier to position in a garage or other out-of-the-way spot where the noise it produces won’t be so much of an issue.

4. Risks, Cost, Emissions and Waste

Before rushing in to contributing your PC’s idle time to cloud computing for research, or water cooling your PC, you should consider the following:

  • Everything we do consumes resources, creates waste and produces emissions. Aiming to reduce these factors helps to ensure we have a sustainable society, where we can keep doing the things we want to do, with minimum negative consequences in our lifetime or the lives of future generations.
  • We don't absolutely need to investigate the universe around us through the science of astronomy. Life would continue without it. But science research, art, recreation such as gaming and any number of other “non essential” human activities arguably make life better for everyone. Astronomy is contributing to our knowledge and understanding of the universe around us, and the knowledge gained is shared with all mankind. Astronomy also leads to technological advances and benefits in other aspects of human life. This is arguably a more beneficial pursuit than burning fuel, creating carbon emissions and e-waste to support the digital mining of Cryptocurrency, which serves no other purpose than increasing some individuals’ wealth, for instance.
  • Running your PC on high performance computing tasks 24/7 will increase your power bill, and your carbon emissions footprint, whether you use water cooling or not.
  • If you have access to a renewable energy source, such as solar power, the environmental impact and cost of 24/7 high performance computing may be greatly reduced.
  • On the positive side, simply adding water cooling will have minimal impact on power consumption on its own. You're just adding a few extra fans and a small water pump. Water cooling won't change the power consumption of your PC components by itself, but it may allow you to run those components at a higher wattage for gaming or science research purposes.
  • Water cooling is difficult, costly, may void the warranty on your GPU. In general these days, GPU manufacturers will usually consider returns for faulty GPUs that have had water cooler installs done correctly, as long as installing the cooler isn’t what caused the GPU to malfunction. But there is no guarantee this will be the case.
  • Water cooling also carries risks such as the potential for a water leak to destroy expensive electronic components. While leaks are unlikely when the hardware is installed correctly, and leaks are unlikely to actually destroy your equipment (usually it just creates the need for a tedious cleanup), they are still a risk factor.
  • Are you considering water cooling just because it looks awesome or is a fun hobby? I don't think there's anything wrong with doing things just because they are aesthetically pleasing or fun to do, but you should carefully weigh up the potential risks and cost when it is a hobby rather than a practical need.
  • Running your PC on high performance computing tasks 24/7 can contribute to heating your house during winter, which is a benefit. But this will be offset by the need to cool the house more in summer (leading to more use of the air conditioner, for instance).
  • The basic laws of thermodynamics dictate that one Watt spent on computing power equals that same Watt of energy being turned into heat that ultimately ends up in the air surrounding the computer. Energy is never “used up”, it just gets moved somewhere else.
  • I found that the amount of plastic and cardboard waste from purchasing all the individually boxed and wrapped water cooling parts was alarming. However, I was able to recycle the cardboard and hard plastics which make up the majority of the packaging materials. In Australia you can drop off soft plastics such as bags for recycling at Woolworths or other locations (check with your local council).
  • Cardboard and many types of hard plastics can of course be recycled in your usual domestic recycling bins. Please check your local council recycling advice. The specific plastic types that can be recycled in domestic recycling bins and what you need to take to special drop-off points differs greatly by council and suburb, even between neighbouring suburbs within the same city.

My water cooling loop, which cools 2x GPUs, 1x CPU using 3 radiators.

5. Water Cooling Loop Design and Components

Some thoughts on loop design and component choice:

  • Consider where everything will fit. Water cooling components take up a lot of space. If your computer case doesn't already have special places to attach radiators, then you will probably need a new case before you can install water cooling. I highly recommend the Lian Li O11 series of cases for their flexibility, modularity, dedicated radiator mount points and large amounts of space. It is possibly the most popular case for new water cooling builds at this time. The case I am using is the Lian Li O11 Dynamic.
  • The most likely issue you will have with space is getting the GPU, radiators and the reservoir to fit together in the space you have available, as these are the bulkiest items. Be sure that the placement you have in mind within your case really works with the measurements of all these components. Be prepared to have to change your plans when you get the equipment, and to exchange parts or get a different case, etc. Things simply may still not fit as you expected, even after careful planning.
  • GPUs may actually become smaller in some dimensions when switching the coolers to water blocks, as you remove the bulky stock air cooler. Check out the water block dimensions on the manufacturer's site to determine the amount of space your GPU will need once it has a water block installed. Even in the roomy Lian Li O11D case, I was only able to fit the reservoir in the mounting position I chose, because the RTX3090 GPU was made several centimeters shorter when the water block was installed. However, the height of the RTX3090 plus its water inlet and outlet riser was far greater than I expected. The case lid cleared the water block by less than 1mm when closed. I didn't check the card and water block height, as I was focused entirely on its length and potential collision with the reservoir. Thankfully the O11D case is very roomy, so I got away with it.
  • Component order in the loop doesn’t matter. Your loop could run coolant from the pump to the GPU, then to a radiator, then to the CPU, then to another GPU, then another radiator. Or any other order you choose. The water is moving so fast through the loop that it’s more like a single pool of liquid that each component happens to be sitting in. CPUs and GPUs add heat to the pool. Radiators take heat out of the pool. The pump keeps the liquid in the pool stirred up and moving.
  • A parallel loop setup is better than series, when it comes to high performance computing. Parallel hookup of the cooling blocks allows highest possible flow through each water block. The difference between series and parallel connections is minor in a gaming setup but noticeable for high performance setups. In a series water block setup, the flow rate will be limited by how much water the single most restrictive water block will allow through at any given pump pressure. In a parallel water block setup, the flow rate will be limited by the sum of what each water block will allow through at any given pump pressure. As a result, the parallel setup flow rate will always be higher.
  • My cooling loop uses a hybrid of parallel and series connections (see diagram). The CPU and two GPUs are connected in parallel to the loop, as their water blocks are the most restrictive components on water flow. The radiators and pump are connected in series.

My custom loop is a single combined loop with 3 radiators (one thick and two thin radiators). My high performance computing setup needs to dissipate 800W+ of heat when the CPU and GPUs are overclocked. The loop cools an AMD Ryzen 9 3900XT CPU, an Nvidia RTX3090 GPU and RTX2060 Super GPU.

As I run two GPUs and a high-end CPU at full power 24/7, I purchased a new 1200W Power Supply Unit (PSU) to replace my old 850W PSU. This allows about 50% headroom over the max combined wattage of all the components running at full power. I understand that as little as 25% headroom is still fine.

Image by https://www.performance-pcs.com Image by https://www.performance-pcs.com Serial versus parallel loop setups. Radiators and reservoir not shown. In my setup, the radiators are in series along the red lines/arrows between the waterblocks and pump. Image by https://www.performance-pcs.com

6. Water Cooling Parts

The basic parts needed for a custom water cooling loop are:

  • Radiators. These try to bring the water back to room temperature by dissipating the heat into the air.
  • Fans. These move air through the radiators to cool them.
  • Tubing. I recommend using soft tubing at first so you can easily experiment and change your setup. You can get hard tubing too, which looks nicer and can be bent at 90 degrees where required, but it is a lot harder to work with and change.
  • Reservoir. A tank that contains extra coolant that typically sits directly above the pump.
  • Pump. This moves the coolant around the system.
  • Barbs. If you choose soft tubing for your loop, barbs are fittings that you can squeeze the ends of tubes on to that will hold the tubes without the need for clamps or collars. But I recommend you use clamps on all barbs, as I found that if you bump a tube connected to a barb fitting, it can leak a bit of fluid. I used standard household cable ties.
  • Right angles. These fittings allow you to connect tubes at right-angles to the coolant sockets on water blocks, pumps, etc. Mostly useful when used with soft tubing, which doesn’t like to be bent at 90 degrees.
  • Water blocks. These are the coolers that go on the GPU or CPU to run coolant past a special water cooling heat sink attached to the core of the hot device. Water blocks completely replace the air coolers that are normally attached to these devices. NOTE: Be sure to get exactly the right water block for your GPU or CPU type, or it won't fit. Make sure your exact CPU socket type or GPU model are listed as compatible with the water block on the manufacturer's website!
  • Flow and temperature meter. Not essential, but I highly recommend one as it lets you see exactly what is happening in your cooling loop in response to changes you make to the layout, or the loads and stresses you put it under. Many include an audible alarm to warn you when water temperature or coolant flow are at unacceptable levels.
  • Coolant. Ideally a pre-made mixture usually made of distilled water, anti-rust and anti-algal agents that is used to fill your water cooling loop. Pre-mixed coolant is readily available from MWave and similar stores. See more info in the Coolant section below.
  • Cables. You will likely need extra cables to allow for the multiple fans the radiator(s) will need (such as fan cable splitters and extenders). RGB fans and RGB water blocks add to this requirement twofold, as they each have double the cables leading to them (one for power and one for RGB) and you need to somehow connect potentially dozens of cables to just a few fan and RGB connections on a motherboard, that they may not reach on their own.
  • RGB controllers & fan controllers. May not be required, depending on your setup, but it's something to consider. Many water cooling parts, fans, etc will come with controllers, so check what is included before buying separate controllers.

7. High Performance System Parts List

The following is a list of the components I purchased for my system, to give you an idea of what is required in a custom high performance water cooling loop, to cool a one CPU and two GPUs, that are expected to run 24/7 at maximum wattage. I didn't use every single part listed, as I got some extra fittings (such as barbs or right angle adapters), just in case.

I didn't purchase it all at once. I purchased the basics first (and started out with just one radiator), then had to get additional fittings and additional radiators as I worked out what I needed to improve cooling performance to an acceptable point, and to make some of the connections and pipe routing more efficient and elegant.

I did not need to purchase new NVMe drives, CPU, RAM, GPUs or motherboard, as the ones I already owned were adequate.

The total cost for the parts I required to make this cooling loop, including the extras such as a new PSU, ended up being around $3,300.

For a more traditional single loop cooling 1 GPU and 1 CPU, with one radiator, the cost for the water cooling parts alone would be more like $1,500.

Prices are in AUD and include GST, but exclude shipping.

From MWave https://www.mwave.com.au/

AC14686 Thermaltake Pacific CL360 360mm Radiator (64mm thickness) x1 $159.00

AC19474 Thermaltake Pacific C360 360mm Radiator (27mm thickness) x2 @ $129.00ea $258.00

AC50178 Thermaltake Pacific PR12-D5 Plus Pump & Reservoir Combo w/ RGB Software Control x1 $339.00

AC38261 Thermaltake TOUGHFAN 12 120mm High Static Pressure Radiator Fan [SINGLE FAN] x3 @ $39.00ea $117.00

AC49086 be quiet! Light Wings ARGB 120mm PWM Black Case Fan – [TRIPLE PACK] x2 @ $105.00ea $210.00

AC37179 Thermaltake Pacific TF2 Temperature and Flow Indicator – CL-W275-CU00SW-A x1 $79.00

AC11819 EKWB Filling Bottle (1000mL) x1 $13.99

AB61483 Thermaltake V-Tubler 3T Flexible Tubing 3/8” (9.5mm) – 2m x2 @ $15.00ea $30.00

AC22192 Thermaltake TT Premium T1000 1L Transparent Coolant – Blue x4 @ $20.00ea $80.00

AC38919 EKWB EK-Quantum Vector Strix RTX 3080/3090 D-RGB Nickel + Plexi GPU Water Block x1 $299.00

AC38928 EKWB EK-Quantum Vector Strix RTX 3070/3080/3090 Backplate – Black x1 $99.00

AC52280 Thermaltake Pacific MX1 Plus CPU Water Block x1 $169.00

AB61445 Thermaltake Pacific G1/4 Stop Plug w/ O-Ring – Black x4 @ $6.00ea $24.00

AB61458 Thermaltake Pacific G1/4 Female to Male 30mm extender – Black x3 @ $10.00ea $30.00

AB61450 Thermaltake Pacific 3/8” ID Barbs – Black x18 @ $7.00ea $126.00

AB61465 Thermaltake Pacific G1/4 90 Degree Adapter – Black x10 @ $15.00 $150.00

AC10340 Noctua Chromax.Black 30cm 4Pin PWM Power Extension Cables – 4 Pack x1 $15.00

AC11822 EKWB EK-Cable Y-Splitter 3-Fan PWM (10cm) x3 @ $7.99ea $23.97

From Amazon https://www.amazon.com.au/

PH-GB2080ASDEVO_CR01 Phanteks Glacier Dual Evo, Full GPU Water Block for ASUS RTX 2080/2070/2060 Super Dual EVO Series x1 $236.93

From PCCaseGear https://www.pccasegear.com/

3830046991737 EK M.2 NVMe Heatsink Black x2 @ $19.00ea $38.00

BN816 be quiet! Dark Power Pro 12 Titanium Modular 1200W Power Supply x1 $599.00

PC-O11DXL-A Lian Li PC-O11 Dynamic XL ROG Certified Case Silver x1 $319.00

8. But Why Don't You Just...

People suggest all sorts of extreme cooling loop designs online, such as massive external radiators, refrigerated coolant systems, running cooling pipes outside the house, running pipes into their swimming pool or underground through the cold earth, and so on. Undoubtedly many of these suggestions would improve the cooling capacity of the system. However, the aim of a standard water cooling loop is to fit within a PC case, be self-contained, to use readily available parts, to be cost effective and to be relatively easy to set up. If you want to experiment with crazy ideas after getting the basic cooling loop working, I say good luck and let me know how it goes! :D

Image by https://www.performance-pcs.com A dual loop setup, with a separate cooling loop each for the CPU and GPU. Image by https://www.performance-pcs.com

9. Single versus Dual Loop

There may be advantages to having two separate cooling loops, one for the GPU(s) and one for the CPU. I have not experimented with this, but advice I have read suggests this may be better for CPU cooling, to keep the CPU temperatures lower than may be possible when the CPU shares a loop with the GPUs. A dual loop will increase the costs as you will need an additional pump and reservoir, at least one more radiator, and more fittings.

I got lucky as the AMD Ryzen 3900XT CPU is designed to run at high temperatures, so it is happy sharing a cooling loop with two GPUs. In my loop, the CPU runs at between 80C – 90C while at max processing load (this is within its max operating temperature range), with coolant water temperatures at about 35C while room temp is around 22C. These are not great numbers for CPUs that need to run cooler than 80C (apparently for ideal CPU cooling, the water temp should be closer to 5C – 10C over room temp while the CPU is at the load you expect to run it at). Keep in mind that the temperatures my CPU and GPUs are reaching are during high performance computing loads. Gaming use will rarely push components to such extremes.

10. How Many Radiators Do You Need?

This is a difficult question to answer as it depends on the radiator size/thickness, wattage of your CPU and GPU, fan type and speed, and so on. It's best to read some of the guides available online, and to do your own research once you know the max wattage of the devices you want to cool. There's various bits of advice out there and even water cooling wattage vs radiator size calculators available online. The EKWB system configurator can provide some estimates and parts suggestions (though of course, it's designed to sell you their gear, so just use it to get an idea of the size and kinds of parts you'll need).

I should note that my first try at the wattage and radiator size calculations suggested I'd get away with using a single Thermaltake Pacific CL360 360mm Radiator (64mm thickness, the thickest 120mm x 320mm radiator they make). It's a huge radiator, but I found it just couldn't cool my system by itself when the CPU and GPUs were running continuously at high load. However the guides I followed are all for gaming use, not for running your devices at max wattage 24/7. I found I had to effectively double the amount of radiator surface area (by adding two more 27mm thickness radiators) to sufficiently cool my system for research computing use.

When it comes to radiators, bigger is is better (in all dimensions), as surface area determines the rate at which a radiator can exchange energy with the air. Make sure your case can accommodate the planned number of radiators, plus the thickness of the fans installed on top of them.

11. AIO vs Custom Loop

An alternative to a custom water loop is the “AIO” or All-In-One cooler. AIOs are a radiator, tubing and pump, all pre-assembled and filled with coolant. You attach the module to your CPU or GPU, mount the radiator, and then don't have to buy or assemble any other parts. These can provide a quick and easy alternative to creating your own custom cooling loop.

The disadvantages of AIO coolers are that they may not suit high performance computing where the CPU And GPU are pushed to extremes, and you will need space to mount a separate radiator per device needing to be cooled, rather than having the option to cool a number of devices with a single cooling loop. You may also find the length of the pre-attached non-removable coolant tubes isn’t sufficient to reach between your CPU or GPU, and the mount point you have chosen for the radiator.

It may also be difficult to find an AIO cooler that will suit your particular GPU, especially if it is an older model. Separate water blocks are available for a far wider selection of GPUs. CPU AIO coolers tend to be more universal and fit a wide range of CPU socket types, so are easier to fit to older CPUs.

12. Flushing all parts out with Distilled Water

It is recommended to flush all water cooling components and tubing with distilled water before connecting them to your cooling loop and filling the system with coolant. This clears out any fine metal and plastic that may be left over from the manufacturing process, that might interfere with your water blocks or pump impeller, etc. Distilled water is usually available from supermarkets, as it is used in fabric cleaning and filling clothes irons, etc.

13. Temperature and Flow Monitor

As I touched on earlier, I believe a temperature and flow sensor are essential for a water cooling loop. The model I use is the Thermaltake Pacific TF2 Temperature and Flow Indicator – CL-W275-CU00SW-A.

This lets you keep track of exactly what is happening in your loop, and lets you work out precisely the pros and cons of any changes or additions you make to the loop.

These sensors are best combined with measurements from a simple room thermometer, and software that can track temperature, watts and load over time. If you record temperature values as you make changes to your system's configuration (fan speed, direction, cooling loop setup, etc) then you can see what changes are really improving your system's performance and temperature.

These monitors also protect against future failures, when they have an inbuilt alarm. You can then instantly be warned of low flow rates or high coolant temperatures.

The combined reservoir and pump, with temperature and flow monitor.

14. Tubing

Some advice on the tubes that carry the coolant through your coolant loop:

  • Water cooling loops can be made with soft flexible tuning, or hard tubing. Soft is easier for experimenting. Hard looks better but is difficult to work with. Hard tubing can be made into 90 degree bends, while this is usually not possible with soft tubing (it tends to kink and collapse when bent too tightly), so you have to rely on separate right-angle adapters.
  • While water cooling tubes come in a variety of widths, all the commercially available sizes dedicated to PC water cooling will do the same job. Tube width simply makes no difference to cooling performance. Just be sure that whatever tubes you buy fit the width required by your chosen fittings. And the size of your fittings will be determined by the cooling components you buy. Be sure to check that everything is compatible!
  • For soft tubing connected by barb connectors, use clamps to keep the tubing secured to the barbs. I used household cable ties, but dedicated (and nicer looking) clamps can be purchased. Barbs hold on to soft tubes just fine without clamps, but I found that bumping the tubes can cause small brief leaks around the barbs. Clamps also give insurance in case loop temp accidentally exceeds 50C and your tubes become soft, which makes it easier for them to pop off barb fittings.

15. Fans and Airflow

  • Radiator fans should ideally be “high static pressure” type, but if reducing noise is a high priority, regular low noise fans are fine.
  • Air speed over the radiators can be set quite low, and the radiators will still perform quite effectively. This is how water cooling can be much quieter than air cooling alone.
  • I have just three fans running at low speed (50% PWM) per radiator and have already hit the max cooling performance capability of the radiators at my room’s usual air temperature. After a certain point, more airflow won't mean more cooling.
  • 140mm fans are not significantly quieter than 120mm fans at high speed, and they're all effectively the same volume levels at low speeds. I have 10x 120mm fans in my system all running at low speed and they're barely audible. In fact the loudest sound my PC makes now is some coil whine (more on that below). So don't obsess over 140mm fans for water cooling use. Going after 140mm fans and 140mm wide radiators will likely limit your space and case options, and increase costs, for no real gain.
  • Fan direction over the radiators does matter, as I found by testing various configurations and measuring the water and component temperatures. But the direction matters only in terms of where the cool air comes from and where the hot air goes to. Set the fans and radiators up so that air moves from outside the case, moves over the radiators, and then exhausts inside the case. Fans could be in push or pull configuration to achieve this (before or after the radiator in the direction of air flow). You can also use push/pull combined configurations (fans on both sides of the radiator), but I think this is overkill.
  • Never draw hot air from inside the case over the radiators or you will lose cooling performance. Some online guides will tell you this loss in performance doesn't matter. And perhaps it doesn't matter in a gaming setup. But for high performance work, you need to claw back every single degree Celsius of cooling in your water loop that you can.
  • Outgoing hot air that has passed through the radiators and into your case must have somewhere to escape. It must be able to escape at least as fast as the inflow rate. 3 fans moving air into the case will need at least 3 fans moving it out. I also found that you can get away with a very wide hole as the outlet, such as the open side or front of a case. This may not be pretty, but helps cool the rig even further when it’s being pushed to the limit.
  • You may read advice that suggests “positive pressure” should be maintained inside the case (outflow rate less than inflow rate) to reduce dust by forcing air to enter only via filtered inlets. But this compromises airflow performance and doesn't completely prevent dust entering the case anyway, even with filters. You'll be cleaning dust out regularly, regardless.
  • Clean dust out regularly using compressed air (with an air compressor or canned air).
  • When considering how to minimise dust that builds up in the case or on radiators, don’t worry about mitigating this with fan direction, or fan/radiator order. You should be regularly cleaning your case and its components with compressed air. Your case will quickly and easily be made dust free after this kind of cleaning, so fan direction/placement for dust mitigation, or the presence/absence of filters, isn’t important.
  • Remove all air filters from your case. Filters just restrict air flow and still don't prevent all dust entering the PC case, so you’ll be cleaning it anyway.

16. VRM, RAM, PCH and NVMe cooling

  • What are all these acronyms? VRM: Voltage Regulator Module. These are part of many PC components. But it usually refers to the one on the motherboard beside the CPU. RAM: Random Access Memory. Just a fancy name for your PC’s memory sticks. PCH: Platform Controller Hub. May also be called a chipset. “This is the motherboard’s communications center and traffic controller”. NVMe: Non-Volatile Memory Express drive. Refers to the small solid-state hard drives that attach directly to the motherboard without cables.
  • This point is often overlooked by people adding water cooling to their PC; Other components on your motherboard MUST have their own adequate airflow, or be water cooled. By adding a water cooling loop, you are very likely going to reduce the overall airflow over your motherboard. VRM, RAM, PCH and NVMe chips are all susceptible to overheating if this is not addressed. RAM and VRM in particular are designed to be cooled by air being moved by the CPU's air cooler, which will no longer be present when a CPU water block is installed.
  • Water cooling blocks are available for all these devices, but VRM water blocks in particular can be tricky to find for your exact motherboard. So air cooling your VRM is easier.
  • Having a dedicated fan or two blowing over the VRM, RAM and other botherboard components, set on low speed, should be adequate to cool them. Careful placement of the radiator(s) can allow radiator fans to additionally cool the VRM and RAM.
  • RAM heatsinks are essential when using them for high performance computing, but most RAM comes with some kind of heatsink these days.
  • NVMe drive heatsinks are recommended due to the potentially reduced airflow inside the case. These little devices can get quite hot under heavy use!

17. Reservoir and Pump

  • The water coolant reservoir doesn't need to be big. It just needs to contain enough coolant to keep the pump wet, and to make priming the new loop easier. A bigger reservoir will not improve cooling performance.
  • The water pump does not need to be at lowest point in the system, contrary to popular advice. It just needs to be installed lower than the reservoir, so the reservoir can keep it fed with coolant using gravity alone. This will assist with pump priming and lubrication. In the event of a leak, the placement of the pump will be meaningless, as the pump will happily eject all your coolant via the leak, and then run completely dry, regardless of where it is placed.
  • When first priming the system with coolant, the radiators and water blocks will be full of trapped air bubbles. This air impedes cooling performance. However, over time the trapped air will be forced into the reservoir, where you can then let it escape via the filling plug. Run the pump at full speed for a couple of days (even while using the PC is fine) and you will find the trapped air will largely disappear. Tilting the PC case to extreme angles while running the pump will also help remove trapped air.
  • The water pump does not need to be run at max speed, except when first clearing the system of trapped air. Once the air bubbles have been chased out, you can experiment with lower pump speed settings. Lower the speed in small increments and let the system run for 10-20 minutes. Keep doing this until you notice the water and device temperatures rising. Then you have found your optimum pump speed. This will help reduce pump noise, and power consumption.

18. Coolant

  • Buying a pre-mixed coolant from a trusted brand and supplier is the best option. This is easier than mix-your-own coolant kits, and less prone to mistakes. I found that even in my unusually long coolant loop, having about 4 litres of coolant was plenty to let me fill it, and have some spare for the next coolant change and refill.
  • Drain and replace your coolant every 6 months. Failure to do so will risk rusting and other fouling/failure of the cooling parts, even when it contains anti-rust and anti-algal agents.
  • You can try designing your loop so there's a single low point with a drain valve to make replacing coolant easier. I didn't bother with this, however, and I don't find draining my system too much of a hassle. You just need to have towels ready to protect your PC components, and a decent sized plastic container strategically positioned, when you break open the connections to drain the liquid.

19. RGB Lighting

  • Just about every computer component comes with RGB lighting these days. Water cooling parts are no exception. There's almost no avoiding it.
  • RGB lighting is mostly pointless, but does look cool!
  • It uses energy, which could be considered wasteful.
  • It actually generates a small amount of heat, especially when you have dozens of RGB lit components. Some of this heat comes from the power supplies and circuitry driving the RGB lighting. It's not a lot of extra heat, but it will add to your overall system temperature. You may find it best to turn off the lighting when using the system for high performance computing. Or don't! It's sparkly. Ooooooh.
  • RGB controllers and lights are driven by multiple different software packages, and each brand seems to have its own standards that don't quite interconnect with other brands. The range of software you need to control everything in a single system can be a pain. Universal control software exists, but nothing supports every single RGB component out there. You could make sure all your components are the same brand and/or use the same RGB connector standards, but this can artificially limit your loop design options.
  • RGB lighting requires SO MANY CABLES, and different plug standards and RGB controller modules to install, route, etc. Every single RGB lit thing has an extra RGB cable dangling from it that will need to be routed inside your case and plug in somewhere.

20. Coil Whine

  • Coil whine is usually a high pitched buzzing or ringing sound that comes from electronic components under heavy load. It's caused by coils that are part of voltage regulators and converters vibrating at audible frequencies. Coil whine is most typically heard from PSUs, Motherboards and GPUs.
  • Coil whine can be mitigated by clever circuit design, and quality components, but the consumer electronics industry thinks we're used to it and that we tolerate it, so they don't have much incentive to spend the R&D dollars or manufacturing costs to remove coil whine completely.
  • Remember when manufacturers used to tell us dead pixels were “acceptable” on LCD monitors? That seems laughable now. Consumer pressure does work. Excessive coil whine is something that can become unacceptable in new hardware if enough of us complain to the suppliers and manufacturers about it, RMA extremely whiny devices, and avoid buying products renowned for high levels of coil whine. Be sure to research your next GPU choice thoroughly! :)
  • Unfortunately, coil whine is currently a fact of life when pushing GPUs and motherboards to the extreme (and is often heard even during normal gaming). Most GPUs will exhibit coil whine, but it can range anything from barely perceptible with the PC case open, to catastrophically loud even with the case closed.
  • Coil whine from GPUs may improve with the use of water cooling, possibly because the water block clamps down on noisy coils and reduces the vibrations, or because it changes the specific operating temperatures and load conditions which caused the coil to whine in the first place.
  • Existing coil whine in your system can actually be more audible when switching to water cooling, as it reduces the fan noise that may once have been masking the sound.
  • Coil whine can be mitigated by moving the PC case further away from the sitting position if possible, changing the case orientation, or choosing a case well known for its ability to muffle sounds (though beware that “soundproofed” cases often have poor airflow). Anyone who typically wears headphones while using the PC is unlikely to have much issue with coil whine.
  • My ASUS ROG Strix RTX3090 and Gigabyte RTX2060 Super GPUs both have audible coil whine when running at max power consumption. The PC case is on my desk right next to my seating position, with one of the side panels always open, so the whining sound is noticeable. The fans in the system run so quiet that coil whine is the primary sound I'm aware of coming from the PC case on a day to day basis. I have become used to the sound, and it doesn't bother me. But I thought this was an important issue to mention as it is a potential negative of high performance PC use, that can be annoying for some people.

Ashley Flynn – Games and Simulations Software Engineer Portfolio and contact – https://ajflynn.io/

Back to Latest Posts

February 2022

Distributed volunteer cloud computing for science research and other purposes has been around for a decade or two now. You can donate your computer's spare CPU/GPU time (and part of your electricity bill and carbon footprint) to science research by installing an application that receives tasks from a central server (usually maintained by a university or research organisation), which then computes the results on your PC before sending it back.

When thousands of volunteers globally donate their computer power to these projects, they create distributed super-computers of significant capability.

You can control how much of your computer's resources are dedicated to the task, and most software for these kinds of projects allows you to automatically stop processing research tasks when you need to use the computer for your own tasks.

I use the BOINC client (available for PC, Mac and Linux), which lets you choose from a variety of distributed computing projects. https://boinc.berkeley.edu/download.php

I participate in the following astronomy projects:

MilkyWay@Home – “creating a highly accurate three dimensional model of the Milky Way galaxy ... which provides knowledge about how the Milky Way galaxy was formed and how tidal tails are created when galaxies merge”. https://milkyway.cs.rpi.edu/milkyway/

Einstein@Home – “searching for weak astrophysical signals from spinning neutron stars (often called pulsars) using data from the LIGO gravitational-wave detectors, the Arecibo radio telescope, and the Fermi gamma-ray satellite ... volunteers have already discovered about fifty new neutron stars, and we hope to find many more”. https://einsteinathome.org/

In a recent research release, the MilkyWay@home volunteer supercomputer was used to determine the shape and dark matter content of an ultrafaint dwarf galaxy:

I find it rewarding to think I contributed to this and other recent discoveries in some small way.

I have dedicated an old PC to the task, which I leave running 24/7, using the BOINC client (but you can easily use your day-to-day PC for the task, with minimal disruption to your normal PC use) . The electricity cost in Melbourne, Australia, running an old 8-core i7 with a GTX 780 GPU, at 90% full CPU load (throttled down by 10% to keep the thermal levels lower), is working out to about $1/day. The carbon footprint is something to consider, but I believe I can make up for this impact by running my air conditioner and heater a bit less, and making extra sure I turn off lights in rooms when I don't need them. Anyone living where renewable energy is available can contribute with essentially zero energy costs and zero emissions.

Energy usage may be especially efficient during winter if you live in colder climates, as every watt of CPU/GPU energy turns into about a watt of heat energy. So your PC will contribute to heating your home using the same energy you contribute to science research.

Ashley Flynn – Games and Simulations Software Engineer Portfolio and contact – https://ajflynn.io/

Back to Latest Posts

January 2022

Preamble

The following is an experiment in AI assisted writing, using https://novelai.net/ and their hosted GPT-J-6B AI writing model (which was created by https://www.eleuther.ai/) . I have appended some notes at the end about what the AI model contributed to the story (so as not to spoil the story before you read it).

The story began with a simple prompt to the AI: “Kallor lurched back as the surprise blow struck home“. I had no more idea than that. What came from the AI’s response turned out to be something that reads like an excerpt from a classic sword-and-sorcery fantasy novel.

While some have criticised the GPT AI models as “derivative” in their writing style, I would challenge anyone to find any fiction that is not derivative of its genre and of similar works that came before it.

The writing process was more engaging and fun than I expected. While I have experience with creative writing, having an AI assisting me made it feel like the characters and scenarios had a life of their own as I wrote. I had no idea what would happen next, and there were surprises at every turn. I was as much reading the story myself, as I was writing it as I went.

My input was required to guide the story at certain points, and make choices about re-rolling AI output when its suggestions seemed dull or absurd. On occasion I applied polish and rewrote some portions of the AI’s output to better suit what I felt was a good story line, while keeping the intent and meaning as close to what it originally generated as possible.

If I had to estimate, I’d say the AI provided about 50% of the content you will read below, by the time I cut, edited, re-rolled responses and provided my own prose.

One issue GPT-J-6B seems to struggle with is giving characters and locations unique names (I found it was taking names directly from a particular popular pre-existing fantasy world, which I confirmed after a quick google search). So I had to change the names it provided for the characters. It also has trouble moving on from a scene. Without prompting to end a scene, it would ramble on, long past what would be considered good writing practice.

It has some problems with maintaining small points of logic and continuity from one paragraph to the next (though it does well enough), which was the greatest cause of the need to re-roll or edit its output. Though it surprised me multiple times by being able to accurately recall and use facts about characters and places, taken from far earlier in the story.

The greatest strength I found about writing with an AI partner is that it provided me with ideas and organic and surprising responses from characters in real-time as I wrote. Tools like https://novelai.net/ and the GPT-J-6B AI model have reignited my interest to pursue creative writing for fun, and have also shown me the huge potential they have to assist professional creative writers in producing scripts for books, games, movies, and so on.


The Story

xxvi.

Kallor lurched back as the surprise blow struck home. The iron-shod club smashed into his side, driving him to his knees. He felt something tear into his ribs, and he fell forward onto the ground, hands clasped over the wound. The pain was excruciating, but he gritted his teeth and held still until it subsided. Then he rolled onto his back, gasping for breath. His lungs were burning. There was a roaring in his ears that sounded like the sea; his eyes were filled with stars. But at least he could breathe again. His foe hovered above him, somewhere above the encroaching blackness that threatened to swallow his vision. The man's face was contorted by hatred and fury. In one hand he clutched a club, in the other a heavy knife. He raised the club high above his head again and screamed, “Die!” Spent of every last drop of strength and will, Kallor drew his final breath and waited for the fatal blow to fall. But nothing came, save the man towering over him giving an odd choking grunt. Then his would-be executioner looked up to the ceiling as a sudden violent spasm rocked his whole body. He keeled over backward like a toppled sack of potatoes. Standing over Kallor now was the barmaid looking bewildered, holding a long narrow dagger, which was noticeably bloodied. She seemed no more than fourteen years old. “What happened?” she asked. Kallor closed his eyes, his thoughts spinning wildly. “You saved me.” “I did? I mean, you're bleeding all over my floor. You might die yet.” He reached out and gingerly touched his side. A thin line of blood had begun to seep through his shirt and his fingers. “I bleed because my heart still beats. So I have no complaints. I don't think my wounds are mortal, if I can tend to them immediately. I might impose a little more and ask for some thread, a needle, strips of cloth for bandages and a bottle of your stiffest liquor. Oh and a mug. I won't need it all for the wound.” She stared down at him, then nodded and hurried off. Kallor lay there, listening to the sounds of her feet padding away. It seemed he'd lost consciousness for a moment, yet he never lost track of the pounding rhythm of his own heart. The girl returned with all he had asked for, as well as a bucket and rag, and began cleaning up the blood and spilled ale. “What's your name, old man?” she asked. “My name is Kallor,” he said, as he sat up. He ripped his already ruined shirt open wider and poured the anonymous clear liquid from the greasy bottle onto his bloodied side. The agony that swept along with it told him the girl had rightly chosen some potent stuff. Forgoing the mug, he took a generous swig of the fire-water directly from the bottle's neck. “I'm Tula”, said the girl as she scrubbed the floor but kept her eyes on Kallor. He winced at the subsiding sting at his side. “You've earned your wages, Tula.” “That's nice. But this is a normal day's work in these parts.” She wiped her hands clean and sat down beside him. “A nasty gash. Hold still and I'll stitch you up. I can't think how you'll do it yourself.” “I don't want to look at it. Just do what needs doing.” She frowned, but set about unwrapping the makeshift bandage and threading the needle. “You're pretty old to be travelling alone, aren't you?” She gave the dead man laying beside Kallor a swift kick full of contempt before beginning to stitch Kallor's wound closed. “I see bastards like him around here too often. You should be more careful who you pick fights with.” “He was after me. Not the other way round”, Kallor spoke between gritted teeth as the needle bit his flesh over and over. “I guess so. But whatever you did to anger someone like him, I'd avoid doing it ever again. And you shouldn't travel alone.” “It is better to rove in company, lass. Agreed. I'm looking to arrange just that. A company that might venture with an old man such as me. To Talon pass. And beyond.” She finished sewing the wound, cut the remaining thread with the still bloodied dagger, and dabbed at Kallor's exposed side with a wet cloth. “There's a trader called Bachellan”, she said. “He travels with a caravan. I hear they're going at least as far as Talon. If you get the chance, why not join them? They leave soon, I think. They'll take care of you. If you can make yourself seem useful to them, anyhow.” “Thank you, Tula.” She nodded. “I know where he's camped. On the south road. If you go down to the harbour, turn left and keep walking till you reach the river. Follow the bank upstream. He's got a big grey horse. Tell him Tula sent you. That might improve your chances.” Kallor groaned as he lurched to his feet, aided in no small part by the slight but surprisingly strong young girl. “I'll remember that, Tula. Thank you.” “Anytime.” He dropped what remained of his coins on the counter, and staggered towards the door, pausing to collect his weapons and gear. He quickly reached into his satchel, checking the precious and mysterious letter from Etherwyn was where he'd left it. Belatedly he glanced back at the cadaver on the floor. “Ah, I should help you clean up.” Tula shrugged. “It's not like he's going anywhere.” “Will this be trouble for you and the owner? I can vouch for you. I'll see that you bear no blame.” Her gaze hardened. “I don't need your protection, old man. Just mind your own business.” “Fair enough. I apologize. You've done me a favour, and I thank you for it. Now, if I may, I shall leave you to your work. I have a long journey ahead of me. Though first I'd best stop by a taylor,” he tugged at the bloodied strips of his ruined shirt, hanging from his side, “and find myself some new clothes.” Tula collected the coins and stuffed them into her apron. “Don't worry about it.” Kallor made his way out into the street, where the morning air was crisp and cold, the sun still hidden behind thick clouds. He shivered as he walked. His head ached terribly, and he suspected he had suffered a concussion. He would need to be careful. But first things first. He found a taylor's shop and entered without knocking. The proprietor rose from behind his counter, wiping his hands on a stained towel. “Well met, sir. Do come in. What can I do for you today?” “Good morning, Master Taylor. My name is Kallor, and I am in need of a new shirt and some trousers. As well as a hat and boots. Also, a cloak. I have been forcibly relieved of, or have had ruined, all said items and they need replacing. And only what you have ready to take. I have no time to wait while you make or mend.” The taylor eyed Kallor suspiciously, just now noticing his ripped and blood stained shirt. “I see, and you will forgive me for asking, but I will require payment up front. No credit here. I do not know you, good sir.” “Of course, Master Taylor. How much will you charge?” “Three silvers.” Kallor winced, and pulled his last posession of any value (save his sword, with which he would never part), from his finger; a simple gold ring. “Take this, and give me what change you think fit. It's all I have.” The taylor took the ring and hefted it, then turned to scrape it gently on the stone bench behind him. “Hmm, it'll do. I'll give you the clothes and five silver in return. Nothing more.” Kallor sighed, but felt no strength left to haggle or beg. “Very well, thank you. That will suffice.” He left the shop with a new, if limited and slighlty ill fitting, wardrobe and a sense of relief. He made his way to the town's small but busy fishing harbour, and then south to the river, as instructed. He found the trader's camp by the southern road without difficulty. A dozen covered wagons and twice as many armed men filled a clearing. The men were busy hitching the wagons to horses and loading boxes and sacks of goods. It seemed they were soon to be leaving. Bachellan was a short, heavyset man with a pockmarked face, a round nose and an oversized head. He was sitting atop his large grey horse, a broad smile fixed on his face as he watched Kallor approach. The trader was dressed in fine, supple leather armour, with a black cloak wrapped tight around his shoulders. He had two swords strapped to his sides, and a crossbow resting on the saddle before him. The trader's eyes narrowed slightly when he saw Kallor approaching, and the smile vanished. Kallor halted a dozen paces from the trader, then bowed his head. “Master Bachellan. Tula sent me your way. I am Kallor, and I would offer you my services. I wish to venture to Talon. I would aid your caravan any way you see fit, if I might accompany you and receive food and bedding in return.” “Is that so?” Bachellan's tone was flat, unimpressed. “And why should we take an old man like you with us?” “Because I can fight.” The trader snorted. “So can I. And I don't need a bodyguard as old as my grandfather. Besides, I don't trust you.” “I can prove my worth.” “We'll see.” Bachellan pointedly gripped the hilt of the long sword at his right hip, and then leapt out of the saddle and landed on the ground with all the poise of a hungry tiger. Kallor drew his sword. A stabbing pain shot down his wounded side, but he did his best not to show it. The trader drew his own blade, and then he and Kallor attacked each other.


xxvii.

It was some time during the afternoon of the second day on the road that Bachellan finally spoke to Kallor once more. Kallor couldn't tell if it was wounded pride or quiet respect that had held the trader's tongue since the old man had put him on his arse the previous day. It had taken every bit of strength Kallor had left to beat the surprisingly nimble younger man. But after a couple of swift feints with his sword, and an old trick using a sweeping kick he'd come to rely on a lot more in his advancing age, he'd bested the caravan master and earned his place with the group on the journey to Talon. “So,” Bachellan said, settling back in the saddle and adjusting the straps of his crossbow as he drew his horse level with the one he'd lent Kallor. “I'm curious as to how you managed to best me. I am not only a veteran of countless battles, but also a trained swordsman.” Kallor grunted. “I've been fighting since I could walk. And I have a talent for it. My father taught me.” “I see. We are almost to Talon. Will you be continuing on to Dhurjis? Or perhaps the Fallen Towers?” Kallor remained tight lipped. “You're not going to answer?”, asked Bachellan. Kallor subconsciously clutched at the seemingly impossible summons from Etherwyn, now hidden safely in his cloak's breast pocket. Who would believe him if he said his long-dead queen had written to him, begging his aid. And he was tired of making up lies. “No. I won't answer. But I mean no offense”, Kallor said. “None taken. It's none of my business. Well, we will be arriving in Talon tomorrow. After that, the caravan will be crossing the Iron Desert. If we must part ways at the pass, so be it. Though I could do with your sword arm for the next part of the journey. Grey hair on your head or no. It's more dangerous than traveling this road, to venture beyond Talon pass. A great deal more dangerous.” Kallor nodded. “I understand. And I thank you again for the food and the loan of this horse.” “You're welcome”, said the merchant. “Will your caravan be stopping long in Talon?”, Kallor asked. “We will. A few days. I have some business to attend to. There is a man there I must meet. A fellow named Raymon Vandaris. He's a merchant of sorts, though he does a lot more than trade. You might say he's a collector of oddities. I would like to buy his latest acquisition.” “Acquisition?” “Yes. An artefact. A relic. Something that belonged to the Eyeless God.” Kallor scoffed. “Fairytales.” “I assure you, it is real.” “Then why would he sell it to you?” “He cares for money even more than his collection of curios. I see value in this artefact beyond mere riches.” “How so?” “Though he does not know it, the relic is a weapon. A terrible, deadly magic weapon. I would like to study it, to learn its secrets. Its power. And to keep it out of the wrong hands, of course.” “I see. And how much will it cost?” “Two thousand gold pieces.” Kallor laughed. “That's ridiculous! You would pay that for a piece of folklore and myth?” “Not for a fanciful legend”, said Bachellan, “but for a weapon once owned by a god. It is real, and it can be used. I will pay that price.” “Even if it turns out to be worthless?” “It won't.” Kallor frowned, but held his tongue. There seemed no sense in arguing with a senseless man. Best to let this clearly wealthy trader waste his money how he saw fit. “Kallor, I would ask one thing of you before we part ways at the pass. Accompany me to see Vandaris. He wouldn't appreciate me taking along any of my guards. But he'll make the same mistake regarding you that I did; he'll underestimate you. He won't think you a threat. I'll claim you're an associate. An elderly advisor. You're the perfect discreet protection.” “I'm not a bodyguard”, Kallor said, shaking his head. Bachellan put on one of his patented beatific smiles. “I will pay you well for your service.” Kallor grunted, and thought of his empty coin pouch. “All right, I'll do it. But are you expecting an attack in the middle of the city? You don't trust this trader?” Bachellan dropped his smile, and looked pensive. “I trust Vandaris well enough. I simply want to be sure that he has nothing to hide. You will keep your eyes open, and inform me if you notice anything untoward. You will help me keep my purse safe on the trip through the city to his home, and keep the relic safe as we return to the caravan. Then I pay you and we part ways. Simple.” Kallor paused a moment more before answering, “Very well.” Bachellan smiled, and they rode on in silence until they made campfall for the evening. Kallor was relieved at the thought of earning some easy coin before setting off on the next leg of his journey, but couldn't shake a growing sense of unease. Talk of the Eyeless God and ancient powerful relics was childish fantasy. But to hear a grown man willing to stake a fortune on it was sobering. Bachellan must know something, or have seen something, to convince him the relic was real. But Kallor didn't believe in magic. Not even in legends. Magic was a belief for fools and children. He'd lived long enough to see the world as it truly was. He'd been through wars, and he'd seen men die. The Eyeless God? No, Kallor wasn't ready to believe in that. As he lay on his bedroll that night, he tried to clear his mind of such thoughts. He was exhausted, and fell asleep quickly, but had fitful dreams of vengeful gods, hungry ghosts and restless shadows.


Writing Notes

The story began with a simple prompt to the AI: “Kallor lurched back as the surprise blow struck home”. I provided it no more idea than that. What came from the AI’s responses and my own contributions turned out to be something that reads like a short excerpt from a classic sword-and-sorcery fantasy novel.

I didn’t know Kallor was an old man, or that his life would be saved by a young barmaid. Tula’s name and personality, as well as her responses to the conversation and actions, were entirely provided by the AI, including her headstrong attitude.

The caravan leader Bachellan’s personality and responses to Kallor’s conversation are all provided by the AI too. I had no idea he would refuse to accept Kallor as part of the caravan until he bested Bachellan in combat. Him drawing his sword and attacking Kallor was the AI’s idea. While I decided the outcome would be in Kallor’s favour, the AI challenged this story point with Bachellan’s question to Kallor; “I'm curious as to how you managed to best me. I am not only a veteran of countless battles, but also a trained swordsman.” But on the very next line, it also provided Kallor’s response, and further added to what we know of Kallor’s background; Kallor grunted. “I've been fighting since I could walk. And I have a talent for it. My father taught me.”

When Bachellan asks Kallor about his quest (something the AI asked, unprompted by me) I decided not to elaborate. Bachellan was understanding of Kallor’s wish to keep his affairs private, and instead offers Kallor information about his own plans in the city of Talon. The AI came up with the idea of Bachellan meeting a collector of curios named Raymon Vandaris, who was unknowingly in possession of a powerful ancient artifact.

I toyed with the AI’s idea by having Kallor suggest this artifact was a fake. Bachellan refused to be dissuaded of the fact that the object was genuine. The AI then suggested Kallor accompany Bachellan to retrieve the object, which makes for an exciting potential next chapter, I think.

The one entirely original point I injected into this story was the letter from Etherwyn. I wanted to insert some mystery and purpose surrounding Kallor’s journey. Something that might be a good prompt for more chapters in the future.

The closing passage is entirely provided by the AI, except that I edited in a mention of the gods in reference to the artifact. I think it provides a nice amount of mystery and foreboding, and a promise of more adventure to come; “As he lay on his bedroll that night, he tried to clear his mind of such thoughts. He was exhausted, and fell asleep quickly, but had fitful dreams of vengeful gods, hungry ghosts and restless shadows.”

Ashley Flynn – Games and Simulations Software Engineer Portfolio and contact – https://ajflynn.io/

Back to Latest Posts

November 2021

Check out my short article on new tools that enable Artificial Intelligence to understand abstract concepts, and allow it to contribute to the artistic and creative process like never before.

The full article is available here: https://bit.ly/3cQOOl1

Ashley Flynn – Games and Simulations Software Engineer Portfolio and contact – https://ajflynn.io/

Back to Latest Posts

September 2021

Check out my brief review of the history, available literature, and the state of the art of multithreading in software applications.

The full paper is available here: https://bit.ly/3kThSw7

Ashley Flynn – Games and Simulations Software Engineer Portfolio and contact – https://ajflynn.io/

Back to Latest Posts

August 2021

While creating Caelum Magna (a VR Star Map visualisation tool for the European Space Agency's Gaia satellite project, built using Amazon Lumberyard), I investigated optimal architectures for performing large volume high-speed simultaneous database queries, and streaming the resulting data into a 3D simulation in real-time.

I wrote the investigation and results up into a formal research paper, in the hope it will be useful to developers facing the same dilemma; how best to access and move millions of data points in and out of games and simulations in a high performance environment.

Check out the full paper here:

Multi-threaded asynchronous database queries for games and simulations – by Ashley Flynn Investigating the best implementation of process threading and asynchronous queries for the purpose of retrieving information from databases for games and simulations. https://bit.ly/3mmc0O8

As part of the Caelum Magna project, I developed a Gem (a self-contained module) for the Amazon Lumberyard game engine, called PLY, that provides rapid asynchronous access to PostgreSQL database instances. Caelum Magna and PLY use the architecture described in the research paper. Both projects are available on GitHub under open-source licenses.

Ashley Flynn – Games and Simulations Software Engineer Portfolio and contact – https://ajflynn.io/

Back to Latest Posts

August 2021

Risk management is essential for any project with any team size, big or small. Yet we tend to consider it as an afterthought in game development, whether we’re working as a small independent studio or as part of a larger professional organisation.

It’s often seen as boring, too complex, or just overkill when you have limited resources to dedicate to planning and project management.

Enter the IRM RMS – A simplified risk management standard that is so easy to understand that the whole thing fits into a 14 page guide. The key to any successful business process is that it can be understood and executed by all the stakeholders, and that they feel ownership and value from the process. The IRM RMS helps to achieve this by doing away with the mindboggling complexity of more common standards like ISO 31000.

Check out my essay on the IRM RMS to learn more!

The IRM Risk Management Standard in Software and Games Development – by Ashley Flynn The origin and history of the IRM Risk Management Standard, its major elements and its adoption for computer games development. https://bit.ly/3jOlqiy

Further recommended reading:

“Key-Risks-Based Mobile Game Pre-production”. GameMakers, USA. https://gamemakers.com/key-risks-pre-production/

“4 ways to lower your risks for game development”. Venturebeat, USA. https://venturebeat.com/2014/11/05/4-ways-to-lower-your-risks-for-game-development-superdata-finds/

“Risk Management in Video Game Development Projects”. IEEE Xplore Digital Library. https://ieeexplore.ieee.org/document/6759136

“Managing Risk in Video Game Development”. Gamasutra, USA. https://www.gamasutra.com/view/feature/191523/managing_risk_in_video_game_.php

Ashley Flynn – Games and Simulations Software Engineer Portfolio and contact – https://ajflynn.io/

Back to Latest Posts

August 2021

Introduction

Software as a Service (SaaS) is an umbrella term for applications that are provided, hosted and maintained on a server by a third party that customers must access remotely over the Internet. SaaS is one of the concepts now covered under the broader field of “Cloud Computing” (Rouse 2012). Examples of popular SaaS applications available today include the Google suite of products such as Google Docs and Gmail, and even Facebook and Twitter.

The concept of SaaS is not new, with mainframe systems providing a similar business model as early as the 1960s, and famous computer scientists of the era such as John McCarthy predicting the future rise of cloud computing (Childs 2011). However the increase in the use of the SaaS business model in recent years has led to a collision between the business goals of service providers, and the Intellectual Property (IP) rights of its users.

What is Software as a Service (SaaS)?

“Computation may some day be organised as a public utility.” Computer scientist John McCarthy – During a speech to MIT students in 1961.

Typically, a SaaS product will consist of a centrally hosted server-side application, of which there is essentially one instance, and a client-side application, which each customer runs on their own computer. The clients all connect to the same server. The client application usually provides only the functionality required to accept user input and display the application output to the user. The bulk of the application’s logic is executed on the server. The most common form of SaaS client-server application delivery is to access the service via a web browser, with the centralised component hosted on a web server (Singleton 2019).

Examples of popular SaaS applications include the Google suite of tools such as Google Docs, Google Drive, Gmail, Google Maps, and so on. In these cases, the bulk of application logic, data storage and processing occurs on the Google servers. Without access to the Google servers, the client components of these tools either have severely reduced functionality, or do not work at all.

A typical web application delivered in the SaaS way might be hosted centrally on a web server, with a web browser on the customer's local PC acting as the client interface. The web browser component provides enough functionality to display the user interface and accept user input via HTML (utilising software technologies such as HTML5, CSS3 and JavaScript), while the application logic and storage are all handled server-side (utilising an Apache web server, the PHP language and a PostgreSQL database, for instance).

SaaS provides many advantages including;

  • Upgrades to the server application are available immediately to all clients, without necessarily having to update each client application individually.
  • SaaS eliminates the need for organisations to maintain applications on their own servers, which removes the costs of hardware and employing administrators.
  • Reliance on third parties for software security. This can be an advantage if the third party operator has better cyber security expertise and capabilities than the client organisation.
  • SaaS can provide a flexible rent-based ongoing payment structure to access the service, which can be more attractive to customers than paying a larger amount to own the software outright.
  • SaaS offers excellent scalability, with customers being able to use as much or as little of the service as they require, and to change their level of demand on the service at any time.
  • SaaS makes the application highly available, as it is typically delivered via the Internet and can be accessed from any location in the world at any time.

Disadvantages of SaaS include;

  • Reliance on third parties to deliver and maintain the service. If the service owner fails to continue to support and maintain the application, or goes out of business, the service may become unusable.
  • Reliance on third parties for software security. This may be a disadvantage if the provider does not address security issues adequately.
  • Availability issues may compromise functionality. For instance if the service becomes unavailable due to an issue with the servers or internet connectivity, then the application will be unusable.
  • SaaS also involves many potentially negative copyright and intellectual property implications.

Implications of SaaS for Copyright and Intellectual Property

“With SaaS, the users do not have even the executable file that does their computing: it is on someone else's server, where the users can't see or touch it. Thus it is impossible for them to ascertain what it really does, and impossible to change it.” Richard Stallman, Free Software Foundation (Stallman 2010)

SaaS and Software Piracy

SaaS provides a level of protection against software piracy that is impossible to attain under the traditional software distribution model. SaaS allows the software vendor to retain absolute control of the software’s code, by preventing access to it and only allowing customers to interact with the application’s functionality. In this way, there is no copy of the software that pirates can obtain or distribute. In addition to this, the “service” component of SaaS is an important part of the overall product. Even if customers could obtain an illegal copy of the application, they would have to host it themselves and then would lose many of the benefits afforded by the SaaS model such as reduced hardware costs, reduced administration costs, global availability, and so on.

The centralisation and large community of users accessing a single SaaS application is also a benefit that would be lost if a customer used an illegal copy instead. Imagine obtaining an illegal copy of Facebook’s application code and hosting your own instance. One major benefit of using the genuine social media platform is that it has billions of monthly active users (Noyes 2019), which is something only the genuine Facebook service can provide.

SaaS and the Control of Intellectual Property

Security

The nature of SaaS means that a third party hosts the application remotely on servers some distance away from the customer’s location, often in an entirely different country. The key implication for intellectual property rights is that the customer’s data (their intellectual property) is also hosted remotely by the third party.

For instance, in the case of Google Docs, customers using the service have their written documents stored on Google’s servers. These documents may contain IP as benign as shopping lists, or as valuable as copies of software code in development, an author’s book manuscripts or movie scripts, commercially sensitive research data, patient medical records, or even government secrets.

While SaaS providers typically make assurances about the safety of the data, it can be argued that outsourcing security of valuable IP data is an unacceptable risk. SaaS providers can make mistakes, be negligent, or simply be unable to prevent customer data being compromised even if they employ industry-best-practice security measures.

According to DiGiacomo (2018), there were as many as 115 monthly publicly reported successful cyber attacks globally on major businesses as far back as 2018. The number of undetected attacks, or attacks that have not been made public is surely a much greater number.

Customers concerned about the security of their data that make use of SaaS must be willing to trust a third party with that security. And yet, even major well funded organisations with expertise and enormous security resources at their disposal have proven to be vulnerable to cyber attacks.

Ownership and Control

One of the most troubling aspects of the rise of SaaS is the potential loss of control over intellectual property (Stallman 2010). As customers host more and more of their IP on remote servers controlled by third parties, they are at the mercy of the End User License Agreements (EULA), service contracts, as well as the whims and goodwill of those third parties.

These contracts vary significantly between services and providers. They can range from allowing the customer to retain all rights to IP uploaded to the service, all the way up to the customer signing over the entirety of rights of their IP to the service provider. Often customers will not read the contract terms when using a SaaS application, and may not be aware of what IP rights they have signed away by doing so.

Even after agreeing to the terms imposed by the SaaS provider at the time the customer first uploaded their IP to the service, the contractual conditions governing the ownership of a customer’s IP may later change. Typically the service provider is required to notify customers of contract changes, but may not always do so. The customer may be bound by these changes without consent or confirmation, depending on the nature of the original contract, and specifics of law in the jurisdiction that governs the contract.

Even if the customer is notified of service contract changes that affect their IP, and rejects them, there is often no guarantee that the customer will be able to remove all their IP completely from the service, or be able to easily move their IP to another service. Vendors of SaaS applications have little incentive to make it easy for a customer to move their data to a competing platform.

An additional concern for SaaS customers is the location of hosted data. Due to the global nature of the internet and SaaS applications, a customer’s IP may end up being hosted in any number of jurisdictions outside their country of residence. For this reason it is not always clear to customers which legal jurisdictions their IP may be held in, or what jurisdictions may apply if legal proceedings are brought against the application provider.

This legal ambiguity can have serious consequences when a customer’s IP is accessed outside their home jurisdiction and used in a way they do not authorise. This could occur if the SaaS provider is forced to comply with legal orders from a foreign government, or if the provider itself uses weak IP and privacy law in a specific jurisdiction to gain access to the data legally to use for purposes the customer did not originally agree to. This may include uses such as harvesting data from the customer’s IP for advertising purposes, on-selling it to other third parties, etc.

Users accessing a typical social media web application, such as Twitter or Facebook, may upload video, images, or text messages. Text content, even something as informal as text chat messages, still counts as a customer’s IP. While text may appear to have little value when compared to IP such as artwork, images, video and so on, these messages may still be valuable to access for market research and advertising purposes. A company providing a text chat service may be interested in harvesting chat content for keywords and key phrases to help them build profiles of users to either target advertising at those users, or to on-sell data about the users to a third party. Web applications typically have clear definitions in a user contract about what constitutes a customer’s IP, and what rights the provider has to access and on-sell that IP, or data derived from it.

Provides such as Google have gone to great lengths to try to reassure their customers of the security of their IP, with the company having announced it had its Google Drive SaaS application verified by Ernst & Young to ensure it complies with the ISO 27018 privacy standard. Google maintains that this proves its customers’ IP is absolutely private and will not be accessed for the purposes of harvesting targeted advertising data (Kapko 2015).

Conclusion

Despite assurances from some of the biggest SaaS providers in the world, such as Google, Facebook, Twitter and Amazon, the protection of their customers’ IP rights (including rights of ownership, privacy and security) continues to be a point of contention.

While the contract put in place at the time a customer signs up to a SaaS service may promise adequate protection, providers can fall short of these promises or change the terms of the contract at a later time, often without the customer’s consent or knowledge. Even the biggest SaaS providers have been known to change contract terms, or have shown to be vulnerable to security breaches, as any internet connected service always will be.

Questions of jurisdiction in the global SaaS marketplace can lead to ambiguity about where and how a customer’s IP is stored and protected, exposing them to the possibility of their IP being accessed without their permission in an otherwise legitimate and legal manner, such as by state actors ordering a SaaS provider to hand over a customer’s IP via a court order.

These considerations must be foremost in the minds of any individual or organisation looking to migrate their IP and business systems to SaaS platforms. While the advantages of reduced cost, greater availability and accessibility may be highly attractive, the implications for IP rights are dire.

Bibliography

Childs, M. (2011). “John McCarthy: Computer scientist known as the father of AI”. The Independent. https://www.independent.co.uk/news/obituaries/john-mccarthy-computer-scientist-known-as-the-father-of-ai-6255307.html

Kapko, M. (2015). “4 out of 5 Google for Work customers avoid Google Drive”. CIO Website, IDG Communications, Inc., USA. https://www.cio.com/article/2985352/4-out-of-5-google-for-work-customers-avoid-google-drive.html

Rouse, M. (2012). “Software as a Service (SaaS)”. Techtarget Website. https://searchcloudcomputing.techtarget.com/definition/Software-as-a-Service

Singleton, D. (2019). “What is SaaS? 10 FAQs About Software as a Service”. Software Advice Website, Software Advice Inc. https://www.softwareadvice.com/resources/saas-10-faqs-software-service/

Stallman, R. (2010). “What Does That Server Really Serve?”. Boston Review, USA. https://bostonreview.net/richard-stallman-free-software-DRM

Ashley Flynn – Games and Simulations Software Engineer Portfolio and contact – https://ajflynn.io/

Back to Latest Posts

August 2021

Much has been said about the Artificial Intelligence language model GPT-3 (Generative Pre-trained Transformer 3) by OpenAI recently. Its capabilities are impressive, and it promises technological and social disruption that has the potential to be both benevolent and malicious.

Left solely in OpenAI’s hands, GPT-3 would remain a black-box proprietary technology with all the restrictions and limitations associated with using software as a service provided by a third party. The ability to freely explore the technology’s capabilities and develop countermeasures for its negative impacts would remain restricted by an organisation making profit-driven decisions about access and control.

To counter this, EleutherAI, a collective of volunteer researchers, engineers, and developers, are working on an open source competitor to GPT-3. The advantages include being able to control the source code and software yourself, train and configure the model on your own domain-specific data, and integrate the technology directly into your own software and business tools without relying on a middle-man.

Further reading:

Ashley Flynn – Games and Simulations Software Engineer Portfolio and contact – https://ajflynn.io/

Back to Latest Posts

Enter your email to subscribe to updates.