Journal Articles

CVu Journal Vol 30, #2 - May 2018
Browse in : All > Journals > CVu > 302 (12)

Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.

Title: ACCU Local Group

Author: Bob Schmidt

Date: 02 May 2018 17:13:01 +01:00 or Wed, 02 May 2018 17:13:01 +01:00

Summary: Jason Spencer reports on a recent visit to ACCU Oxford.

Body: 

I started regularly attending ACCU London meetings almost two years ago. At the time, I just missed Jason McGuiness’s talk ‘Knuth, Amdahl: I spurn thee!’ [1] but luckily I recently had a chance to attend an updated talk [2] on the 27th of March 2018 at the ACCU Oxford chapter.

To a packed room, Jason told us about the ins and outs of CPUs, compilers and how to write C++ code to get it executed as fast as possible. The topic is a broad one, and Jason’s treatment of it was very thorough.

Jason started by describing the problem of low latency systems and the issues in an HFT (High Frequency Trading) context – the system isn’t safe-critical, for example, but speed is paramount, even the slightest improvement can make all the difference. Jason covered the environment in which these systems operate: multiple cores, discussing system buses, operating systems, compilers and libraries, and the most important part being the internal units of a modern CPU with a super-scalar architecture, deep pipelines, and SIMD units.

We were then led down the rabbit hole of assembly code generation and the behaviour across compilers and even the chaos across different versions of the same compiler. I won’t go into the details, nor parrot Jason’s examples here, but I strongly recommend viewing the slides [3] as they are very well explained.

Jason has also gone to great pains to precisely microbenchmark the performance of different compilers for the same code, and elaborated on why in some cases there were such significant changes in performance.

Later topics covered included static branch prediction, switch statements and the use of compile-time techniques to direct the compiler to generate optimal code (for example using C++ templates to create a faster memcpy). All with the support and justification of extensive micro-benchmarking and disassembled code.

Of course this was all with the usual flair and entertaining style of Jason’s presentations. As already mentioned Jason has kindly provided the slides from his talk at [3]. Alas, there was no video recording in Oxford, nor of his 2016 talk at ACCU London. Jason also makes some related slides available here [4].

Compared to ACCU London, which is most often hosted at Code Node/Skills Matter near Moorgate, this ACCU Oxford meetup (and most of their meetups) was hosted in the function room at St. Aldate’s Tavern in the centre of Oxford. A very nice and cosy venue with all the benefits of a traditional Victorian pub.

It was also very nice to meet other ACCU members that are based outside London, and to put names to faces on the mailing lists and publications. Of course the ACCU conference in April is another great such opportunity.

For someone based in London, the trip up to Oxford, as I’m sure most will know, isn’t a tough one – a direct train from Paddington or Marylebone – a journey of about 57 minutes to 1 hr and 15 minutes depending on the time of day and the train operator/route (as well as the alignment of the stars, a butterfly in China and snow taxonomy). If you can get out of work in London a little before 17.30 (often wishful thinking, I know) then, although a little tight, it’s possible to get to the tavern by 19.00, as in fact Jason did, coming from Canary Wharf, in time for a 19.05 start.

I do recommend the occasional (or even regular) trip to ACCU Oxford – the crowd are slightly different: in London it’s more people working in finance, and some from gaming, database products, or a start-up; but in Oxford while there are some people working in finance, from my limited experience there is a more diverse group: biotech, scientists, researchers.

I look forward to making the trip again sometime soon.

References

[1] https://www.meetup.com/ACCULondon/events/229636136/

[2] https://www.meetup.com/ACCU-Oxford/events/245778124/

[3] https://www.slideshare.net/JasonMcGuiness/knuth-amdahl-i-spurn-thee-92110552

[4] https://www.slideshare.net/JasonMcGuiness/presentations

Notes: 

More fields may be available via dynamicdata ..