Browse Prior Art Database

Method of performance modeling using resources and transactions Disclosure Number: IPCOM000015451D
Original Publication Date: 2002-May-28
Included in the Prior Art Database: 2003-Jun-20
Document File: 7 page(s) / 56K

Publishing Venue



This describes a method of performance modeling and a framework for modeling

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 24% of the total text.

Page 1 of 7

Method of performance modeling using resources and transactions

This describes a method of performance modeling and a framework for modeling

latency and contention in a simulation model that uses Resources, Transactions and

other related classes.

This method was developed for a simulator for a network processor. The software

simulator performs the same functions as the hardware for a given series of

processor instructions, so our current network processor simulation models can be

described as "functional models". As an instruction is executed by a model, all data

structures are modified as they would be on actual hardware. However, the original

version of the models did not account for the amount of time it takes to perform an

operation. Nor did they account for delays which might arise when two or more

parallel operations try to make use of the same hardware resource.

Using the methods described in this document, it is possible to model the

performance of hardware to within an arbitrary precision. The method was designed

to be easy to add to an existing functional model. Furthermore, it is possible to

improve the accuracy of the model incrementally, without having to rewrite large

sections of code. This design approach takes advantage of the modular nature of

existing functional models. Although it is implemented as an extension of a

functional model, the software could conceivably be used for pure performance

modeling as well.

The method requires very little extra code or processing time during execution of the

functional model. If the user desires, the performance modeling code may be

disabled and the simulator may be used as solely a functional model. In this case,

the performance of the functional model is essentially the same as that of previous

versions of the model which did not have any performance modeling capability.

These classes are used in our simulation models so that they provide more

information about the performance of the executed code. This allows users of our

simulator to verify that the executed code falls within an allotted budget of

instruction cycles and to assess the aggregate performance of the network

processor before the actual hardware becomes available.

Conceptually, this framework consists mainly of three software classes:

the Resource, Transaction and TransactionUser classes. The framework also has

other software classes which are used for special cases:

the Synchronization_Resource, ResourceGroup and StageResource classes.

There are two more classes that are used to tie all these classes together:

the Event Manager and the Transaction Manager.

* The Resource, Transaction and TransactionUser Classes


Page 2 of 7

The relationships between the main classes are depicted in Figure 1. For

programmers developing simple models, this figure depicts all the elements of the

framework they are likely to use.

A Resource models a feature which:

Performs one intermediate step that is required to complete some l...