You are on page 1of 32

ACE User Guide

5 Predicting Application Performance

Predicting Application Performance


ACE leverages OPNETs predictive modeling technology to help you determine how variations in your application and network will affect your applications performance. ACE includes four separate predictive features: QuickPredictThis feature allows you to quickly determine how network variations will affect your applications performance. This allows you to answer questions such as, How will my application be affected if I double the available bandwidth between two tiers? See QuickPredict on page ACE-5-3 for more information. QuickRecodeThis feature allows you to quickly determine how variations in your application will affect its overall performance. You do this by manually editing your application task to create a hypothetical application and comparing its performance to the original. This allows you to study questions such as, How will my application be affected if my database could transmit a record in 30 messages, rather than the current 300? See QuickRecode on page ACE-5-13 for more information. ACE discrete-event simulationsYou can create network scenarios based on ACE tasks. You can then take full advantage of OPNET event-based simulation engine and model library to test your application in a wide variety of network scenarios. For example, you can create a virtual deployment of an FTP application to test the effects of multiple downloads on the applications overall response time. See ACE Discrete-Event Simulations on page ACE-5-15 for more information. ACE traffic flowsGiven an existing network, you can import end-to-end traffic directly from ACE. You can also scale the ACE traffic to model the effects of multiple iterations on a single node or multiple nodes. ACE traffic flows are especially useful when you want to study the effects of massive deployments, in which a discrete-event simulation of hundreds or thousands of transactions would require too much time or memory. See ACE Traffic Flows on page ACE-5-23 for more information.

Application Characterization Environment/Release 10.0

ACE-5-1

ACE User Guide

5 Predicting Application Performance

Important Notes
This section includes notes about the different predictive features in ACE.

Real-World Applications vs. QuickPredict and Discrete-Event Simulations


QuickPredict and discrete-event simulations start with a pure model of an applications behavior, without regard to the underlying network. The ACE prediction engine filters out network effects that the agent observed when it captured the application. For this reason, your ACE prediction results (such as application response times) might differ from those observed in your real-world network. To directly compare your observed application behavior against QuickPredict or discrete-event simulations, you must make sure that your network settings in ACE (such as packet loss, TCP window size, etc.) accurately reflect conditions in your network. QuickPredict produces typical response times, while there might be no such thing as a typical response time in your network. If your network is experiencing packet loss, multiple runs of a transaction over TCP can produce a significant range of response times. This happens because TCP is highly sensitive to the type of packets that are being lost. A lost ACK (acknowledgement) packet does not typically affect response time, but a lost SYN (connection open) packet can delay the response time by 3 seconds or more.

QuickPredict vs. Discrete-Event Simulations


You can do predictive analyses of an application using both QuickPredict and discrete-event simulations. Here are the primary distinctions between these methods: As its name implies, QuickPredict provides instant or near-instant results. A discrete-event simulation might take several minutes or more to produce results (depending on the complexity of your scenario). Because it uses analytical simulation, QuickPredict produces less accurate results than a discrete-event simulation. QuickPredict can predict the effects of five factors (bandwidth, latency, link utilization, packet loss, and TCP window size) on each tier-pair connection in an ACE task. This is a small subset of the what-if scenarios you can test using discrete-event simulation. QuickPredict uses a different definition of packet loss from that used in OPNETs simulation kernel. In QuickPredict, the packet-drop rate indicates the tail-drop point at which all further packets in a particular message flow are dropped (for example, due to an overflowed buffer).

ACE-5-2

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

Traffic Flows vs. Discrete-Event Simulations


You can simulate an applications performance using both traffic flows imported from ACE and discrete-event simulations (as described in ACE Discrete-Event Simulations on page ACE-5-15). ACE traffic flows can speed up discrete-event simulations. ACE flows are often preferable when modeling large application deployments, because discrete-event simulations might require large amounts of time and computer memory. For example, suppose you want to virtually deploy an ERP application on dozens or hundreds of remote clients. A discrete-event simulation for such a scenario could generate an extremely high number of simulation events and require several hours to complete.

QuickPredict
QuickPredict enables you to quickly determine how varying bandwidths, latencies, and other network parameters will affect application performance. You create what-if scenarios by varying the characteristics of one or more network paths. QuickPredict shows the results using a standard OPNET analysis panel (x-y graph).

Using QuickPredict
The following diagram shows the basic QuickPredict Control window, which you open by choosing AppDoctor > QuickPredict. The basic idea of QuickPredict is that you vary the parameters for a particular network path; then you click Update Graph to see how these variations affect the application response time (y axis on the resulting graph).
Figure 5-1
1. Choose path to modify 2. Choose x-axis parameter and range 3. Vary other parameters for the selected path 4. View results

QuickPredict ControlBasic Dialog Box

The X Axis radio buttons determine which of the available parameters (Bandwidth or Latency) will form the x axis in the resulting graph. You can then modify the non-x-axis parameter using the edit field or the slider.

Application Characterization Environment/Release 10.0

ACE-5-3

ACE User Guide

5 Predicting Application Performance

Viewing Results
The QuickPredict results graph shows how the network parameter you specified will affect your applications response time (y axis). Changes to the non-x-axis parameter value made with the slider are reflected in the graph immediately; click Update Graph to view the effects of other changes. You can add another result to the active graph by clicking Add Curve(s) before changing a parameter value; this allows you to directly compare the effects of different parameter settings in the same graph. (Note that a graph can show multiple results only if they share the same x-axis; if you specify a new x-axis parameter, QuickPredict shows the result in a separate graph.)
Figure 5-2 Sample QuickPredict Results

