Dynamically determining the appropriate number of threads for a multi-threaded application may lead to a higher efficiency than predetermining the number of threads beforehand. Interval branch-and-bound (B&B) global optimization algorithms are typically irregular algorithms that may benefit from the use of a dynamic number of threads. The question is how to obtain the necessary on line information to decide on the number of threads. We experiment with a scheme following a SPMD (Single Program, Multiple Data) and AMP (Asynchronous Multiple Pool) model. This means that all threads execute the same code and they are consequently affected by the same types of blocked time. There exist several methods to measure the blocked time of an application. The basis for the data to be obtained is the information provided by the Linux Operating System (O.S.) for tasks: task_interruptible and task_uninterruptible block time. We elaborate on this, to determine new metrics allowing kernel and applications to collaborate through system calls in order to decide on the number of threads for an application.
|Title of host publication||Proceedings of the 12th International Conference, 18-21 June 2012, Salvador de Bahia, Brazil, Proceedings Part III|
|Editors||B. Murgante, G. Osvaldo, S. Misra|
|Place of Publication||Heidelberg|
|Publication status||Published - 2012|
|Name||Lecture Notes in Computer Science|
Sanjuan-Estrada, J. F., Casado, L. G., García, I., & Hendrix, E. M. T. (2012). Performance driven cooperation between Kernel and auto-tuning multi-threaded interval B&B applications, B. Murgante et al. In B. Murgante, G. Osvaldo, & S. Misra (Eds.), Proceedings of the 12th International Conference, 18-21 June 2012, Salvador de Bahia, Brazil, Proceedings Part III (pp. 57-70). (Lecture Notes in Computer Science).. https://doi.org/10.1007/978-3-642-31125-3_5