CernIE
Note
This documentation is a work in progress. Any comment or suggestion is welcome in sinfin@iac.es.
To stay informed about updates to "CernIE", tips, etc., or to ask any questions regarding its use, please use the #computing/astrosoft@iac channel in IAC-zulip.
The SIE supports a
large list of
software. How
these software packages are made available to you has changed over the
years. Until recently, these packages were copied to the local disk of each
computer (at the /opt
location). This worked well for the IAC
Burros, but it also had some important drawbacks (notably
that it was not straightforward to keep all software versions in sync across the
whole IAC computers, specially in laptops).
Hence, since March'24 we are transitioning to a software distribution service using the CernVM File System:
The CernVM File System provides a scalable, reliable and low-maintenance software distribution service. It was developed to assist High Energy Physics (HEP) collaborations to deploy software on the worldwide-distributed computing infrastructure used to run data processing applications.
Without going into the details and simplifying a bit, CernVM-FS hosts all the software in a standard web server, to which clients connect. All data and metadata are transferred to the clients only on demand, when a particular software package is used. But in order to avoid excessive network use and to improve users' experience, CernVM-FS uses aggressive caching. In essence this means that a software package is transferred to a client on its first use, which is then automatically cached locally so that subsequent uses are fast (no data transfer is involved) and can also be done off-line.
While CernVM-FS is focused traditionally on distributing software in large HPC environments (for example, it is the approach for distributing scientific software for all the resources of the Digital Research Alliance of Canada, see https://docs.alliancecan.ca/wiki/Available_software), it can also be successfully used to distribute the SIE supported software to desktops and laptops. This usage of CernVM-FS to distribute the SIE supported software is what we call CernIE (which incidentally is way easier to pronounce!)
CernIE offers a number of interesting advantages over copying the software packages locally:
the software in
/opt
will take much less space than previously (since only those packages that are really used will be transferred)all software will remain in sync across the different IAC computers ("burros", desktop and laptops), since the updates to the repository are seen immediately (bar a few minutes) by the clients.
Conversely, the drawback of CernIE when compared to a local copy of the software is that the clients need to be able to connect to the CernIE server at the IAC. This could pose a problem in two situations:
in case of a server or network failure. We have configured the system with two servers for redundancy, so the possibility of this affecting clients is greatly reduced.
when trying to work off-line or when a connection to the IAC internal network or VPN is not possible. But as mentioned above, CernIE uses aggressive caching, so that after a first use the files are stored locally in a cache, and you can continue using them even if off-line (but read the note below for the small print).
Important
The last point above is important if you are using a laptop and you are not
connected to the IAC internal network or VPN. If you are trying to use a
software package and the system is accessing a file that has not been cached
yet, you will get an Input/output error
similar to the following:
$ cat /opt/SIE/fastpm/fastpm-1.0.45/Makefile.travis
cat: /opt/SIE/fastpm/fastpm-1.0.45/Makefile.travis: Input/output error
This just means that the Makefile.travis
file was not in the cache yet
(because this is the first time you try to access it). Just connect to the IAC
VPN and try again, so that the file will be added to the cache (after that you
will be able to open it even when off-line).
In some cases (hopefully to be solved at some point in the near future) you
might be connected to the IAC internal network or VPN, but still have
Input/output error
problems. This is not a CernIE issue, but rather a
networking one, but it obviously affects CernIE. To verify that you can reach
the CernIE servers, you can issue the command check_cernie
. Get in touch with
us if you are connected to the IAC internal network or VPN but you get the
following when running check_cernie
:
$ check_cernie
Access to CernIE FAILED
Attention
As mentioned above, CernIE will cache files locally after they are accessed for the first time. Nevertheless, loading a module just once might not be enough to work completely off-line afterwards. This is so because the cache works at the level of individual files (and sometimes even only parts of a file), not at the package level. Thus, loading a module and running some of its executable files will be enough to run those same executable files later on off-line, but not for accessing other files of the same module (assuming they were not accessed in some way when on-line).
In this day and age, when internet access is almost ubiquitous, this will be of
no concern for most of us, but in the rare ocassion when you need to make sure
that you will have off-line access to one of our packages, you can use the following
"trick" to get a whole package in the local cache. For example, if you need
access to our bbarolo/1.7
module, you can simply run:
tar cvf - /opt/SIE/BBarolo | cat > /dev/null
This will force the system to read all the contents in /opt/SIE/BBarolo
(but discard them by sending the contents to /dev/null
), thus putting all the
files inside that directory in the cache, ready for off-line use.
Note
Since distribution of software is a critical service, we are deploying this service slowly, only to a few machines per week, in order to identify possible problems or improvements, before deploying it IAC-wide.
If you want to know whether your machine is using CernIE, you can simply run:
ls -ltrd /opt/SIE
lrwxrwxrwx 1 root root 25 abr 3 19:26 /opt/SIE -> /cvmfs/sie_u22.iac.es/SIE
If, as in the example above, /opt/SIE
is a symbolic link to
/cvmfs/sie_u22.iac.es/SIE
then your computer is configured to use CernIE.
If your computer is not yet configured to use CernIE, but you would like it to be, just do get in touch with us.
Integration of CernIE applications with the Ubuntu desktop
The CernIE applications are not installed as "native" applications, so by default they would not appear in your laptop applications menu, and you would not be able to select them as "Open With" applications.
But by modifying some configuration files, we can make them appear as if they
were native applications, which we have done for some applications. Thus, when
you open the applications menu, you will see them as regular apps, but with the
(CernIE)
prefix, to clearly indicate that it is using the CernIE system.
Note
When using the Environment Modules
commands (e.g. module avail
) there are many packages available, and for some
of them even several different versions.
Via the applications menu you will only have available some of them (and if different versions exist, by default only the latest one). If you would like to have any of the other packages also available via the applications menu, get in touch with us and we will add it to the list.