Toon posts:

SQL 2000 windows 2003 en Hyperthreading

Pagina: 1
Acties:

Verwijderd

Topicstarter
Wij hebben een database server op basis van een HP proliant ML530 (4 Gb ram RAID5 10K scsi schijven). Hierop is windows 2003 geinstalleerd en is blijkbaar aangegeven dat hij moet hyperthreaten. Er zit 1 CPU in en deze wordt keurig opgedeeld in 2 CPU's.

Nu doet deze server niets anders als MSSQL 2000 server spelen. (voor Axapta 3 tier oplossing). Bij heftige query's gaat het proces sqlserv.exe precies 50% belasting genereren. Er blijft dus constant 40% idle.

Dit is toch niet de bedoeling, op deze manier is onze server gratis en voor niets 2x zo langzaam. Welk genie heeft dit bedacht? En nog belangrijker, is dit uit te schakelen en welke problemen kan ik hiermee verwachten? Als je 2 CPU's in je server hebt snap ik dat je dat opdeeld. Maar om 1 CPU op te delen vind ik beetje waanzin. Zeker als de server slechts 1 proces welke CPU intensief is uitvoerd.

Mocht dit niet lukken, is het dan mogelijk om SQLserver over 2 virtuele CPU's te laten draaien?

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 00:19
Weet je zeker dat het een hyperthreading cpu is? Een hyperthreading cpu moet ook makkelijk gewoon 100% cpu kunnen pakken.

Roomba E5 te koop


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Leesvoer over HT icm SQL Server2000: http://www.microsoft.com/sql/howtobuy/SQLonHTT.doc

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Rolfie
  • Registratie: Oktober 2003
  • Laatst online: 21:37
Is SQL wel geconfigueerd dat hij beide processoren mag gebruiken?
Dit is toch niet de bedoeling, op deze manier is onze server gratis en voor niets 2x zo langzaam.
Als bij 2 proccessoren 1 processor 100% belast wordt heb je totaal 50% belasting. Bij 100% belasting moeten beide processoren dus ook volledig belast worden.
Welk genie heeft dit bedacht?
Waarschijnlijk een genie die voldoende google heeft gebruiken en voldoende zelf onderzocht :Y)

[ Voor 77% gewijzigd door Rolfie op 10-08-2005 16:21 ]


Verwijderd

Je kan het in de bios uitzetten.

  • DJ
  • Registratie: Januari 2000
  • Laatst online: 15-02 17:31

DJ

Ja en dat heeft dus geen zin.

HT moet je gewoon aan laten staan. SQL Server ziet die 2e virtuele processor en heeft daar een licentie voor nodig. Volgens mij is er een patch voor zodat hij een HT CPU ziet als één CPU in plaats van twee CPU's.

Bij DataBase Software (MS-SQL, Oracle, etc.) betaal je vaak per processor een licentie.

Heb je op je SQL2000 wel Service Pack 3 geinstalleerd? Daar zit detectie logica in die controleerd of de CPU een echte DUAL is of een HT.

In dat documentje dat hierboven in een post staat (Word DOC'je) staat precies uitgelegd hoe het zit.

Succes!

[ Voor 11% gewijzigd door DJ op 10-08-2005 16:31 ]

Als er geen Religie's zouden zijn, dan waren we allemaal gewoon mensen geweest


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
DJ schreef op woensdag 10 augustus 2005 @ 16:30:
[...]


HT moet je gewoon aan laten staan. SQL Server ziet die 2e virtuele processor en heeft daar een licentie voor nodig. !
Nee, dat is niet waar. Microsoft heeft een uitzondering gemaakt voor HT cpu's. Daar hoef je geen 2e licentie voor te nemen.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • DJ
  • Registratie: Januari 2000
  • Laatst online: 15-02 17:31

DJ

Inderdaad . . . ik bedoelde dat je normaal gesproken voor elke CPU een licentie moet hebben.

Maar thanx om het even verder te verduidelijken ;)

Als er geen Religie's zouden zijn, dan waren we allemaal gewoon mensen geweest


Verwijderd

Het is geen hyperthreating maar hyperthreading. Hyperthreating is 'hyperbedreiging' :P

Verwijderd

Verwijderd schreef op woensdag 10 augustus 2005 @ 16:47:
Het is geen hyperthreating maar hyperthreading. Hyperthreating is 'hyperbedreiging' :P
LOL :)

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Kan dit je niet verder helpen? :
Een Pentium4 / Xeon met Hyperthreading zal met één stressprogramma virtueel voor slechts 50% belast zijn en pas met twéé stressprogramma's zal de CPU virtueel voor 100% belast zijn. De belasting kun je in de Taakbeheer checken. In de tabblad Prestaties kun je via Beeld, Geschiedenis van CPU kiezen voor 1 grafiek per CPU, dan zul je de belasting per virtuele processor kunnen zien.

