Consultez quelques conférences pour voir certains sujets:
ISCA : Proceedings of the 43rd International Symposium on Computer Architecture
ASPLOS : Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems
Les plus marquants pour moi sont:
Deep Learning : D'après certains des articles que j'ai survolés, il s'agit d'un domaine de recherche très jeune qui n'est pas encore près de rattraper l'état de l'art en matière d'apprentissage profond, ce qui signifie qu'il y a beaucoup de fruits mûrs. Les articles acceptés à l'ISCA 2016 portent généralement sur les accélérateurs pour les réseaux neuronaux convolutifs. L'apprentissage profond est extrêmement populaire dans l'industrie, et ce domaine de recherche va continuer à se développer, même si je ne suis pas entièrement convaincu que les accélérateurs d'apprentissage profond vont réellement dépasser les GPU dans le monde réel. Malgré tout, si vous souhaitez obtenir un doctorat en architecture informatique, c'est ici que vous en obtiendrez certainement un.
Mémoire : Les temps d'accès à la mémoire ne s'accélèrent pas aussi rapidement que ceux du CPU, ce qui signifie en fait que l'accès à la mémoire est "plus lent", ou plutôt, prend plus de cycles CPU. L'intérêt pour la technologie et les algorithmes permettant d'accélérer l'accès à la mémoire ne disparaîtra pas de sitôt, à mon avis. L'un de mes professeurs faisait des recherches sur les technologies à changement de phase, bien que je n'aie pas suivi l'état de l'art concernant ce sujet.
Les datacenters : Bien qu'il ne soit peut-être pas aussi "chaud" que le Deep Learning, c'est un domaine extrêmement important et impactant qui intéressera toute grande entreprise technologique qui héberge ses propres centres de données (par exemple, Google, Microsoft, Amazon). Sans connexions avec l'industrie, la recherche dans ce domaine est difficile, mais toute solution dans ce domaine permettra littéralement aux entreprises d'économiser des centaines de millions de dollars.
Énergie : la prolifération des appareils mobiles ainsi que le mur d'alimentation nécessitent un besoin de solutions à faible consommation. Le besoin d'économiser de l'énergie ne disparaîtra pas, donc il devrait y avoir beaucoup d'intérêt et d'opportunités dans ce domaine.
Voici d'autres sujets sur lesquels je me souviens avoir lu en 2013-2014 mais qui sont peut-être passés de mode depuis :
Les architectures hétérogènes : Nous en sommes au point où nous sommes incapables d'alimenter tous les transistors que nous avons sur la puce. Les moyens de contourner ce problème ont généralement impliqué des architectures hétérogènes, où vous avez plusieurs unités de calcul distinctes qui sont optimisées en termes de performance et de puissance pour des tâches spécifiques. Ensuite, vous pouvez diriger le calcul vers ces unités. J'ai vu quelques résumés dans ce domaine dans la table des matières de l'ISCA, il semble donc que ce soit encore un domaine pertinent, bien qu'il soit plus mature et qu'il ait probablement moins de fruits mûrs que d'autres disciplines.
Sécurité du matériel : La sécurité est énormément importante dans toutes les disciplines de l'informatique. Cependant, les exploits sont beaucoup plus faciles à mettre en œuvre au niveau du logiciel par opposition au niveau du matériel, et avoir des solutions matérielles pour la sécurité finit par être plutôt peu pratique tout en obtenant un avantage minimal, à mon avis. Malgré tout, cela n'empêchera pas les chercheurs d'essayer, et je suis à peu près sûr que des gens publient encore des articles dans ce domaine.
Malheureusement, beaucoup de sujets qui sont fondamentaux pour comprendre l'architecture des ordinateurs sont fondamentalement morts à ce stade :
Prédiction de branche : Ce domaine est mort. La prédiction de branche est déjà assez bonne.
Les optimisations à un seul cœur/le parallélisme au niveau de l'instruction : Alors qu'il serait formidable d'avoir à nouveau un peu d'innovation dans ce domaine, nous avons malheureusement frappé le mur de la puissance, et donc nous obtenons maintenant la plupart de nos avantages en termes de performances grâce au multicœur. De plus, notre dernier espoir en ce qui concerne le parallélisme au niveau des instructions était les machines à flux de données, qui sont un domaine mort, malheureusement.