Default results graph with curve for one latency value

Added Curve results in graph with curves for two latency values

Publishing Results
You can publish QuickPredict results in an ACE web report ( File > Generate ACE Web Report) or a Microsoft Word report (File > Generate MS Word Report (.rtf)) . These reports include all open graphs and the parameter settings for each network path. To export your results to a spreadsheet program like Excel, right-click in a graph and choose Export Graph Data To Spreadsheet.

ACE-5-4

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

Control Panels: Basic, Advanced, Table, and Bar Chart


QuickPredict provides four different control panels you can use to specify parameters: Basic control panelWhen you start QuickPredict (by choosing AppDoctor > QuickPredict), the Basic control panel appears. It is useful for studying the effect of bandwidth and latency variations over a single network path (see Basic Control Panel on page ACE-5-6 for more information). Advanced control panelYou can open this window by clicking Advanced in the Basic or Table View control panel. This control is similar to the Basic control panel, but with the following additional capabilities: Allows you to modify all possible parameters (bandwidth, latency, link utilization, packet loss, and TCP window size) on a specific network path. Provides control over the number of data points calculated. This control panel is useful for more detailed what-if scenarios over a single connection (see Advanced Control Panel on page ACE-5-7 for more information). Table View control panelYou can open this window by clicking Table View in the Basic or Advanced control panel. This control panel allows you to view and modify all parameter settings for all network paths in the application task. It is useful for what-if scenarios that involve variations on multiple network paths (see Table View Control Panel on page ACE-5-9 for more information). Bar control panelTo open this window, choose AppDoctor > QuickPredict Bar Chart in the ACE Treeview or the Data Exchange Chart. This window divides the total predicted response time into components of processing time and delay. You can also compare multiple scenarios directly, and create templates of your QuickPredict settings (see QuickPredict Bar Chart Panel on page ACE-5-11 for more information). Keep in mind that all network paths in your application task have the same set of parameters. These three control panels differ primarily in the number of parameters and paths they show.

Application Characterization Environment/Release 10.0

ACE-5-5

ACE User Guide

5 Predicting Application Performance

Basic Control Panel

To open the Basic control panel, choose AppDoctor > QuickPredict. This control allows you to specify bandwidth and latency variations on a single network path at a time.
Figure 5-3 QuickPredict ControlBasic Control Panel

The following table describes, in alphabetical order, the controls available in the Basic control panel.
Table 5-1 Control Add Curve(s) QuickPredict ControlBasic Controls (Part 1 of 2) Description Retains the current curve in the active graph and adds a new result curve that will reflect future changes to the settings. NOTE: If you specified a different parameter for the x-axis, QuickPredict shows the results in a different graph. Advanced Choose Network Path to Modify Choose Values Switches to the Advanced control panel. Selects the network path whose performance you want to study. Specifies a value for the remaining non-x-axis parameter. NOTE: If you enter a new value in the edit field, you must click Update Graph to show the result of this change. If you use the slider, the result graph updates automatically. NOTE: You can change the minimum/maximum range for a parameter slider by clicking in the range fields beneath the slider. Close Compare Exits QuickPredict. Imports another ACE task into QuickPredict to compare with the current task. NOTE: Use this feature only with tasks that are directly comparablethat is, for tasks that record variations on the same application and were captured over the same network tiers.

ACE-5-6

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

Table 5-1 Control

QuickPredict ControlBasic Controls (Part 2 of 2) Description Sets the minimum or maximum range of the x-axis parameter. Switches to the Table View control panel. Updates the active graph to reflect the current parameter settings. Specifies which parameter (Bandwidth or Latency) to use for the x axis of the result graph. (The y axis is always application response time.)

Min <parameter> Max <parameter> Table View Update Graph X Axis

End of Table 5-1

Advanced Control Panel

To open the Advanced control panel, click the Advanced button in the Basic or Table View QuickPredict Control window. This control panel allows you to modify all available parameters on a single network path at a time.
Figure 5-4 QuickPredict ControlAdvanced Control Panel

Application Characterization Environment/Release 10.0

ACE-5-7

ACE User Guide

5 Predicting Application Performance

The following table describes, in alphabetical order, the controls in the Advanced control panel.
Table 5-2 Control Add Curve(s) QuickPredict ControlAdvanced Controls Description Retains the current curve in the active graph and adds a new result curve that will reflect future changes to the settings. NOTE: If you specified a different parameter for the x-axis, QuickPredict shows the results in a different graph. Choose Network Path to Modify Close Compare Selects the network path whose performance you want to study. Exits QuickPredict. Imports another ACE task into QuickPredict to compare with the current task. NOTE: Use this feature only with tasks that are directly comparablethat is, for tasks that record variations on the same application and were captured over the same network tiers. Min <parameter> Max <parameter> Number of Data Points Parameters Sets the minimum or maximum range of the x-axis parameter. Specifies the number of data points that QuickPredict generates for the results curve. Specifies values for the remaining non-x-axis parameters. (Controls for the current x-axis parameter are disabled.) NOTE: If you enter a new value in the edit field, you must click Update Graph to show the result of this change. If you use the slider, the result graph updates automatically. NOTE: You can change the minimum/maximum range for a parameter slider by clicking in the range fields beneath the slider. Table View Update Graph X Axis Switches to the Table View control panel. Updates the active graph to reflect the current parameter settings. Specifies which one of the five parameters to use for the x axis of the result graph. (The y axis is always application response time.)

