High Performance Computing Expertise.
NA Software first gained experience in High Performance Computing (HPC) back in 1978 with the use of Transputers when we worked with Liverpool University. By the year 1990, we were working with the UK MoD using Meiko i860 boards and implementing radar processors with the use of Meiko MPI. That was the start of NA Software gaining expertise in HPC. After that, we used custom-made high-performance systems produced by companies like HP.
Move forward to today's high-performance technology and we have a wider selection of COTS hardware to work with:
- PowerPC Machines - T2080, T2081, T4240, T4241 etc
- Intel Hardware - Ivy Bridge family, Haswell family, Broadwell family, Skylake family, Coffee Lake, Phi, and many many more
- ARM platforms - A53, A57, A72, and more high performance 64 bit chips coming out
Most of the hardware we now work with are 64 bit systems and the operating frequencies are much much higher than they use to be. A G4 PowerPC board even a few years ago would not be more than 1 GHz in operating frequency. Now many of the Intel boards with turbo boost on can easily run at more than 4 GHz. The COTS solutions are also rapidly gaining more and more cores. A lot of the Intel Broadwell systems we work with can easily have 24 cores on one board.
What hasn't changed are the basic principles behind algorithm parallelisation. We still parallise algorithms over the boards in a system using some form of Message Passing Interface (MPI) and we still use threads on a single board to parallise algorthms over cores with access to shared memory. We also still optimise libraries and algorithms for SIMD vectorisation. Years ago with the PowerPC G4 we used the Altivec engine to perform code vectorisation. The Altivec instruction set is still used in the above PowerPC systems (T2080 to T4241) and we now perform a very similar vectorisation in all the Intel and ARM systems at the machine instruction level to achieve the highest core performance in each system. This now means we need to know more instruction sets in detail to achieve the optimum performance:
- PowerPC Altivec instruction set
- Intel SS4 instruction set
- Intel AVX instruction set
- Intel AVX2 instruction set
- Intel AVX512 instruction set
- Intel MIC instruction set
- ARMv8 instruction sets
However, with more COTS hardware solutions available the cost of developing high-performance computing systems has decreased significantly compared to when custom-made hardware solutions were the only option.