I've been looking through several posts (on the internet) about building Raspberry Pi clusters- and my major question is something rather simple- what about the heat management? Would they overheat when operating as a cluster system (because each Pi is in close proximity with one another)? So is it possible to create a cluster even without cooling?
-
Can you please state how you want to build the cluster? I have built one and can tell you it very much depends on the details (how close together, encasing of the individual pi, what hosts the whole setup, other devices involved) – Max Apr 18 '13 at 06:13
-
I plan to place them ~5cm atop each other, and ~2cm apart. Encasing is not present as they are placed on a rack, and all of them are connected to a router. Devices are pis and a separate computer which is linked via Ethernet to a router. – user1945104 Apr 21 '13 at 00:54
2 Answers
I build a cluster with 16 PI's, and left it 'unventillated'. After a while, one of them 'died', so I had to dismantel the whole cluster to replace the PI.
To avoid this in the futur, I ventillated a little, and wrote a script to monitor the cluster's temperature.
This is how it works:
description:
16 slave PI's connected to a Master PI (MRPI) IP add's: MRPI 192.168.1.70 slaves 71 -- 78 & 81 -- 88
requiered:
SHH installed on all PI's and keys shared both ways, MRPI to all slaves, all slaves to MRPI.
on each PI a script to check the T° and send it to the MRPI:
#!/bin/bash
mip=`hostname -I`
mip=${mip:10:2}
tfile="/tmp/"$mip".txt" #using the IP add to make a file name
temp=`/opt/vc/bin/vcgencmd measure_temp`
temp=${temp:5:4}
echo $temp >$tfile
#echo $tfile
#cat $tfile
scp $tfile pi@192.168.1.70:$tfile # SSH won't "cat > " from a script
#################################################################
on the MRPI a script to ask the T° of the slaves, and graphically display the cluster's T°:
#!/bin/bash
ssh 192.168.1.71 "./send70temp.sh" >/dev/null
ssh 192.168.1.72 "./send70temp.sh" >/dev/null
ssh 192.168.1.73 "./send70temp.sh" >/dev/null
ssh 192.168.1.74 "./send70temp.sh" >/dev/null
ssh 192.168.1.75 "./send70temp.sh" >/dev/null
ssh 192.168.1.76 "./send70temp.sh" >/dev/null
ssh 192.168.1.77 "./send70temp.sh" >/dev/null
ssh 192.168.1.78 "./send70temp.sh" >/dev/null
ssh 192.168.1.81 "./send70temp.sh" >/dev/null
ssh 192.168.1.82 "./send70temp.sh" >/dev/null
ssh 192.168.1.83 "./send70temp.sh" >/dev/null
ssh 192.168.1.84 "./send70temp.sh" >/dev/null
ssh 192.168.1.85 "./send70temp.sh" >/dev/null
ssh 192.168.1.86 "./send70temp.sh" >/dev/null
ssh 192.168.1.87 "./send70temp.sh" >/dev/null
ssh 192.168.1.88 "./send70temp.sh" >/dev/null
MA=( "/tmp/71.txt" "/tmp/72.txt" "/tmp/73.txt" "/tmp/74.txt" "/tmp/75.txt" "/tmp/76.txt" "/tmp/77.txt" "/tmp/78.txt" )
MA+=( "/tmp/81.txt" "/tmp/82.txt" "/tmp/83.txt" "/tmp/84.txt" "/tmp/85.txt" "/tmp/86.txt" "/tmp/87.txt" "/tmp/88.txt" )
START=1
END=16
HT=35
LT=25
SP=".."
ST=\|\|
clear
for (( p=$HT; p>=$LT; p-- ))
do
MV=$p" "
for i in "${MA[@]}"
do
LL=`cat $i`
T=${LL:0:2} # get rid of the decimals
#echo $T " " $p
if [ "$p" -gt "$T" ]
then
MV=$MV$SP
else
MV=$MV$ST
fi
done
echo $MV
done
echo -n " "
for i in "${MA[@]}"
do
echo -n ${i:5:2}
done
echo
#############################################
A sample :
35 ................................
34 ................................
33 ................................
32 ||............||................
31 ||............||....||||....||||
30 ||||........||||..||||||....||||
29 ||||..||||||||||||||||||||||||||
28 ||||||||||||||||||||||||||||||||
27 ||||||||||||||||||||||||||||||||
26 ||||||||||||||||||||||||||||||||
25 ||||||||||||||||||||||||||||||||
71727374757677788182838485868788
Enjoy clustering !!
MuteOn B6180 Belgium

- 58,859
- 17
- 112
- 227

- 11
- 1
Unless you are using it in an unusually hot environment, I do not think the pi can generate enough heat to hurt itself. The max temperature is apparently 80 C, and the normal operating temperature 45-55 C. It does not really require anything in the way of ventilation or cooling, and I've seen a few people report using it in airtight enclosures.
Someone here posted this prolonged temperature test using a probe in an enclosure. I have mine in an unventilated case, it's been on for days (mostly idle) and just now opt/vc/bin/vcgentcmd
reported 53.5 C; this is the on-chip sensor which will be hotter than an external probe. I maxed the processor (but not the video core) out for 5 minutes and it reported 57.3 C. The ambient temperature here is ~23 C, although the pi is shoved together with some other warmth generating electronic gear.
My enclosure is actually double -- there's the made for the pi sized (~1.5" deep) plastic case I bought with it screwed inside a wooden box. I've never noticed the inner plastic case be anything beyond luke warm to the touch.
WRT packing a bunch of them together, I guess it would depend where and how tightly you have them packed, but realistically it seems very unlikely to become an issue.

- 58,859
- 17
- 112
- 227
-
1A note. The pi is cool a lot of the time due to the large surface area. The largest being the top and bottom. If they are stacked together, even half a centimeter apart, the pi loses its largest surface area for heat dissipation and could cause an exponential curve in the internal temperature – Apr 15 '13 at 14:06