-
Notifications
You must be signed in to change notification settings - Fork 566
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i#5694: Add core-oriented analysis tool support
Adds a new type of sharding for drmemtrace analysis tools: by core instead of by thread. Introduces a shard_type_t enum (SHARD_BY_THREAD and SHARD_BY_CORE) passed to a new analysis_tool_t::initialize_shard_type() function to inform tools of the shard type (this cannot be easily added to the stream interface as the scheduler is not aware of the shard type). Adds a new memtrace_stream_t::get_output_cpuid() query to get the output cpu ordinal, or for replaying as-traced the original traced cpuid (#6262). Implements this for the scheduler. Generalizes analyzer_t to take in scheduler options for SHARD_BY_CORE to support analysis tools using the full range of schedules. In this mode, the core count is the worker count. Updates the shard index to be the core ordinal. Adds time-based scheduling support with analyzer_t using wall-clock time as the current time. Adds a number of options to set sharding mode (-core_sharding, -core_serial (not yet implemented)) and control the schedule (-sched_quantum, -sched_time, sched_order_time, -record_file, -replay_file, -cpu_schedule_file). Updates the basic_counts tool to support core sharding. Adds a new test core_sharded_test which leverages the analyzer_multi and option parsing to test the top-level options within a framework that can capture the output and run multiple tests sequentially in a simpler framework than having a separate test with an output file for each parameter being tested. Left as future work: + Convert scheduler_launcher into a new schedule_stats tool + Add a new record to indicate STATUS_WAIT + Add -core_serial support + Convert drcachesim default and -cpu_scheduling to use get_output_cpuid() Issue: #5694
- Loading branch information
1 parent
1a14566
commit 9bb9b4d
Showing
16 changed files
with
618 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.