[GTER] Aumento de Energia para DataCenter

Luiz Otavio O Souza lists.br at gmail.com
Thu Mar 5 16:19:36 -03 2015


2015-03-04 11:42 GMT-03:00 Carlos Ribeiro:
> Luiz,
>
> Acho que não ficou claro para mim também como o RTC interno não fará
> diferença nesse caso...
>
> O NTP pode fazer todo trabalho dele, mas tem que ter um RTC interno para
> dar a referência local e ser ajustado pelo NTP. Posso estar redondamente
> enganado (não é minha especialidade) mas acho que o NTP não conta o tempo
> sozinho.
>
> Se a CPU contar o tempo por meios mais simples (ex: interrupções de
> software para computar o tempo, como era no PC original) então não precisa
> do RTC mas o NTP certamente terá muito mais trabalho para corrigir
> permanentemente o relógio em questão.
>
> *Carlos Ribeiro*
> *Sócio*
> Cel: +55 (31) 9303-3366
> Tel: +55 (31) 3305-5620
> Geral: +55 (31) 3305-5600
> cribeiro at telbrax.com.br
> www.telbrax.com.br

Carlos,

O RTC não é usado como referencia de tempo para o SO, porque ele prove
uma resolução extremamente baixa (1 segundo) e nos dias de hoje,
algumas milhões de instruções são processadas nesse segundo,
literalmente.

Uma CPU moderna precisa ser capaz de manter o tempo com boa precisão
na casa dos us e com alguma precisão na casa dos ns.

O RTC não ajuda aqui e por isso não pode ser utilizado como referencia
de tempo para o SO.

O SO utiliza algum dos timers disponíveis no hardware, um com
resolução suficiente para essa função e um que não vai ser desligado
quando a CPU esta em modo de economia de energia por exemplo.

Esse timer é alimentado por um clock que pode ser o clock do sistema
(o mesmo da CPU) ou uma referencia externa (os próprios RTCs possuem
uma referencia de 32.768 kHz, os 10 MHz do GPS, ou alguma outra
referencia conhecida e estável). Quanto melhor a referencia aqui,
melhor será a estabilidade do tempo mantido pelo SO.

Dessa forma a CPU sabe exatamente quantos ciclos se passaram desde a
ultima leitura até a leitura atual nesse timer e partindo de uma boa
precisão da freqüência de clock você tem o tempo exato decorrido entre
as leituras.

O tempo do RTC é utilizado pelo SO apenas no boot do sistema para
acertar o tempo (mantido pelo SO) com a hora local e só isso, depois o
SO mantém o tempo por conta própria, como explicado acima.

O trabalho do NTP é sempre o mesmo, pois ele aprende a disciplinar o
relógio do sistema, seja o erro qual for (desde que em uma razão
constante).

Esse é o problema dos ambientes virtualizados (guests) em que o SO não
consegue manter o tempo adequadamente, pois a emulação desses timers
via software deixa bastante a desejar (muito jitter).

HTH,
Luiz



More information about the gter mailing list