How to Prepare for a Student Cluster Competition
Student cluster competitions have grown from the original six-team contest at SC07 in Reno, Nevada into three highly competitive events each year: the SC Student Cluster Competition in the United States, the ISC Student Cluster Competition in Europe, and the ASC Student Supercomputer Challenge in Asia.
These events are fun, challenging, and memorable — and a great way to grow HPC skills and build your personal network along the way. Applications for the SC20 Student Cluster Competition (SCC) are open until June 19, 2020. Here are some tips to help your team join the fray.
A free first tip: Register for and join the SCC webinar being held on May 5. It will help you prepare!
1. Form a Team and Find Sponsors
It doesn’t matter when you begin preparing, but of course the earlier you start the more preparation time you’ll have. Competition for places at the November SC event is rigorous, but if you don’t get in this year there are two more competitions, and you’ll have a head start for next year, too. And your team’s preparation will help build skills and interests that can launch you into an amazing HPC career.
For the SC SCC you’ll need six students, and an advisor from a sponsoring institution – your college or an HPC center. Collaborating with one or more vendor sponsors is also highly valuable.
Your sponsoring institution or vendors are expected to provide your hardware (often a loan), funding for shipping and freight handling of the equipment, and transportation for the team to the event. They’re also encouraged to provide booth signage, swag, and a per diem for the team’s daily expenses during the event. For the SC20 SCC, conference registration and accommodations for the team and advisor are provided by SC.
Your sponsors should also provide access to hardware for practicing well in advance of the actual competition. Unfortunately, we’ve found that vendors often can only provide the competition hardware a few weeks before it needs to be shipped, so you’ll need access to something else for practice until then.
2. Planning Your Cluster
You’ll need to know the approximate architecture of your cluster to submit your application. At a minimum, you’ll want some compute nodes, some storage, and an ethernet switch. Check the competition rules for power limits. This year the SC20 SCC power limit has been raised to 4500W (see SCC Rules).
There’s a tradeoff between performance, flexibility, and power. An accelerator can give great performance per watt for some applications, but others need power-hungry general purpose CPUs. Memory and storage use power too, so don’t forget to include these in your calculations!
Take a look at the list of applications (see SCC Benchmarks and Applications), and work with your vendor to find the configuration that will give you the best chance.
Don’t forget an enclosure to build it in! And you’ll need keyboards and monitors for the initial build and boot, and laptops and networking equipment to connect to your cluster during the competition.
3. Learning and Practicing
There’s a lot to learn! Here’s a short list of things to get comfortable with on your practice cluster:
Basic Cluster Use
- Working in the terminal: bash, git and vi or emacs
- Building from source code: compilers, linkers, makefiles, and build systems
- Running parallel applications on a cluster or cloud (watch for this webinar)
System Administration
- Installing, provisioning, and booting/rebooting
- Finding and using config files
- Managing users and groups
- Starting and stopping services
- Mounting, sharing and unmounting filesystems
- Managing a parallel file system (IO500 is one of the SC20 SCC benchmarks!)
- Networking essentials
- Logs and troubleshooting
Application Performance
- How a CPU works (moving stuff through memory and pipelines, what hyperthreads do, how accelerators are connected)
- How a multi-socket, multicore, hyperthreaded processor works
- Parallelism, MPI, OpenMP and accelerators
The SC20 SCC applications have been announced (see SCC Benchmarks & Applications). Choose someone on your team to learn the following for each:
- What does it do?
- What are the inputs and outputs?
- What approach to parallelism does it use?
Building, running, measuring, and tuning each application in advance will put you in good stead for the competition, and for your career in HPC afterwards.
Following an occurrence at the first SCC, the SC SCC traditionally includes at least one power outage, so practice recovering from this potential disaster.
The reproducibility challenge requires writing a paper. Pro tip: You can do most of this in advance and update it with your official results at the competition. But getting some experience with LaTeX is good preparation for a career in computational science. Learning to use Python, Jupyter, Pandas, and Plotly for analysis and graphing of your results will also offer benefits both during the competition and after.
4. Don’t Forget the Logistics!
With help from your sponsors, you’ll be responsible for arranging transportation for your team and your equipment. The SCC happens on the exhibit floor, where your vendor or school may be shipping equipment already, so it’s likely they can manage that for you. If not, you’ll receive information from Freeman (the company that manages the exhibit floor) about shipping equipment to the convention center. Don’t forget to budget for the cost of shipping and storage fees!
5. Bring the Right Attitude and Have Fun
Winning is fantastic, but 99% of the benefit you’ll gain from a student cluster competition comes from participating. Take some time out to attend conference sessions and explore the exhibit hall. You’ll see exciting new developments and make connections with industry leaders and visionaries. HPC is a collaborative industry. An inquisitive and cooperative attitude will go farther than a cut-throat, competitive one. Stay safe, have fun, and tackle hard challenges (even unsolvable ones). The lessons and memories will stay with you forever.
—
Stephen Leak, SC20 SCC Member