JuliaCon 2023

Qualitative study on challenges faced in multithreading in Julia
07-28, 11:20–11:30 (US/Eastern), 32-144

Developers have been using multithreading to obtain increased performance. However, developers find it difficult to write multithreaded code. To help them, it is important to understand the difficulties they face. The goal of the study is to evaluate the challenges faced by developers with multithreading in Julia using Julia Discourse and Stack Overflow. Conversation between developers on these online discussion forums were analyzed using inductive qualitative content analysis.

With consistent need of efficiency, developers are required to write efficient and correct multithreaded code. Writing correct and efficient code is quite challenging. To better help the developers with multithreading, it is imperative to understand their interests and difficulties in terms of the multithreading code they are writing. The main aim of the study is to measure the challenges faced by developers in multithreading in Julia. This will help maintainers of Julia to improve its support for multithreading and help developers fine-tune their code to make it more optimized. More importantly, it would help developers to ask right questions on online discussion forums. This study involves the analysis of Julia discourse and stack overflow posts, which were used to evaluate the type of questions on multithreading asked by Julia developers. This study uses qualitative content analysis which allows the categories to flow from the data. The research findings indicate that developers face a lot of performance related issues, specifically the slow speed of their multithreaded code. This study also indicates that even though Julia provides official documentation about usage of macros and threads, developers tend to inquire about the minimal working example to learn about their proper implementation. It has also been found that programmers find it difficult to understand the pattern of memory allocation in their code which is one of the major causes of slow performance of multithreaded code. The study was expected to have queries related to testing and debugging of multithreaded code but surprisingly, there were negligible queries on that. This study also analyzes the different approach used by developers to ask their queries Julia Discourse and Stack Overflow.

Research based student studying in UNB conducting my research on qualitative aspects of parallel programming using Julia.