Continuously Measuring Critical Section Pressure with the Free Lunch Profiler
Résumé
Today, Java is regularly used to implement large multi-threaded server-class ap- plications, whose scalability could be hampered by the execution of critical sections. Profiling is needed to identify critical sections that are problematic. However, profiling such applications is challenging, due to their long running times and the range of possible runtime conditions. We propose Free Lunch, a new profiler designed to identify locks and critical sections that hamper scalability. Free Lunch is designed around a new metric, critical section pressure, and can be used in-vivo, while the application is run by end-users. Using Free Lunch, we have identified a contention phase in the distributed Cassandra NoSQL database and in several applications from the DaCapo benchmark suite. On the latter, we were able to improve the performance of the Xalan benchmark by 15%. In an evaluation on over thirty applications, we found that the overhead of Free Lunch is never greater than 6%.
Aujourd'hui, Java est régulièrement utilisé pour implémenter des applications fortement multi-threadées de classe serveur dont le passage à l'échelle pourrait être freiné par l'exécution des sections critiques. Le profilage est nécessaire pour identifier les sections critiques qui posent problème. Cependant, le profilage de telles applications est difficile à cause de leur longue durée d'exécution et de l'étendue des conditions d'exécutions possibles. Nous présentons Free Lunch, un nouveau profileur conçu pour identifier les verrous et les sections critiques qui freinent le passage à l'échelle. Free Lunch est conçu autour d'une nouvelle métrique appelée critical section pressure et peut être utilisé in-vivo pendant que l'application est exécutée par les utilisateurs finaux. En utilisant Free Lunch, nous avons identifé une phase de contention dans la base de don- nées distribuée NoSQL Cassandra ainsi que dans plusieurs applications provenant de la suite d'applications DaCapo. Dans cette dernière, nous avons été capable d'améliorer les perfor- mances de l'application Xalan de 15%. Parmi une évaluation de plus de 30 applications, nous avons trouvé que le surcoût d'exécution de Free Lunch n'est jamais plus important que 6%.
Domaines
Langage de programmation [cs.PL]Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...