End of Table 5-2

ACE-5-8

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

Table View Control Panel

To open the Table View control panel, click the Table View button in the Basic or Advanced QuickPredict Control window. This control panel allows you to modify all available parameters on all network paths in the task.
Figure 5-5 QuickPredict ControlTable View Control Panel

Red text and range indicate current x-axis parameter. Left-click a parameter cell to set its value.

The following table describes, in alphabetical order, the controls in the Table View control panel.
Table 5-3 Control Add Curve(s) QuickPredict ControlTable View Controls (Part 1 of 2) Description Retains the current curve in the active graph and adds a new result curve that will reflect future changes to the settings. NOTE: If you specified a different parameter for the x-axis, QuickPredict shows the results in a different graph. Advanced Close Compare Switches to the Advanced control panel. Exits QuickPredict. Imports another ACE task into QuickPredict to compare with the current task. NOTE: Use this feature only with tasks that are directly comparablethat is, for tasks that record variations on the same application and were captured over the same network tiers. Min <parameter> Max <parameter> Number of Data Points Sets the minimum or maximum range of the x-axis parameter. Specifies the number of data points that QuickPredict generates for the results curve.

Application Characterization Environment/Release 10.0

ACE-5-9

ACE User Guide

5 Predicting Application Performance

Table 5-3 Control

QuickPredict ControlTable View Controls (Part 2 of 2) Description Shows all parameters of all network paths (tier pairs). The parameter used for the x axis is shown in red with its range of values. NOTE: If you enter a new value for a parameter, you must click Update Graph to show the result of this change.

Parameter Table

Set X-Axis

Uses the selected parameter for the x axis of the results graph. (To select a parameter, right-click on it.) NOTE: You can also specify a parameter for the x axis by left-clicking it and choosing Put on x axis from the pop-up menu.

Update Graph
End of Table 5-3

Updates the active graph to reflect the current parameter settings.

QuickPredict Bar Chart


The QuickPredict Bar Chart window is similar to the QuickPredict Table view, but has these additional features: In addition to predicting application response time in a scenario, this Chart breaks down the total application response time into separate components of application processing time and network delay (propagation, transmission and protocol/congestion delay). In this window, you can save and load templates of your network settings. This makes it easy to reuse your network conditions and compare results with new condition settings.

ACE-5-10

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

QuickPredict Bar Chart Panel

To open the QuickPredict Bar Chart, choose AppDoctor > QuickPredict Bar Chart in either the ACE Treeview window or the Data Exchange Chart. As in the Table view, you can modify all available parameters on all network paths in the task.
Figure 5-6 QuickPredict ControlBar Chart Control Panel

Left-click a parameter cell to set its value, then click Update Results

To put a parameter on the slider, left-click in the cell and choose Put on Slider

Application Characterization Environment/Release 10.0

ACE-5-11

ACE User Guide

5 Predicting Application Performance

The following table describes, in alphabetical order, the controls in the Table View control panel.
Table 5-4 QuickPredict ControlBar Chart View Controls Description
Add a new scenario to the QuickPredict results. In this case, a scenario means a new set of network parameters for the same application. Imports another ACE task into QuickPredict to compare with the current task. NOTE: Use this feature only with tasks that are directly comparablethat is, for tasks that record variations on the same application and were captured over the same network tiers. Graph Options Label categories larger than X percentUse this option to label components that account for X percent or more of the total delay time. Show SLAIf you specify an SLA (in seconds), the SLA threshold appears as a vertical line in the bar graph. This makes it easy to see if the application violates an SLA in a specific scenario. Load Template Parameter Slider Load a scenario from a template file You can use this slider to see immediately how changes in a single parameter affect the total application response time as well as the relative amounts of network vs. application delay. To put a parameter in this slider, click in the parameter cell and choose Put on slider from the pull-down menu. To specify a range for the slider, enter minimum and maximum values in the fields below the slider. You can also set the slider using the Value field above the slider. Save Template Tabular Results Bar Charts Update Results Save the current settings for all scenarios to a template file View the QuickPredict results in in a table View the QuickPredict results in bar charts Update the bar charts and the tabular results to reflect the current parameter settings. NOTE: You must click this button after you change a parameter setting in the table. End of Table 5-4

Option/Field
Add Scenario

Compare

ACE-5-12

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

QuickRecode
QuickRecode enables you to manually edit parts of an ACE task; you can then predict the behavior of your hypothetical application using either QuickPredict or event-based simulation. Using this approach, you can determine the effects of specific changes in an application without changing the actual code. Note the following considerations: When you run QuickPredict on an edited application, ACE calculates and shows results for both the original and the edited application. When you import an edited application into OPNET (Topology > Import Topology > From ACE in the Project Editor), your discrete-event simulation results will reflect your edited (not the original) ACE task. For this reason, we recommend that you always save an edited ACE task under a new name so you can retain the original information.

Procedure 5-1

Editing an ACE Task Using QuickRecode

