![]() |
TECH SUPPORT | |||||||||||||||||||||||||||||||||||
|
WindView Import
01. IntroductionThe first section covers some assumptions made in the following discussion. The second presents an overview of the import process. The third section describes the import selection spreadsheet. The fourth section describes the import histograms. The fifth section reviews some issues regarding the computation of resource usage. The sixth section comments on the resulting candidate model.This paper makes a number of assumptions. Some of these regard knowledge or skills we expect you to have (ie, we won't cover those topics here). Other assumptions regard session environment configuration. These assumptions are sketched in the list below.
02. Overview of Import
Starting an import is easy, as shown in
Figure 02-A.
From the menubar, get the
On selecting the file to use, RapidRMA will work away (duration proportional to filesize), identifying tasks, resources, and events. Eventually it presents a table that called the selection spreadsheet (Figure 03-A). There are a number of choices you can make here that affect what is included in the model and how task periods are determined. Click OK to continue. Next RapidRMA displays a set of histograms (Figure 04-A), one pair for each of the included tasks (for which period data was found). One histogram of the pair shows the distribution of the period duration and the other shows the distribution of the amount of work performed in a period. Outlying datapoints can be discarded, or specific distribution types can be specified. Click OK to continue. Finally the system creates the candidate model and displays the components in the resource and task views. Optionally, you may decide to further edit the model at this time, using the resource and task editors. Now the model can be analyzed. 03. Selection SpreadsheetThe selection spreadsheet consists of two parts. On the left side is a list of tasks and resources. You can select which tasks and resources are included in the model by using the checkbox on the left. A checkmark in the checkbox means the item is included. By default, all items are included.
The right side is a list of tasks and their events, with one task-event pair per row. Often these events involve some action on a resource, for example, semaphore take, semaphore give, message queue send, or message queue receive. The Event Type column contains a pulldown menu in every cell. The options here are
The default event types for some common events are shown in Figure 03-B.
Through this Event Type selection, one identifies an appropriate periodic event for each task so that the event serves as the demarcation point between two periods. Given such an event, the import process may compute the length of the period (the duration between successive occurrences) and the workload for the period (the amount of work done between successive occurrences). In addition, resource usage is tracked in terms of intervals relative to the beginning of a period and that information will be added to the model, too. Without some event serving as a trigger, the task parameters cannot be derived. We must find at least one period (two successive period demarcation points) to create the task in the model. 04. Histogram Displays
The histograms window displays a pair of histograms for each task. The tasks are itemized on tabs at the top of the canvas. For each task is shown a histogram for the period length (duration) and a histogram for the amount of work. Almost certainly there is some amount of jitter in actual data, so that there isn't a single value where all the observations occur. Usually the only time we find a single value is where the data includes only a single period.
Along the left side of the window are enumerations of the numerical data. These have checkboxes associated with them. At the start all the checkboxes are shown as checked. It may be appropriate to eliminate some outlying. Click on the checkbox to remove the checkmark and eliminate that value (no matter how many observations that value had). If it is already removed, click on the checkbox to reinstate the checkmark and include the value in the distribution. Along the top are several textboxes showing the distribution statistics.
05. Resource Usage
Computing the resource usage raises some issues.
Essentially, we need to be sure that no resource usage
extends past the end of the task in the model.
For example, if a task is chosen to have a deterministic amount of work,
the amount of work is set to the average value.
In the model the task must unlock its resources by that time.
In the many runs that we see in the data,
the longer runs may use resources beyond that selected cutoff time.
Consequently, we use some It is useful to make such decisions here, during the import process, rather than later when editting the model with the task and resource editors. If we wish a shorter workload in the model, then it is easiest to let the import procedures trim the resource usage accordingly, so as to get a consistent model. If we use the task editor and shorten the workload in the imported model, we may need to go through all the resource utilization records for that task and make sure there are no intervals of resource utilization that extened beyond the new, shorter endpoint. This could entail a consider editting effort. 06. Candidate ModelHaving developed a model through this import process, one should review the task parameters and resource usage data. We characterize the model at this stage as a candidate model. The collected timing data is subject to the jitter of the actual system. It is possible that this import process has collected considerable noise along with the desired signal. It may be appropriate to smooth that out. Additionally, the timings that the model tends to select are averages rather than worst case instances. It may be appropriate to revise the numbers to reflect the worst case instances. There may be some system OS tasks or events or resources that should not be included in the model. This might include work done by the system to collect the trace data and to transfer it from the target to the host. The point is, the person modeling the system needs to examine this candidate model with a critical mind and apply their knowledge of the system in order to understand how well the candidate model represents the system for the purposes at hand. Successfully importing a data file is not a guarantee that you have a good or adequate timing model of your system.
|
|||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||