IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

« Il faut repenser les OS pour les processeurs multi-coeurs »
D'après Microsoft

Le , par Katleen Erna

100PARTAGES

1  0 
"Il faut repenser les OS pour les processeurs multi-coeurs", d'après Microsoft

Dave Probert est expert du noyau chez Microsoft. Selon lui, l'approche actuelle du multi-coeur n'est pas encore à même d'en exploiter toute la puissance, et est trop "compliquée".

Aussi, propose-t-il une autre organisation. Car, d'après lui, "la solution" ne se situerait pas dans l'amélioration de techniques "comme le parallel programming, mais plutôt dans le refonte des abstractions de base qui constituent le modèle du système d'exploitation".

Il explique qu'on ne tire pas assez parti des performances offertes par les processeurs multicoeurs et qu'aujourd'hui, on ne devrait plus avoir à patienter devant son ordinateur. "Désormais, la réactivité est reine", clame-t-il.

Il suggère que les développeurs "repensent" l'architecture de base des OS actuels pour que les bénéfices apportés par les puces multicoeurs soient pleinement exploités

Un nouveau système basé sur le multicoeur aurait un aspect "très différent" de Windows ou d'Unix. Il fonctionnerait plutôt comme un hyperviseur, d'après Probert, et servirait d'intermédiaire entre la machine virtuelle et le hardware.

Source : Déclarations de Dave Probert lors de l'Urbana-Champaign Parallel Computing keynote

Pensez-vous en effet que les performances offertes par le multicoeur ne sont pas pleinement exploitées aujourd'hui ?

Que pensez-vous de la proposition de Probert ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Nebulix
Membre expérimenté https://www.developpez.com
Le 24/03/2010 à 16:08
Un expert de Microsoft qui déclare :
"on ne devrait plus avoir à patienter devant son ordinateur"
Cette nouvelle serait plus à sa place dans la catégorie HUMOUR (jaune)
2  0 
Avatar de ManusDei
Expert confirmé https://www.developpez.com
Le 24/03/2010 à 17:04
Citation Envoyé par Paul TOTH Voir le message

Je faisais donc remarquer que plus il y a de couches d'abstractions, plus il est difficile de trouver comment optimiser le résultat final.
Moi j'estime que l'optimisation du code pour des besoins de rapidité, c'est pas mon travail. C'est devenu le travail du compilateur.

Donc que déjà quand on parle de langages rapides ou lents, on se trompe de débat. C'est pas le langage qui est performant (ou pas), c'est le compilateur. Sinon pourquoi on compare les performances du code compilé C selon les compilateur ?
2  0 
Avatar de IDontLikeYou
Membre actif https://www.developpez.com
Le 24/03/2010 à 17:18
Citation Envoyé par ManusDei Voir le message
Moi j'estime que l'optimisation du code pour des besoins de rapidité, c'est pas mon travail. C'est devenu le travail du compilateur.

Donc que déjà quand on parle de langages rapides ou lent, on se trompe de débat. C'est pas le langage qui est performant (ou pas), c'est le compilateur. Sinon pourquoi on compare les performances du code compilé C selon les compilateur ?
C'est vrai, à condition que tu ne codes pas comme un pied non plus.
2  0 
Avatar de termitor
Futur Membre du Club https://www.developpez.com
Le 24/03/2010 à 18:40
Quand on regarde les architectures de système ou de langage nouveau tel que Lisaac ou Hurd !

On peut voir un espoir d'améliorations.

Le C a été crée dans le but de faire un OS de façon plus facile et performante.C'était il y a plus de 30ans. On connait le résultat : "Unix".

Hurd par exemple veut exploser le noyau en programme indépendant. Que ce soit la pile réseau ou les systèmes de fichiers. Le portage sur L4 (jamais finalisée) devait permettre (en théorie) au programme de gérer eux même leurs swap et thread, mais sans prendre le role de l'OS.
L'idée est simple, la séparation des mécanisme et des politique. L'OS fournie le mécanisme, le programme choisit sa politique de swap ou de thread, si il n'en fournie pas c'est la politique par défaut.

Lisaac 0.39 de son côté, a un modèle de gestion du multitâche intéressant, le mieux est d'aller voir sur le site.

L'union d'un langage évolué comme lisaac avec la séparation des mécanismes et des politiques systèmes comme hurd, serait un bon moyen d'avoir du neuf dans les système d'exploitations, par la facilité et la puissance du langage d'un côté, et la modularité et le découpage fonctionnel, le découpage de l'OS et des applications de l'autre.

La question essentiel que je me pose : "peut-on changer de façon de concevoir l'outil informatique avec les anciens paradigmes systèmes et de langage ? Ou faut-il une coupure avec l'existant et dépassé ces anciens concepts ?"

