Subject : Managing Resources in Multicore Systems
Supervisors: Audrey Marchand (audrey.marchand@univ-nantes.fr), LINA and Patrick Valduriez (patrick.valduriez@inria.fr), INRIA and LINA
Location: Laboratoire d'Informatique de Nantes Atlantique (LINA), ATLAS-GDD research team, Nantes, France (2 hours from Paris by train)
Salary: 1757 € /month (gross)
Beginning: October 2008 (3 years)
Working language: English or French
Keywords: multicore systems, concurrent programming, transactional memory, multiprocessor scheduling.
Context and Issues
Multicore processor technology introduced in early 2005, contributes to improve system efficiency and increases application performance for computers running multiple applications at the same time. Multicore processors enable true multitasking. On multicore systems, the operating system has sufficient resources to handle most compute intensive tasks in parallel. The advent of multicore processors has renewed interest in the idea of incorporating transactions into the programming model used to write parallel programs. This approach, actually taken from the field of Data Bases Management Systems (DBMS), offers an alternative, and hopefully better, way to coordinate concurrent threads. It is particularly suitable for multicore systems in which several processors share the same memory. Consequently, these new systems known as transactional memory based systems become more and more widespread. For multicore systems, the challenge for the system implementers is to define and build! an efficient transactional memory infrastructure.
Aims and Description
The goal of the thesis is to build new synchronization mechanisms and data access patterns based on transactional memory, so as to efficiently manage concurrent accesses to memory within multicore systems. The underlying objective is to exploit the enormous computing power offered by parallel computing multicore systems. In particular, we propose to study approaches based on the association of the transactional memory management service with the thread scheduler, in order to reduce data access contentions.
Consequently, the work will consist in proposing multicore scheduling policies aiming at minimizing the total number of cancelled transactions (growing number as a function of the number of cores). By analogy with the two traditional multiprocessor scheduling policies generally referred to in the literature, two types of multicore policies will be studied : the global strategies (i.e., at any time, the main tasks having the greatest priority are assigned to the m cores, with the possibility of migrating tasks from one core to other) and local ones based on partitioning (i.e. the n tasks' set is partitioned into m disjoint subsets and then, each subset is scheduled on a given core according to a local uniprocessor scheduling policy, without task migration).
After discussing deficiencies of Linux in supporting multi-threaded multiprocessor scheduling, we propose to develop a robust and scalable support for multiprocessor scheduling. For that purpose, we will use Bossa, a kernel-level event-based framework to facilitate the implementation and integration of new scheduling policies, which has been jointly developed at Ecole des Mines of Nantes (France) and DIKU laboratory of the University of Copenhague (Denmark). Currently, this framework only supports the definition of uniprocessor scheduling techniques.
Working context
The thesis is funded by french CNRS and Pays de la Loire region (initial salary: 1757 euros/month gross). The PhD student will work at LINA, at the University of Nantes. He will work in collaboration with two research fellows of the ATLAS-GDD research team. The ATLAS-GDD team (http://www.sciences.univ-nantes.fr/lina/gdd) includes about 25 members. The working languages are french or english.
Contact : Audrey Marchand, Phone: +33 2 51 12 58 23, e-mail : audrey.marchand@univ-nantes.fr