Cooperación entre la aplicación y el kernel para la planificación de flujos, en sistemas multiprocesadores, como soporte al paralelismo

Author

Gil Gómez, Maria Luisa

Director

Navarro, Nacho

Date of defense

1994-07-04

ISBN

8469955179

Legal Deposit

B.37614-2001



Department/Institute

Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors

Abstract

El objetivo de nuestro trabajo ha sido defender la tesis de que, para los entornos de trabajos actuales, multiprocesador, una opción válida para obtener el mejor rendimiento de las aplicaciones paralelas de propósito general es conseguir que el kernel y la propia aplicación cooperen en la gestión de los recursos.<br/>El estudio abarca a la aplicación en su conjunto, con todas sus partes, en cuya ejecución el sistema operativo toma una parte activa y decisoria. Y nos hemos centrado en aplicaciones paralelas multiflujo de granularidad media.<br/>Hemos diseñado y realizado un entorno de trabajo basándonos en la tecnología microker-nel en el que ofrecemos un nuevo sistema de planificación.<br/>A partir de políticas de planificación de particionado de la máquina, hemos aislado a las aplicaciones, unas de otras, y hemos habilitado que en cada partición el usuario pueda decidir qué política de planificación y qué quantums y recálculo de prioridades quiere. Con ello conseguimos, por un lado, que cada aplicación pueda ajustar la planificación que mejor rendimiento le suponga.<br/>Por otro, que no queden afectadas unas por el funcionamiento de otras.<br/>A partir de la abstracción de procesador virtual, dotamos a la aplicación de la capacidad de gestionar la planificación de sus propios flujos, mediante la nueva abstracción "contexto de eje-cución" (eXc) que el kernel ofrece a la aplicación para que pueda ejecutar un flujo en cada uno de los procesadores físicos que le ha asignado. En este nuevo entorno el kernel puede comunicar de manera asíncrona con la aplicación, transmitiéndole los eventos que puedan afectar a ésta para decidir una replanificación en sus flujos. En concreto, el bloqueo/desbloqueo de flujos, la asigna-ción/desasignación de procesadores físicos y un temporizador para poder disponer del dispositivo reloj a nivel de aplicación. Se han resuelto los problemas de desbanque de flujos dentro de exclusiones mutuas gracias a unas nuevas primitivas de sincronización que evitan el abrazo mortal.<br/>Con nuestra realización de paso de gestión de flujos del kernel a la aplicación, además de aumentar el throughput en un orden de magnitud, ganamos tiempo de ejecución para otros flujos de la aplicación.<br/>La plataforma de desarrollo ha sido un multiprocesador de memoria compartida sobre el que hemos modificado el microkernel Mach 3.0, con el entorno operativo OSF/1 MK y la librería de threads de usuario CThreads, modificada igualmente para enriquecer y potenciar la parte de planificación de flujos.


The goal of this thesis is to show that it is possible to achieve a better parallel application perfor-mance in multiprocessor operating environments when the kernel and the application cooperate in the resource management.<br/>The study includes the whole application, in addition to the components whose manage-ment is mainly supported by the operating system. The selected applications for study are medium grain parallelism applications (ie. servers, subsystems, virtual machines,...).<br/>Our work includes a design and implementation of an operating environment in the micro-kernel technology with a new scheduling approach.<br/>We have implemented space sharing scheduling policies to isolate applications inside<br/>machine partitions; each partition has its own scheduling policy and the user can modify priorities, quantums and policies in his application partition. This approach allows each application to adjust and tune its own scheduling to achieve the better performance it would. Also it permits to protect applications from the other applications faults.<br/>We propose a new abstraction: the eXecution context (eXc) as the processor virtual object that allows the application to manage its threads. The eXc are offered by the kernel to the application to run threads in the physical processors that the kernel gives to the application.<br/>The kernel communicates to the application, in an asynchronous way, the events that<br/>could lead to a rescheduling of its threads. This events are: thread blocked/unblocked, physical processor allocated/deallocated and the clock, to have the possibility of timeouts at application level.<br/>New synchronization primitives prevent the deadlock problem when there may be a thread preemption in a mutex area.<br/>Our implementation overcomes throughput in one order of magnitude and also has a gain in the execution time for the other application threads.<br/>This work has been implemented in a shared memory multiprocessor. We have modified the Mach 3.0 microkernel, the OSF/1 MK operating environment and the CThreads library. This library has been also modified to offer more complete scheduling policies and synchronization mechanisms.

Keywords

aplicacions paral·leles; sistemes multiprocessadors

Subjects

68 - Industries, crafts and trades for finished or assembled articles

Knowledge Area

3304. Tecnologia dels ordinadors

Documents

00indice.pdf

62.87Kb

01parteintro.pdf

32.88Kb

1partei.pdf

223.1Kb

2parteiia.pdf

150.6Kb

3parteiib.pdf

263.7Kb

4parteiii.pdf

158.8Kb

5parteiv.pdf

110.9Kb

 

Rights

ADVERTIMENT. L'accés als continguts d'aquesta tesi doctoral i la seva utilització ha de respectar els drets de la persona autora. Pot ser utilitzada per a consulta o estudi personal, així com en activitats o materials d'investigació i docència en els termes establerts a l'art. 32 del Text Refós de la Llei de Propietat Intel·lectual (RDL 1/1996). Per altres utilitzacions es requereix l'autorització prèvia i expressa de la persona autora. En qualsevol cas, en la utilització dels seus continguts caldrà indicar de forma clara el nom i cognoms de la persona autora i el títol de la tesi doctoral. No s'autoritza la seva reproducció o altres formes d'explotació efectuades amb finalitats de lucre ni la seva comunicació pública des d'un lloc aliè al servei TDX. Tampoc s'autoritza la presentació del seu contingut en una finestra o marc aliè a TDX (framing). Aquesta reserva de drets afecta tant als continguts de la tesi com als seus resums i índexs.

This item appears in the following Collection(s)