Resumen:
|
[ES] La compartición de recursos tiene un gran impacto en las prestaciones de los procesadores
multinúcleo actuales. Entre los recursos compartidos del sistema, la memoria caché
de último nivel o Last Level Cache (LLC) ...[+]
[ES] La compartición de recursos tiene un gran impacto en las prestaciones de los procesadores
multinúcleo actuales. Entre los recursos compartidos del sistema, la memoria caché
de último nivel o Last Level Cache (LLC) es uno de los más críticos, ya que las interferencias
entre las aplicaciones que acceden a ella provocan un incremento de los accesos a
memoria principal, que conllevan altas latencias. Estas latencias bloquean el procesador,
y por ende, penalizan en gran medida las prestaciones.
Para ayudar a aliviar este problema, los procesadores actuales incluyen una LLC de
gran tamaño. Aun así, las interferencias pueden continuar afectando severamente a ciertas
aplicaciones, por ejemplo, aquellas con grandes necesidades de caché. Por esta razón,
procesadores comerciales recientes como algunos de las últimas generaciones de Intel
implementan Cache Allocation Technology (CAT), una tecnología que permite particionar
la LLC y repartir su espacio, en concreto, asignar subconjuntos de vías a grupos de aplicaciones.
Este Trabajo fin de grado propone una política de particionado de la LLC, simple y
de baja sobrecarga, utilizando CAT, con el fin de mejorar las prestaciones de cargas mutiprograma.
La política identifica y protege, en tiempo de ejecución, a aquellas aplicaciones
cuyas prestaciones se ven más perjudicadas por la compartición de la LLC. Como paso
previo, se caracterizan las aplicaciones, en lo que requerimientos de la LLC se refiere, para
establecer patrones de comportamiento que servirán de base para el posterior diseño
del algoritmo. La política propuesta se integra en el software existente de una máquina
real con un procesador multinúcleo Intel Xeon que incorpora la tecnología CAT. Para
su implementación ha sido necesario familiarizarse con el entorno existente y así poder
realizar una correcta modificación del software.
Los resultados experimentales muestran que la propuesta de este trabajo comparada
con el sistema operativo Linux nativo sin realizar ningún particionado de la LLC, mejora
el tiempo de ejecución o turnaround time en un 15 % de media, y hasta en un 40 % en algunas
cargas. Además, se han mejorado otros parámetros del sistema como la inequidad
o unfairness y el consumo de energía.
[-]
[EN] Resource sharing has a great impact on performance in current multicore processors.
Among these shared resources, the Last Level Cache (LLC) is one of the most critical,
as interferences of applications accessing ...[+]
[EN] Resource sharing has a great impact on performance in current multicore processors.
Among these shared resources, the Last Level Cache (LLC) is one of the most critical,
as interferences of applications accessing it cause an increase in main memory accesses,
leading to high latencies. These latencies block the processor, and thus penalizes performance
significantly.
To help alleviate this issue, current processors implement huge LLCs, but even so,
interferences can still harm severely certain applications, for example, those with major
needs for cache space. For this reason, current commercial processors like Intel last generation
processors feature Cache Allocation Technology (CAT), a technology that allows
partitioning the LLC and distributing its space, in particular, subsets of cache ways to
groups of applications.
This Degree final work proposes a LLC partitioning policy, simple and with low overhead,
which leverages CAT and improves the performance of multiprogram workloads.
This approach identifies and protects, at execution time, those applications whose performance
is more damaged by LLC sharing. As a preliminary step, applications are characterized,
in terms of LLC requirements, to establish behavior patterns which will serve as
a basis for the subsequent design of the algorithm. The proposed policy is included in an
existing software of a real machine with an Intel Xeon multicore processor that features
CAT. To ensure proper implementation, it has been necessary to become acquainted with
the existing framework in order to carry out the software modifications successfully.
Experimental results show that the approach presented in this work, compared with
a Linux baseline system without partitioning, improves turnaround time on average by
15%, and up to 40% in some workloads. Additionally, other system parameters like unfairness
or energy consumption have been improved.
[-]
|