1 Open your ACE task and switch to the Data Exchange Chart; then make sure that the chart is set to the application view (Application Chart Only in the pull-down menu above the chart). 2 Select a group of messages to edit. The following limitations apply when selecting groups for a QuickRecode operation: All messages must be within the same tier pair. All messages in the group must be consecutive (that is, there are no intervening messages). If a selected message has a dependency to a message on a different tier pair, this message must be either the first or last message in the selected group. 3 Right-click on the selected group and choose QuickRecode Selected Items from the pop-up menu. The QuickRecode Selected Items dialog box appears.

Application Characterization Environment/Release 10.0

ACE-5-13

ACE User Guide

5 Predicting Application Performance

Figure 5-7 QuickRecode Dialog Box

Use this dialog box to modify the behavior of your real-world application (number of turns, amount of application data, and processing delay associated with each tier). For example, you might specify a double-payload level by doubling the amount of application data transmitted by each tier. 4 Specify the characteristics for your hypothetical application, then click OK to close the dialog box and accept your changes. A red band appears around the group in the Data Exchange Chart and the group itself changes color to indicate that it has been edited. Figure 5-8 Packet Group Edited Using QuickRecode

edited group

5 Edit other groups, if desired, by repeating steps 25. 6 Save your edited task under a new name (File > Save As). You can now evaluate the effects of your edited application using either QuickPredict or by running a discrete-event simulation. End of Procedure 5-1

ACE-5-14

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

ACE Discrete-Event Simulations


You can import ACE data into a new or existing network. You can then use OPNETs discrete-event simulation engine and model library to predict an applications performance in a wide variety of scenarios. Once you have made a satisfactory ACE task, you might want to include it in projects and run discrete-event simulations to test the applications behavior in various conditions. You can: Add one or more ACE tasks to an existing scenario. See Adding an ACE Task to an Existing Scenario on page ACE-5-19. Importing an ACE task into a new scenario. See Importing an ACE Task into a New Project or Scenario on page ACE-5-15.

Importing an ACE Task into a New Project or Scenario


You can quickly create a network scenario based on one or more ACE tasks. When you import the ACE model, the Model Wizard does the following: A network topology is created. You can control certain aspects of the topology during the import process (as described in Procedure 5-2 Importing an ACE Model on page ACE-5-15) and can always reconfigure the topology after it is created. You will see the nodes and links that represent your topology in the workspace. An application is created. You can control certain aspects of the application during the import process (as described in Procedure 5-2 Importing an ACE Model on page ACE-5-15) and can always reconfigure the application after it is created. When the ACE import is complete, you will see the task, application, and profile definition objects in the workspace. Statistics are chosen for collection. OPNET considers the topology and type of application, then chooses certain statistics for collection. You can always adjust the statistics chosen after import.

Procedure 5-2

Importing an ACE Model

1 If necessary, create a project or scenario. If the Startup Wizard appears, choose Import from ACE in the Initial Topology window and click Next. If the Startup Wizard does not appear, choose Topology > Import Topology > From ACE in the Project Editor. The Configure ACE Application dialog box appears.

Application Characterization Environment/Release 10.0

ACE-5-15

ACE User Guide

5 Predicting Application Performance

Figure 5-9 Completed Configure ACE Application Dialog Box

2 Complete the Application Details section of the dialog box. This section includes the following components: NameAn application can be composed of a single task or multiple tasks. If the application is a single task, you can use the task name. If the application is multiple tasks, choose a descriptive name that is not the name of a single task. After your network is created, you will see this name as the Name attribute in the (Applications Definitions) table. Repeat ApplicationThe number of times the application will repeat, per hour, per user. The value entered becomes the value of the Inter-repetition Time (seconds) attribute. To show the attribute, select Edit Attributes from the Profile Definition object, then select Profile Configuration > Applications > Repeatability. The attribute is the length of time that elapses between repetitions of the application, so if (for example) you specified that the application repeat just once per hour, the value shown will be 3,600 seconds. Using the following limitThis sets an limit on the number of times the application repeats. Infinite means that there is no limit. The value entered becomes the value of the Number of Repetitions attribute. To show the attribute, select Edit Attributes from the Profile Definition object, then select Profile Configuration > Applications > Repeatability. 3 Complete the Contained Tasks section of the dialog box as follows: 3.1 Click on the Add Task button. A row is added to the Contained Tasks table.

ACE-5-16

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

3.2 Click on Specify in the ACE Trace File column. A pop-up box appears, listing all trace files included in any of the mod_dirs directories. 3.3 Select the file that represents the first task in your application. 3.4 Click on the Add Task button again to add further tasks to your application. The pop-up box now contains a shorter, filtered list of files. Only those files that are possible tasks in your application are listed. OPNET determines which tasks are possible by determining the first talker (the tier that sent the first application message in the trace) of the first task, then presents only those trace files that have the same first talker. 3.5 Use the Delete Task button as needed to adjust the tasks in your application. 4 Click Next. The Create ACE Topology dialog box appears. Figure 5-10 Completed Create ACE Topology Dialog Box

5 Complete the LAN Details section of the dialog box. This section includes the following components: Number of ClientsSpecify the number of clients running the application. If two or more clients are specified, they are represented by a LAN model and the number of clients you specify becomes the value for the Number of Workstations attribute. Packet AnalyzerIf you have only one client, you might wish to include a packet analyzer. If you specify that an analyzer be included, you will not see it as a separate node, but one will be integrated with the switch in the local network and the attribute Packet Analyzer Configuration will be included on that switch. Client LocationSpecify the client location in relation to the application servers. If the client is remote, complete the WAN Details section.
Application Characterization Environment/Release 10.0 ACE-5-17

