                        IPROBE for Alpha EV5/EV56/PCA56 and Windows NT V4.0

                                          Version T2-3



IMPORTANT NOTE

--------------



This version of the IPROBE runs on the Alpha EV5/EV56 and PCA56 for NT Version 4.0 kit.

This kit is only for EV5/PCA56 systems and will not work on EV4 systems.

It is known to work on Lynx, Turbolaser, Alcor, Rawhide and has not been tested on any other EV5 systems 

yet. If you happen to install the kit on any other EV5 systems please give us

feedback on the results.



Since this kit can crash the system,the installation procedure has been modified

to prevent your system from crashing at boot time. To ensure this, the driver has 

been made manually loadable to start with. If the driver loads properly one can

change it to an automatic (boot time load) driver. The following is the procedure

for the above



   * Start by running the install.bat batch file

   * Reboot the system

   * In 'Control Panel" (Available in 'Settings' under 'Start' button) double click

     'Devices'. The 'Devices' window will open up

   * In the device list select 'IprKrnl'. Click the 'Start' button. If the driver

     could not load the system will crash at this point, else you should see a 

     message box showing the progress of the loading.

   * If the driver loads OK, then unload it again by clicking the 'Stop' button

   * Now you can configure for autoload of the driver at boot time. For this, edit

     the file 'iprkrnl.ini' and modify the line



                     Start = REG_DWORD 0x3

     

                              to



                     Start = REG_DWORD 0x2



   * Run the install.bat file again. Reboot the system and you are all set to go.

     Type 'iprobe' and see whether you get counts displayed.





Below is the portion of the file specific to the NT Version 3.5 kit

-------------------------------------------------------------------



NEW FEATURES OF T2-1



New features of the IPROBE T2-1 kit are:



o A GUI call CTRCTL is now available to select the events

  to count or sample

o Alpha 21064 counters may now be displayed by PERFMON

o Several bugs have been fixed since the T2 kit



OVERVIEW



IPROBE V2 is a performance analysis tool and API (patent pending) that

was designed and created by the CSG Performance Group.  The IPROBE tool uses

the IPROBE API to provide the ability to use the performance counters on

Alpha chips on Windows NT, OpenVMS, and OSF/1.  The IPROBE API may also be

used directly to allow customized IPROBE API programs.  This kit contains 

a field test kit for Windows NT.  IPROBE kits for OpenVMS and OSF/1

are available separately.  Currently, the 21064 (EV4) and 21064A (EV45) chips

are supported on Windows NT.  The 21164 (EV5) chip will be supported in the

future.  IPROBE is supported on Windows NT 3.5 Workstation and Advanced Server.

IPROBE will not run on Windows NT 3.1.  IPROBE may run on Windows NT 3.5 RC1

and RC2 but has not been tested and is not supported on RC1 and RC2.



This kit has been tested on a variety of Alpha Windows NT systems

including a DECpc 150 and a 2-processor AlphaServer 2100 4/275.  Testing has

shown this kit to be quite stable.  If any problems occur or you have comments

or suggestions regarding this tool please send them to Brad Waters at

PERFOM::BWATERS or bwaters@perfom.enet.dec.com.



Prior to this release of IPROBE, the CSG Performance Group provided a tool

called PERFEV4 that allowed the Alpha chip counters to be displayed by the

Windows NT PERFMON tool.  This kit is not compatible with the PERFEV4 tool

so it is necessary to first remove the PERFEV4 tool from your system before

installing IPROBE.  Refer to the deinstallation instructions in the PERFEV4

kit to remove PERFEV4 from your system.



To get the first internal field test kit out as early as possible, it

was decided to make IPROBE available before it supports PERFMON.  Therefore,

display of the Alpha chip counters in PERFMON is not supported in this version

of IPROBE.  The next field test kits of IPROBE will contain support for

PERFMON and a GUI to select the IPROBE counting functions.  The next field

test kit for IPROBE will be available in January 1995.





