Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Adrien Grand
Salut,
Wykaaa a écrit :
Ai-je un moyen d'assigner, en Java, des threads à des processeurs ?
Java n'offre pas directement cette possibilité. Il est nécessaire d'utiliser du code natif (via JNI) si l'on souhaite régler plus finement l'attribution des threads aux processeurs, il y a un exemple ici (pour Windows) : http://1-800-magic.blogspot.com/2008/03/jni-made-simple.html (Voir la méthode fixThread.)
Pourquoi as tu besoin d'assigner des threads à des processeurs précis (simple curiosité) ?
La JVM Sun gère-t-elle "au mieux" ces architecture ?
Les versions récentes des JVMs de Sun utilisent des threads natifs (par opposition aux green threads, http://en.wikipedia.org/wiki/Green_threads) donc la responsabilité de la gestion des threads est laissée à l'OS. Concernant la garbage collector, il peut être intéressant de modifier certains paramètres, notamment augmenter la taille allouée à la jeune génération car les collections majeures ne sont pas parallélisées (cf. http://java.sun.com/docs/hotspot/gc/, en particulier « Be sure to increase the young generation as you increase the number of processors, since allocation can be parallelized, but GC is not parallel. »).
-- jpountz
Salut,
Wykaaa a écrit :
Ai-je un moyen d'assigner, en Java, des threads à des processeurs ?
Java n'offre pas directement cette possibilité. Il est nécessaire
d'utiliser du code natif (via JNI) si l'on souhaite régler plus finement
l'attribution des threads aux processeurs, il y a un exemple ici (pour
Windows) :
http://1-800-magic.blogspot.com/2008/03/jni-made-simple.html
(Voir la méthode fixThread.)
Pourquoi as tu besoin d'assigner des threads à des processeurs précis
(simple curiosité) ?
La JVM Sun gère-t-elle "au mieux" ces architecture ?
Les versions récentes des JVMs de Sun utilisent des threads natifs (par
opposition aux green threads,
http://en.wikipedia.org/wiki/Green_threads) donc la responsabilité de la
gestion des threads est laissée à l'OS. Concernant la garbage collector,
il peut être intéressant de modifier certains paramètres, notamment
augmenter la taille allouée à la jeune génération car les collections
majeures ne sont pas parallélisées (cf.
http://java.sun.com/docs/hotspot/gc/, en particulier « Be sure to
increase the young generation as you increase the number of processors,
since allocation can be parallelized, but GC is not parallel. »).
Ai-je un moyen d'assigner, en Java, des threads à des processeurs ?
Java n'offre pas directement cette possibilité. Il est nécessaire d'utiliser du code natif (via JNI) si l'on souhaite régler plus finement l'attribution des threads aux processeurs, il y a un exemple ici (pour Windows) : http://1-800-magic.blogspot.com/2008/03/jni-made-simple.html (Voir la méthode fixThread.)
Pourquoi as tu besoin d'assigner des threads à des processeurs précis (simple curiosité) ?
La JVM Sun gère-t-elle "au mieux" ces architecture ?
Les versions récentes des JVMs de Sun utilisent des threads natifs (par opposition aux green threads, http://en.wikipedia.org/wiki/Green_threads) donc la responsabilité de la gestion des threads est laissée à l'OS. Concernant la garbage collector, il peut être intéressant de modifier certains paramètres, notamment augmenter la taille allouée à la jeune génération car les collections majeures ne sont pas parallélisées (cf. http://java.sun.com/docs/hotspot/gc/, en particulier « Be sure to increase the young generation as you increase the number of processors, since allocation can be parallelized, but GC is not parallel. »).
-- jpountz
Wykaaa
Adrien Grand a écrit :
Salut,
Wykaaa a écrit :
Ai-je un moyen d'assigner, en Java, des threads à des processeurs ?
Java n'offre pas directement cette possibilité. Il est nécessaire d'utiliser du code natif (via JNI) si l'on souhaite régler plus finement l'attribution des threads aux processeurs, il y a un exemple ici (pour Windows) : http://1-800-magic.blogspot.com/2008/03/jni-made-simple.html (Voir la méthode fixThread.)
Pourquoi as tu besoin d'assigner des threads à des processeurs précis (simple curiosité) ?
La JVM Sun gère-t-elle "au mieux" ces architecture ?
Les versions récentes des JVMs de Sun utilisent des threads natifs (par opposition aux green threads, http://en.wikipedia.org/wiki/Green_threads) donc la responsabilité de la gestion des threads est laissée à l'OS. Concernant la garbage collector, il peut être intéressant de modifier certains paramètres, notamment augmenter la taille allouée à la jeune génération car les collections majeures ne sont pas parallélisées (cf. http://java.sun.com/docs/hotspot/gc/, en particulier « Be sure to increase the young generation as you increase the number of processors, since allocation can be parallelized, but GC is not parallel. »).
Merci pour ta réponse.
Je fais de la synthèse granulaire (audio) et, dans mon approche, à partir du moment où j'ai déterminé le "macro processus", je sais paralléliser beaucoup de choses. Je veux être sûr que les processeurs sont employés au mieux car les calculs sont très longs (synthèse additive de "grains de Gabor" de 0,025 seconde chacun). J'ai un Mac Pro 8-cores et 10 Go de RAM.
Adrien Grand a écrit :
Salut,
Wykaaa a écrit :
Ai-je un moyen d'assigner, en Java, des threads à des processeurs ?
Java n'offre pas directement cette possibilité. Il est nécessaire
d'utiliser du code natif (via JNI) si l'on souhaite régler plus finement
l'attribution des threads aux processeurs, il y a un exemple ici (pour
Windows) :
http://1-800-magic.blogspot.com/2008/03/jni-made-simple.html
(Voir la méthode fixThread.)
Pourquoi as tu besoin d'assigner des threads à des processeurs précis
(simple curiosité) ?
La JVM Sun gère-t-elle "au mieux" ces architecture ?
Les versions récentes des JVMs de Sun utilisent des threads natifs (par
opposition aux green threads,
http://en.wikipedia.org/wiki/Green_threads) donc la responsabilité de la
gestion des threads est laissée à l'OS. Concernant la garbage collector,
il peut être intéressant de modifier certains paramètres, notamment
augmenter la taille allouée à la jeune génération car les collections
majeures ne sont pas parallélisées (cf.
http://java.sun.com/docs/hotspot/gc/, en particulier « Be sure to
increase the young generation as you increase the number of processors,
since allocation can be parallelized, but GC is not parallel. »).
Merci pour ta réponse.
Je fais de la synthèse granulaire (audio) et, dans mon approche, à
partir du moment où j'ai déterminé le "macro processus", je sais
paralléliser beaucoup de choses. Je veux être sûr que les processeurs
sont employés au mieux car les calculs sont très longs (synthèse
additive de "grains de Gabor" de 0,025 seconde chacun).
J'ai un Mac Pro 8-cores et 10 Go de RAM.
Ai-je un moyen d'assigner, en Java, des threads à des processeurs ?
Java n'offre pas directement cette possibilité. Il est nécessaire d'utiliser du code natif (via JNI) si l'on souhaite régler plus finement l'attribution des threads aux processeurs, il y a un exemple ici (pour Windows) : http://1-800-magic.blogspot.com/2008/03/jni-made-simple.html (Voir la méthode fixThread.)
Pourquoi as tu besoin d'assigner des threads à des processeurs précis (simple curiosité) ?
La JVM Sun gère-t-elle "au mieux" ces architecture ?
Les versions récentes des JVMs de Sun utilisent des threads natifs (par opposition aux green threads, http://en.wikipedia.org/wiki/Green_threads) donc la responsabilité de la gestion des threads est laissée à l'OS. Concernant la garbage collector, il peut être intéressant de modifier certains paramètres, notamment augmenter la taille allouée à la jeune génération car les collections majeures ne sont pas parallélisées (cf. http://java.sun.com/docs/hotspot/gc/, en particulier « Be sure to increase the young generation as you increase the number of processors, since allocation can be parallelized, but GC is not parallel. »).
Merci pour ta réponse.
Je fais de la synthèse granulaire (audio) et, dans mon approche, à partir du moment où j'ai déterminé le "macro processus", je sais paralléliser beaucoup de choses. Je veux être sûr que les processeurs sont employés au mieux car les calculs sont très longs (synthèse additive de "grains de Gabor" de 0,025 seconde chacun). J'ai un Mac Pro 8-cores et 10 Go de RAM.