ACE User Guide

5 Predicting Application Performance

6 If necessary, complete the WAN Details section of the dialog box. This section includes the following components: TechnologyChoose the correct protocol. If you choose the ATM or Frame Relay protocols, a PVC configuration object with the default settings is included in the network. You might want to adjust the PVC configuration by editing the attributes of this object. Packet Latency (msec)The value entered becomes the Packet Latency (secs) attribute of the cloud. Packet Loss Ratio (1-100)The value entered becomes the Packet Discard Ratio attribute of the cloud. Access Bandwidth (Kbps)The value entered becomes the data rate of both links connected to the cloud (you can adjust these values after the network is created). 7 Click Create. The network is created. The topology and applications reflect the specifications gleaned from the ACE trace file and your input. Correct statistics have been selected. Figure 5-11 Sample Generated Network Model
Configuration objects that specify application behavior Local network

Web Client node. Workstation model was used because Number of Clients = 1.

Because client was specified as Remote from server, a remote switch, remote router, and cloud are created

8 Review the following attributes, adjusting the configuration as necessary: Applications Definitions object: (Application Definitions) Table. Notice that the application name you created is shown as the Name. Profile Definitions object: (Profile Configuration) Table. Notice that a profile called ACE (<application name>) has been created. It includes the application you imported. Remote Router <--> Cloud and Cloud <--> Local Router links: data rate. The import process assigns the same rate to both links; you might need to adjust these rates. 9 Review the statistics chosen for collection, adjusting as necessary. End of Procedure 5-2

ACE-5-18

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

Adding an ACE Task to an Existing Scenario


You might already have a network model to which youd like to add the traffic from your ACE task. In this case, you should not use the Import Topology from ACE operation because this would overwrite your existing topology. Instead, you can: Deploy the ACE task in the existing scenario. The ACE Model Wizard automates the standard procedure that you would use if you were to manually configure a custom application with an ACE model file. See Creating an ACE Application Model in an Existing Scenario on page ACE-5-19. Define a custom application that uses your ACE models as tasks and configure this application in the network using the standard procedure for configuring applications and profiles. See Manually Creating an ACE Application Model in an Existing Scenario on page ACE-5-22.

Creating an ACE Application Model in an Existing Scenario


With the ACE Model Wizard, you can quickly create a custom application model that uses your ACE model in an existing scenario. When you use the Model Wizard, the following occurs: An application is created. You can control certain aspects of the application during the import process (as described in Procedure 5-2 Importing an ACE Model on page ACE-5-15) and can always reconfigure the application after it is created. Definitions for the new application are included in the task, application, and profile definition objects in the workspace. Statistics are chosen for collection. OPNET considers the topology and type of application, then chooses certain statistics for collection. You can always adjust the statistics chosen after import.

Procedure 5-3

Adding an ACE Task Model to an Existing Scenario

1 In the Project Editor, choose Protocols > Applications > Deploy ACE Application on Existing Network... . The Configure ACE Application dialog box appears.

Application Characterization Environment/Release 10.0

ACE-5-19

ACE User Guide

5 Predicting Application Performance

Figure 5-12 Completed Configure ACE Application Dialog Box

2 Complete the Application Details section of the dialog box. This section includes the following components: NameAn application can be composed of a single task or multiple tasks. If the application is a single task, you can use the task name. If the application is multiple tasks, choose a descriptive name that is not the name of a single task. After your network is created, you will see this name as the Name attribute in the (Applications Definitions) table. Repeat ApplicationThe number of times the application will repeat, per hour, per user. The value entered becomes the value of the Inter-repetition Time (seconds) attribute. To show the attribute, select Edit Attributes from the Profile Definition object, then select Profile Configuration > Applications > Repeatability. The attribute is the length of time that elapses between repetitions of the application, so if (for example) you specified that the application repeat just once per hour, the value shown will be 3,600 seconds. Using the following limitThis sets an limit on the number of times the application repeats. Infinite means that there is no limit. The value entered becomes the value of the Number of Repetitions attribute. To show the attribute, select Edit Attributes from the Profile Definition object, then select Profile Configuration > Applications > Repeatability. 3 Complete the Contained Tasks section of the dialog box as follows: 3.1 Click on the Add Task button. A row is added to the Contained Tasks table.

ACE-5-20

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

3.2 Click on Specify in the ACE Trace File column. A pop-up box appears, listing all trace files included in any of the mod_dirs directories. 3.3 Select the file that represents the first task in your application. You can view the tiers in the trace file by clicking in the Tier Names column. 3.4 Click on the Add Task button again to add further tasks to your application. The pop-up box now contains a shorter list of files that consists only of files that have the same first talker as the trace file you just selected. The first talker is the tier that sent the first packet in the trace. 3.5 Use the Delete Task button as needed to adjust the tasks in your application. Note that because the files available from the pop-up box depend on the first file selected, you might need to delete all tasks selected to change the available file choices. 4 Click Next. The Deploy Tiers dialog box appears, listing all tiers contained in the trace files chosen in the previous dialog box. This dialog box allows you to configure nodes in the network to behave as the tiers in the trace files. 5 Complete the Deploy Tiers dialog box as follows. 5.1 Click in the Select Nodes column of the tier that is the first talker. The text at the top of the dialog box indicates which tier is the first talker. The Deploy Tiers dialog box appears, listing all nodes in the network that can be configured as ACE tiers. Figure 5-13 Deploy Tiers Dialog Box