DOCUMENTATION



All the commands in the IPROBE tool suite contain online help 

(use the -h switch)



Included in this kit is the "Guide to IPROBE" which includes installation

instructions and documentation on the IPROBE tool set.  Additional

information on IPROBE also exists and is available upon request.



1) "IPROBE: A Performance Measurement and Analysis Tool Suite and API"

      by Brian Wibecan and Brad Waters



2) "IPROBE API documentation - draft version"

      by Brian Wibecan



Send requests for the above documentation to PERFOM::BWATERS or 

bwaters@perfom.enet.dec.com.



FILES COPIED TO THE SYSTEM

(this information supersedes what is stated in the IPROBE user's guide):



   File               Location                         Purpose



IprKrnl.sys  %systemroot%\system32\drivers	IPROBE driver

IprShr.dll   %systemroot%\system32		IPROBE shareable library

Iprobe.exe   %systemroot%\system32		command mode data collection tool

Ctrctl.exe   %systemroot%\system32		GUI data collection tool

Ipreduce.exe %systemroot%\system32		data reduction tool

Rep.exe      %systemroot%\system32		read entry point tool

Procs.exe    %systemroot%\system32		utility used by Rep

Iprobe_ps.exe %systemroot%\system32		current PID display tool

    

INFORMATION ADDED TO THE REGISTRY



The installation of IPROBE T2-1 adds information to the registry for

the IprKrnl driver and for PERFMON support.



o IprKrnl driver information is located in: 

  \HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\IprKrnl

  \HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\Application\IprKrnl



o The PERFMON counter information is located in:

  \HKEY_LOCAL_MACHINE\Microsoft\Windows NT\CurrentVersion\Perflib



INSTALLATION



IPROBE T2-1 can be installed on top of IPROBE T2 (if IPROBE T2 is already

installed on your system, it is not necessary to deinstall IPROBE T2 before

installing IPROBE T2-1).



As stated previously, if the PERFEV4 tool is installed on your system you must

remove it before installing IPROBE.  Refer to the deinstallation instructions

supplied with PERFEV4 to remove it.



To install IPROBE follow the installation instructions provided in

"Guide to IPROBE."



If you want to temporarily stop the IPRKRNL driver, you may use the command

   NET STOP IPRKRNL



To restart the IPRKRNL driver you may use the command

   NET START IPRKRNL



After IPROBE is installed, the IPRKRNL driver is set to start at boot time.

You may use the Devices utility in Control Panel to alter the start

characteristics of the driver.





DEINSTALLATION



If you need to deinstall IPROBE from your system:



1) Unload the PERFMON counters 

   UNLODCTR IPRKRNL



2) use REGEDT32 to delete the

   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IprKrnl key 



3) use REGEDT32 to delete the 

   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\Application\IprKrnl

   key



4) Reboot



NOTES and RESTRICTIONS



1) CTRCTL is GUI that uses the IPROBE API.  CTRCTL allows one to display

   Alpha 21064 chip events via PERFMON.  CTRCTL also allows one to select

   PC sampling.  When using counter control, select events for counter 0

   and counter 1 1st.  If PC sampling is desired select the sample file 

   name and the skip count (see note on skip count below) then select On

   in the Sample Options box.  Finally, start the counters by hitting the

   start button.  To change events hit the pause button and turn off 

   sampling if it was active.  Then, select the new event.



2) The purpose of the sampling skip count is to reduce disk space requirements

   for PC sample files.  The skip count allows PC samples to be collected less 

   frequently by collecting samples every x interrupts (where x is the skip 

   count).  The skip count is useful for sampling steady-state workloads for 

   long periods of time.



3) The CTRCTL and IPROBE tools both use the IPROBE API.  Either tool can

   be used to select counters, activate counting and activate PC sampling.

   The IPROBE tool also provides histogram support and more control over

   sampling.  The CTRCTL tool is easier to use and provides frequently

   used counting and sampling capabilities.  The CTRCTL and IPROBE tools 

   may not be run simultaneously because both tools require exclusive use 

   of the counters.  Both CTRCTL and IPROBE provide Alpha 21064 counter data 

   that can be displayed by PERFMON.



