Dataspace Profiling Perspectives – Look Inside the Machine!
By nk on Sep 08, 2005
Dataspace Profiling enhances observability by providing additional perspectives into the costs associated with your application. Traditional profiling tools usually provide a function view of your program cost:
Excl. User CPU Excl. Max. Name Mem. Stall sec. % sec. % 849.494 100.00 799.249 100.00
813.539 95.77 794.826 99.45 test 31.762 3.74 3.643 0.46 find_free_slot 3.342 0.39 0.280 0.04 go_test 0.460 0.05 0.460 0.06 foo_fval 0.180 0.02 0.040 0.01 main 0.120 0.01 0. 0. linkcnt 0.030 0.00 0. 0. memset 0.030 0.00 0. 0. rand 0.020 0.00 0. 0. use_free_slot 0.010 0.00 0. 0. ok
and also an instruction view of costs associated with your application:
Excl. User CPU Excl. Max. Mem. Stall sec. % sec. % 3.522 0.4 0. 0. [ 43] 100003b4c: sllx %o3, 2, %g2 0.390 0.0 0. 0. [ 43] 100003b50: ld [%g3 + %g2], %o3 ## 3.623 0.4 3.623 0.5 [ 43] 100003b54: add %g2, %g3, %o4 ## 6.545 0.8 0. 0. [ 43] 100003b58: xnorcc %o3, 0, %g0 0. 0. 0. 0. [ 43] 100003b5c: be,pn %icc,0x100003bf0 0.010 0.0 0. 0. [ 43] 100003b60: cmp %o1, 32
As computer systems are more dependent on the Memory Subsystem, additional perspectives of costs enhance the diagnostic ability of Dataspace Profiling. I group these perspectives into two large categories: Hardware View and Program View.
Hardware View Perspectives include the costs from the Memory Subsystem and the Execution Units.
Costs from the components of the Memory Subsystem itself are costs from the Cache Hierarchy and costs from the Memory Topology of your computer system. For example, the Memory Subsystem costs from the L2 Cache Line perspective:
In this view, we observe the distribution of costs within the lines of the L2 Cache.
Additional Hardware View Perspectives include the Memory Subsystem costs from the Execution Unit Perspective. For example, costs from each Physical Processor:
In these cases, we observe how the operating system scheduled our application on the underlying hardware.
Dataspace Profiling observes your application from the perspective of time. How Memory Subsystem costs changed over time:
Dataspace Profiling observes an application Program View from the perspective of both Program Source and Program Address Space.
Program Source includes the function source profiled in current tools, and Dataspace Profiling includes the costs of program type definitions and their constituents:
and the profile of a user-defined type by definition order:
Program Address Space profiling includes all the allocations in your application. Dataspace Profiling reports costs from the perspective of Address Segments, Virtual and Physical Pages, etc.
Dataspace Profiling provides you detailed observation of your application from every perspective.
Look Inside the Machine!