2.2. Ticket Spinlocks


Uma parte chave de qualquer design de sistema é assegurar que um processo não altere a memória utilizada pelo outro processo. As mudanças de dados que não podem ser controladas em memória podem resultar em danos de dados e travamento de sistema. Para evitar isto, o sistema operacional permite que um processo trave uma parte da memória, realize a operação e destrave ou "libere" a memória.
Uma implementação comum de trava de memória é através do spin locks, que permite que um processo continue verificando para ver se uma trava está disponível e pegá-la assim que estiver. Caso exista processos múltiplos competindo por uma mesma trava, a primeira requisição após ter sido liberada ganha. Quando todos os processos possuirem o mesmo acesso à memória, a situação será "justa" e funcionará bem.
Infelizmente, em um sistema NUMA, nem todos os processos têm igualdade de acesso aos bloqueios. Processos no mesmo nó NUMA como o bloqueio, possuem uma vantagem injusta na obtenção do bloqueio. Processos sobre nós NUMA remotos experimentam a falta de bloqueio e desempenho degradado.
Para solucionar este problema, o Red Hat Enterprise Linux implementou o ticket spinlocks. Este recurso adiciona um mecanismo de fila de reserva à trava, permitindo que todos os processos obtenham uma trava na ordem com a qual requisitarem -na. Isto elimina os problemas de tempo e vantagens injustas nas requisições de bloqueio.
Embora o ticket spinlock possua mais cabeçalho do que um spinlock comum, ele escala melhor e provê melhor desempenho em sistemas NUMA.
Red Hat logoGithubRedditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja oBlog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

© 2024 Red Hat, Inc.