Werking en performance: met Hyperthreading kan de CPU twee threads min of meer simultaan verwerken door de onbenutte verwerkingsruimte in de CPU te benutten voor maximaal een tweede thread. Omdat hiervoor een controle-systeem nodig is (immers, de CPU moet nog wel weten welk datablokje bij welk thread hoort) en hiervoor dus extra CPU-tijd nodig is, is de performancewinst nooit 100%. Daarnaast kan de resterende verwerkingsruimte nooit 100% benut worden, omdat het kan voorkomen dat de ene thread op dezelfde manier verwerkt moet worden als de andere thread. Hierdoor moet de andere thread even op de wacht worden gezet totdat de ene thread is verwerkt. Uiteindelijk is de performancewinst gemiddeld genomen hooguit rond de 30%.
Ondersteuning: er zijn nog steeds relatief weinig multithreaded programma's, hierdoor zal HT weinig benut worden. Om optimaal gebruik te maken van HT zul je op z'n minst een OS moeten draaien dat HT ondersteunt. Windows XP is hier een goed voorbeeld van (Windows 2000 kan wel HT herkennen, maar gebruikt het niet als zodanig). Windows XP kan HT gebruiken om bij wijze van spreken de achtergrondprocessen af te werken, terwijl je tegelijkertijd aan het surfen of aan het gamen bent, etcetera. Voorbeelden van multithreaded software zijn: veel audio en video bewerkingsprogramma's, 3D-render software en database-software, zoals respectievelijk TMPGEnc, 3Dmax en MySQL (daarom scoort de P4 ook altijd zo hoog in de benchmarks van dit soort programma's ;)). Vaak staat de ondersteuning van multithreading wel bij de programma-specificaties vermeld.

CPU's: onder CPU's met Hyperthreading vallen de Intel Pentium4 3,06GHz met een FSB van 133MHz QDR, alle Pentium4's met een FSB van 200MHz QDR en sneller en de Xeon MP met een FSB van 100MHz QDR en alle Xeon's met een FSB van 133MHz QDR en nieuwer. Voor een compleet overzicht kun je op The BalusC Server terecht: zoeken naar 'Intel + HT'.

In depth: een meer geavanceerde uitleg over Hyperthreading vind je hier: Ars Technica: Introduction to Multithreading, Superthreading and Hyperthreading.
Uit de PMG FAQ :).

Sole survivor of the Chicxulub asteroid impact.


Verwijderd

Topicstarter
Net stuk doorgelezen en we hebben SP3 en hij zou beide processoren moeten gebruiken. In de properties kan ik dit ook instelen dat hij beide processoren moet gebruiken.

Bij processor staat ook Use all available processors aan. Toch komt het proces sqlsrv nooit en te nimmer boven de 50% uit.

Kan dit niet ook te maken hebben met de architectuur van Axapta in een 3tier omgeving? Daarin wordt de SQL server alleen ondervraagt door de Object server en niet direct door clients. Er wordt dus maximaal met 1 partij verbinding gemaakt. Als er slechts 1 client is, valt er misschien ook helemaal niets te verdelen over 2 processoren en kan dat de reden zijn.

  • DJ
  • Registratie: Januari 2000
  • Laatst online: 15-02 17:31

DJ

Ik denk dat je vraag beter kunt doorspelen aan de leverancier van de applicatie. Ik kan me inderdaad voorstellen dat het zo is.

Los hiervan moet je wel realiseren dat een HT CPU (zoals al eerder gemeld) niet twee keer zo snel is dan een niet HT CPU. De snelheidswinst is gemiddeld hooguit 30% ten opzichte van een niet HT CPU.

Je hebt met een HT CPU dus niet twee processoren maar één processor die twee threads (vrijwel) tegelijk kan afwerken. De manier waarop Windows er mee omgaat (twee grafiekjes in Taakbeheer) is mijns inziens behoorlijk misleidend. Ik maak vaak mee dat klanten dit zien als zouden er werkelijk twee processors aanwezig zijn. Dit had Microsoft wel iets anders kunnen aanpakken, maar goed . . . ;)

Als er geen Religie's zouden zijn, dan waren we allemaal gewoon mensen geweest


Verwijderd

Topicstarter
Waarom zou je in real life ooit hyperthreading willen toepassen? Windows multitask toch gewoon goed? Het enige voordeel wat ik zie is dat je je systeem kan beschermen tegen 1 treath welke anders 100% van je systeem zou belasten.

En als iedereen maar zijn applicatie multitreatend maakt AMD en Intel het makkelijker krijgen om processoren met meer vermogen te maken door simpelweg meer cores op 1 CPU te gooien. Of is dat te cynisch?

Wat wel een mooie optie zou zijn, is de processoren te spliten in vermogen, 10% 90%, dan kan je je single treathed applicaties bijvoorbeeld naar de processor met 90% schuiven. Toch de voordelen van HT maar niet de directe single tread nadelen.

