Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1607 connectés 

  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Infrastructures serveurs

  Simuler un seul thread sur plusieurs cores ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Simuler un seul thread sur plusieurs cores ?

n°114936
ShonGail
En phase de calmitude ...
Posté le 07-10-2013 à 14:28:50  profilanswer
 

Bonjour,
 
Dans le cas d'un process mono-thread, est-il possible de lui fournir plus de Ghz en simulant un seul thread qui s'appuie derrière sur du multi-cores ?
En gros, on permet le multi threading à un process qui ne le gère pas.  
 
Merci.

mood
Publicité
Posté le 07-10-2013 à 14:28:50  profilanswer
 

n°114947
Je@nb
Modérateur
Kindly give dime
Posté le 07-10-2013 à 16:56:15  profilanswer
 

je ne pense pas

n°114951
ShonGail
En phase de calmitude ...
Posté le 07-10-2013 à 17:43:39  profilanswer
 

Dommage.
Pour corroborer, mes recherches ne sont pas très concluantes :(

n°114955
ShonGail
En phase de calmitude ...
Posté le 07-10-2013 à 18:58:35  profilanswer
 

Oui j'ai vu des posts de 2007 qui mentionnaient ce genre de recherche chez AMD.
Dommage bis :o


Message édité par ShonGail le 07-10-2013 à 18:58:46
n°114998
awmoon
Posté le 08-10-2013 à 23:05:32  profilanswer
 

Il n'y a que le maximiser le turboboost et desactiver l'hyperthreading qui te permettent de tirer le plus de performance d'un seul thread/core (donc privilégier un CPU avec gros TDP et ayant potentiellement beaucoup de cores pour bénéficier d'un coefficient multiplication turboboost important).
 
Egalement, binder le thread sur un core exclusivement utilisé par celui-ci et augmenter sa priorité donne encore potentiellement un petit avantage.
 
