Cette question est similaire à une question plus générale pour savoir quel est le bon modèle théorique d'un ordinateur pour concevoir des algorithmes et des structures de données.
Ici, je pose des questions spécifiquement sur les ordinateurs haute performance actuels (comme ceux répertoriés dans le Top 500 ) ou même sur supercalculateurs à venir.
Étant donné que ces ordinateurs fonctionnent généralement sur d'énormes ensembles de données (il semble que certaines personnes utilisent de telles machines principalement parce qu'elles ont une énorme mémoire principale combinée), les aspects du modèle d'E / S (introduit par Aggarwal et Vitter en 1988 ) et sa version parallèle , le PEM ( Arge, Goodrich, Nelson et Sitchinava en 2008 ) devrait être présent. D'un autre côté, il devrait y avoir quelque chose à propos de la communication, en particulier punir les ultra petits packages vers tous les autres nœuds de calcul.
Comme vous pouvez l'imaginer, je n'ai pas peur de manquer d'idées lors de la création d'un nouveau modèle, mais je crains un peu de ne pas tenir compte des tentatives précédentes, notamment parce que j'ai l'impression que les années 1980- 1995 ou plus a vu de nombreuses tentatives de modélisation (comme le BSP ou les modèles de pontage) qui ne semblent pas avoir été largement utilisées.
Quels modèles dois-je examiner de plus près?
la source
Réponses:
Au PODC 2009, Bruce Hendrickson a donné une conférence phénoménale sur ces questions. (Ses diapositives ne semblent pas être en ligne, mais vous voudrez peut-être lui demander si vous pouvez les voir.) Je ne pense pas qu'il existe encore de "bon" modèle - bonus pour vous! - mais je vous suggère de consulter ses articles, en particulier ceux de la page Graphes et architectures , où il essaie de comprendre comment gérer d'énormes graphiques avec peu de structure (c'est-à-dire des ensembles de données "modernes") sur des machines massivement multithread.
la source
Un problème qui n'est pas clair est de savoir comment les caches vont se développer. La thèse de 2009 de Nikos Hardavellas considère ces choses du point de vue des systèmes, y compris les considérations de limites physiques aux systèmes de mémoire évolutifs. La thèse ne présente pas de modèle en tant que tel, mais peut vous donner quelques indices.
la source
Un modèle qui capture bien les modèles hiérarchiques (pensez aux cœurs locaux, à la mémoire partagée sur puce et à la mémoire globale) est un article STOC 87 d'Aggarwal et al . Je ne pense pas qu'il ait jamais eu de traction, mais cela fait une lecture intéressante. L'idée principale est que l'accès à l'emplacement mémoire x prend du temps⌈ journalx ⌉ .
la source