[ Voor 23% gewijzigd door Verwijderd op 10-08-2005 17:03 ]


  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 21-02 07:44

Koffie

Koffiebierbrouwer

Braaimeneer

DJ schreef op woensdag 10 augustus 2005 @ 17:01:
Ik denk dat je vraag beter kunt doorspelen aan de leverancier van de applicatie. Ik kan me inderdaad voorstellen dat het zo is.

Los hiervan moet je wel realiseren dat een HT CPU (zoals al eerder gemeld) niet twee keer zo snel is dan een niet HT CPU. De snelheidswinst is gemiddeld hooguit 30% ten opzichte van een niet HT CPU.

Je hebt met een HT CPU dus niet twee processoren maar één processor die twee threads (vrijwel) tegelijk kan afwerken. De manier waarop Windows er mee omgaat (twee grafiekjes in Taakbeheer) is mijns inziens behoorlijk misleidend. Ik maak vaak mee dat klanten dit zien als zouden er werkelijk twee processors aanwezig zijn. Dit had Microsoft wel iets anders kunnen aanpakken, maar goed . . . ;)
Dit komt volgens mij omdat MS er niets mee te maken heeft; die krijgt van het BIOS en/of andere hardware keihard te horen dat er 2 fysieke procs aanwezig zijn - installeer maar eens NT4 op een HT PC, deze zou ook 2 procs moeten laten zien ;)

Tijd voor een nieuwe sig..


  • Juicy
  • Registratie: December 2000
  • Laatst online: 20-02 10:07
Verwijderd schreef op woensdag 10 augustus 2005 @ 17:01:
Waarom zou je in real life ooit hyperthreading willen toepassen?

... beschermen tegen 1 treath welke ...
... zijn applicatie multitreatend maakt ...
... kan je je single treathed applicaties bijvoorbeeld ...
... de directe single tread nadelen....
Het heet een thread ...

-


Verwijderd

Topicstarter
[juicy] niet constructief.

[koffie] net een test gedaan door HT uit te schakelen. Werd de single tread applicatie er niet zoveel sneller op bij een bepaalde stress test.

Blijft mijn vraag waarom Intel en AMD deze kant opgaan. Ik zou liever zien dat ze de power per processor verhogen. Als je dan meer snelheid wil, prop je er meer processoren in. Zo hou je single treathed applicaties op topsnelheid en indien je wilt multitasken koop je een multiprocessor board+processoren. Maargoed, blijkbaar is de rek eruit.

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 02:36
Het grote voordeel van HT/multi cpu ontstaat waarneer een proces de cpu bijna of helemaal klem zet. Ondanks dat dit in theorie niet mogelijk is met preemptive multitasking, gebeurt het toch wel.

Voor de rest sluit ik me aan bij het vermoeden dat het probleem, voor zover dat een probleem kunt noemen, wel eens aan de structuur van je app zou kunnen liggen. Maar dat kun je met de SQL profiler waarschijnlijk wel achterhalen.

Was advocaat maar vindt het juridische nog steeds leuk. Doet tegenwoordig iets in de metaal.


  • Kabouterplop01
  • Registratie: Maart 2002
  • Laatst online: 21-02 10:45

Kabouterplop01

chown -R me base:all

Taskmanger>>processes>>> rightclick>>> set affinity, welke cpu('s) zijn/is aangevinkt?
zou je dat eens kunnen testen, met 2 en 1 ?

Verwijderd

Topicstarter
kan je bij SQL niet aanpassen. Doe je in de configuratie van de SQL server. Daar staat dat hij 2 CPU's mag gebruiken.

Verwijderd

Verwijderd schreef op woensdag 10 augustus 2005 @ 17:01:
Waarom zou je in real life ooit hyperthreading willen toepassen? Windows multitask toch gewoon goed? Het enige voordeel wat ik zie is dat je je systeem kan beschermen tegen 1 treath welke anders 100% van je systeem zou belasten.
Verwar een HT-proc nou niet met een dualcore of dualcpu configuratie :) HT doet echt niks anders dan het ietwat efficienter benutten van je cpu, hij planned alleen je cpu wat efficienter vol.

Dit in tegenstelling tot de andere twee opties die dus wel volledig multithreaded zijn. Het is een optimalisatietruck, anders niks :)

  • DJ
  • Registratie: Januari 2000
  • Laatst online: 15-02 17:31

DJ

Verwijderd schreef op vrijdag 12 augustus 2005 @ 14:27:
[...]


Verwar een HT-proc nou niet met een dualcore of dualcpu configuratie :) HT doet echt niks anders dan het ietwat efficienter benutten van je cpu, hij planned alleen je cpu wat efficienter vol.

Dit in tegenstelling tot de andere twee opties die dus wel volledig multithreaded zijn. Het is een optimalisatietruck, anders niks :)
Daar sluit ik me volledig bij aan ;)

Als er geen Religie's zouden zijn, dan waren we allemaal gewoon mensen geweest

Pagina: 1