Multithreaded scheduling for program segments based on chemical reaction optimizer

  • PDF / 3,227,922 Bytes
  • 26 Pages / 595.276 x 790.866 pts Page_size
  • 16 Downloads / 232 Views

DOWNLOAD

REPORT


(0123456789().,-volV)(0123456789(). ,- volV)

METHODOLOGIES AND APPLICATION

Multithreaded scheduling for program segments based on chemical reaction optimizer Basel A. Mahafzah1



Riad Jabri1 • Omayya Murad1

 Springer-Verlag GmbH Germany, part of Springer Nature 2020

Abstract Multicore processors that support multithreading techniques have many advantages, including processors’ utilization, responsiveness, resource sharing, and economical usage of threads. Thus, to have these advantages, programming languages must support multithreading programming. Unfortunately, this technique is not compatible with old programs since most of the old program codes have been prepared sequentially. Inevitably, this posed a challenge when attempts were made to convert old sequential codes into multithreading codes. Despite the existence of several approaches of multithreading, differences do exist in their overhead, efficiency, and speedup, thereby underpinning the need for further optimization. Thus, a chemical reaction optimizer demonstrates the efficacy of its optimization in several problems. Against this backdrop, this paper presents a chemical reaction optimizer for the multithreading scheduling (CROTS) technique that generates multithreaded code while considering a sequential one. CROTS technique has been evaluated using several performance metrics, such as the number off steps, execution time, speedup, efficiency, cost, and percentage of error. Experimental results show that the maximum speedup achieved by CROTS is 11.98 upon the usage of 32 threads, with an average percentage of error being 14.56% in regard to the comparison between experimental and analytical cost results. Furthermore, after comparing CROTS with intermediate representation based on diKernel (KIR), it has been established that it can accommodate more threads and attain greater speedup. For example, the experiments show that when applying both approaches CROTS and KIR using 32 threads on dataset M7000, CROTS attains a speedup of 11.71, that is, about tripled the speedup achieved by KIR, which is 3.77. Keywords Chemical reaction optimization  Metaheuristic algorithm  Scheduling  Multithreading technique  Program segments

1 Introduction Nowadays, processors that comprise multiple independent cores are being extensively leveraged. These processors support parallel processing, where a problem can be partitioned and distributed to be run on these processors in parallel. Moreover, a multithreading technique is also used to increase the extent of parallelism, and simultaneous multithreading can help overcome the underutilization of a

Communicated by V. Loia. & Basel A. Mahafzah [email protected] 1

Department of Computer Science, King Abdullah II School of Information Technology, The University of Jordan, Amman 11942, Jordan

superscalar processor, whereby a processor can issue multiple instructions from multiple threads within the same cycle, as illustrated in Sˇilc et al. (2001). Additionally, more recent programming languages including Java, C??,