Goal: choose the correct system before installing software or copying data.
Prerequisites: ask your supervisor where the project's source data and final deliverables belong.
Execution context: reading and decision exercise. No commands are required.
The lab uses several computers and storage services because no single system is suited to every task. A service is something you connect to, such as GitHub or the NAS. A computer is where a program actually runs, such as your laptop, Blade, or an Euler compute node.
The terms used below mean:
- a GUI (graphical user interface) is an application controlled mainly with windows, menus, and buttons;
- a CPU is the general-purpose processor used by most programs;
- a GPU is an accelerator that helps only software written to use it;
- a cluster is a group of shared computers managed as one service;
- a job is a program plus its requested CPU, memory, and time, submitted to a scheduler; Slurm is Euler's scheduler;
- durable storage is intended to keep required files under an approved ownership and recovery plan; temporary storage may be purged;
- high input/output (high-I/O) work repeatedly reads or writes a large amount of data.
Decision Table#
| System | What it is | Use it for | Do not use it for |
|---|---|---|---|
| Your laptop | The Windows, macOS, or Linux computer in front of you | Editing, small tests, meetings, local development | Sole copy of important research data |
| GitHub | A website that stores Git project folders, their file history, and reviews | Source code, configuration, tests, small documentation | Secrets, large datasets, checkpoints, generated results |
| IDEAL Lab NAS | Network-attached storage: the lab's durable shared project drive | Shared project data and durable team deliverables | Running high-I/O Euler jobs directly against NAS |
| Blade Windows server | A shared Windows computer reached through Remote Desktop | Graphical access to licensed Windows engineering software and short prototypes | Primary long-running machine-learning compute or permanent files on C:/D: |
| Euler | ETH Zurich's shared high-performance computing cluster, managed by the Slurm scheduler | Long, parallel, memory-intensive, or GPU computation submitted as jobs | Heavy computation directly on a login node, the entry computer used for files and job control |
Euler $HOME |
Your small private home folder on Euler; $HOME is a shell name for that path |
Code, configuration, and small environments | Large datasets, checkpoints, or high-I/O workloads |
Euler /cluster/work/fuge |
The lab's large shared working storage on Euler | Large working data and artifacts | Files that should be source-controlled in personal clones |
Euler $SCRATCH |
Your temporary high-throughput Euler storage; $SCRATCH is a shell name for its path |
Temporary large data that can be recreated | Only copy of important data; files are purged |
Euler $TMPDIR |
A shell name for temporary storage on the compute node running one job | Fast intermediate files needed only during that job | Anything needed after the job exits unless copied back |
Compute Decision#
- Use your laptop for editing and small smoke tests.
- Use Blade when you need its licensed Windows GUI software.
- Use Euler CPU nodes for long, parallel, memory-intensive, or unattended computation.
- Use Euler GPU nodes only when the program actually executes GPU operations.
- Use
sbatch, Slurm's job-submission command, for unattended Euler work. Useeuler-tunnelonly for short interactive development after Slurm has assigned a compute node. - For ParaView, run the matching 6.0.0 GUI locally and connect it to a CPU
pvserverallocation by following the ParaView client/server procedure.
Verification#
For an optional private project discussion, complete the location table below with its information owner. The current Passport mission checks fictional decisions; it does not approve or collect this real map.
Before starting a project, complete this table with your supervisor:
Source code:
Source data:
Working data:
Temporary data:
Checkpoints:
Final results:
Long-term archive:
Common Failure And Safe Recovery#
A large dataset is already in Git or $HOME. Stop adding copies. Ask the
repository/data owner where it belongs, move it using an appropriate transfer
method, verify the destination, then remove the unwanted copy safely. If it
entered Git history, coordinate cleanup rather than rewriting shared history
alone.
Ask For Help When#
- the project has no declared storage owner;
- data is confidential or contract-restricted;
- you need to transfer terabytes;
- collaborators cannot read or write the approved shared folder;
- the only available copy is in temporary storage.
Continue with Incidents And Getting Help.