Título: Scheduling Local and Remote Memory in Cluster Computers
Autor: Serrano Gómez, Mónica
Resumen:
Los cl'usters de computadores representan una soluci'on alternativa a los supercomputadores. En este tipo de sistemas, se suele restringir el espacio de direccionamiento de
memoria de un procesador dado a la placa madre local. Restringir el sistema de esta
manera es mucho m'as barato que usar una implementaci'on de memoria compartida
entre las placas. Sin embargo, las diferentes necesidades de memoria de las aplicaciones
que se ejecutan en cada placa pueden dar lugar a un desequilibrio en el uso de memoria
entre las placas. Esta situaci'on puede desencadenar intercambios de datos con el disco,
los cuales degradan notablemente las prestaciones del sistema, a pesar de que pueda
haber memoria no utilizada en otras placas. Una soluci'on directa consiste en aumentar
la cantidad de memoria disponible en cada placa, pero el coste de esta soluci'on puede
ser prohibitivo.
Por otra parte, el hardware de acceso a memoria remota (RMA) es una forma de
facilitar interconexiones r'apidas entre las placas de un cl'uster de computadores. En
trabajos recientes, esta caracter'¿stica se ha usado para aumentar el espacio de direccionamiento en ciertas placas. En este trabajo, la m'aquina base usa esta capacidad
como mecanismo r'apido para permitir al sistema operativo local acceder a la memoria
DRAM instalada en una placa remota. En este contexto, una plani¿caci'on de memoria e¿ciente constituye una cuesti'on cr'¿tica, ya que las latencias de memoria tienen
un impacto importante sobre el tiempo de ejecuci'on global de las aplicaciones, debido
a que las latencias de memoria remota pueden ser varios 'ordenes de magnitud m'as
altas que los accesos locales. Adem'as, el hecho de cambiar la distribuci'on de memoria
es un proceso lento que puede involucrar a varias placas, as'¿ pues, el plani¿cador de
memoria ha de asegurarse de que la distribuci'on objetivo proporciona mejores prestaciones que la actual. La presente disertaci'on pretende abordar los asuntos mencionados
anteriormente mediante la propuesta de varias pol'¿ticas de plani¿caci'on de memoria.
En primer lugar, se presenta un algoritmo ideal y una estrategia heur'¿stica para asignar
memoria principal ubicada en las diferentes regiones de memoria. Adicionalmente, se
ha dise¿nado un mecanismo de control de Calidad de Servicio para evitar que las prestaciones de las aplicaciones en ejecuci'on se degraden de forma inadmisible. El algoritmo
ideal encuentra la distribuci'on de memoria 'optima pero su complejidad computacional
es prohibitiva dado un alto n'umero de aplicaciones. De este inconveniente se encarga la estrategia heur'¿stica, la cual se aproxima a la mejor distribuci'on de memoria local
y remota con un coste computacional aceptable.
Los algoritmos anteriores se basan en pro¿ling. Para tratar este defecto potencial,
nos centramos en soluciones anal'¿ticas. Esta disertaci'on propone un modelo anal'¿tico
que estima el tiempo de ejecuci'on de una aplicaci'on dada para cierta distribuci'on de
memoria. Dicha t'ecnica se usa como un predictor de prestaciones que proporciona la
informaci'on de entrada a un plani¿cador de memoria. El plani¿cador de memoria usa
las estimaciones para elegir din'amicamente la distribuci'on de memoria objetivo 'optima
para cada aplicaci'on que se est'e ejecutando en el sistema, de forma que se alcancen las
mejores prestaciones globales.
La plani¿caci'on a granularidad m'as alta permite pol'¿ticas de plani¿caci'on m'as simples.
Este trabajo estudia la viabilidad de plani¿car a nivel de granularidad de p'agina del
sistema operativo. Un entrelazado convencional basado en hardware a nivel de bloque
y un entrelazado a nivel de p'agina de sistema operativo se han tomado como esquemas
de referencia. De la comparaci'on de ambos esquemas de referencia, hemos concluido
que solo algunas aplicaciones se ven afectadas de forma signi¿cativa por el uso del
entrelazado a nivel de p'agina. Las razones que causan este impacto en las prestaciones
han sido estudiadas y han de¿nido la base para el dise¿no de dos pol'¿ticas de distribuci'on
de memoria basadas en sistema operativo. La primera se denomina on-demand (OD),
y es una estrategia simple que funciona colocando las p'aginas nuevas en memoria
local hasta que dicha regi'on se llena, de manera que se bene¿cia de la premisa de que
las p'aginas m'as accedidas se piden y se ubican antes que las menos accedidas para
mejorar las prestaciones. Sin embargo, ante la ausencia de dicha premisa para algunos
de los benchmarks, OD funciona peor. La segunda pol'¿tica, denominada Most-accessed
in-local (Mail), se propone con el objetivo de evitar este problema.
Cluster computers represent a cost-effective alternative solution to supercomputers. In
these systems, it is common to constrain the memory address space of a given processor
to the local motherboard. Constraining the system in this way is much cheaper
than using a full-fledged shared memory implementation among motherboards. However,
memory usage among motherboards may be unfairly balanced depending on the
memory requirements of the applications running on each motherboard. This situation
can lead to disk-swapping, which severely degrades system performance, although
there may be unused memory on other motherboards. A straightforward solution is
to increase the amount of available memory in each motherboard, but the cost of this
solution may become prohibitive.
On the other hand, remote memory access (RMA) hardware provides fast interconnects
among the motherboards of a cluster computer. In recent works, this characteristic has
been used to extend the addressable memory space of selected motherboards. In this
work, the baseline machine uses this capability as a fast mechanism to allow the local
OS to access to DRAM memory installed in a remote motherboard. In this context,
efficient memory scheduling becomes a major concern since main memory latencies
have a strong impact on the overall execution time of the applications, provided that
remote memory accesses may be several orders of magnitude higher than local accesses.
Additionally, changing the memory distribution is a slow process which may involve
several motherboards, hence the memory scheduler needs to make sure that the target
distribution provides better performance than the current one. This dissertation aims
to address the aforementioned issues by proposing several memory scheduling policies.
First, an ideal algorithm and a heuristic strategy to assign main memory from the different
memory regions are presented. Additionally, a Quality of Service control mechanism
has been devised in order to prevent unacceptable performance degradation for
the running applications. The ideal algorithm finds the optimal memory distribution
but its computational cost is prohibitive for a high number of applications. This drawback
is handled by the heuristic strategy, which approximates the best local and remote
memory distribution among applications at an acceptable computational cost.
The previous algorithms are based on profiling. To deal with this potential shortcoming
we focus on analytical solutions. This dissertation proposes an analytical model that estimates the execution time of a given application for a given memory distribution.
This technique is used as a performance predictor that provides the input to a memory
scheduler. The estimates are used by the memory scheduler to dynamically choose
the optimal target memory distribution for each application running in the system in
order to achieve the best overall performance.
Scheduling at a higher granularity allows simpler scheduler policies. This work studies
the feasibility of scheduling at OS page granularity. A conventional hardware-based
block interleaving and an OS-based page interleaving have been assumed as the baseline
schemes. From the comparison of the two baseline schemes, we have concluded
that only the performance of some applications is significantly affected by page-based
interleaving. The reasons that cause this impact on performance have been studied
and have provided the basis for the design of two OS-based memory allocation policies.
The first one, namely on-demand (OD), is a simple strategy that works by placing new
pages in local memory until this region is full, thus benefiting from the premise that
most of the accessed pages are requested and allocated before than the least accessed
ones to improve the performance. Nevertheless, in the absence of this premise for some
benchmarks, OD performs worse. The second policy, namely Most-accessed in-local
(Mail), is proposed to avoid this problem
URI: http://hdl.handle.net/10251/31639
Fecha: 2013-09-02