5.2 Deploy this tier on at least one node by indicating which nodes in the network behave as this tier. For the first talker, these are the nodes that start the application. Click OK when done. 5.3 Repeat steps a) and b) for the remaining tiers in the Deploy Tiers dialog box.

Application Characterization Environment/Release 10.0

ACE-5-21

ACE User Guide

5 Predicting Application Performance

6 Click Deploy. The ACE application is created and configured in the network according to the specifications derived from the ACE trace file and your input. Correct statistics have been selected. End of Procedure 5-3

Manually Creating an ACE Application Model in an Existing Scenario


An ACE-generated scenario includes three configuration objects that define when and how an ACE task is run during a discrete-event simulation. Including an ACE task in an existing ACE scenario involves the following three steps: 1) Include the ACE model in the Task configuration object. This object contains information on each specific task to be run during a discrete-event simulation. First add another row to the Task Specification table; then click in the ACE Filename field and choose the ACE file name from the pull-down menu. 2) Create an application definition in the Application configuration object. This object contains information about how a specific task should be run. Creating a definition is a two-step process: a) First create a row in the Application Definitions attribute table. b) Then create a task description for this attribute by drilling down into the new compound attribute, like so: Description > Custom > Task Description. Create a row in the Task Description table, then click in the Task Name field and select the task from the pull-down menu. You can include multiple ACE tasks in this table, and use the Task Weight and Task Ordering attributes to specify when and how the defined application runs the individual tasks. 3) Add the application to an application profile in the Profiles configuration object. An application profile includes a set of one or more application definitions (specified by the Applications attribute) and specifies when and how often these applications are run (specified by the Operation Mode, Start Time, Duration and Repeatability attributes). You can create a profile for your application definition (by adding another row to the Profile Configuration table) or add it to an existing profile.

ACE-5-22

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

ACE Traffic Flows


You can import traffic into your network from one or more ACE tasks. This allows you to virtually deploy applications (modeled using ACE) in different network scenarios, and still take advantage of OPNETs hybrid simulation technology.
How OPNET Generates Traffic Flows from ACE

For each tier pair in the imported ACE data, OPNET creates two unidirectional traffic flows (A-to-B and B-to-A) that reflect the traffic intensity in each direction. These traffic flows have the following characteristics: You can specify that one or more users repeat the ACE application at a specific rate. Therefore, the the duration of the imported traffic does not reflect the ACE task duration. You can specify whether the traffic on the imported flows is variable or uniform. If you specify variable traffic, OPNET divides the total duration into buckets and calculates a traffic intensity for each bucket. If you do not specify variable traffic, OPNET calculates a single uniform rate of traffic for each flow object. Figure 5-14 and Figure 5-15 show how OPNET calculates these traffic levels in bits per second (bps).
Figure 5-14 Traffic Calculations for Variable Traffic (bps) R = sum of repetitions for selected trace files V = ( ( trace_repetitions trace_size ) ) R TAR = number_of_users ( R 3600 ) bucket_duration

bps_for_bucket = ( Poisson ( TAR ) V ) bucket_duration

Figure 5-15 Traffic Calculations for Uniform Traffic (bps) T = application bits from source to destination U = number of users R = repetitions per user per hour

bps_for_flow = T U R 3600
As part of the import process, you must assign every ACE tier to one or more nodes in your network. OPNET uses these assignments to determine the source and destination nodes for the imported traffic flows.

Application Characterization Environment/Release 10.0

ACE-5-23

ACE User Guide

5 Predicting Application Performance

Scaling ACE Traffic


You can create traffic flows that reflect multiple executions of the imported ACE task. There are two methods for doing this. You can use either or both of these methods during a single import operation. To run the same task from multiple nodes, you can assign multiple nodes to the same ACE tier. This tier must be the initiating tier, which is the tier that sends the first packet and initiates the transaction. For example, suppose you import a simple client-server FTP application in which the client is the initiating tier. You can assign this tier to two nodes, and thus model two separate FTP downloads. This method is described in Assigning Multiple Nodes to a Tier on page ACE-5-24. To run the same task from a single node, you can configure an initiating node to launch multiple executions of the imported task. The resulting flows reflect multiple executions of the imported task. This method is described in Configure Initiating Node Dialog Box on page ACE-5-31.

Assigning Multiple Nodes to a Tier


When you assign multiple nodes to a tier, the import engine applies the following rules: If the assigned tier is the initiating tier, each replicated conversation represents an additional execution of the ACE task. As a result, the ACE tier-pair traffic is multiplied in the network as a whole. If the assigned tier is a non-initiating tier, the import engine balances traffic between all nodes that are based on the same tier. As a result, the ACE tier-pair traffic stays constant in the network as a whole.
Examples of Multiple Node Assignments

In this section, we import the same ACE task into three different networks and examine the resulting traffic levels. The following task involves three tiers: client (initiating tier), web_server, and database_server. We use two variables to represent the traffic levels found in the ACE task: cli_web_trf = the average rate of traffic between client and web_server web_db_trf = the average rate of traffic between web_server and db_server
Figure 5-16 A Three-Tier ACE Application client is the initiating tier
total traffic between web_server and db_server = web_db_trf rate of traffic between client and web_server = cli_web_trf

