System Software Internals Advanced
System Software Internals Advanced
Advanced Features
Syllabus
Instruction Set Issues Profiling
Migration Grids Code optimizations
Garbage Collection
Book
James E. Smith and Ravi Nair, Virtual Machines,
Elsevier, 2005.
Overview
Instruction Set Issues
Profiling
Migration
Grids
Code Optimizations
Garbage Collection
Profiling
Profiling
Process of collecting instruction and data statistics
for an executing program
Can be used as input to code-optimization process
Static Profiling
Dynamic Profiling
Types of Profiling
Frequency of execution of code regions
Based on control flow predictability
Path profile
Collecting Profiles
Two ways
Instrumentation-based profiling
Targets specific program-related events and counts all
instances of the events being profiled
Hardware instrumentation
Software instrumentation
Sampling-based profiling
Program runs unmodified and at fixed or random intervals, the
program is interrupted and an instance of a program-related
event is captured
Profiling overhead
More memory and time consuming
Ways to reduce
Reduce number of instrumentation points
Using heuristics
And so on
Code Optimization
Code Optimizations
Code Optimizations
Code Optimizations
Code Optimizations
Code Optimizations
Inter-superblock Optimization
Instruction-set-specific
Optimizations
Two examples
Unaligned load optimization
if conversion
Garbage Collection
Garbage Collectors
Mark and sweep
Compacting
Copying
Generational
Incremental and concurrent
Compacting Collectors
Copy Collectors
Generational Collectors
Two sub-heaps
Nursery
Tenured
Comparison
Migration
VM Migration
State Encapsulation
Stanford Collective Project
State of the VM is sent directly to the destination
computer rather than to a DFS
State Encapsulation
Reducing memory state before migration
Balloon program
Migration in Vmotion
Load balancing
Security
Collocation
Fault tolerance
Power management
Maintenance
Migration in Vmotion
Steps
Grids
Grid Computing
Characteristics of a grid
Infrastructure
Dependability of Service
Consistency of Service
Pervasive Access
Inexpensive Access
Coordinated Resource Sharing
Dynamic Communities
Recap
Instruction Set Issues
Profiling
Migration
Grids
Code Optimizations
Garbage Collection