Exportar registro bibliográfico


Metrics:

Parallelizing Git Checkout: a case study of I/O parallelism on desktop applications (2022)

  • Authors:
  • Autor USP: BERNARDINO, MATHEUS TAVARES - IME
  • Unidade: IME
  • Sigla do Departamento: MAC
  • DOI: 10.11606/D.45.2022.tde-31082022-210254
  • Subjects: PROGRAMAÇÃO PARALELA; ARQUIVOS DE COMPUTADOR; REDES DE COMPUTADORES; DESENVOLVIMENTO DE SOFTWARE
  • Keywords: Git; Network file systems; Paralelismo em E/S; Parallel I/O; Parallel programming; Sistemas de arquivos em rede; Sistemas de controle de versões; Version control systems
  • Agências de fomento:
  • Language: Inglês
  • Abstract: Sistemas de controle de versões (SCV) são ferramentas que monitoraram e gerenciam as alterações feitas em um conjunto de arquivos ao longo do tempo. De forma mais abrangente, SCVs também podem contribuir para moldar e gerir fluxos de colaboração, encontrar e corrigir bugs, relembrar as motivações por trás de determinada alteração de código, etc. Apesar de tipicamente poderem monitorar qualquer tipo de dados, sistemas de controle de versão trazem benefícios importantíssimos para projetos de software e, com isso, se tornaram prática padrão neste campo. Dentre as ferramentas de SCV disponíveis atualmente, o Git é o mais popular entre desenvolvedores. A ferramenta é utilizada hoje para versionar desde pequenos projetos pessoais, com alguns megabytes de tamanho, até repositórios corporativos massivos com mais de 300 GB e 3,5 milhões de arquivos. Por esse motivo, velocidade e escalabilidade estão entre as principais prioridades para a comunidade de desenvolvimento do Git. No entanto, o desempenho da ferramenta por vezes se encontra aquém do desejado em sistemas de arquivos em rede (NFS), onde operações de entrada e saída (E/S) costumam ser mais custosas. Em particular, uma operação do Git que sofre com estes custos é o checkout, que é responsável por restaurar arquivos de versões específicas de um projeto. Diversas otimizações foram empregadas em códigos relacionados à operação de checkout ao longo do tempo, mas o processamento sequencial dos arquivos ainda trazia uma penalidadede tempo grande para NFS, além de ser subótimo para sistemas de arquivo locais em SSDs. Neste projeto, trabalhamos para paralelizar o maquinário de checkout do Git, resultando em speedups de até 4,5x em NFS e 3,6x em SSDs. Também estudamos como o paralelismo afeta as tarefas de E/S realizadas pela operação de checkout em diferentes máquinas e dispositivos de armazenamento. A funcionalidade de checkout paralelo foi incorporada ao repositório upstream do Git e disponibilizada para todos os usuários da ferramenta na sua versão 2.32.0, que foi lançada em Junho de 2021
  • Imprenta:
  • Data da defesa: 13.07.2022
  • Acesso à fonteAcesso à fonteDOI
    Informações sobre o DOI: 10.11606/D.45.2022.tde-31082022-210254 (Fonte: oaDOI API)
    • Este periódico é de acesso aberto
    • Este artigo é de acesso aberto
    • URL de acesso aberto
    • Cor do Acesso Aberto: gold
    • Licença: cc-by-nc-sa

    How to cite
    A citação é gerada automaticamente e pode não estar totalmente de acordo com as normas

    • ABNT

      BERNARDINO, Matheus Tavares. Parallelizing Git Checkout: a case study of I/O parallelism on desktop applications. 2022. Dissertação (Mestrado) – Universidade de São Paulo, São Paulo, 2022. Disponível em: https://www.teses.usp.br/teses/disponiveis/45/45134/tde-31082022-210254/. Acesso em: 14 maio 2024.
    • APA

      Bernardino, M. T. (2022). Parallelizing Git Checkout: a case study of I/O parallelism on desktop applications (Dissertação (Mestrado). Universidade de São Paulo, São Paulo. Recuperado de https://www.teses.usp.br/teses/disponiveis/45/45134/tde-31082022-210254/
    • NLM

      Bernardino MT. Parallelizing Git Checkout: a case study of I/O parallelism on desktop applications [Internet]. 2022 ;[citado 2024 maio 14 ] Available from: https://www.teses.usp.br/teses/disponiveis/45/45134/tde-31082022-210254/
    • Vancouver

      Bernardino MT. Parallelizing Git Checkout: a case study of I/O parallelism on desktop applications [Internet]. 2022 ;[citado 2024 maio 14 ] Available from: https://www.teses.usp.br/teses/disponiveis/45/45134/tde-31082022-210254/


Digital Library of Intellectual Production of Universidade de São Paulo     2012 - 2024