View previous topic :: View next topic |
Author |
Message |
cmontanes n00b
Joined: 27 May 2005 Posts: 3
|
Posted: Mon Feb 13, 2006 7:41 pm Post subject: Guide for building an AMD64 beowulf cluster |
|
|
Some months ago I had to build a beowulf cluster, and I wanted to do it using Gentoo. I had to look for rather an amount of information from different sites, as I didn't find a full manual which guided me in my purpose. Besides, some time ago I attended to a speech in which the ponent talked about the importance of writing documentation, although you may think something you have done is 'trivial'.
So I have decided to write and share this guide so that somebody in my situation three months ago may have some extra help. I'm not an expert at all and I guess that some of the things I have done could be done in some other ways, but that's the way I did it (and it works) and I hope this will be useful for someone. Let's go for it, then...
First of all, some information about the system: 18 nodes plus the server; AMD64 3200+; 2 Gb RAM (3Gb for the server); ATI Radeon 9200 AGP; Gigabit ethernet; ASUS motherboard (VIA devices - IDE, PCI...). The nodes have a 80Gb hard disk each, while the server has two 250Gb hard disks. The cluster is aimed to be used for intensive calculus in a Computational Fluid Dynamics group.
I have divided the guide in four parts: first, a common block, independently if it is the server or the node; then two sections for after rebooting, one for the server and another one for the node. Finally a last block with some tips for administration. You will have noticed I have said "the node" and not "a node"; this is because there is no need to install all the nodes (if they are identical) by compiling the whole system: we can use Partimage in the System Rescue CD to clone the whole hard disk of one node to the rest.
We will part from an AMD64 livecd boot and will do a stage-3 installation (doing a stage-1 or 2 is just a matter of compilation time). The server will get access to the net through DHCP and will serve DHCP to the rest of the cluster, assigning a fixed address attending to the MAC of each node. Besides, it will serve NIS service and its hard disk will be used as home for the users, sharing it by NFS. The local net address will be 192.168.5.
Section 1: Common block
First load a keyboard map with which you feel comfortable (in my case, Spanish):
Check if the net is already running (ping www.google.com or your favourite web). If not, configure it:
Partition the hard disk. For the SERVER: - 100 Mb for boot (hda1)
- 2 Gb for swap (hda2)
- 50 Gb for system (hda3)
- the rest of the HD for extra space for users (hda4)
- all the space in the second HD for users home (hdb1)
For the NODE: - 100 Mb for boot (hda1)
- 2 Gb for swap (hda2)
- the rest of the HD for system (hda3)
Code: | #fdisk /dev/hda
#fdisk /dev/hdb |
Set filesystem for partitions, ext2 for boot, ext3 for system and users space, and swap for swap
Code: | #mke2fs /dev/hda1
#mke2fs -j /dev/hda3
#mke2fs -j /dev/hda4
#mke2fs -j /dev/hdb1
#mkswap /dev/hda2
#swapon /dev/hda2 |
Mount root and boot partitions:
Code: | #mount -t ext3 /dev/hda3 /mnt/gentoo
#cd /mnt/gentoo
#mkdir boot
#mount /dev/hda1 boot |
Download stage3 & latest portage snapshot from your closest mirror. In my case it is the one at the University of Valencia, Spain:
Code: | #wget http://linuv.uv.es/mirror/gentoo/releases/amd64/200X.X/stages/stage3-amd64-200X.X.tar.bz2
#wget http://linuv.uv.es/mirror/gentoo/snapshots/portage-latest.tar.bz2 |
Untar tarballs:
Code: | #tar -xvjf stage3-amd64-200X.X.tar.bz2
#mv portage-latest.tar.bz2 /usr/
#cd /usr
#tar -xvjf portage-latest.tar.bz2 |
Configure make.conf. Edit with your favourite editor (vim in my case) and leave it as:
Code: | CFLAGS="-O2 -march=k8 -pipe -fomit-frame-pointer -msse3 -mfpmath=sse"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
GENTOO_MIRRORS="http://linuv.uv.es/mirror/gentoo/" #Set here your closest mirror
USE="-kde -gnome mmx sse fortran"
ACCEPT_KEYWORDS="amd64"
VIDEO_CARDS="radeon"
LINGUAS="es" #Set your language here
LANGUAGE=34 #and here if you like to read in Spanish ;-) |
Change environment to local:
Code: | #cp -L /etc/resolv.conf /mnt/gentoo/etc/
#mount -t proc none /mnt/gentoo/proc
#chroot /mnt/gentoo /bin/bash
#env-update && source /etc/profile |
Syncronize portage:
Set time zone:
Code: | #ln -sf /usr/share/zoneinfo/Europe/Madrid /etc/localtime |
This is not necessary but I think it is a good idea to do it now before you have anything cofigured. Update the system:
Code: | #emerge world
#etc-update |
Check that the compiler version installed is the desired one. In my case the latest stable, gcc-3.4.4, and make this version the default one for further compilations (if necessary):
Code: | #gcc-config i686-pc-linux-gnu-3.4.4 |
Fix libraries if coming from gcc-3.3 or older:
Code: | #fix_libtool_files.sh gcc-3.3
#env-update
#source /etc/profile |
Again, not necessary, but it is for me. Install vim:
Install the kernel sources. In my case, kernel 2.6.13, optimized for gentoo:
Code: | #emerge gentoo-sources |
Set the options to compile the kernel, compile it and copy the image to the boot partition
Code: | #make menuconfig
#make && make modules_install
#cp arch/x86_64/boot/bzImage /boot/kernel-2.6.13
#cp System.map /boot/System.map-2.6.13
#cp .config /boot/config-2.6.13 |
Edit fstab and leave it as:
Code: | /dev/hda1 /boot ext2 noauto,noatime 1 2
/dev/hda2 none swap sw 0 1
/dev/hda3 / ext3 noatime 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0 |
Set hostname, domainname, network and other configuration files:
Code: | #vim /etc/conf.d/hostname
HOSTNAME="your_cluster"
#vim /etc/conf.d/net
#Leave it empty if the net is going to be set as DHCP, as it is my case
#vim /etc/rc.conf
#Change:
EDITOR="/usr/bin/vim"
#vim /etc/conf.d/clock
#Change:
CLOCK="local"
#vim /etc/conf.d/keymaps
#Change:
KEYMAP="es euro2"
#vim /etc/conf.d/consolefont
#Change:
CONSOLETRANSLATION="8859-15_to_uni" |
Install services:
Code: | #emerge syslog-ng
#emerge vixie-cron
#emerge slocate
#emerge dhcpcd
#emerge gentoolkit
#emerge pciutils
#emerge nfs-utils |
Re-emerge net-tools (if not, it may cause problems getting the net up after reboot)
Set some (NOT ALL YET) services to be loaded at startup:
Code: | #rc-update add net.eth0 default
#rc-update add syslog-ng default
#rc-update add vixie-cron default
#rc-update add sshd default |
Install and configure bootloader. In this case, grub:
Code: | #emerge grub
#vim /boot/grub/grub.conf
timeout 2
default 0
splashimage=(hd0,0)/grub/splash.xpm.gz
title Gentoo Linux 2.6.11
root (hd0,0)
kernel /kernel-2.6.13 root=/dev/hda3
title Change the colors
color light-green/brown blink-red/blue |
Install grub in MRB:
Code: | #grub
>root (hd0,0)
>setup (hd0)
>quit |
Set password for root and reboot:
Code: | #passwd
#exit
#umount /mnt/gentoo/proc
#umount /mnt/gentoo/boot
#umount /mnt/gentoo
#reboot |
Now it is time to startup with new system. If everything is working as it should, go on with the Server or Node section.
Section 2: Server configuration
Edit fstab to update:
Code: | #vim /etc/fstab
#Add:
/dev/hda4 /mnt/extra ext3 noatime 0 0
/dev/hdb1 /mnt/users ext3 noatime 0 0 |
Create new directories for mounting:
Code: | #mkdir /mnt/extra
#mkdir /mnt/users |
Complete the instalation with the packages you need for your system/programs to work correctly:
Code: | #emerge xorg-x11
#emerge openmotif
#emerge jpeg
#emerge ati-drivers
#opengl-update ati
#emerge strace
#emerge boost atlas blas lapack blas-atlas
#emerge mpich |
Syncronize the time periodically with your favourite ntp server:
Code: | #emerge ntp
#crontab -e
#Add:
0 1,13 * * * /usr/sbin/ntpdate ntp.yourserver.com |
Install sensors (you must have set the kernel support previously):
Code: | #emerge lm_sensors
#echo i2c-isa >> /etc/modules.autoload.d/kernel-2.6
#echo w83627hf >> /etc/modules.autoload.d/kernel-2.6 |
Configure and restart network; eth0 is the netcard connected to the "exterior", while eth1 will serve to the nodes:
Code: | #vim /etc/conf.d/net
#Edit it to something like this:
config_eth0=( "dhcp" )
config_eth1=( "192.168.5.250 netmask 255.255.255.0 broadcast 192.168.5.255" )
#cp /etc/init.d/net.eth0 /etc/init.d/net.eth1
#/etc/init.d/net.eth0 restart
#/etc/init.d/net.eth1 start |
Install and configure DHCP server:
Code: | #emerge dhcp
#vim /etc/dhcp/dhcpd.conf
#Edit it to something like this:
ddns-update-style none;
option domain-name "beowulf05";
option domain-name-servers your.dns.server , 192.168.5.250;
option routers 192.168.5.250;
default-lease-time 600;
max-lease-time 7200;
option nis-domain "beowulf05";
option nis-servers 192.168.5.250;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
group {
host nodo01 { hardware ethernet 00:13:D4:D5:26:4D; fixed-address 192.168.5.1;}
host nodo02 { hardware ethernet 00:13:D4:7F:12:C2; fixed-address 192.168.5.2;}
#...and so on...
}
range 192.168.0.100 192.168.0.200;
}
#/etc/init.d/dhcp start
#rc-update add dhcp default |
Install and configure IPTABLES:
Code: | #emerge iptables
#/etc/init.d/iptables start |
Execute this script [extracted from Gentoo Wiki and slightly modified]
Code: | #!/bin/bash
IPTABLES='/sbin/iptables'
# Set interface values
EXTIF='eth0'
INTIF1='eth1'
# enable ip forwarding in the kernel
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
# flush rules and delete chains
$IPTABLES -F
$IPTABLES -X
# enable masquerading to allow LAN internet access
$IPTABLES -t nat -A POSTROUTING -s 192.168.5.0/24 -o $EXTIF -j MASQUERADE
# forward LAN traffic from $INTIF1 to Internet interface $EXTIF
$IPTABLES -A FORWARD -s 192.168.5.0/24 -i $INTIF1 -o $EXTIF -m state --state NEW,ESTABLISHED -j ACCEPT
#echo -e " - Allowing access to the SSH server from only one ip: XXX.XXX.XXX.XXX"
$IPTABLES -A INPUT -s XXX.XXX.XXX.XXX --protocol tcp --dport 22 -j ACCEPT
# block out all other Internet access on $EXTIF
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW,INVALID -j DROP
$IPTABLES -A FORWARD -i $EXTIF -m state --state NEW,INVALID -j DROP |
Check it works and save settings:
Code: | #/etc/init.d/iptables save
#/etc/init.d/iptables stop
#/etc/init.d/iptables start
#rc-update add iptables default |
As every reboot /proc/sys/net/ipv4/ip_forward restores to its original value, 0 edit /etc/sysctl.conf and uncomment and change line about packet forwarding to:
Code: | net.ipv4.ip_forward = 1 |
Install and configure YPSERVER:
Code: | #emerge ypserv
#vim /etc/ypserv.conf
#Edit it to something like this:
* : * : shadow.byname : port
* : * : passwd.adjunct.byname : port
* : * : * : none
#vim /etc/conf.d/domainname
#Edit it to something like this:
OVERRIDE=1
DNSDOMAIN="beowulf05"
NISDOMAIN="beowulf05"
#vim /var/yp/securenets
#Edit it to something like this:
255.0.0.0 127.0.0.0
255.255.255.0 192.168.5.0
#/etc/init.d/domainname start
#rc-update add domainname default
#/etc/init.d/portmap start
#rc-update add portmap default
#/etc/init.d/ypserv start
#rc-update add ypserv default
#rpcinfo -p localhost
#/usr/lib/yp/ypinit -m |
If an error occurs at this point, edit /var/yp/Makefile and comment the problematic map/maps.
Configure NFS:
Code: | #vim /etc/exports
#Edit it to something like this, adding any other folders you want to share:
/mnt/users/ 192.168.5.0/24(rw)
/mnt/extra/ 192.168.5.0/24(rw)
#rc-update add nfs default |
Edit /etc/hosts:
Code: | 127.0.0.1 localhost
192.168.5.250 your_hostname nodo00
192.168.5.1 nodo01
192.168.5.2 nodo02
192.168.5.3 nodo03
#and so on.... |
Set ssh to allow X exporting (if you want so....I want):
Code: | #vim /etc/ssh/ssh_config
#Change:
ForwardX11 yes
#vim /etc/ssh/sshd_config
#Change:
X11Forwarding yes |
Install rsh/rlogin:
Code: | #emerge xinetd netkit-rsh
#vim /etc/xinetd.conf
defaults
{
instances = 60
log_type = SYSLOG authpriv info
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d
#vim /etc/xinetd.d/rlogin
service login
{
socket_type = stream
protocol = tcp
wait = no
user = root
group = tty
server = /usr/sbin/in.rlogind
log_on_success = PID HOST USERID EXIT DURATION
log_on_failure = USERID ATTEMPT
disable = no
}
#vim /etc/xinetd.d/rsh
service shell
{
socket_type = stream
protocol = tcp
wait = no
user = root
group = tty
server = /usr/sbin/in.rshd
log_on_success = PID HOST USERID EXIT DURATION
log_on_failure = USERID ATTEMPT
disable = no
}
#rc-update add xinetd default |
Set default home for new users:
Code: | #useradd -D -b /mnt/users |
Section 3: Node configuration
Complete the instalation with the packages you need for your system/programs to work correctly:
Code: | #emerge xorg-x11
#emerge openmotif
#emerge jpeg
#emerge ati-drivers
#opengl-update ati
#emerge strace
#emerge boost atlas blas lapack blas-atlas
#emerge mpich |
Syncronize the time periodically with your favourite ntp server:
Code: | #emerge ntp
#crontab -e
#Add:
0 1,13 * * * /usr/sbin/ntpdate ntp.yourserver.com |
Install sensors (you must have set the kernel support previously):
Code: | #emerge lm_sensors
#echo i2c-isa >> /etc/modules.autoload.d/kernel-2.6
#echo w83627hf >> /etc/modules.autoload.d/kernel-2.6 |
Edit /etc/hosts:
Code: | 127.0.0.1 localhost
192.168.5.250 your_hostname nodo00
192.168.5.1 nodo01
192.168.5.2 nodo02
192.168.5.3 nodo03
#and so on.... |
Set ssh to allow X exporting (if you want so....I want):
Code: | #vim /etc/ssh/ssh_config
#Change:
ForwardX11 yes
#vim /etc/ssh/sshd_config
#Change:
X11Forwarding yes |
Install rsh/rlogin:
Code: | #emerge xinetd netkit-rsh
#vim /etc/xinetd.conf
defaults
{
instances = 60
log_type = SYSLOG authpriv info
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d
#vim /etc/xinetd.d/rlogin
service login
{
socket_type = stream
protocol = tcp
wait = no
user = root
group = tty
server = /usr/sbin/in.rlogind
log_on_success = PID HOST USERID EXIT DURATION
log_on_failure = USERID ATTEMPT
disable = no
}
#vim /etc/xinetd.d/rsh
service shell
{
socket_type = stream
protocol = tcp
wait = no
user = root
group = tty
server = /usr/sbin/in.rshd
log_on_success = PID HOST USERID EXIT DURATION
log_on_failure = USERID ATTEMPT
disable = no
}
#rc-update add xinetd default |
Create mountpoints:
Code: | #mkdir /mnt/users
#mkdir /mnt/extra |
Add nfs mountpoints in fstab:
Code: | nodo00:/mnt/users /mnt/users nfs rsize=1024,wsize=1024,soft,intr,rw
nodo00:/mnt/extra /mnt/extra nfs rsize=1024,wsize=1024,soft,intr,rw |
Configure YP service:
Code: | #vim /etc/yp.conf
domain beowulf server 192.168.5.250
#rc-update add ypbind default
#rc-update add nfsmount default
#echo +::: >> /etc/group
#echo +:::::: >> /etc/passwd
#vim /etc/nsswitch.conf
#Change passwd, shadow & group lines to:
passwd: files nis
shadow: files nis
group: files nis |
Section 4: Administration tips
To create NEW USERS in a NEW GROUP:
Code: | #groupadd your_new_group
#useradd -G your_new_group -m user_name
#passwd user_name
#make -C /var/yp |
To allow no password ssh'ing between nodes, connect as new-user and...
Code: | $ssh-keygen -t rsa
$cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys |
To allow no password rsh'ing between nodes, in every user's home...
Code: | $vim .rhosts
nodo00
nodo01
nodo02
..... |
Edit to customize the skel files
Code: | #cd /etc/skel
#vim .bash_profile
[[ -f ~/.bashrc ]] && . ~/.bashrc
#vim .bashrc
alias d="ls --color"
alias ls="ls --color=auto"
alias ll="ls --color -l"
alias la="ls -a --color"
alias lla="ls -la --color"
if [[ $- != *i* ]]; then
return
fi
if [[ -f ~/.dir_colors ]]; then
eval `dircolors -b ~/.dir_colors`
else
eval `dircolors -b /etc/DIR_COLORS`
fi
case $TERM in
xterm*|rxvt*|Eterm)
PROMPT_COMMAND='echo -ne
"\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
;;
screen)
PROMPT_COMMAND='echo -ne
"\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'
;;
esac
/etc/profile.d/bash-completion
export PS1='\[\033[01;36m\]\u@\h \[\033[01;33m\]\w \$ \[\033[00m\]'
#vim .vimrc
" Normally we use vim-extensions. If you want true vi-compatibility
" remove change the following statements
set nocompatible " Use Vim defaults instead of 100% vi compatibility
set backspace=indent,eol,start " more powerful backspacing
" Now we set some defaults for the editor
set autoindent " always set autoindenting on
set textwidth=0 " Don't wrap words by default
set nobackup " Don't keep a backup file
set viminfo='20,\"50 " read/write a .viminfo file, don't store more than
" 50 lines of registers
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time
" Suffixes that get lower priority when doing tab completion for filenames.
" These are files we are not likely to want to edit or read.
set
suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
" We know xterm-debian is a color terminal
" if &term =~ "xterm-debian" || &term =~ "xterm-xfree86" || &term =~ "xterm"
set t_Co=16
set t_Sf=^[[3%dm
set t_Sb=^[[4%dm
" endif
" Make p in Visual mode replace the selected text with the "" register.
vnoremap p <Esc>:let current_reg = @"<CR>gvdi<C-R>=current_reg<CR><Esc>
" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
syntax on
" Debian uses compressed helpfiles. We must inform vim that the main
" helpfiles is compressed. Other helpfiles are stated in the tags-file.
set helpfile=$VIMRUNTIME/doc/help.txt.gz
if has("autocmd")
" Enabled file type detection
" Use the default filetype settings. If you also want to load indent files
" to automatically do language-dependent indenting add 'indent' as well.
filetype plugin on
endif " has ("autocmd")
" Some Debian-specific things
augroup filetype
au BufRead reportbug.* set ft=mail
au BufRead reportbug-* set ft=mail
augroup END
" The following are commented out as they cause vim to behave a lot
" different from regular vi. They are highly recommended though.
set showcmd " Show (partial) command in status line.
set showmatch " Show matching brackets.
"set ignorecase " Do case insensitive matching
"set incsearch " Incremental search
"set autowrite " Automatically save before commands like :next and
:mak
"
function! CleverTab()
if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
return "\<Tab>"
elseif strpart( getline('.'), col('.')-2, 1 ) =~ '[0-9A-Za-z]'
return "\<C-N>"
else
return "\<Tab>"
endfunction
inoremap <Tab> <C-R>=CleverTab()<CR>
colorscheme desert |
Add a certain directory to the binaries list:
Code: | #vim /etc/profile
#Edit the PATH lines and add the desired folder, separated by colons ":"
if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
PATH="/opt/Fluent.Inc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}"
else
PATH="/opt/Fluent.Inc/bin:/usr/local/bin:/usr/bin:/bin:${PATH}"
fi |
_________________ -Knowledge belongs to mankind-
Last edited by cmontanes on Tue Mar 14, 2006 10:15 am; edited 1 time in total |
|
Back to top |
|
|
Albert_Alligator Apprentice
Joined: 12 May 2004 Posts: 193 Location: Okefenokee Swamp
|
Posted: Wed Feb 15, 2006 3:55 am Post subject: |
|
|
This is great, I'll give it a try. I'm using Infiniband cards to decrease latency. I'll let you know my numbers and if I find any issues with this config.
Thanks,
Al _________________ As Socrates once said "I drank what?" |
|
Back to top |
|
|
lenkki n00b
Joined: 03 Mar 2004 Posts: 55
|
Posted: Sun Mar 05, 2006 3:05 pm Post subject: |
|
|
Tip: You might wanna tone down those CFLAGS, you are bound to break something
Especially if you are running scientific stuff, compiling apps with -ffast-math can be bad.
You might actually be hurting your performance with -funroll-all-loops, as this can create H.U.G.H.E executables, and larger executables hurt your CPU's cache performance. And most flags beside -On -march=x -pipe have very little (possitive) effect.
I would go with something like this:
CFLAGS="-O2 -march=k8 -pipe -fomit-frame-pointer -msse3 -mfpmath=sse"
IIRC some of the older Athlon 64s didn't support SSE3 so -msse3 isn't enabled by default in -march=k8 thats why it's explicitly specified.
I'm probably gonna get bashed for this anyhow |
|
Back to top |
|
|
cmontanes n00b
Joined: 27 May 2005 Posts: 3
|
Posted: Tue Mar 14, 2006 10:25 am Post subject: |
|
|
Thank you for the tip, lenkki. I have already edited it in the guide. I thought those flags would improve performance, but I don't know much about this, just what I have read in these forums...
I guess you are right and in this kind of clusters is better stability and not being so risky.
Once again, thanks.
C.M. _________________ -Knowledge belongs to mankind- |
|
Back to top |
|
|
big_gie Apprentice
Joined: 31 Aug 2004 Posts: 158
|
Posted: Fri Mar 16, 2007 10:23 pm Post subject: |
|
|
Hi cmontanes,
I know its an old post, but I'm interested in installing gentoo on our 16 nodes cluster. Right now the OS is Fedora Core 3. I don't like those release cycles. I prefer Gentoo's release cycle. You upgrade what you want, when you want.
Anyway, I wanted to know how much time you've put into installing this. Hours? Days? Weeks?. And are you satisfied with Gentoo for that application? What about Gentoo in 64bits? I use gentoo as my main os on my desktop and I'm happy with it, but its a 32bits. Have you found that gentoo was lacking some things in 64 bits? Whats your overall recommendation for gentoo on a cluster?
Thank you very much |
|
Back to top |
|
|
cmontanes n00b
Joined: 27 May 2005 Posts: 3
|
Posted: Tue Apr 03, 2007 4:16 pm Post subject: |
|
|
Sorry, big_gie, for not asking before, but I don't read this very often.
Asking to your questions...
- Last time I installed a cluster they were around 40 amd64 nodes, and took me about a couple of days or three, don't remember exactly. About half for installing the server and a node, and check everything was ok, and another day or two for cloning, using a liveusb.
- I am fully satisfied with Gentoo for the kind of applications we use in my group (computational fluid-dynamics).
- 64-bits gentoo...no problem; I don't miss anything in the cluster, nor in my desktop.
- Overall recomendation: It takes a while to tune the system, but it's worth.
Although late, I hope this helps you,
c. _________________ -Knowledge belongs to mankind- |
|
Back to top |
|
|
justincataldo Guru
Joined: 15 Jun 2005 Posts: 376 Location: Australia
|
Posted: Wed Jan 30, 2008 2:05 am Post subject: |
|
|
Where in all that do you specify the machines in the cluster? |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|