Explore les techniques d'optimisation de code telles que le pliage constant, le précalcul et la propagation constante pour améliorer l'efficacité et la qualité du code.
Releve les défis de la synthèse de haut niveau et de l'optimisation des constructions de boucles en utilisant le modèle polyédrique pour améliorer les performances et la planification.
Explore l'optimisation des interactions de bibliothèque, les défis de fonctionnalité et la modularité dans les charges de travail modernes, en mettant l'accent sur les fortes frontières entre les systèmes et les optimisations de niveau d'instruction.
Explore les modèles d'exécution de Hadoop, la tolérance aux défauts, la localisation des données et la programmation, soulignant les limites de MapReduce et d'autres cadres de traitement distribué.
Explore des algorithmes de diffusion fiables, en se concentrant sur l'ordre causal et la fiabilité uniforme, avec des exercices sur les propriétés des détecteurs de défaillance et l'optimisation de la mémoire.
Explore les défis de contrôle de la congestion, en mettant l'accent sur la nécessité de systèmes de réseau robustes et de vérification des performances pour améliorer les performances Internet et résoudre des problèmes tels que la famine et la faible utilisation.
Explore l'impact de la localité sur la conception du système, en discutant des stratégies pour optimiser l'efficacité et la performance grâce à la mise en page des données, la conception des serrures et la minimisation des mouvements de données.
Explore l'évolution de la co-conception matériel / logiciel, en soulignant l'importance de la spécialisation et les défis de l'optimisation des performances et de l'efficacité énergétique.
Explore la programmation dynamique pour optimiser les processus de prise de décision au fil du temps, en utilisant des exemples concrets tels que l'extraction de pétrole et la négociation d'actions.