Bien a vous.
2  0 
Avatar de pseudocode
Rédacteur https://www.developpez.com
Le 25/03/2010 à 9:35
Citation Envoyé par deadalnix Voir le message
Mais oui, tu as bien regardé ce qu'était les projets de recherche type helios ou barrelfish toi.

Si tu veux faire du massivement multicore, et pas du 8 ou 16 cores comme dans les serveurs actuels, il te faut changer radicalement d'architecture. D'autant plus si, comme on le constate sur des projets comme fusion ou fermi, ou des proco comme le cell, l'architecture d'éxécution devient hétérogène.

C'est un peu facile de dire que microsoft c'est des méchants fumistes, et ils ont leur lot de trucs qu'on peut leur reprocher. Mais là dessus, ils sont en avance et de beaucoup.
+1

La gestion "multicore" de Solaris (ou d'autres OS "serveur" n'est pas vraiment une remise en cause de l'architecture de l'OS. On a toujours du time-sharing pour simuler le multitâche sur chaque core, et un seul kernel qui gère la totalité des ressources hard/soft.

L'optimisation "multicore" dans es OS consiste généralement à avoir des algorithmes de scheduling optimisés qui permettent de limiter les défauts de cache dus aux commutations de tâches (time-sharing) sur chaque core.
2  0 
Avatar de Paul TOTH
Expert éminent sénior https://www.developpez.com
Le 14/04/2010 à 16:22
Il y a encore des gens qui croient au tout assembler
2  0 
Avatar de Génoce
Membre éclairé https://www.developpez.com
Le 22/03/2010 à 14:22
Citation Envoyé par Katleen Erna Voir le message
"Il faut repenser les OS pour les processeurs multi-coeurs", d'après Microsoft

Il explique qu'on ne tire pas assez parti des performances offertes par les processeurs multicoeurs et qu'aujourd'hui, on ne devrait plus avoir à patienter devant son ordinateur. "Désormais, la réactivité est reine", clame-t-il.

Pensez-vous en effet que les performances offertes par le multicoeur ne sont pas pleinement exploitées aujourd'hui ?
Il me semble que la plupart du temps, quand j'attends durant un chargement, c'est dû au disque(s) dur pas assez rapide non?

Sinon c'est dans la lignée de ce qui se fait aujourd'hui, toujours plus vite !
S'ils parviennent à mieux exploiter la puissance les processeurs multicoeurs, tant mieux, étant donné que c'est l'avenir!

Vivement qu'on exploite pleinement les capacités de notre cerveau aussi
1  0 
Avatar de kaymak
Membre émérite https://www.developpez.com
Le 22/03/2010 à 14:27
Citation Envoyé par Katleen Erna Voir le message

Un nouveau système basé sur le multicoeur aurait un aspect "très différent" de Windows ou d'Unix. Il fonctionnerait plutôt comme un hyperviseur, d'après Probert, et servirait d'intermédiaire entre la machine virtuelle et le hardware.

Ce n'est pas déjà le cas ?
Les threads ne sont pas suffisants pour ordonnancer / superviser les exécutions ?
1  0 
Avatar de Shaidak
Membre actif https://www.developpez.com
Le 22/03/2010 à 14:37
-> Pensez-vous en effet que les performances offertes par le multicoeur ne sont pas pleinement exploitées aujourd'hui ?

Question rhétorique ? Plus sérieusement c'est loin d'être un scoop et il est évident que les proc périphériques passent la majorité de leur temps à roupiller pendant que leur coeur principal bosse et que l'on attend.

-> Que pensez-vous de la proposition de Probert ?

Une bonne idée ... reste à voir en pratique ce que cela va donner. Le multi-thread devait être omni-présent avec les processeurs multicoeurs et permettre leur pleine utilisation, or, actuellement c'est loin d'être le cas (sauf pour des applications de rendu vidéo ou audio peut-être).

Citation Envoyé par kaymak Voir le message
Ce n'est pas déjà le cas ?
Les threads ne sont pas suffisants pour ordonnancer / superviser les exécutions ?
Si je ne me trompe pas, c'est à l'os d'assigner les thread bien plus qu' au programme lui-même, par conséquent si l'os ne gère pas correctement les différents processeurs, les multicoeurs ne seront pas pleinement exploités.

PS : N'y avait-il pas eu proposition il y a quelque temps visant à dire que c'était au hardware de gérer cela bien plus qu'au développeur ? Ou alors j'ai simplement rêvé
1  0 
Avatar de LeSmurf
Membre expérimenté https://www.developpez.com
Le 22/03/2010 à 14:41
Apple propose aussi une solution déjà implémentée, Grand Central Dispatch, mais ce n'est pas aussi radical que la proposition de MS
1  0