In June 2009, we purchased "1U Twin" servers that are to be used as '''iCub Brain''' (hence the name). The box includes a SC808T-980 1U chassis and two twin X7DWT serverboards. Each of the two boards hosts an Intel Xeon 8-core processor (8 x E5405 @ 2.00 GHz). They are two independent computers, each one with its hard disk, power button, reset button.
[[File:SYS-6015TW-INFB.jpg|frame|right|caption|Front and rear view of iCubBrain rack.]]
For full system specifications, go [http://www.supermicro.com/products/launch/Intel/files/seaburg/6015TW-T_6015TW-INF.pdf here (PDF)] or on [http://www.tsunami.pt/produtodescricao.aspx?idtipo=6&idlinha=18&idgama=62&idproduto=389 the entry] on tsunami.pt
iCubBrain is a cluster of 2 machines used by VisLab to run the computation behind stable robot '''demos'''.
= Current setup =
''Old information can be consulted at [[iCubBrain/Archive]].''
{| class="wikitable" border="1"
= Specifications =
|-
! machine
! location
! operating system
! notes
|-
| '''icubbrain1'''
| left half of chassis
| Ubuntu 8.04 LTS '''64bit'''
|
|-
| '''icubbrain2'''
| right half of chassis
| Ubuntu 10.04 LTS '''32bit'''
| has IPOPT 3.9.0 (manual installation according to [http://eris.liralab.it/wiki/Installing_IPOPT this page])
|}
= Operating system installation =
This twin server was purchased from Tetragon in June 2009. The box includes a SC808T-980 1U chassis (1U Twin size) with two twin X7DWT serverboards. Each of the two boards hosts an Intel Xeon 8-core processor (8 x [http://ark.intel.com/products/33079/Intel-Xeon-Processor-E5405-(12M-Cache-2_00-GHz-1333-MHz-FSB) E5405] @ 2.00 GHz). Each machine is an independent computer, having two hard disk drive drawers and its own power and reset buttons.
The chassis contains two separate machines, each one having two hard disk drive drawers. Next, we will explain how we configured the left part of the server, called '''icubbrain1'''. The settings for icubbrain2 will be just about the same (unless otherwise noted, see above table), with the last octet of the IP address being 42 instead of 41.
Memory: 4GB for each machine (<code>sudo dmidecode --type 17</code> to see RAM speed and type).
== Boot ==
For full system specifications, go [http://www.supermicro.com/products/launch/Intel/files/seaburg/6015TW-T_6015TW-INF.pdf here (PDF)] or on [http://web.archive.org/web/20100609080705/http://www.tsunami.pt/produtodescricao.aspx?idtipo=6&idlinha=18&idgama=62&idproduto=389] on tsunami.pt (archived page).
We booted the Ubuntu Server CD from an external USB CD drive. Press the 'Del' key if you need to access the BIOS boot order.
= Setup =
We then had to manually confirm the usage of a 'cdrom' module within the installation (following all the default selections).
icubbrain1 has two Gbit interfaces. First we plugged an Ethernet cable into the first one (which turns on the "'''1'''" led in the chassis front). Then, when Ubuntu asked us to choose between eth0 and eth1, we picked up eth0.
Next, we will explain how to configure the left part of the server, called '''icubbrain1'''. The settings for icubbrain2 will be just about the same, with the last octet of the IP address being 42 instead of 41. In general, we follow the guidelines at [[iCub machines configuration]].
== Partitions ==
== Boot ==
We chose the 'Guided - use entire disk' option, which yielded the following:
Boot the Ubuntu Server CD from an external USB CD drive. Press the 'Del' key if you need to access the BIOS boot order.
{| border="1"
Sometimes, you have to manually confirm the usage of a 'cdrom' module within the installation (following all the default selections).
|+ Hard disk partitioning
! size !! mountpoint !! filesystem
|-
|133GB || / || ext3
|-
|5GB || || swap
|-
|}
== Ubuntu installation parameters ==
== Network interface ==
* machine name: icubbrain1
* user name: icub
* software selection: OpenSSH
== Operations after first boot ==
icubbrain1 has two Gbit interfaces. First we plug an Ethernet cable into the first one (which turns on the "'''1'''" led in the chassis front). Then, when Ubuntu asks to choose between eth0 and eth1, we pick up eth0.
* choose Main server (rather than Portugal server, which is incomplete) as the software repository. We do this by removing all the "pt." strings from /etc/apt/sources.list
* manually configured the internet connection (<code>/etc/network/interfaces</code>):
* manually configure the internet connection (<code>/etc/network/interfaces</code>):
auto lo
auto lo
iface lo inet loopback
iface lo inet loopback
Line 77:
Line 44:
broadcast 10.10.1.255
broadcast 10.10.1.255
gateway 10.10.1.254
gateway 10.10.1.254
* optionally, we can customize the <code>/etc/hosts</code> file [[Chico3 laptop machine configuration#Network|like we did on Chico3]]; this would allow us to quickly access other machines, as in: <code>ping cortex1</code>. Alternatively, we can do nothing and just use <code>ping cortex1.visnet</code> (i.e., attach the <code>.visnet</code> part after a machine name, see [[VisLab network]] for details).
== Additional packages and environment variables ==
* YARP and iCub require CMake version >= 2.6. Therefore,
** on Ubuntu 8.04 (icubbrain1), install CMake manually via http://www.cmake.org
** on Ubuntu 10.04 (icubbrain2), just run <code>sudo apt-get install cmake cmake-curses-gui</code>
* Create a file called ~/.bash_env (used by both interactive and non-interactive sessions, such as commands launched via <code>yarprun</code> from another machine) like this one:
export YARP_ROOT=/home/icub/yarp2
export YARP_DIR=$YARP_ROOT/build
export ICUB_ROOT=/home/icub/iCub
export ICUB_DIR=$ICUB_ROOT/main/build
export PATH=$PATH:$YARP_DIR/bin:$ICUB_DIR/bin # icubbrain1 (older Ubuntu) also needs CMake bin path here
export ICUB_ROBOTNAME=iCubLisboa01
export IPOPT_DIR=/home/icub/Ipopt-3.9.0
* Then, before the following line of /etc/bash.bashrc
[ -z "$PS1" ] && return
add this:
# per-user environment variables (non-interactive and interactive mode)
source $HOME/.bash_env
== Subversion ==
We have set the following parameter in <code>/etc/subversion/config</code>:
store-passwords = no
This implies that SVN will ask you for your password every time you do a commit. (Don't worry about changing your personal <code>~/.subversion/config</code> file: the parameter is not actually set there, so the global <code>/etc</code> setting is used.)
Follow the instructions on the [[RobotCub software]] article. For compilation, do not use <code>sudo make install</code>.
* Custom yarp2 configuration
CMAKE_BUILD_TYPE Release
CREATE_LIB_MATH
* Custom iCub configuration
CMAKE_BUILD_TYPE Release
ENABLE_icubmod_cartesiancontrollerclient ON
ENABLE_icubmod_gazecontrollerclient ON
* Final configuration
yarp namespace /icub
== MATLAB ==
MATLAB R2010a is installed on icubbrain1 (requires <code>libxp6</code> package). Currently we are discussing if we want to leave the possibility to run MATLAB on the icubbrains (as well as on cortex), or to leave it only to cortex.
[[Category:Vislab]]
[[Category:Vislab]]
Latest revision as of 14:40, 23 October 2017
iCubBrain is a cluster of 2 machines used by VisLab to run the computation behind stable robot demos.
This twin server was purchased from Tetragon in June 2009. The box includes a SC808T-980 1U chassis (1U Twin size) with two twin X7DWT serverboards. Each of the two boards hosts an Intel Xeon 8-core processor (8 x E5405 @ 2.00 GHz). Each machine is an independent computer, having two hard disk drive drawers and its own power and reset buttons.
Memory: 4GB for each machine (sudo dmidecode --type 17 to see RAM speed and type).
For full system specifications, go here (PDF) or on [1] on tsunami.pt (archived page).
Next, we will explain how to configure the left part of the server, called icubbrain1. The settings for icubbrain2 will be just about the same, with the last octet of the IP address being 42 instead of 41. In general, we follow the guidelines at iCub machines configuration.
Boot
Boot the Ubuntu Server CD from an external USB CD drive. Press the 'Del' key if you need to access the BIOS boot order.
Sometimes, you have to manually confirm the usage of a 'cdrom' module within the installation (following all the default selections).
Network interface
icubbrain1 has two Gbit interfaces. First we plug an Ethernet cable into the first one (which turns on the "1" led in the chassis front). Then, when Ubuntu asks to choose between eth0 and eth1, we pick up eth0.
Network configuration
manually configure the internet connection (/etc/network/interfaces):
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.10.1.41
netmask 255.255.255.0
network 10.10.1.0
broadcast 10.10.1.255
gateway 10.10.1.254