Computer Science & Electrical

Computer Science & Electrical

Archive
Join as an Editor/Reviewer

Relating Reported Speedup to Attainable Speedup in HPC Applications Based on a Programmer's Expertise

Volume: 109  ,  Issue: 1 , September    Published Date: 25 September 2022
Publisher Name: IJRP
Views: 412  ,  Download: 276 , Pages: 159 - 176    
DOI: 10.47119/IJRP1001091920223892

Authors

# Author Name
1 Sarker Shakiur Rahman Shuvo
2 Waseem Ahmed

Abstract

High Performance Computing (HPC) refers to the processing of complex computations using enhanced computing power for quick results and better accuracy. The parallel computing features of supercomputers provide an application program to obtain significant speedup over the serial implementation of certain problems in scientific computing. An HPC application largely relies on human expertise i.e., knowledge of the underlying architecture, algorithm used to solve the problem, his expertise in parallelizing the sequential code efficiently. Hence the speedup is largely dependent on the programmers expertise. Therefore, an obtained speedup of a certain HPC application, may not always be the best possible speedup that is potentially possible on that supercomputer. So, there is always a need of finding out if the obtained speedup is the highest possible speedup for a given problem and on a given supercomputer architecture. Thats why its important to objectively rate a programmers ability to relate it to his capability to parallelize a given code. Although, online judge platforms have given ratings to programmers when they are tied to online judges (such as- Topcoder, Codeforce and Codechef), types of contests (long, short, national-level, international level and based on problem categories), and the programmers sustained interest in participating (frequency of participation), problems solved, problems attempted, maturity (in years and capability) and other factors. The ranking could also be misleading in some cases for example, in solving a difficult problem, a relatively new programmer may climb to a top position because of his familiarity with the category of the problem although he may have less submissions and experience. On the other hand, an experienced programmer can see a drop in his rank if he under-performs in one or more contests. Hence, there is no generalized way to rank a programmer based on a rating provided by an online judge platform. Therefore, we need a more sophisticated and reliable ranking model that can help us to evaluate the actual rating of a programmer. This work will involve researching existing ranking algorithms and develop a model that establishes a relationship between Programmers grade or level and the Maximum Attainable Speedup in a particular HPC application.

Keywords

  • hpc
  • data analytics
  • Machine Learning
  • rankings