2

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?

user1945104
  • 123
  • 2
  • 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 Answers2

1

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

goldilocks
  • 58,859
  • 17
  • 112
  • 227
Muteon
  • 11
  • 1
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.

goldilocks
  • 58,859
  • 17
  • 112
  • 227
  • 1
    A 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