Ainsi, il m'arrive de devoir utiliser un E5-2690 pour une appli mono ou bithreadée afin de bénéficier d'une frequence élevée (pratique dans le cas d'un applicatif très onereux dont le licencing est instancié au core).

n°115001
slywalker
Posté le 09-10-2013 à 08:44:18  profilanswer
 

awmoon a écrit :

Ainsi, il m'arrive de devoir utiliser un E5-2690 pour une appli mono ou bithreadée afin de bénéficier d'une frequence élevée (pratique dans le cas d'un applicatif très onereux dont le licencing est instancié au core).


Au hasard : Oracle ?  :D


Message édité par slywalker le 09-10-2013 à 08:44:31
n°115003
fourbe2
C'est du sarcasme ?
Posté le 09-10-2013 à 09:16:13  profilanswer
 

drapal
 
Oracle ne sait pas faire utiliser plusieurs cores ?

n°115016
Je@nb
Modérateur
Kindly give dime
Posté le 09-10-2013 à 11:58:29  profilanswer
 

si mais faut payer :D

n°115046
awmoon
Posté le 10-10-2013 à 01:03:40  profilanswer
 

Effectivement, Oracle fait parti de la liste, les versions enterprise SGBD ou middleware fusion étant licenciées sur une notion de processeur oracle ( = 2 cores x86 par exemple).

n°115047
ShonGail
En phase de calmitude ...
Posté le 10-10-2013 à 08:49:35  profilanswer
 

awmoon a écrit :

Il n'y a que le maximiser le turboboost et desactiver l'hyperthreading qui te permettent de tirer le plus de performance d'un seul thread/core (donc privilégier un CPU avec gros TDP et ayant potentiellement beaucoup de cores pour bénéficier d'un coefficient multiplication turboboost important).
 
Egalement, binder le thread sur un core exclusivement utilisé par celui-ci et augmenter sa priorité donne encore potentiellement un petit avantage.
 
Ainsi, il m'arrive de devoir utiliser un E5-2690 pour une appli mono ou bithreadée afin de bénéficier d'une frequence élevée (pratique dans le cas d'un applicatif très onereux dont le licencing est instancié au core).


 
Merci pour ta réponse.
 
Je ne savais pas que l'hyperthreading pouvait jouer. Ca me parait logique remarque ...
Pour le turboboost, tu parles du mode "turbo" des CPU Intel ? Ici je vois l'intérêt du TDP vu qu'il conditionne la montée en fréquence ou non mais je ne vois pas l'intérêt du nombre de cores.
 
Dans les Xeon, un modèle comme celui-ci : http://ark.intel.com/fr/products/7 [...] e-3_70-GHz est-il un bon choix pour du mono-thread ou il existe mieux ?

mood
Publicité
Posté le 10-10-2013 à 08:49:35  profilanswer
 

n°115078
awmoon
Posté le 10-10-2013 à 22:18:37  profilanswer
 

Plusieurs choses à prendre en compte :
 
- Le serveur dans lequel le CPU sera installé, généralement un bisocket dans impose un CPU de la gamme E5-26XX
- La fréquence mémoire, à maximiser si l'appli est memory intensive (1866MHz vs 1600MHz sur cette génération)
- La taille du cache L3, unifiée dans l'archi Ivy Bridge donc un seul thread aura tout le cache L3 à disposition
 
Pourquoi les modèles avec les plus de cores ? Car ce sont ceux qui ont une dégressivité moins rapide du coef multiplicateur du turboboost.
 
Exemple :
Intel® Xeon® E5-2680 (2.7GHz/8-core/20MB/8.0GT-s QPI/130W, DDR3-1600, HT, Turbo2- 4/4/5/5/5/7/8/8)
Intel® Xeon® E5-2667 (2.9GHz/6-core/15MB/8.0GT-s QPI/130W, DDR3-1600, HT, Turbo2- 3/3/3/4/5/6)
 
Les chiffres après la mention Turbo2 indique le coef supplementaire apporté par le turboboost en fonction du nombre de cores sollicités.
3/3/3/4/5/6 => +3x100MHz avec 6 cores utilisés,+3x100MHz avec 5 cores utilisés,+3x100MHz avec 4 cores utilisés,+4x100MHz avec 3 cores utilisés,+5x100MHz avec 2 cores utilisés,+6x100MHz avec 1 core utilisé
 
Ce qui donne avec ces 2 références :
 
Avec 1 thread :
E5-2680 => 3.5GHz
E5-2667 => 3.5GHz
 
Avec 2 threads :
E5-2680 => 3.5GHz
E5-2667 => 3.4GHz
 
Avec 3 threads :
E5-2680 => 3.4GHz
E5-2667 => 3.3GHz
 
Le E5-2680 a donc toujours l'avantage de part son cache L3 (20MB vs 15MB) mais également que l'application soit monothread (turboboost moins dégressif) ou multithread (8 vs 6 codes).  
 
Ainsi, dans un cas d'une appli monothread, avec 1 core supplémentaire à prévoir pour l'OS, la référence que tu indiques est donc intéressante, sinon voir pour un E5-2667v2 sur une plateforme dual socket, qui t'apporte également 25MB cache L3 au lieu des 15MB du E5-1660v2.

n°115079
awmoon
Posté le 10-10-2013 à 23:18:23  profilanswer
 

Petit run rapide avec calcul de PI à 500M de decimals en monothread entre un E5-2643 et un E5-2690 (pas de v2 sous la main de dispo)
 
E5-2643 (4-cores 3.3GHz + 10MB L3): 885.793 seconds
E5-2690 (8-cores 2.9GHz + 20MB L3): 847.138 seconds
 
Le 8-cores gagne de 5% avec une fréquence de départ pourtant plus faible de plus de 10%.
 


============================================
  E5-2643
============================================
 
Version:          0.5.5 Build 9187 (fix 2) (x64 SSE4.1 - Linux ~ Ushio)
Processor(s):     Intel(R) Xeon(R) CPU E5-2643 0 @ 3.30GHz
Logical Cores:    8
Physical Memory:  67,515,035,648 ( 62.8 GB )
CPU Frequency:    3,291,615,712 Hz  (frequency may be inaccurate)
 
Summing Series:  35,256,838 terms
Time:    728.744 seconds  ( 0.202 hours )
InvSqrt...
Time:    23.105 seconds  ( 0.006 hours )
Final Multiply...
Time:    14.579 seconds  ( 0.004 hours )
 
Pi:  766.428 seconds  ( 0.213 hours )
 
 
Constructing Base Conversion Table:
Time:    2.962 seconds  ( 0.001 hours )
Base Converting:
Time:    116.375 seconds  ( 0.032 hours )
 
Writing Decimal Digits:   500,000,000  digits written
 
Verifying Base Conversion...
Time:    18.339 seconds  ( 0.005 hours )
 
 
End Time:   Thu Oct 10 22:58:54 2013
 
Total Computation Time:             885.793 seconds  ( 0.246 hours )
Total Time (with output + verify):  906.231 seconds  ( 0.252 hours )
 
CPU Utilization:        99.9511 %
Multi-core Efficiency:  12.4939 %
 
Last Digits:  Pi
3896531789 0364496761 5664275325 5483742003 7847987772  :  499,999,950
5002477883 0364214864 5906800532 7052368734 3293261427  :  500,000,000
 
Socket [0] - [physical cores=4, logical cores=8, max online cores ever=4]
  TURBO ENABLED on 4 Cores, Hyper Threading ON
  True Frequency 3390.73 MHz (99.73 x [34])
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is  35x/35x/34x/34x
  Current Frequency 3490.10 MHz [99.73 x 35.00] (Max of below)
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %   C7 %  Temp
        Core 1 [0]:       3490.10 (35.00x)      99.9       0       0       0       0    41
        Core 2 [1]:       3475.04 (34.85x)         1       0       1       0    98.8    32
        Core 3 [2]:       3448.08 (34.58x)         1    0.883      0       0    98.7    31
        Core 4 [3]:       3434.11 (34.43x)         1    0.501      0       0    99.3    30
 



 
============================================
  E5-2690
============================================
 
Version:          0.5.5 Build 9187 (fix 2) (x64 SSE4.1 - Linux ~ Ushio)
Processor(s):     Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
Logical Cores:    16
Physical Memory:  67,515,035,648 ( 62.8 GB )
CPU Frequency:    2,892,611,440 Hz  (frequency may be inaccurate)
 
Summing Series:  35,256,838 terms
Time:    701.683 seconds  ( 0.197 hours )
InvSqrt...
Time:    21.964 seconds  ( 0.006 hours )
Final Multiply...
Time:    13.713 seconds  ( 0.004 hours )
 
Pi:  747.360 seconds  ( 0.208 hours )
 
 
Constructing Base Conversion Table:
Time:    2.769 seconds  ( 0.001 hours )
Base Converting:
Time:    106.982 seconds  ( 0.030 hours )
 
Writing Decimal Digits:   500,000,000  digits written
 
Verifying Base Conversion...
Time:    17.205 seconds  ( 0.005 hours )
 
 
End Time:   Thu Oct 10 22:58:26 2013
 
Total Computation Time:             847.138 seconds  ( 0.238 hours )
Total Time (with output + verify):  866.366 seconds  ( 0.243 hours )
 
CPU Utilization:        99.9792 %
Multi-core Efficiency:  6.2487 %
 
Last Digits:  Pi
3896531789 0364496761 5664275325 5483742003 7847987772  :  499,999,950
5002477883 0364214864 5906800532 7052368734 3293261427  :  500,000,000
 
Socket [0] - [physical cores=8, logical cores=16, max online cores ever=8]
  TURBO ENABLED on 8 Cores, Hyper Threading ON
  True Frequency 2991.72 MHz (99.72 x [30])
  Max TURBO Multiplier (if Enabled) with 1/2/3/4/5/6 Cores is  38x/36x/36x/34x/34x/33x
  Current Frequency 3773.58 MHz [99.72 x 37.84] (Max of below)
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %   C7 %  Temp
        Core 1 [0]:       3519.63 (35.29x)         1    0.897      1       0    97.7    32
        Core 2 [1]:       3509.24 (35.19x)         1    2.26       1       0    96.4    33
        Core 3 [2]:       3513.64 (35.23x)         1       0       1       0    99.2    33
        Core 4 [3]:       3773.58 (37.84x)        99       0       0       0       0    43
        Core 5 [4]:       3451.07 (34.61x)         1    0.178      0       0    99.6    36
        Core 6 [5]:       3454.76 (34.64x)         1    0.351      0       0    99.5    32
        Core 7 [6]:       3491.00 (35.01x)         1    0.245      0       0    99.5    34
        Core 8 [7]:       3523.58 (35.33x)         1    0.417      0       0    99.2    34


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Infrastructures serveurs

  Simuler un seul thread sur plusieurs cores ?

 

Sujets relatifs
nom dns qui change d'ip tout seul ou qui disparaitIMC : monitoring sur plusieurs ressources
Sauvegarde plusieurs dossiers NAS D-linkUne passerelle et plusieurs VLAN sur ProCurve
Plusieurs tâches sur même bande LTO ?(Résolu) Configurer plusieurs serveur de temps sous WS2003
Acces simultané à plusieurs serveurs VPN ?empécher l'application d'un GPO sur un seul poste
[RESOLU] Simuler un crash d'un serveur Active Directory.PABX Ericsson MD Evolution: plusieurs musiques d'attente ?
Plus de sujets relatifs à : Simuler un seul thread sur plusieurs cores ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR