Paulo Orlando Reis Afonso Lopes a Shared-Disk

Paulo Orlando Reis Afonso Lopes a Shared-Disk

PAULO ORLANDO REIS AFONSO LOPES A SHARED-DISK PARALLEL CLUSTER FILE SYSTEM (“Um Sistema de Ficheiros Paralelos para Clusters de Disco Partilhado”) Dissertação apresentada para obtenção do Grau de Doutor em Informática Pela Universidade Nova de Lisboa, Faculdade de Ciências e Tecnologia LISBOA 2009 Agradecimentos Estas poucas linhas são o corolário de uns bons anos de trabalho, polvilhados aqui e ali por alegrias (e não só) e momentos inesquecíveis; são as últimas a serem escritas, mas nem por isso menos importantes: de facto, são-no de tal forma, que constituem a “abertura” desta dissertação. Em primeiro lugar, a minha gratidão a dois Professores do DI-FCT/UNL, que me convidaram para esta casa e são responsáveis pela completa mudança que se operou na minha vida – Profs. José Cardoso e Cunha e Pedro Medeiros; e a este último, em especial, um redobrar de agradecimentos por ter aceite a tarefa de me orientar ao longo destes anos. Também quero aproveitar para agradecer aos colegas que aceitaram distribuições assimétricas nas suas cargas de trabalho docente, permitindo que as minhas tarefas de docência se concentrassem e, nos outros períodos, me pudesse focar quase exclusivamente neste trabalho. Duas empresas contribuíram decisivamente com os seus donativos para a realização deste trabalho, que se iniciou numa infra-estrutura doada pela Lusitania, Companhia de Seguros, S.A. e, prosseguiu numa outra obtida através de uma candidatura bem sucedida ao programa IBM Shared University Research (SUR). Os meus agradecimentos a ambas, e em especial a Teresa Moradias, António Jorge Matos e Luís Esteves, da Lusitania CS; e a Filipa Valente e Luís Diniz dos Santos, da IBM Portugal. Foram vários os amigos e colegas a trabalhar em organismos e empresas que utilizam, ou são potenciais utilizadores dos paradigmas e/ou tecnologias aqui abordados, bem como outras que fazem destas o seu core business , e com os quais houve uma profícua troca de ideias e de experiências; destes gostaria de destacar, em especial Carlos Corredoura, da EMC Portugal. E, por último, à Lili, ao Pedro e à Ana Sofia... i ii Resumo O uso coordenado de múltiplos nós de computação ( clusters) como plataforma para resolver, em ambientes de cálculo de elevado desempenho (HPC), problemas de grande exigência computacional, ou para oferecer, em ambientes de Sistemas de Informação (SI), serviços fiáveis e tempos de resposta adequados é hoje uma solução indiscutível, em termos de custo/benefício. Os ambientes de HPC e SI são razoavelmente dissimilares, particularmente no que se refere a sistemas de ficheiros e as arquitecturas de armazenamento; em “ambientes HPC”, favorece- -se o uso de sistemas de ficheiros de elevado desempenho, em detrimento de outras características (não são, geralmente, compatíveis POSIX), e usam-se discos internos ou privados; em “ambientes SI”, preferem-se soluções de alta disponibilidade suportadas em armazenamento externo e, quando tal se revela necessário, sistemas de ficheiros para discos partilhados (CFS), desde que compatíveis POSIX (mesmo sacrificando o desempenho). O parallel Cluster File System (pCFS) é a nossa proposta para mudar este estado de coisas, usando o melhor de cada um: a fiabilidade dos CFSs e o excelente desempenho dos sistemas de ficheiros paralelos. Não se pretende conseguir máximos absolutos, mas tão somente uma compatibilidade total com a norma POSIX, versatilidade, e níveis de fiabilidade e desempenho suficientemente bons para uma utilização genérica – aplicações tradicionais e HPC, suporte de motores DBMS que armazenem dados em ficheiros, e streaming de vídeo. As ideias-chave para o pCFS são: • Caching cooperativo, uma técnica usada em sistemas de ficheiros para discos distribuídos que, tanto quanto sabemos, nunca foi usada em CFSs em SAN ou sistemas de ficheiros paralelos. Resulta daqui que o pCFS pode usar todas as infra-estruturas (LAN e SAN) para aceder a dados. • Locking de granularidade fina, que permite definir regiões disjuntas (ao nível do byte) num ficheiro podendo os processos, mesmo quando correm em nós distintos, nele ler e escrever em paralelo, à velocidade da infra-estrutura SAN (desde que não ocorram mudanças importantes na estrutura dos metadados). Construímos um protótipo sobre o GFS (um CFS da Red Hat), modificando ligeiramente o módulo GFS, acrescentando-lhe dois módulos de sistema suplementares, e ainda um terceiro, de nível utilizador. No protótipo, o locking de grão fino está integralmente realizado e a cache global é mantida coerente com transferências de fragmentos de páginas realizadas sobre LAN. Os testes efectuados para o caso de processos que correm em diferentes nós escrevendo sobre um mesmo ficheiro mostram que o pCFS tem um desempenho idêntico ao do Parallel Virtual File System (PVFS) e duas vezes superior ao do NFS, consumindo muito menos CPU que estes (cerca de 10 vezes); e que, quando comparado com o GFS, tem desempenhos que são 2 a 600 vezes superiores (para acessos de 4 MB e 4 KB, respectivamente) com idênticos consumos de CPU. iii iv Abstract Today, clusters are the de facto cost effective platform both for high performance computing (HPC) as well as IT environments. HPC and IT are quite different environments and differences include, among others, their choices on file systems and storage: HPC favours parallel file systems geared towards maximum I/O bandwidth, but which are not fully POSIX- -compliant and were devised to run on top of (fault prone) partitioned storage; conversely, IT data centres favour both external disk arrays (to provide highly available storage) and POSIX compliant file systems, (either general purpose or shared-disk cluster file systems, CFSs). These specialised file systems do perform very well in their target environments provided that applications do not require some lateral features, e.g., no file locking on parallel file systems, and no high performance writes over cluster-wide shared files on CFSs. In brief, we can say that none of the above approaches solves the problem of providing high levels of reliability and performance to both worlds. Our pCFS proposal makes a contribution to change this situation: the rationale is to take advantage on the best of both – the reliability of cluster file systems and the high performance of parallel file systems. We don’t claim to provide the absolute best of each, but we aim at full POSIX compliance, a rich feature set, and levels of reliability and performance good enough for broad usage – e.g., traditional as well as HPC applications, support of clustered DBMS engines that may run over regular files, and video streaming. pCFS’ main ideas include: • Cooperative caching, a technique that has been used in file systems for distributed disks but, as far as we know, was never used either in SAN based cluster file systems or in parallel file systems. As a result, pCFS may use all infrastructures (LAN and SAN) to move data. • Fine-grain locking, whereby processes running across distinct nodes may define non- overlapping byte-range regions in a file (instead of the whole file) and access them in parallel, reading and writing over those regions at the infrastructure’s full speed (provided that no major metadata changes are required). A prototype was built on top of GFS (a Red Hat shared disk CFS): GFS’ kernel code was slightly modified, and two kernel modules and a user-level daemon were added. In the prototype, fine grain locking is fully implemented and a cluster-wide coherent cache is maintained through data (page fragments) movement over the LAN. Our benchmarks for non-overlapping writers over a single file shared among processes running on different nodes show that pCFS’ bandwidth is 2 times greater than NFS’ while being comparable to that of the Parallel Virtual File System (PVFS), both requiring about 10 times more CPU. And pCFS’ bandwidth also surpasses GFS’ (600 times for small record sizes, e.g., 4 KB, decreasing down to 2 times for large record sizes, e.g., 4 MB), at about the same CPU usage. v vi Table of Contents Motivation and Background 1 Introduction........................................................................................................1 1.1 The evolution of high performance computing architectures ....................1 1.2 Bottlenecks: when reality crushes in..........................................................1 1.3 The I/O bottlenecks....................................................................................2 1.4 High availability.........................................................................................2 2 I/O Intensive Applications .................................................................................3 2.1 Who needs high-performance I/O?............................................................3 2.2 Scientific applications................................................................................3 2.3 Database applications.................................................................................4 2.4 Multimedia applications.............................................................................5 2.5 High performance I/O for all: the case for shared disk storage .................6 3 Dissertation Focus..............................................................................................6 3.1 Problem statement......................................................................................6 3.2 Contributions..............................................................................................7 3.3 Organization...............................................................................................7

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    256 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us