10.2 Configuration of remote hosts
This dialog box allows to configure the remote hosts that can be used to run calculation jobs. In this way, it's possible to use the power of other systems connected trough TCP/IP protocol (e.g. PCs, workstations, HPC systems), reducing the computational time.
10.2.1 The calculation host concept
The calculation host is a logical unit used by VEGA ZZ to perform a
calculation. There is no difference if the unit is placed in a local or in a remote machine,
because the software layer selects automatically the more appropriate
communication protocol. The advantage of this
implementation is the totally transparency at the user side, allowing to run
local or remote jobs in the same easy way.
The most common scenario in computational chemistry research laboratories, is
the installation of a reduced number of high performance calculation systems (HPC)
and a large number of middle-low performance PCs. These PCs can dramatically
increase their computational power submitting the calculations to HPC
systems in transparent and interactive way. The first implementation of this
technology is available for AMMP: a molecular mechanics software integrated in
the VEGA ZZ enviroment.
VEGA ZZ is able to manage three host types: local host, master host
and child host. The local host is automatically configured when the
software starts and it can be used to perform local calculations. In this case
the computational power depends on the hardware running VEGA ZZ.
VEGA ZZ uses the pipe protocol to communicate with AMMP
which is the application example managed by the host. The piping process is
implemented in the operating system and it consists to put the output of a
program as input of another one and vice versa. It is much faster then
the TCP/IP connection used for the remote hosts (see below).
Each physical remote host is called master host from which is
generated one or more child host. It is a virtual host corresponding to each
manageable thread, one for each physical CPU installed in the remote system. As
an example, if a master host has installed two CPUs, it can manage two
calculation threads at the same time and so it are generated two child hosts
capable to run two single-threaded application at the same time.
The communication with the remote hosts is implemented by TCP/IP and it's based
on the telnet protocol. For this reason, the remote host must have a full
configured telnet service.
In the Windows hosts, it's strongly recommended to use the WarpTel service instead of the Microsoft's telnet service for security reasons (see below).
The telnet protocol is insecure because all TCP/IP packets are sent in clear form. For this reason, it's strongly recommended to use the encrypted connection, available in the WarpTel service:
The TCP/IP packets are sent on the net
using a 256 bit encryption and are encoded/decoded on-the fly by VEGA ZZ and
the WarpTel service.
The telnet daemons available in the Unix systems don't have the capability to
encode/decode the packets and so you must use the
WarpGate service to create a secure
encrypted connection.
The telnet daemon must be protected by a firewall, otherwise the system could undergo to malicious attacks. To install the WarpTel and the WarpGate services, consult their documentation.
10.2.2 Host configuration
The dialog is accessible selecting Tools Host configuration in the main menu.
In the right corner is located the master
host list. The child hosts aren't not visualized in this
window because they have the same configuration parameters of their master host.
The child hosts are shown in the calculation dialogs such as in the AMMP's one.
The first three hosts in the list are called local hosts and they can't
the changed with this window, because they are automatically configured when
VEGA ZZ. They can be used to perform calculation using the local hardware
(default condition) and in this case the faster pipe communication is used
instead of the TCP/IP protocol. Selecting Localhost in the application
control panel (e.g. AMMP calculation window), the calculation is immediately
executed in interactive mode (if you close VEGA ZZ, the job is stopped);
selecting Localhost background, the calculation is started in background
and it can't be controlled by VEGA ZZ (if you close VEGA ZZ, the job continues
without stopping itself); selecting Localhost save file, the calculation
is not started and the input file is created to run the job later.
Add and Remove buttons, respectively, creates a new host and
removes the selected host. In the right box, it's possible to change the host
Name, the Description and the Type (Unknown, Unix, Linux,
Windows 9x, Windows NT). Please pay attention selecting the host type, because
a wrong selection make the connection unusable: use Unknown if you don't
know the remote host operating system, Unix or Linux for *nix operating systems,
Windows 9x for the old Windows operating systems (Windows 95, 98 and ME) with
the WarpTel standard version, Windows NT for Windows NT, 2000, XP and Vista with
the WarpTel standard or service version.
The number of the childs for each master host is controlled by the Threads
filed, which values must be in the 1 to 65535 range. It correspond to the number
of the installed CPUs or CPU cores: dual core CPUs are as two physically
separated CPUs and each one is equivalent to two normal CPUs (e.g. 2 x dual core
CPUs = 4 threads). The CPUs with the Hyperthreading technology (e.g. Pentium 4)
are equivalent to two standard CPUs (e.g. 1 x Hyperthreaded CPU = 2 threads).
Address and Port defines the parameters for the TCP/IP connection:
the first one is the IP (e.g. XXX.XXX.XXX where XXX is a number in 0 to 255
range) or the nameserver entry (e.g. myserver.mydomain) of the remote host, and
the second one is the telnet service listening port that must be in the 1 to
65535 range (default 23). For security reasons, it's recommended to change the
default listening port from 23 to anyone different (e.g. 7000), because the
default port is the first one attacked by the hackers. This change must done in
the remote host telnet service and in the VEGA ZZ host configuration panel at
the same time: the two port numbers must be the same.
User name and Password are optional arguments: they are the
credentials to login to the remote host. In the Confirm field, you must
repeat the password in order to validate it.
Checking Encryption, it will be used the super-secure encrypted
connection and the encryption key (WarpKey) is required: it must be 64
characters long and it must contain hexadecimal digits only (e.g.
0123456789ABCDEF). The WarpKey must be the same used by the remote host
connection services (WarpGate or
WarpTel). Clients and hosts with
different keys can't communicate each other. If you need to create a new
encryption key, you could click the Gen. Key button or the external
utility called WarpKeyGen.
All host changes will be effective clicking Apply button. If you
change the host without clicking Apply, all changes will be lost. If a
wrong parameter is found, its field is highlighted and the error message is
shown in the bottom window bar.
The host list is saved clicking Save button and if you close the
window after a change without saving it, a warning message is shown.