Basic block profiling using grouping events

    公开(公告)号:US09710350B2

    公开(公告)日:2017-07-18

    申请号:US14918692

    申请日:2015-10-21

    摘要: An aspect includes performance profiling of an application. A processor executes an instruction stream of the application including instructions that are dynamically grouped at run-time. The processor monitors for an event associated with sampled instructions. A sampled instruction is associated with other events that include instruction grouping information. A number of the instructions in a group that includes the sampled instruction is determined as a group size. The monitored event is tracked as separate events with respect to each of the sampled instruction and one or more other instructions of the group. Subsequent monitored events are tracked as the separate events for each of the instructions from additional groups having various group sizes formed from a sequence of the instructions. An execution count for the sequence of the instructions is generated based on accumulating the separate events over a period of time.

    Performance state machine control with aggregation insertion

    公开(公告)号:US09703670B2

    公开(公告)日:2017-07-11

    申请号:US14590049

    申请日:2015-01-06

    摘要: A performance state machine is controlled in part by identifying notifications from an execution trace of an application program, through rapid automatic comparison of trace events to notification events for notification categories. Some notification categories include application startup, page outline load, page data load start, page data load finish, page to page transition, application input, window size change, media query, binding update, page background task start, page background task finish, developer-defined scenario start, and developer-defined scenario finish. Notifications may reflect heuristics such as the time from startup to first frame submission. A state is placed in the performance state machine for each identified notification, with aggregate application performance data for each transition between identified notifications. Some performance data categories include network activity, disk activity, memory usage, parse time, frame time, dropped frames, component or overall frame rates, and thread utilization. Timelines and other visual representations aid application performance optimization.

    TEMPLATE-BASED EVENT NOTIFICATIONS
    54.
    发明申请

    公开(公告)号:US20170163752A1

    公开(公告)日:2017-06-08

    申请号:US14960171

    申请日:2015-12-04

    IPC分类号: H04L29/08 H04L29/06

    摘要: A method of handling event subscriptions and notifications may include receiving a request from a client system to subscribe to an event type, and receiving a template from the client system. The template may define data that should be returned to the client system when an event of the event type occurs. In response to the event of the event type occurring, the method may also include packaging data associated with the event according to the template received from the client system to generate an event notification. The method may further include sending the event notification to the client system.

    PERFORMANCE-IMBALANCE-MONITORING PROCESSOR FEATURES

    公开(公告)号:US20170147369A1

    公开(公告)日:2017-05-25

    申请号:US15422280

    申请日:2017-02-01

    申请人: VMware, Inc.

    摘要: The current application is directed to architected hardware support within computer processors for detecting and monitoring various types of potential performance imbalances with respect to simultaneously executing hardware threads in simultaneous multi-threading (“SMT”) processors and SMT-processor cores. The architected hardware support may include various types of performance-imbalance-monitoring registers that accumulate indications of performance imbalances and that can be used, by performance-monitoring software and by human analysts to detect performance-degrading conflicts between simultaneously executing hardware threads. Such conflicts can be ameliorated by changing the scheduling of virtual machines, tasks, and other computational entities, by redesigning and re-implementing all or portions of performance-limited and performance-degrading applications, by altering resource-allocation strategies, and by other means. In addition, performance imbalance detection and monitoring can be used to provide accurate, computational-throughput-based accounting in cloud-computing environments.