<  Back to the Polytechnique Montréal portal

CPU Utilization Improvement of Multiple-Core Processors Through Cache Management and Task Scheduling

Mahdi Moradmand Badie

Masters thesis (2019)

[img] Restricted to: Repository staff only until 25 August 2021.
Cite this document: Moradmand Badie, M. (2019). CPU Utilization Improvement of Multiple-Core Processors Through Cache Management and Task Scheduling (Masters thesis, Polytechnique Montréal). Retrieved from https://publications.polymtl.ca/4089/
Show abstract Hide abstract

Abstract

RÉSUMÉ De nos jours, les architectures multicœurs et multiprocesseurs sont largement utilisées dans les centres de données. Une telle utilisation fournit les performances requises pour diverses tâches, telles que le C-RAN(accès radio par info-nuagique). Le traitement du signal sans fil en bande de base(wireless baseband) pour les normes 4G et 5G désigne un ensemble de tâches qui doivent être exécutées dans un intervalle de temps spécifique. Par exemple, la pile de liaison montante(up-link stack) pour une station de base 4G virtualisée a été décomposée en plus de 1000 tâches exécutables en 5 ms. Avec la 5G, la latence cible dans un scénario de bout en bout avec utilisation à latence très faible(ultra-low latency) est de 1 ms, tandis que la complexité de calcul est d’un à deux ordres de grandeur plus élevée que celle de la 4G. Le défi à surmonter c’est de répondre à ces objectifs en terme de complexité de traitement. Pour ce faire, il est crucial de caractériser la variabilité du temps de traitement par rapport aux caractéristiques du modèle de mémoire afin de garantir un temps de traitement donné dans les grappes d’ordinateurs classiques.En outre, la planification des tâches sur les systèmes multicœurs reste un problème ouvert. Un tel problème doit être analysé afin d’utiliser pleinement la capacité de traitement d’un système multicoeur d’un système multicoeur et d’atteindre une faible latence. Afin de remédier à l’utilisation ineÿcace des cœurs de processeur, un schéma d’ordonnancement des tâches basé sur la mise en file d’attente, qui se focalise sur le calcul parallèle local, est proposé. Dans cette mémoire, on introduit la gestion multi-files pour la planification dynamique des tâches afin de cibler une utilisation complète à 100% des cœurs de CPU locaux pour des tâches d’entrée suÿsantes. Plusieurs simulations sont faites pour vérifier le schéma de planification des tâches proposé. Les résultats rapportés confirment sa viabilité et son efficacité. De plus, l’utilisation de la mémoire cache est l’une des principales sources de variabilité du temps d’exécution. En outre, une gestion ineÿcace de la mémoire cache s’avère probléma-tique dans les systèmes avec WCET. Une approche eÿcace de gestion de la cache doit prendre en compte simultanément la planification des tâches et la gestion de la cache. L’approche optimale de gestion de la cache oblige de manière critique à prendre en compte les priorités associées à toutes les tâches; la connaissance de ces priorités est essentielle pour détecter et éviter les goulots d’étranglement dans le système.----------ABSTRACT Nowadays, modern multiprocessor and multicore architectures are widely used in data centers. Such usage provides the required performance for a variety of tasks, such as the C-RAN(Cloud-Radio-Access-Network). Wireless baseband signal processing for the 4G and 5G standards designates a range of tasks which must be executed in a specific time slot. For instance, the up-link stack of one 4G virtualized-base station was decomposed in more than 1000 tasks executable within 5ms. In 5G, the expected target latency for ultra-low latency use cases is 1ms in an end-to-end scenario; while the computational complexity is expected to be one to two orders of magnitude higher than that of 4G. It remains to be seen whether and how reaching such computational complexity is feasible. It is a crucial factor to characterize processing time variability besides features of memory model to guarantee a given processing time in mainstream computer clusters.Besides, the task scheduling on multicore systems is still an open issue. Such a problem needs to be analyzed in order to fully utilize the processing capacity and to achieve low processing latency. In order to tackle the inefficient utilization of CPU cores, a queueing-based data-driven task scheduling scheme, which focuses on local parallel computing, is proposed in this thesis. This thesis introduces multi-queue management for dynamic task scheduling to target 100% utilization of local CPU cores for sufficient input tasks. Finally, the thesis entails several simulations to verify the proposed task scheduling scheme. The reported results confirm its viability and efficiency. Moreover, cache memory usage is one of the primary sources of execution time variability. Besides, inefficient management of cache memory proves to be problematic in systems with which WCET(Worst-Case-Execution-Time) is of concern. An efficient cache managing approach needs to take both task scheduling and cache management into account simultaneously. Optimal cache-management imposes considering priorities associating with all tasks; the knowledge of such priorities is essential for detecting and avoiding system bottlenecks. Such approach proposes allocating adequate resources to such a critical task to facilitate better management. The work starts with the introduction of a simple, scalable, and configurable test method called an Array of Counters, the purpose of which is to characterize the processing time variations of multicore architectures. The technique helps to find system bottlenecks. Such help is conducive to a more optimized and enhanced cache-management algorithm.

Open Access document in PolyPublie
Department: Département de génie électrique
Academic/Research Directors: Yvon Savaria and Jean-Pierre David
Date Deposited: 25 Aug 2020 11:06
Last Modified: 25 Aug 2020 11:06
PolyPublie URL: https://publications.polymtl.ca/4089/

Statistics

Total downloads

Downloads per month in the last year

Origin of downloads

Repository Staff Only