Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Sobre

Sobre

Mohammad Samadi is a development researcher at Polytechnic Institute of Porto, a PhD candidate at UPC-BarcelonaTech, and an external collaborator at INESC TEC. He has worked in industry as a software engineer to mainly develop information systems on different platforms. His research interests include software engineering, artificial intelligence, and the Internet of things. He has also served as a referee and reviewer in scientific journals and conferences, as well as a lecturer and advisor at universities.

Tópicos
de interesse
Detalhes

Detalhes

  • Nome

    Mohammad Samadi
  • Cargo

    Estudante Externo
  • Desde

    08 novembro 2023
Publicações

2024

Time-predictable task-to-thread mapping in multi-core processors

Autores
Samadi, M; Royuela, S; Pinho, LM; Carvalho, T; Quinones, E;

Publicação
JOURNAL OF SYSTEMS ARCHITECTURE

Abstract
The performance of time-predictable systems can be improved in multi-core processors using parallel programming models (e.g., OpenMP). However, schedulability analysis of parallel applications is a big challenge due to their sophisticated structure. The common drawbacks of current task-to-thread mapping approaches in OpenMP are that they (i) utilize a global queue in the mapping process, which may increase contention, (ii) do not apply heuristic techniques, which may reduce the predictability and performance of the system, and (iii) use basic analytical techniques, which may cause notable pessimism in the temporal conditions. Accordingly, this paper proposes a task-to-thread mapping method in multi-core processors based on the OpenMP framework. The mapping process is carried out through two phases: allocation and dispatching. Each thread has an allocation queue in order to minimize contention, and the allocation and dispatching processes are performed using several heuristic algorithms to enhance predictability. In the allocation phase, each task-part from the OpenMP DAG is allocated to one of the allocation queues, which includes both sibling and child task-parts. A suitable thread (i.e., allocation queue) is selected using one of the suggested heuristic allocation algorithms. In the dispatching phase, when a thread is idle, a task-part is selected from its allocation queue using one of the suggested heuristic dispatching algorithms and then dispatched to and executed by the thread. The performance of the proposed method is evaluated under different conditions (e.g., varying the number of tasks and the number of threads) in terms of application response time and overhead of the mapping process. The simulation results show that the proposed method surpasses the other methods, especially in the scenario that includes overhead of the mapping. In addition, a prototype implementation of the main heuristics is evaluated using two kernels from real-world applications, showing that the methods work better than LLVM's default scheduler in most of the configurations.