Locality and Phases: Dynamic Structures in Large-Scale Program Behavior

Subscribers:
344,000
Published on ● Video Link: https://www.youtube.com/watch?v=_P4vU9xhvos



Duration: 1:10:18
36 views
1


Locality and phases have come to play a central role in understanding and improving the dynamic behavior of large computer programs. While intuitively appealing, these concepts have proven difficult to apply in practice: they suggest the need to define, measure, and verify patterns across billions of operations, and to cope with behavior that changes with program input. In this talk I will present behavior-based program analysis. By profiling a few runs of an application, the analysis finds common patterns in program behavior and predicts how those patterns will change in other runs, in a manner very much analogous to prediction in the physical and biological sciences. I will describe three models of whole-program behavior. The first redefines temporal locality quantitatively as the miss rate of a program across inputs and cache sizes. The second is a new notion called reference affinity, which reveals the hierarchical locality structure in program data. The third is program phases, which are recurring execution patterns involving large sections of program code. These temporal and spatial models bridge between traditional program analysis and program profiling, and between popular heuristics (frequency, distance, and topology) and the seemingly insurmountable theoretical complexity. In practice, they enable new techniques in static and dynamic data, cache, and memory management. These techniques uncover emergent behaviors that are not obvious from analyzing individual program components, program inputs, or machine environments. I will discuss the implication of these findings for compilers, programming languages, and systems design.




Other Videos By Microsoft Research


2016-09-07Doing a Mao and the Xray Paradox: How Can Humanity Overcome Organization?           
2016-09-07THE CREATION: AN APPEAL TO SAVE LIVE ON EARTH
2016-09-07MobileASL: Making Cell Phones Accessible to the Deaf Community
2016-09-07Using Architecture and Code Optimization Techniques to Create Fast and Effective Data Compressors
2016-09-07A simple solution to the $k$-core problem
2016-09-07The Challenges of Development-through-Entrepreneurship: Research on Rural Computer Kiosks in India
2016-09-07The Elegant Solution: Toyota's Formula for Mastering Innovation
2016-09-07Lattice-Based Discriminative Training: Theory and Practice
2016-09-07Conference XP - Tutored Video Instruction With Conference XP and Classroom Presenter
2016-09-07Faster Decoding with Synchronous Grammars and n-gram Language Models
2016-09-07Locality and Phases: Dynamic Structures in Large-Scale Program Behavior
2016-09-07Inversion Transduction Grammar with Linguistic Constraints
2016-09-07How scheduling theory, scenarios, model checking and slicing can help in the verification of RTS
2016-09-07Innovention - the process of innovation and invention
2016-09-07Security and Privacy in Radio Frequency Identification
2016-09-07Conference XP - Automated Tracking of Student Behaviors
2016-09-07From Models to Systems: Applications of Model-based Design to Modern Large-Scale Systems
2016-09-07Splitting on Demand in Satisfiability Modulo Theories
2016-09-07Making Semiconductors Ferromagnetic: Reasons, Challenges, and Opportunities
2016-09-07Exploiting comparable corpora
2016-09-07Invisible Engines: How Software Platforms Drive Innovation        



Tags:
microsoft research