X-MimeOLE: Produced By Microsoft Exchange V6.5
Received: by onstor-exch02.onstor.net 
	id <01C78C49.458EFDB6@onstor-exch02.onstor.net>; Tue, 1 May 2007 16:34:33 -0700
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C78C49.458EFDB6"
Content-class: urn:content-classes:message
Subject: Some ideas for load generation for Cougar hardware testing
Date: Tue, 1 May 2007 16:34:33 -0700
Message-ID: <BB375AF679D4A34E9CA8DFA650E2B04E018A6968@onstor-exch02.onstor.net>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: Some ideas for load generation for Cougar hardware testing
Thread-Index: AceMST5+QN1tRcaMTbqhw8FVfK+x1g==
From: "Jeff Miller" <jeff.miller@onstor.com>
To: "dl-Cougar" <dl-Cougar@onstor.com>

This is a multi-part message in MIME format.

------_=_NextPart_001_01C78C49.458EFDB6
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Below are few ideas for generating a heavy load on initial Cougar
hardware.

Load generators:
Network - loopback test IP address: packets received on this address are
just re-transmitted, either to the same port or a different port
depending on configuration.  To start loopback, some number of packets
are created and queued for transmission. A switch in receive code can be
set to discard received loopback packets in order to stop the test.

FC - Continually reading or writing to the same blocks will give very
high apparent disk throughput because of caching in the RAID controller.
Set aside an area for this purpose, maybe a LUN.  Could read and write
continuously or triggered by real I/O.=20

DMA - run continuous DMAs. Also continuous DMAs, but throttled in some
way.  Or DMA transfers can be triggered by some other activity.

CPU - random access memory reads and writes. For writes it could be:
allocate buffer, write, free.  Or add spare fields in buffer headers.

Some sort of randomization can be included such as random data transfer
lengths and random delays.

All of this can be coded and tested now on Bobcat or Cheetah.  This is
all quite simple and we could easily have it ready and tested (on
Bobcat) before we get our Cougar hardware.  These can all be run with or
without normal I/O.  Especially if run without normal I/O there should
be some data verification. =20

The datamover DMA on the 1480 also has a CRC/checksum generator that
could be used for verifying data.

The FC could also be set up for a loopback like the network loopback
test.  This would require a bit more coding. We could create SCSI
targets for this.



------_=_NextPart_001_01C78C49.458EFDB6
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
6.5.7652.24">
<TITLE>Some ideas for load generation for Cougar hardware =
testing</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">Below =
are</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D2 FACE=3D"Arial"> few ideas for generating a heavy load on =
initial Cougar hardware.</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">Load =
generators:</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">Network - loopback test IP address: packets received on =
this address are just re-transmitted, either to the same port or a =
different port depending on configuration.&nbsp; To start loopback, some =
number of packets are created and queued for transmission. A switch in =
receive code can be set to discard received loopback packets in order to =
stop the test.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">FC - =
Continually reading or writing to the same blocks will give very high =
apparent disk throughput because of caching in the RAID =
controller.&nbsp; Set aside an area for this purpose, maybe a LUN.&nbsp; =
Could read and write continuously or triggered by real I/O. =
</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">DMA - =
run continuous DMAs. Also continuous DMAs, but throttled in some =
way.&nbsp; Or DMA transfers</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT SIZE=3D2 =
FACE=3D"Arial">can be</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"> <FONT SIZE=3D2 FACE=3D"Arial">triggered by some other =
activity.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">CPU - =
random access memory reads and writes. For writes it could be: allocate =
buffer, write, free.&nbsp; Or add spare fields in buffer =
headers.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">Some =
sort of randomization can be included such as random data transfer =
lengths and random delays.</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">All =
of this can be coded and tested now on Bobcat or Cheetah.&nbsp; This is =
all quite simple and we could easily have it ready and tested (on =
Bobcat) before we get our</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"> <FONT SIZE=3D2 FACE=3D"Arial">C</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">ougar hardware.</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp; These can all be run with or without normal =
I/O.</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D2 FACE=3D"Arial">&nbsp; Especially if run without normal =
I/O</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D2 FACE=3D"Arial"> there should be some data =
verification.&nbsp;</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"> </SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">The =
datamover DMA on the 1480 also has a CRC/checksum generator that could =
be used for verifying data.</FONT></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">The =
FC could also be set up for a loopback like the network loopback =
test.&nbsp; This would require a bit more coding. We could create SCSI =
targets for this.</FONT></SPAN></P>
<BR>

</BODY>
</HTML>
------_=_NextPart_001_01C78C49.458EFDB6--
