This morning I really struggled to get out of bed. Being very tired still, in a nice warm bed while outside it was -7 °C and my room probably wasn’t far off that, it took some convincing that I really did need to go to work. While laying there, between drifting in and out of consciousness, I got to wondering if I could make my room a little warmer without changing the central heating settings or adding another heater. I had the idea that I could set up my computers to respond to temperature.
I normally only have the one machine on constantly, my server boron. It’s a fairly old self-built P4 with an old Radeon 9600 AGP graphics card, which puts out more heat than most of my newer machines. When idling, there’s enough heat to keep the cabinet at a mild temperature on these cold nights, but the room is not so easily heated. In summer, there is the opposite problem of too much warmth which on really hot days can only be solved with air conditioning.
With a temperature sensor or two, I could set up boron to run a CPU-intensive task (such as a BOINC project like Folding@Home or Seti@Home) when it’s cold to produce heat while at the same time doing something useful. While it’s not an efficient way of heating a room, you gain both heat AND processed data, rather than just producing heat and nothing else like an electric heater would.
If I had more (quiet) computers in my room, I could keep them off most of the time, then turn them on automatically (using Wake-on-LAN, for example) when heat is needed to do some number crunching.
This idea could be applied to an entire house, like my future self-built house (still in the dream stage, and probably will be for at least 15 years). The heat produced by computation could be put to use heating a house in winter, directly using the warm air, or just helping to heat hot water in the summer by using a heat exchanger to pre-heat the water going into the boiler.
In fact the same could be, and probably is, applied on a commercial scale in newly designed efficient corporate buildings, where the heat from server rooms and networking closets is used to improve the efficiency of heating and hot water provision. Many new well-designed buildings take into account natural air flow, attempting to minimise the amount of energy required for environmental control. Such a use of the inefficiency of necessary electronic systems would add to this eco-design.
Back in the present, in my current location, using the machines I have, this could be accomplished quite easily by setting up a computer-connected thermistor measuring the ambient room temperature and some simple software to monitor the temperature and start/stop intensive tasks as necessary. Not difficult or expensive at all. It could also be applied to the MythTV box, sodium, downstairs in one of the coldest rooms of the house.
If you know of anyone or any buildings that use something like this, I’d be interested to hear about them. Please add a comment below if you are aware of any instances of this idea in use.
3 thoughts on “Computational Heating”
Interesting idea, but isn’t the real solution to insulate old houses, install more efficient heating systems and build new houses to much higher energy specs?
The idea of using computers for heating seems somewhat inefficient to me but I would agree with the concept of trying to harness the excess heat they produce then being used normally.
Of course, you are right. Insulation and improved glazing would be the right way to go to make a house warmer.
Our house has the problem of single glazing, but replacing all the windows with UPVC would be expensive and ugly. Replacing them with double-glazed sash windows would be probably twice as expensive. So we won’t be able to reduce our heating bills for quite a while yet.
I think you have an excellent point, perhaps you need to know the outside temp as well though?
If you know the outside and inside temperature, you can calculate the thermal gradient, i.e. how much temperature your room/ house is losing. then you know how much heat you need to input in order to maintain (or raise) the temperature.
I am halfway there with this project in my house with internal sensors. Next step is to get the external sensor, and some relays on the heating controller, then just write the if then else code. In your case the code would be more complicated, but the concept is the same.