2025-04-27 07:49:33 -04:00

155 lines
9.1 KiB
HTML

<html>
<head>
<title>HiPerStress</title>
<meta name="Microsoft Theme" content="global 011"><meta name="Microsoft Border" content="tlb, default"></head>
<body background="_themes/global/glotextb.gif" bgcolor="#FFFFFF" text="#000000" link="#000066" vlink="#666699" alink="#CC6633"><!--msnavigation--><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td><!--mstheme--><font face="arial, helvetica">
<p>&nbsp;</p>
<p>&nbsp;</p>
<!--mstheme--></font></td></tr><!--msnavigation--></table><!--msnavigation--><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td valign="top" width="1%"><!--mstheme--><font face="arial, helvetica">
<p>&nbsp;</p>
<!--mstheme--></font></td><td valign="top" width="24"></td><!--msnavigation--><td valign="top"><!--mstheme--><font face="arial, helvetica">
<h1><!--mstheme--><font face="trebuchet ms, arial, helvetica">HiPerStress <!--mstheme--></font></h1>
<h2><!--mstheme--><font face="trebuchet ms, arial, helvetica" color="#660000">Objective: <!--mstheme--></font></h2>
<p>The objective of HiPerStress is to provide a tool that can construct a pre-defined
refreshable object hierarchy and perform countinous refreshing upon the objects within the
hierarchy at specified intervals for a finite number of iterations.</p>
<h2><!--mstheme--><font face="trebuchet ms, arial, helvetica" color="#660000">Overview: <!--mstheme--></font></h2>
<p>The stress tool is a command line application that will operate nested refresh
hierarchies. The refresh hiearchies, instances within a hierarchy, individual refresher
refresh rates and individual refresher refresh iterations are all specified in the
registry. </p>
<p>The application creates the refresh hierarchies and outputs the initial state of each
instance's parameters. Each refresher is controlled by a separate thread refreshing at the
specified interval and iterations. During initialization, the threads are created in a
suspended state. When refreshing begins, the threads are 'simultaneously' awakened. Once
all the refreshing has completed (all refresher threads have terminated), the final state
of the provider's parameters are output along with the elapsed time. </p>
<h2><!--mstheme--><font face="trebuchet ms, arial, helvetica" color="#660000">Specifications: <!--mstheme--></font></h2>
<h3><!--mstheme--><font face="trebuchet ms, arial, helvetica">Registry Configuration <!--mstheme--></font></h3>
<!--mstheme--></font><table border="0" width="95%" style="vertical-align: top">
<tr>
<td width="17%"><!--mstheme--><font face="arial, helvetica"><img src="images/rtree.gif" alt="rtree.gif (2279 bytes)" WIDTH="124" HEIGHT="133"><!--mstheme--></font></td>
<td width="83%"><!--mstheme--><font face="arial, helvetica">The root of the registry path is <em>HKEY_CURRENT_USER\Software\Microsoft\HiPerStress</em>.
&nbsp; A typical configuration will contain one or more refreshers as sub-keys of the
root.&nbsp; Each refresher may contain a set of objects as well as nested refreshers.<p>&nbsp;<!--mstheme--></font></td>
</tr>
</table><!--mstheme--><font face="arial, helvetica">
<h4><!--mstheme--><font face="trebuchet ms, arial, helvetica" color="#660000">Refreshers <!--mstheme--></font></h4>
<p>Refresher keys are formatted as R[x] where [x] is a unique identifier.&nbsp; A
refresher may have zero or more instance sub-keys and zero or more refresher sub-keys.</p>
<!--mstheme--></font><table border="0" width="100%">
<tr>
<td width="24%"><!--mstheme--><font face="arial, helvetica"><img src="images/Refresher.gif" alt="Refresher.gif (1745 bytes)" WIDTH="170" HEIGHT="52"><!--mstheme--></font></td>
<td width="76%"><!--mstheme--><font face="arial, helvetica">Each refresher has two DWORD values: <!--mstheme--></font></td>
</tr>
</table><!--mstheme--><font face="arial, helvetica">
<!--mstheme--></font><table border="0" width="69%" height="63">
<tr>
<td width="18%" height="11"><!--mstheme--><font face="arial, helvetica"><!--mstheme--></font></td>
<td width="82%" height="11"><!--mstheme--><font face="arial, helvetica"><!--mstheme--></font></td>
</tr>
<tr>
<td width="18%" height="20"><!--mstheme--><font face="arial, helvetica">Iterations<!--mstheme--></font></td>
<td width="82%" height="20"><!--mstheme--><font face="arial, helvetica">The number of refreshes for each stress session.<!--mstheme--></font></td>
</tr>
<tr>
<td width="18%" height="20"><!--mstheme--><font face="arial, helvetica">Wait<!--mstheme--></font></td>
<td width="82%" height="20"><!--mstheme--><font face="arial, helvetica">The period of time to pause between successive refreshes in
milliseconds<!--mstheme--></font></td>
</tr>
</table><!--mstheme--><font face="arial, helvetica">
<h4><!--mstheme--><font face="trebuchet ms, arial, helvetica" color="#660000">Instances <!--mstheme--></font></h4>
<p>Instance keys are formatted as O[x] where [x] is a unique identifier.&nbsp; Instances
have no sub-keys. </p>
<!--mstheme--></font><table border="0" width="100%">
<tr>
<td width="35%"><!--mstheme--><font face="arial, helvetica"><img src="images/object.gif" alt="object.gif (1669 bytes)" WIDTH="284" HEIGHT="36"><!--mstheme--></font></td>
<td width="65%"><!--mstheme--><font face="arial, helvetica">Each instance has two STRING values:<!--mstheme--></font></td>
</tr>
</table><!--mstheme--><font face="arial, helvetica">
<!--mstheme--></font><table border="0" width="69%">
<tr>
<td width="18%"><!--mstheme--><font face="arial, helvetica"><!--mstheme--></font></td>
<td width="82%"><!--mstheme--><font face="arial, helvetica"><!--mstheme--></font></td>
</tr>
<tr>
<td width="18%"><!--mstheme--><font face="arial, helvetica">(default)<!--mstheme--></font></td>
<td width="82%"><!--mstheme--><font face="arial, helvetica">The name of an instance.<!--mstheme--></font></td>
</tr>
<tr>
<td width="18%"><!--mstheme--><font face="arial, helvetica">NameSpace<!--mstheme--></font></td>
<td width="82%"><!--mstheme--><font face="arial, helvetica">The namespace of the instance.<!--mstheme--></font></td>
</tr>
</table><!--mstheme--><font face="arial, helvetica">
<h2><!--mstheme--><font face="trebuchet ms, arial, helvetica" color="#660000">Classes: <!--mstheme--></font></h2>
<h3><!--mstheme--><font face="trebuchet ms, arial, helvetica">CMain<!--mstheme--></font></h3>
<p>CMain is the control class for the stress application.&nbsp; It is primarily
responsible for the construction of the refresh hierarchy and the control of refreshing.</p>
<h4><!--mstheme--><font face="trebuchet ms, arial, helvetica" color="#660000">Data Structures<!--mstheme--></font></h4>
<!--mstheme--></font><table border="1" width="100%" bordercolordark="#808080" bordercolorlight="#C0C0C0">
<tr>
<td width="38%"><!--mstheme--><font face="arial, helvetica">CRefresher* m_apRootRef[MAX_ROOTREFS]<!--mstheme--></font></td>
<td width="62%"><!--mstheme--><font face="arial, helvetica">An array of refreshers representing the root refreshers.<!--mstheme--></font></td>
</tr>
<tr>
<td width="38%"><!--mstheme--><font face="arial, helvetica">CStress* m_apStress[MAX_STRESS]<!--mstheme--></font></td>
<td width="62%"><!--mstheme--><font face="arial, helvetica">An array of stress objects, each representing one refresh thread.<!--mstheme--></font></td>
</tr>
</table><!--mstheme--><font face="arial, helvetica">
<h4><!--mstheme--><font face="trebuchet ms, arial, helvetica" color="#660000">Key Methods<!--mstheme--></font></h4>
<!--mstheme--></font><table border="1" width="100%" bordercolordark="#808080" bordercolorlight="#C0C0C0">
<tr>
<td width="40%"><!--mstheme--><font face="arial, helvetica"><strong><font face="Arial" size="2">BOOL Create(WCHAR *wcsRoot)</font></strong><!--mstheme--></font></td>
<td width="60%"><!--mstheme--><font face="arial, helvetica"><font face="Arial" size="2">Creates the universal locator and calls
ConstructRefresher for all root refreshers</font><!--mstheme--></font></td>
</tr>
<tr>
<td width="40%"><!--mstheme--><font face="arial, helvetica"><strong><font face="Arial" size="2">CRefresher* ConstructRefresher(WCHAR
*wcsRegPath)</font></strong><!--mstheme--></font></td>
<td width="60%"><!--mstheme--><font face="arial, helvetica"><font face="Arial" size="2">Creates a new refresher, adds all of the
objects, the child refreshers and sets the the stress attributes</font><!--mstheme--></font></td>
</tr>
<tr>
<td width="40%"><!--mstheme--><font face="arial, helvetica"><strong><font face="Arial" size="2">BOOL CMain::Go()</font></strong><!--mstheme--></font></td>
<td width="60%"><!--mstheme--><font face="arial, helvetica"><font face="Arial" size="2">Starts the refreshing and performs the timing.</font><!--mstheme--></font></td>
</tr>
</table><!--mstheme--><font face="arial, helvetica">
<p>&nbsp;
<!--mstheme--></font><!--msnavigation--></td></tr><!--msnavigation--></table><!--msnavigation--><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td><!--mstheme--><font face="arial, helvetica">
<p>&nbsp;</p>
<!--mstheme--></font></td></tr><!--msnavigation--></table></body>
</html>