The daily routine in HPC or “How to write a paper in 10 days”
In contrast to my last post, where I tried to explain the concept behind the technology, in this one I try to describe a bit how a typical day in my research looks like, and what kind of results I want to achieve. And, to justify the headline, I will also describe our plan to publish a paper about my work here at EPCC!
I was very excited, when my mentors told me that they aim to publish a small paper (to be honest, it is more like an extended abstract) about my work here at EPCC for a conference called “Alternatives To MPI+X” this November. And this is indeed a good match, since I’m working with GASNet which is in fact an alternative to MPI. The only problem with this was (and still is) the deadline: It was only 10 days in the future. But pressure is alway motivation, so I agreed without hesitation. Our plan for the paper is pretty simple:
- An Introduction where we describe our technologies (especially GASNet)
- Comparison of MPI and GASNet in two basic mikro-benchmarks which measure the most important properties of the network:
- Latency (what time does the network need to react on e.g. a send-instruction, usually given in µs)
- Bandwidth (how many data can be transferred in a certain time, usually given in GB/s)
- Comparison of MPI and GASNet in two different applications:
- Stencil-benchmark (a very regular benchmark, where one process just exchanges data with their neighbour processes)
- Graph500-benchmark (an irregular benchmark, where data are exchanged unpredictable between processes
Especially the both applications in the third bullet point should be the core of the paper: They represent two different extreme cases of parallel applications, so the reader gets an idea if this could be a choice for his application. Another possible learning could be, that GASNet is in general not as good as MPI, regardless the field of application. In any case we want to present an as general as possible overview over GASNet and its capabilities.
The good news was that most of these things I did for my project anyway, or they are at least useful for it, since they would provide better understanding of the technology. I thought these things won’t be a problem, and the time would be enough to do all this work.
… and reality
Things are never as easy as one may think. Most of the time it is like this: You write your code, you run it, and it doesn’t work (no big surprise). Then you try to understand what the problem is, you solve it and you have learnt a new thing. For example, after I have re-written the Stencil-benchmark with the GASNet-framework, it produced wrong results sometimes. This “sometimes” is the real problem: Without precisely knowing at which conditions your program fails, it is nearly impossible to fix the issue. In the case mentioned above, I found out after a while that if the message-data exceeds a certain size, they are overwriting each other on their destination. From this I learnt that I misunderstood the way in which GASNet sends long messages, and now I know it! It is always a great feeling to solve such problems.
But not all problems are as educational as described above. Especially in programming and software development you also often have issues which arise from bad documentation or API design. Sometimes you solve them by just randomly changing things in your code, and in the end it is not very satisfying (especially if you’re pressed for time and you haven’t really learnt something).
In this way I’m trying to get all required benchmarks working by the deadline (in the moment of writing there are 3 days left!). This is a hard job, but despite from some unpleasent moments it’s fun and I’m confident that I will make it! Even though there is much distraction in Edinburgh these days… It’s Fringe!
Meanwhile outside the office
Yes, it’s Fringe! It is really a huge festival, and there are so many people on the streets now! And so many events (The official event book has more than 300 pages!). In the main streets each 5-10 meters there’s the next guy who advertises his show and tries to hand you a flyer. (I think it is a huge waste of paper, the bins are full of them!).
And there is really a show for everybody! There are plays, musicals, comedy shows and many more cultural events. I’m more into the concerts, and this weekend for example I was at a classical concert with my fellow student Caelen. And we also got visited by another participant of Summer of HPC! Emre came for one night from his site near Liverpool to us. With him we had a great afternoon and evening!