4) To display Alpha 21064 events via PERFMON select the "Add To Chart..." menu 

   or "+" from the tool bar.  Select the Alpha 21064 Counter.  Next, select the

   events to add to the PERFMON display.  When all desired counters are selected,

   click on done.  Default scaling is provided for Alpha 21064 counters on the 

   PERFMON chart to plot the selected events within the 0 to 100 range.  In some

   cases it will be necessary to adjust the scaling.  Adjust scaling by double 

   clicking on the event at the bottom of the PERFMON chart and selecting a new

   scale.



5) In low frequency mode, IPROBE requires little CPU overhead.



6) Care should be exercised in using the counters in high frequency mode.

   Depending on the counters being used, high frequency mode may use a 

   noticeable amount of CPU.  Also, sampling in high frequency mode may 

   generate IOs at a faster rate than the IO subsystem can handle.  If high 

   frequency sampling is necessary, it may be useful to direct the output to 

   a RAM disk.



7) When sampling, the sample file must be located on a local disk.  IPROBE cannot

   currently write the sample file to a network disk.



8) The maximum histogram size allowed by IPROBE on Windows NT is 256,000 elements.

   If an address histogram is specified that requires a histogram larger than 

   256,000 elements, the histogram will be scaled to fit by adjusting the 

   granularity of the histogram.  IPROBE will report any granularity adjustments

   it makes.



9) Since Windows NT is a 32 bit operating system and Alpha is a 64 bit chip, it

   it necessary to sign extend virtual addresses when doing PC address histograms.

   For this reason, it is not possible to have a single address histogram that

   crosses the 0x7fffffff 0x80000000 boundary.  If a histogram that crosses this 

   boundary is requested, an error message is returned.  To cover the entire 

   virtual address range with PC histograms use a command such as:

      IPROBE -ME ADDRESS -PC 0-0x7fffffff.14 -PC 0x80000000-0xffffffff.14



10) This version of IPROBE doesn't provide robust error messages to the user in all

    cases.  If the input parameters to one of the IPROBE tools is invalid, either 

    the help text for the command is printed or nothing at all.  If this happens, 

    please check your input arguments.  In some cases, an error number will be 

    returned by an IPROBE tool.  Please include the error number when reporting the 

    problem.  Error messages will be improved in the next version of IPROBE.





BRIEF HISTORY of IPROBE



Prior to this release of IPROBE T2 and T2-1, a tool called PERFEV4 was provided

by the CSG Performance Group that allowed the Alpha chip counters to be

viewed from the Windows NT PERFMON tool was available.  PERFEV4 did

not provide sampling and histogram support based on the Alpha chip counters.

The driver for PERFEV4 was written by Joe Notarangelo of the Windows NT

group at DECwest.  The shareable library for PERFEV4 was originally written

by Santa Wiryaman and later modified and maintained by Brad Waters of the

CSG Performance Group.



The IPROBE tool was originally created on OpenVMS by Brian Wibecan.  IPROBE V2

was further developed by the CSG Performance Group to provide an Alpha chip 

counters analysis tool on OpenVMS, OSF/1, and Windows NT.  Much of the code in 

the IPROBE API and IPROBE tool suite is common among the three operating 

systems.



Parts of the IPRKRNL driver included in this version of IPROBE were based on

Joe Notarangelo's PERFEV4 driver.  The driver (IPRKRNL) and shareable library

(IPRSHR) in this version of IPROBE were written by Brad Waters.  Michael Dempsey

wrote REP, IPROBE_PS, and ported IPREDUCE from OpenVMS and OSF/1 to Windows NT.

Ravindra Kulkarni wrote IPROBE.  Brad Waters modified CTRCTL to use the IPROBE 

API and to support PC sampling.