ACE-5-24

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

In the first example, we assign client to two workstations. Because client is the initiating tier, the imported traffic models two instances of the application; as a result, the ACE traffic is multiplied by two.
Figure 5-17 Deployment Example 1 (Traffic Multiplied)
traffic between clients and web server: per node pair = cli_web_trf both node pairs = cli_web_trf * 2 traffic between web server and database server:

web_db_trf * 2

clients

web server

database server

In the following example, we assign web_server to two firewall nodes. Because there is only one initiating node, OPNET models a single instance of the application. However, the network uses two web servers to carry traffic between the client and the database server. Therefore, the traffic is balanced (divided) between the replicated traffic flows.
Figure 5-18 Deployment Example 2 (Traffic Divided)
traffic between client and web servers: per node pair = cli_web_trf / 2 both node pairs = cli_web_trf traffic between web servers and database server: per node pair = web_db _trf / 2 both node pairs = web_db_trf

client

web servers

database server

Application Characterization Environment/Release 10.0

ACE-5-25

ACE User Guide

5 Predicting Application Performance

In the following example, we assign client (the initiating tier) to three workstations and web_server (a non-initiating tier) to two firewalls. The resulting traffic models three instances of the application, with the overall traffic balanced between two web servers.
Figure 5-19 Deployment Example 3 (Traffic Multiplied / Divided)
traffic between clients and web servers: traffic between web servers and database server:

per node pair = cli_web_trf / 2 all node pairs = cli_web_trf * 3

per node pair = (web_db _trf * 3) / 2 both node pairs = web_db_trf * 3

clients

web servers

database server

Import Procedure
Procedure 5-4 Importing Traffic Flows from ACE

1 In the Project Editor, choose Traffic > Import Traffic Flows > From ACE. The ACE Traffic Import: Specify Tasks dialog box appears. 2 In the Tasks table (upper left), add the ACE tasks you want to import. For information on importing multiple tasks, see Specify ACE Tasks Dialog Box on page ACE-5-27. Note that when you select an ACE task, the tier names appear in the Tiers Present table (lower left). 3 After you specify the ACE tasks you want to import, click Next. The ACE Traffic Import: Assign Nodes dialog box appears. You use this dialog box to nodes (in the Project Editor window) to ACE tiers (in the Node Assignments by Tier treeview). OPNET uses these assignments to determine the source and destination nodes for the resulting traffic flows. (For a detailed description of this dialog box, see Assign Nodes Dialog Box on page ACE-5-28.) 4 For each ACE tier in the Node Assignments treeview on the left, do the following procedure. Repeat this procedure until every tier has at least one node assigned. 4.1 Select the tier to which you want to assign a node. To select a tier, click on it in the Node Assignments treeview or set the Current Tier pull-down menu.

ACE-5-26

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

4.2 Go to the Project Editor window and select the nodes that you want to assign. You can assign a tier to multiple nodes; see Assigning Multiple Nodes to a Tier on page ACE-5-24 for more information. 4.3 Return to the Assign Nodes dialog box and click Assign Selected Nodes. In the Node Assignments treeview, the assigned nodes appear as children of the current tier. If you are assigning the initiating tier, the Configure Initiating Node dialog box appears. You can use this dialog box to specify the type of flow objects to use, the traffic duration, and how often the node initiates instances of the application. See Configure Initiating Node Dialog Box on page ACE-5-31 for more information. 5 After you assign nodes to all tiers, review your assignments in the Node Assignments treeview. To edit an assignment, right-click on a node in the treeview and choose the desired option from the pop-up menu. See Treeview Pop-Up Menu Operations on page ACE-5-30 for more information. 6 You might want to export your tier/node assignments to a spreadsheet. This makes it easy to edit and reuse your assignments when you do future imports. See Saving, Editing and Reusing Tier Assignments on page ACE-5-29 for more information. To save your current assignments to a spreadsheet, click Save. 7 Click Finish to import the traffic. End of Procedure 5-4

Specify ACE Tasks Dialog Box


Figure 5-20 Specify Tasks Dialog Box

The Specify ACE Tasks dialog box appears after you choose Traffic > Import Traffic Flows > From ACE. You use this dialog box to specify the ACE tasks you want to import.

Application Characterization Environment/Release 10.0

ACE-5-27

ACE User Guide

5 Predicting Application Performance

You can import multiple tasks in the same operation, subject to the following restrictions: All tasks must include the same set of tier names. All tasks must have the same initiating tier. This is the tier that sends the very first packet in the task, and thus starts the application. When you import multiple tasks, the import merges the traffic. For each tier pair, the resulting flows reflect the combined traffic levels from all imported tasks. For example, suppose you import two tasks that record an FTP application between a client and a server tier. Total server-to-client traffic is 50 kilobytes in the first task, and 100 kilobytes in the second task. The resulting server-to-client traffic flow will specify 150 kilobytes, or the sum of the average traffic between the two tasks. (This example assumes that you do not scale the traffic as described in Scaling ACE Traffic on page ACE-5-24.)

Assign Nodes Dialog Box


Figure 5-21 Assign Nodes Dialog Box

