Parallel Computing - A Case Study on Race Condition Maisarah Husna Zolkaflee #1, Mohamed Faidz Mohamed Said #2 # Faculty of Computer & Mathematical Sciences, Universiti Teknologi MARA 70300 Seremban, Negeri Sembilan, MALAYSIA 1 maisarahhusna1@gmail.com 2 mohdfaidz@uitm.edu.my Abstract—We are addressing a problem regarding debugging parallel programs becoming worse. It will affect the programs and software. Algorithm and existing sequential programs into parallel have their limitations. The example of the limitation are partitioning the task, sharing input and output data, synchronization of the output of the subprogram, shifting the subprogram from the failure to the active processor. Detecting race condition is NP-hard problem is one will never know which of them is a real race conditions and this is the reason why it is hard to use a tool to find race conditions precisely. Different problems have a different method to use in order to detect the race condition. The suitability must be figure out before solve the race condition. So, this paper will discuss about the different type of the situation that will lead to the race condition, how to detect race condition and the solution to avoid race condition. Keywords: Race Condition, Parallel Computing, Racefuzzer, Static Detection, Dynamic Detection REFERENCES [1] H.-I. Lu, P. N. Klein, and R. H. B. Netzer, "Detecting Race Conditions in Parallel Programs that Use One Semaphore," Appeared in Workshop on Algorithms and Data Structures (WADS’93), August 11-13, Montreal, Canada, 1993. [2] D. Engler and K. Ashcraft, "RacerX Effective, Static Detection of Race Conditions and Deadlocks," SOSP’03, October 19–22, 2003, Bolton Landing, New York, USA., 2003. [3] D. P. Helmbold and C. E. Mcdowel, "A Taxonomy of Race Condition," Journal of Parallel and Distributed Computing 33, 159–164 (1996), 1996. [4] Y. Wang, "Race Detection in Parallel Programming " Computer Science Department San Jose State University n.d. [5] R. H. B. Netzer and S. Ghosh, "Efficient Race Condition Detection for Shared-Memory Programs with Post/Wait Synchronization," In 1992 Intl Conference on Parallel Processing, August 1992, St. Charles, IL, 1992. [6] S. Carr, J. Mayo, and C.-K. Shene∗, "Race Conditions - A Case Study," Department of Computer Science Michigan Technological University, (n.d). [7] K. Sen, "Race Directed Random Testing of Concurrent Programs," EECS Department,UC Berkeley, CA, USA., 2008. [8] R. S. Yadava, "Review of the Parallel Programming and its Challenges on the Multicore Processors " Asian Journal of Computer Science and Technology. Vol. 4 No. 1, pp. pp.8-13, 2015. [9] V. Sunag and S. Irkal, " Parallel Programming Using Functional Programming Language"International Journal of computer Engineering and Applications, ICCSTAR-2016, Special Issue, May2016., 2016. [10] P. Swamy and H. Wade, "Parallel Processing using Android," International Journal for Scientific Research & Development, vol. 4, no. 11, 2017. [11] J. Rouzaud-Cornabas, P. Clemente, and C. Toinar, "An Information Flow Approach for Preventing Race Conditions: Dynamic Protection of the Linux O," International Journal on Advances in Software, vol. 4, 2011. [12] T. Schmidt, G. Liu, and R. Dömer, "Exploiting Thread and Data Level Parallelism for Ultimate Parallel SystemC Simulation," Center for Embedded and Cyber-Physical Systems University of California, 2017. [13] Thein, M. M. (2010). Parallel Processing in Numerical Integration. Universities Research Journal 2010, 3. [14] B. Lisper, "Towards Parallel Programming Models for Predictability," 12th International Workshop on Worst-Case Execution Time Analysis (WCET 2012), 2012. [15] M.H. Zolkaflee. (2017). Parallel Computing – A Case Study on Race Condition.Available: https://www.youtube.com/watch?v=KSV7RyI2csc. [Accesed: 28-Nov-2017].