CloudLab provides bare-metal machines for research and teaching, free of charge, with full control over the software stack. You get the physical node, root on it, and nobody else on it.
That makes it the right choice in two situations. First, when you need a machine that the public internet
can reach and that you hold root on, which is where the optional public deployment of
Assignment 1's frontend goes (the course HPC's compute nodes
are not reachable from outside, and your laptop should not be). Second, when your project needs to touch the kernel, the
network, or the storage layer, or needs reproducible isolation that a shared HPC cannot give you:
a latency measurement with no co-tenant, a scheduler you have to patch, a device you have to configure.
However, for compute alone it is the wrong choice: training on a GPU that the
course HPC would have handed you in one srun is slower to set up and
no better.
Project name: TBD. CloudLab organizes people into projects, and you want to join the course project rather than start one of your own, because a new project needs a faculty PI and an approval round. The course project name will be posted here.
Then, at cloudlab.us:
small-lan and the Ubuntu single-node profiles cover most needs) and write your own once you
know what you want. A profile is also how a result becomes reproducible: publishing yours lets a reader
instantiate the same machines you measured on.Two more habits. Extend before you need it, because you cannot extend an experiment that has already expired. And terminate when you are done: the hardware is genuinely scarce, it is shared with researchers who are not in this course, and holding idle nodes is the one thing that gets a project's access questioned.