Poids des potions

Répondre
Partager Rechercher
Citation :
à moins d'avoir une option dans windows pour permettre de désactiver l'hyperthreading pour un ou plusieurs processus
C'est faisable dans le bios (désactiver l'hyperthreading) ça je crois, non?
Pour répondre a Black Lemming ou du moins lui donner une piste (j'suis une quiche en programmation mais bon, l'admin système c'est mon dada). Entre windows NT et windows XP, le scheduler (oh doit mon dieu, plus haut parmi tous, fait que ma tache passe en priorité) n'a pas beaucoup évolué. Ce qui fait que windows XP n'opposait que peu d'incompatibilité avec T4C.

Depuis windows vista, l'abstraction matérielle (une couche logique a but d'isolation des processus a été rajoutée) et le task scheduling a été modifié. Il est possible de retrouver un comportement "sain" d'un programme grace a un header qui traine sur les forums MSDN, malheureusement ça demandera a réintégrer une microsoft class dans le programme (alors qu'on est sous STL :'( ).

Je te cherche les sources ...

http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

Citation :
Example 2: Windows XP Scheduling

* Windows XP uses a quantum-based, preemptive priority scheduling algorithm
* Threads are scheduled rather than processes.
* Since the preemptive priority algorithm is implemented with multiple queues, it can also be considered a multiple feedback-queue algorithm. However, each class of thread is normally restricted to a small band of 5 priority levels, from 2 below the base priority for its process to 2 above. Each band of priorities overlaps with the band above it and the band below it.
* Preemption can occur for any of 4 reasons:
o higher-priority thread becomes ready
o thread terminates
o time quantum exhausted
o thread performs a blocking system call, such as for I/O, in which case it leaves the READY state and enters a WAITING state.
* 32 priority levels are used, where priority 31 is the highest priority and priority 0 is the lowest priority
o memory management thread: priority 0
+ text shows idle thread with priority 1, which is higher than the memory management thread, but it does not explain how this could work
o variable class of priorities (1-15)
o real-time class of priorities (16-31)
* Threads in the real-time class have fixed priorities
* The running thread is always one with the highest priority level.
* If no ready thread exists, the idle thread is run.
* When a thread's time quantum runs out, its priority is lowered (by one it appears), but its priority is never lowered too far
* When a thread becomes READY after WAITING, it is given a priority boost, with the largest boost for waiting for keyboard I/O and a smaller boost for waiting for disk.
* any thread of the process associated with the window that the user is currently interacting with (the foreground process) is given a priority boost and as well has its quantum size tripled.
Citation :
Windows NT-based operating systems use a multilevel feedback queue. 32 priority levels are defined, 0 through to 31, with priorities 0 through 15 being "normal" priorities and priorities 16 through 31 being soft real-time priorities, requiring privileges to assign. 0 is reserved for the Operating System. Users can select 5 of these priorities to assign to a running application from the Task Manager application, or through thread management APIs. The kernel may change the priority level of a thread depending on its I/O and CPU usage and whether it is interactive (i.e. accepts and responds to input from humans), raising the priority of interactive and I/O bounded processes and lowering that of CPU bound processes, to increase the responsiveness of interactive applications.[2] The scheduler was modified in Windows Vista to use the cycle counter register of modern processors to keep track of exactly how many CPU cycles a thread has executed, rather than just using an interval-timer interrupt routine.[3] Vista also uses a priority scheduler for the I/O queue so that disk defragmenters and other such programs don't interfere with foreground operations.[4]
Dernier quote provenant de wikipedia, et qui est une source possible de freezes (surtout la partie en gras qui est intéressante a savoir pour un programmeur m'a t'ont dit )

http://blog.gabefrost.com/?p=25

Blog intéressant

http://technet.microsoft.com/en-us/m...stakernel.aspx

A lire. Issus des techdays/technet
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés