Estudos de técnicas de virtualização de memória em arquiteturas multi-core

Made available in DSpace on 2016-06-02T19:06:14Z (GMT). No. of bitstreams: 1 6202.pdf: 2303544 bytes, checksum: f49c225976e9069a96200021080e9dfa (MD5) Previous issue date: 2010-08-29 === The use of computer virtualization has grown rapidly in recent years, motivating the research for software and...

Full description

Bibliographic Details
Main Author: Vivencio, Diego Pagliarini
Other Authors: Trevelin, Luis Carlos
Format: Others
Language:Portuguese
Published: Universidade Federal de São Carlos 2016
Subjects:
Online Access:https://repositorio.ufscar.br/handle/ufscar/572
Description
Summary:Made available in DSpace on 2016-06-02T19:06:14Z (GMT). No. of bitstreams: 1 6202.pdf: 2303544 bytes, checksum: f49c225976e9069a96200021080e9dfa (MD5) Previous issue date: 2010-08-29 === The use of computer virtualization has grown rapidly in recent years, motivating the research for software and hardware improvements to optimize performance and reduce the bottlenecks inherent of virtualization. In the middle of this decade, the processors has added support for CPU virtualization, simplifying the design of virtual machine monitors, but the employed approach had performance limitations when combined with the virtualization of memory using shadow page tables. Adding support for nested paging hardware was the answer to this problem, providing performance closer to the native, ie, without the virtual abstraction. The multicore processors were the solution to keep the microprocessors' performance growth , as the monolithic architectures were close to their limit. The use of virtualization allows exploiting parallelism offered by them through the simultaneous execution of multiple virtual machines. This study evaluates the virtualization of memory subsystem and its interaction with the multicore architectures, to determine the set of features that maximize performance. We evaluated shadow and nested paging, comparing the use of conventional and large pages to map virtualized memory. We also analyzed the influence due to the presence of a level of cache shared among cores. The results showed that in the evaluated scenario the best performance was achieved by using nested paging using large pages to map memory, while the additional level of cache didn't bring any specific benefits to virtualization. === O uso de virtualização de computadores vem crescendo rapidamente nos últimos anos, motivando a pesquisa de melhorias em software e hardware que permitam aumento de desempenho e a redução dos gargalos inerentes à virtualização. Em meados desta década, os processadores adicionaram suporte a virtualização de CPU, simplificando o projeto dos monitores de máquinas virtuais, porém o modelo adotado apresentava restrições de desempenho quando combinado com a virtualização de memória utilizando tabelas de páginas de sombra. A inclusão de suporte a paginação aninhada em hardware foi a resposta a esse problema, oferecendo desempenho mais próximo ao nativo, isto é, sem a abstração virtual. Os processadores com múltiplos núcleos, também conhecidos como multi-core, foram a solução encontrada para manter o aumento de desempenho dos microprocessadores, visto que as arquiteturas monolíticas estavam próximo ao seu limite. A utilização de virtualização permite explorar o paralelismo oferecido por eles através da execução simultânea de múltiplas máquinas virtuais. O presente trabalho avalia o subsistema de virtualização de memória e sua interação com as arquiteturas multi-core, visando determinar o conjunto de características que maximizem o desempenho. Foram avaliadas as paginações de sombra e aninhada, comparando a utilização de páginas convencionais e grandes para o mapeamento da memória virtualizada. Também foi avaliada a influência decorrente da presença de um nível de memória cache compartilhado entre os núcleos de processamento. Os resultados mostraram que no cenário avaliado o melhor desempenho foi obtido através de utilização de paginação aninhada utilizando páginas grandes para o mapeamento da memória, enquanto que o nível adicional de memória cache não trouxe benefícios específicos à virtualização.