• [^] # Re: Remarque à la c...

    Posté par . En réponse à la dépêche Servo fin 2015 : où en est-on ?. Évalué à 4.

    Je ne connais pas bien la techno derrière DCM sur Haswell (je veux dire, au niveau micro-électronique), mais le papier que j'ai donné en référence confirme plus ou moins ce que tu dis à propos de DVFS: c'est tros « gros grain » pour être utile dans des cas de calcul intensif avec des changements de « phase » trop rapprochés. Par exemple, si des threads attendent tous à une barrière, utiliser DVFS et baisser la fréquence/la tension risquent de ne rien apporter, vu que le temps passé à basculer d'une fréquence à l'autre est grosso-modo celui passé dans la barrière. Par contre, en passant par DCM, vu qu'on n'a qu'à attendre, c'est plus ou moins logique de faire une boucle d'attente active qui suspend l'horloge.

    J'ai parlé avec les auteurs du papier en question, et ils ont des applications même pour les comms entre nœuds de calcul, genre des nœuds connectés avec de l'Infiniband (et donc de courtes latences).

    Intel a vraiment fait beaucoup de progrès niveau gestion d'énergie et puissance. Pas seulement avec les P-state, C-state, etc., mais aussi avec les « boutons » qu'on peut utiliser en tant que root (ou avec un driver). C'est juste qu'ils doivent composer avec des aspects sécurité difficiles à gérer (genre timing attacks, tout ça). Leurs cœurs sont de plus en plus indépendants en termes de gestion de fréquence, tension, et gestion de l'horloge. Ils ont aussi développé tout un tas de trucs pour permettre de n'activer que les fils qui sont intéressants même pour des opérations flottantes (genre instruction FMA qui n'active que 16, 32, ou 64 fils et les composants associés en fonction de la précision voulue pour l'opération). Je ne sais pas s'ils l'ont déjà intégrée pour les instructions SSE/AVX/blah, mais en tout cas ils avaient un papier en 2012 pour expliquer le principe, avec les chiffres concernant la réduction en conso d'énergie statique et dynamique.

    Si tu lis le manuel d'Intel, section 14.5.1, ils décrivent les instructions pour utiliser la DCM. D'après cette thèse on a une notion de modulation de cycle d'horloge depuis au moins le Pentium 4, mais l'utilisation des « C-States » est récente.