eprintid: 212 rev_number: 2 eprint_status: archive userid: 1 dir: disk0/00/00/02/12 datestamp: 2023-11-09 15:15:51 lastmod: 2023-11-09 15:15:51 status_changed: 2023-11-09 15:13:33 type: conference_item metadata_visibility: show creators_name: Chinh, N.D. creators_name: Kandasamy, E. creators_name: Khei, L.Y. title: Efficient development methodology for multithreaded network application ispublished: pub keywords: Computer networks; Computer programming; Errors; Information retrieval systems; Optimization; Research and development management; Software engineering; Tuning, Intel thread checker; Multithreading; Network applications; Throughput; Vtune analyzer, Applications note: cited By 1; Conference of 2007 5th Student Conference on Research and Development, SCORED ; Conference Date: 11 December 2007 Through 12 December 2007; Conference Code:73256 abstract: Multithreading is becoming increasingly important for modern network programming. In inter-process communication platform, multithreaded applications have much benefit especially to improve application's throughput, responsiveness and latency. However, developing good quality of multithreaded codes is difficult, because threads may interact with each others in unpredictable ways. Although modern compilers can manage threads well, but in practice, synchronization errors (such as: data race errors, deadlocks) required careful management and good optimization method. The goal of this work is to discover common pitfalls in multithreaded network applications, present a software development technique to detect errors and optimize efficiently multithreaded applications. We compare performance of a single threaded network application with multithreaded network applications, use tools called Intel® VTune� Performance Analyzer, Intel® Thread Checker and our method to efficiently fix errors and optimize performance. Our methodology is divided into three phases: First phase is performance analysis using Intel® VTune� Performance Analyzer with the aim is to identify performance optimization opportunities and detect bottlenecks. In second phase, with Intel® Thread Checker we allocate data races, memory leakage and debug the multithreaded applications. In third phase, we apply tuning and optimization to the multithreaded applications. With the understanding of the common pitfalls in multithreaded network applications, through the development and debugging methodology aforementioned above, developers are able to optimize and tune their applications efficiently. ©2007 IEEE. date: 2007 official_url: https://www.scopus.com/inward/record.uri?eid=2-s2.0-50449106953&doi=10.1109%2fSCORED.2007.4451394&partnerID=40&md5=7297b880721cc647740e923a4abf31f5 id_number: 10.1109/SCORED.2007.4451394 full_text_status: none publication: 2007 5th Student Conference on Research and Development, SCORED place_of_pub: Selangor refereed: TRUE isbn: 1424414709; 9781424414703 citation: Chinh, N.D. and Kandasamy, E. and Khei, L.Y. (2007) Efficient development methodology for multithreaded network application. In: UNSPECIFIED.