The Assign Nodes dialog box appears after you specify the ACE tasks you want to import. You can do the following tasks in this dialog box: Specify traffic sources and destinations (required): To do this, you select nodes in the Project Editor window and then assign the selected nodes to specific ACE tiers. OPNET creates traffic flows between these nodes that reflect traffic levels between the corresponding ACE tiers. Save tier/node assignments to a spreadsheet (optional): You might want to save your assignments to a comma separated value (.csv) file. You can edit your assignments and quickly load them when you do future imports. See Saving, Editing and Reusing Tier Assignments on page ACE-5-29 for more information.
ACE-5-28 Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

Customize initiating nodes (optional): You can customize the traffic duration, traffic levels and demand models for any nodes that you assign to the initiating tier. See Configure Initiating Node Dialog Box on page ACE-5-31 for more information.
Table 5-5
Item Assign Selected Nodes

Assign Nodes Dialog Box


Description Assigns all selected nodes in the Project Editor to the current tier. If this option is enabled, OPNET calculates variable traffic intensities using the trace arrival rate, which is calculated using a Poisson distribution. If this option is not enabled, OPNET calculates a uniform traffic intensity for each flow object. For more information, see Figure 5-14 on page ACE-5-23 and Figure 5-15 Traffic Calculations for Uniform Traffic (bps) on page ACE-5-23 . Select a tier to assign Assigns the selected tier to all selected nodes in the Project Editor Loads tier/node assignments from an ASCII file (see Saving, Editing and Reusing Tier Assignments on page ACE-5-29 for more information) Treeview shows the current nodes assignments. You cannot import traffic until all tiers have at least one node assigned. Export current tier/node assignments to an ASCII file (see Saving, Editing and Reusing Tier Assignments on page ACE-5-29 for more information)

Create variable traffic flow

Current Tier Deploy Tier to Selected Nodes Load

Node Assignments by Tier

Save

End of Table 5-5

Saving, Editing and Reusing Tier Assignments

The Assign Nodes dialog box includes two buttons (Save and Load) that enable you to save, edit, and reuse your node assignments. This feature can be especially useful for imports that involve a large number of node assignments. For example, you might want to import a client-server application, and assign 100 nodes to the client tier. You can assign the nodes, export the assignments to a .csv file, edit the file using a spreadsheet program like Excel (if desired), and reuse the settings in future imports.

Application Characterization Environment/Release 10.0

ACE-5-29

ACE User Guide

5 Predicting Application Performance

You might find it most efficient to create assignment templates that require a minimal number of changes after you import their contents into the Assign ACE Tiers dialog box. NoteYou can import assignment settings from a spreadsheet only if the spreadsheet and the Assign ACE Tiers dialog box contain the same set of tier names.
Treeview Pop-Up Menu Operations

To edit an existing node assignment, right-click on a node in the Node Assignments treeview, as shown in the following diagram.
Figure 5-22 Treeview Pop-Up Menu in Assign Nodes Dialog Box

Table 5-6
Item

Assign Nodes Pop-Up Menu Operations


Description Opens the Configure Traffic Load dialog box; see Configure Initiating Node Dialog Box on page ACE-5-31 for more information (initiating node only) Apply configuration settings for the selected tier to all future initiating tiers (initiating node only) Copy configuration settings of the current node (initiating node only) Paste the copied configuration settings to the selected node (initiating node only) Unassign the selected tier from the selected node; removes this node from the tree

Edit Deployment

Set as Default Deployment

Copy Deployment

Paste Deployment

Unassign Node

End of Table 5-6

ACE-5-30

Application Characterization Environment/Release 10.0

ACE User Guide

5 Predicting Application Performance

Configure Initiating Node Dialog Box


Figure 5-23 Configure Initiating Node Dialog Box

The Configure Initiating Node dialog box appears only when the Assign Nodes dialog box is open. This box appears when you do the following actions: Assign a node to an initiating tier. If you assign multiple nodes, this dialog box appears multiple times (once for each assigned node) Right-click on an assigned node and choose Edit Configuration from the pop-up menu. You can specify the following information in this dialog box: The type of demand model used to create the traffic flows (Demand Type pull-down menu) The simulation interval during which the node initiates the application tasks (Start Time and End Time fields) How often the node initiates the application task (Number of Users and Repetitions per User per Hour fields)

NoteYou can specify this information for initiating nodes only.

Application Characterization Environment/Release 10.0

ACE-5-31

ACE User Guide

5 Predicting Application Performance

Table 5-7 lists the items in the Configure Initiating Node diallog box.
Table 5-7
Item Apply to X remaining nodes

Configure Initiating Node Dialog Box


Description This option appears only when you assign multiple nodes to an initiating tier. If you check this box, the current settings are applied to the remaining nodes in the selection set. The demand model used to model the traffic flows for this application The simulation time when the node no longer initiates sessions of the ACE application. Traffic scaling factor. These fields determine the rate (in repetitions per hour) at which the node initiates sessions of the application task. This scales the traffic for all conversation pairs that support the ACE sessions initiated by the current tier. Example: Suppose you import a three-tier (clientweb_serverdb_server) application task. You set Number of Users to 10 and Repetitions to 10. This results in 100 repetitions of the application session per hour. As a result, OPNET scales the traffic on the related conversation pairs (client<>web_server and web_server<>db_server) by a factor of 100.

Demand Type End Time Number of Users Repetitions per hour per user

Start Time Task End of Table 5-7

The simulation time when the node starts to initiate sessions of the application task. The task to be repeated during the specified interval

ACE-5-32

Application Characterization Environment/Release 10.0

You might also like