Hello computer sports fans! This is the first of many (many!) articles covering the world-wide phenomenon of Student Cluster Competitions. Finally, the Student Cluster Competition coverage has come to its natural home: HPCwire.
I’m Dan Olds and I’ve been in the IT industry since the mid-1990s and have been an IT industry analyst since 2001. I’ve been a huge fan of Student Cluster Competitions since I first started covering them at SC10 in New Orleans.
One of my missions in life is to publicize these competitions and show everyone in the industry how these events bolster HPC education and give the industry new blood. (Usually it’s not literally blood, but sometimes these events get a little rough…I could tell you stories….)
One big step towards that goal is bringing my cluster competition coverage over to HPCwire. There’s one overriding reason behind my decision: HPCwire cares a lot about the competitions and the role they play in developing skills and talent in the HPC community.
What IS a Student Cluster Competition Anyway?
Whether you’ve been following the competitions obsessively (holding viewing parties, sponsoring office betting pools, making action figures, etc.) or this is the first time you’ve ever heard of them, you probably have some questions.
There are rules and traditions in these competitions, just as there are in cricket, football and the Air Guitar World Championships. Understanding the rules and traditions will make these events more interesting.
A student cluster competition pits teams of university undergraduates (and even some high school kids) against each other to see which team can build, optimize and tune the fastest clustered supercomputer. The only limit on their hardware is that they can’t go over a 3,000 watt power cap.
There are currently three major student cluster competitions: the US-based SC competition held every November at the SC conference, the European-based ISC competition which is held every June, and the Asia-based Asian Student Cluster competition which is held in China during the spring.
Some rules are universal between the three competitions, for instance, the power limit of 3,000 watts. Also there’s a rule that the teams can’t get any outside help once the competition begins. All three events require competitors to run the HPCC benchmark and an independent HPL (LINPACK) run, plus a set of real-world scientific applications.
Teams receive points for system performance (usually “getting the most done” on the scientific programs) and, in some cases, the quality and precision of the results. In addition to the benchmarks and app runs, teams are grilled by HPC experts to gauge how well they understand their systems and the scientific tasks they’ve been running.
All of the major competitions feature a Highest LINPACK award, plus an Overall Champion award, along with some competition-specific additional awards. Each competition has between 12 and 20 teams competing for the prizes. The SC and ISC competitions take place live on the show floor of their respective events while the Asian competition is typically held at sites alongside the largest supercomputers in China.
The SC event is the oldest, having held the inaugural competition in 2007. ISC started their competition in 2012 and is now beginning its 6th year. The Asian event began in 2013 with their first competition in Shanghai.
While many of the rules and procedures are common between competition hosts, there are some differences:
SC competitions are grueling 48-hour marathons. The students begin their HPCC and separate LINPACK runs on Monday morning, and the results are due about 5pm that day. This usually isn’t very stressful; most teams have run these benchmarks many times and could do it in their sleep. The action really picks up Monday evening when the datasets for the scientific applications are released.
The apps and accompanying datasets are complex enough that it’s pretty much impossible for a team to complete every task. So from Monday evening until their final results are due on Wednesday afternoon, the students are pushing to get as much done as possible. Teams that can efficiently allocate processing resources have a big advantage.
ISC competitions are a set of three day-long sprints. Students run HPCC and LINPACK on the afternoon of day one but don’t receive their application datasets until the next morning. On days two and three, they’ll run through the list of workloads for that day and hand in the results later that afternoon.
The datasets usually aren’t so large that they’ll take a huge amount of time to run, meaning that students will have plenty of time to optimize the app to achieve maximum performance. However, there’s another wrinkle: the organizers spring a daily surprise application on the students. The teams don’t know what the app will be, so they can’t prepare for it; this puts a premium on team work and general HPC and science knowledge.
The ASC is like a combination of the ISC and SC competitions. Students still run HPC benchmarks (including LINPACK) on the first day, and then are given their application datasets. There are set times for when they need to turn in results for each application, on some they have a few hours, while on others they have more than a day. They typically have enough time to run every application, so the trick is to be able to optimize on the fly and get that extra bit of performance that will enable them to vault above their competitors.
Student cluster-building competitions are chock full of technical challenges, both “book learning” and practical learning, and quite a bit of fun too. I mean, who wouldn’t want to construct an HPC rig against the clock and kick an opponent in the benchmarks? Here’s what involved in the contests.
So how do these things work?
All three organizations use roughly the same process. The first step is to form a team of six undergraduate students (from any discipline) and at least one faculty advisor. Each team submits an application to the event managers, answering questions about why they want to participate, their university’s HPC and computer science curriculum, team skills, etc. A few weeks later, the selection committee decides which teams make the cut and which need to try again next year.
The groups who get the nod have several months of work ahead. They’ll need to find a sponsor (usually a hardware vendor) and make sure they have their budgetary bases covered. This process is a bit easier in the ASC since hardware vendor Inspur provides all of the gear for the student teams.
But in the other competitions, sponsors usually provide the latest and greatest gear, some advice, and some financial support for travel and other logistical costs. Incidentally, getting a sponsor isn’t all that difficult. Conference organizers (and other well-wishers like me) can help teams and vendors connect.
The rest of the time prior to the competition is spent designing, configuring, testing, tuning the clusters, and learning as much as possible about the applications they’ll be facing. Then the teams take these systems to the event and compete against each another in a live benchmark face-off.
When it comes to hardware, the sky’s the limit. Over the past few years, we’ve seen traditional CPU-only systems supplanted by hybrid CPU and GPU-powered clusters. We’ve also seen some ambitious teams experiment with cooling, using either direct connect liquid blocks or even full liquid immersion.
There’s no limit on how much gear, or what type of hardware, teams can bring to the competition. But there’s a catch: whatever they run can’t consume more than 3,000 watts at whatever volts and amps are customary in that location.
This power limit applies to all of their compute nodes, file servers, switches, storage and everything else with the exception of PCs managing the system. There aren’t any loopholes to exploit, either – the entire system must remain powered on and operational during the entire three-day competition. This means that students can’t use hibernation or suspension modes to power down parts of the cluster to reduce electric load. Reboots are allowed only if the system fails or hangs up. Going over the limit is a bad thing and will result in a warning to the team and possible point deduction.
On the software side, teams can use any operating system, clustering or management software they desire, as long as the configuration will run the required workloads. The vast majority of teams run some flavor of Linux, although there were Russian teams in 2010 and 2011 who competed with a Microsoft software stack, and they won highest LINPACK at SC11 in (appropriately enough) Seattle.
Speaking for myself (and probably untold millions of maniacal fans worldwide), these competitions are highly compelling affairs. The one thing I hear time and time again from students is, “I learned so much from this.” They’re not just referring to what they’ve learned about HPC systems and clusters, but what they’ve learned about science and research. And they’re so eager and enthusiastic when talking about this new knowledge and what they can do with it – it’s contagious.
For some participants, the SCC is a life-changing event. It’s prompted some students to embrace or change their career plans – sometimes radically. These events have led to internships and even full-time career-track jobs.
For many of the undergraduates, this is their first exposure to the world of supercomputing and the careers available in industry or research. Watching them begin to realize the range of opportunities open to them is very gratifying; it even penetrates a few layers of my typically cynical outlook on the world.
The schools sending the teams also realize great value from the contests. Several universities have used the SCC as a springboard to build a more robust computer science and HPC curriculums – sometimes building classes around the competition to help prepare their teams. The contests also give the schools an opportunity to highlight student achievement, regardless of whether or not they win.
Just being chosen to compete is an achievement. As these competitions receive more attention, the number of schools applying for a slot has increased. The most recent competition in China saw more than 300 teams from around the world vie for finals slots.
With all that said, there’s another reason I find these competitions so compelling: they’re just plain fun. The kids are all friendly and very personable, even when there’s a language barrier. They’re eager and full of energy. They definitely want to win, but it’s a good-spirited brand of competition. Almost every year we’ve seen examples of teams donating hardware to teams in need when there are shipping problems or when something breaks.
It’s that spirit, coupled with their eagerness to learn and their obvious enjoyment which really defines these events. And it’s quite a combination.
About the Author
Dan is one of the lead analysts at OrionX, building on his 15 years of experience as founder and principal analyst at Gabriel Consulting Group (GCG), a boutique IT research and consulting firm whose activities are now part of the OrionX offerings.
In addition to server, storage, and network technologies, Dan closely follows the Big Data, Cloud, and HPC markets. He is the go-to person for the coverage and analysis of the supercomputing industry’s Student Cluster Challenge.
Dan began his career at Sequent Computer, an early pioneer in highly scalable business systems. He was the inaugural lead for the successful server consolidation program at Sun Microsystems, and was at IBM in the strategically important mainframe and Power systems groups. He is a graduate of the University of Chicago Booth School of Business with a focus on finance and marketing.