[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Tests for GC-MDC1



Enclosed is a summary of test we plan to run in the next few
days.  It represents discussions I recently had with Henrik, 
Alex and Doug.

Dave, Dave, and Jeff,

Please take the time to look at that and give us comments 
(if any) as soon as you can.  We'll start some of these tests
tomorrow.

Arie.
------------------------------------------------------------------
TESTS PLANNED FOR GC-MDC1

To figure out the scale of the tests, we use the following
notation:

N - total number of events in the system
S  - average size of event
F - number of files in the system
F_size - average size of each file
T_capacity - tape capacity in GB
N_tapes - number of tapes to store the files
N_event_per_file = F_size \ S

For the tests we currently have:

N = 5,000 - 10,000 (we use 10,000)
S  = 2 MB
F_size = 250 MB
F = 10,000*2 / 250 = 40
T_capacity = 25 GB
N_tapes = 1 (but data was spread out on 4 tapes)
N_event_per_file = 250 / 2 = 125

Scale down factor:

Assume a total of 15.10**6 event/year
fraction = 15.10**6 / 10,000 = 1,500 (we'll use 1000)

Cache size for tests: 
1000 GB /1000 = 1GB 
(We'll use initially 2 GBs - or 8 files cache)

Query size for tests:
In real situations we expect queries of size: 10,000 - 50,000 events
scale down by 1000 gives: 10 - 50 events
(We'll use initially 100 events to see effects with more files
cached)

TESTS SETUP

To describe queries and their relationship we use the following
parameters:

n - number of events that qualify for a query
f - number of files that contain the events that qualified
CF = clustering_factor = n / f = average number of events that qualify
per file
                    (this factor is between 1 and N_event_per_file)
OF = overlap factor = % of files that overlap between any 2 queries on
the average
                    (this factor is between 0 and 100%)

Parameters we can set for each test:

(Q1, Q2, ..., Qn) - ordered set of queries to run
PT - processing time per event (in seconds)
CT - time to cache a file (in seconds)
AT - arrival time: time delay between queries (in seconds)
NC - number of times to cycle over the set of queries

example: to run the same query 5 times spaced every 10 sec, with
processing
time of 8 sec/event.
(Q1)
PT = 8
CT = F_size / stage speed + dismount/mount = 250 / 5 + 15 = 75 sec
AT = 10 sec
NC = 5

BASELINE TESTS

Baseline test checking are for getting minimum time per query, i.e.
running
the query by itself (stand alone).  This should help us determine if
the system
behaves as expected.

TEST A.  make caching time dominate

Assume a query has:
n - 100
f - 20
CF = n / f = 5
PT = 4 sec
PT_per_file = 4*5 = 20

Since CT = 75, total time will be dominated by caching
We should expect:  20*75= 1500 sec = about 0.5 hour

TEST A1: run above for each query with SII

TEST A2: run above for each query with full system
    (if time is significantly > TEST A1, check transfer time
      from Objectivity to User Code)

TEST B.  Make processing time dominate

Assume the same query as above, but increase processing time:
n - 100
f - 20
CF = n / f = 5
PT = 30 sec
PT_per_file = 30*5 = 150

Since PT_per_file > CT, processing time dominates.
We should expect: 20*150= 3000 sec = about 1 hour

TEST B1: run above for each query with SII

TEST B2: run above for each query with full system


TEST C:  to see that all files are readable

Use a query that reads all files;
Set PT very small = 0.1 sec, thus PT_per_file = 125*0.1 = 12.5 sec
Measure total time:
expect: 40*75 = 3000 sec


TESTS THAT SHOW GAIN IN PERFORMANCE

TEST D: to show effect of overlap

Need: ability to turn off overlap policy by QM.
           When this is turned off, the QM schedules file
           according to the order they were submitted.
           (another possibility to be determined later:
             choose random order for file scheduling)

Each test below is run with and without caching policy.

TEST D1: full overlap

Run a single query 10 time,
Vary arrival time (AT) till AT > PT_per_file
Measure effect with AT variation

TEST D2: partial overlap

Run all queries is some order;
Vary AT;  measure effect
Change queries to vary Overlap Factor (OF): 10%, 25%, 50%, 75%;
      Keep AT short, measure effect


TEST E: to show effect of clustering
 
TEST E1:  vary clustering factor (CF)

Each test below should be run with caching policy on.
(We may want to try the same with caching policy off).

Check CF of the given queries;
Change queries so that CF is doubled, tripled, etc.
leave arrival time small;
measure effect.

TEST E2:  Vary AT with a few selected CFs
See effects.


TEST F: to show effect of order-optimization

QE gives QO list of OIDs (full estimate).
QO scrambles order, and request each OID as a separate query.
Measure effect.


WHAT WILL BE  MEASURED

As was mentioned in a previous message from Henrik, various things
will be logged.  Our goal is to detect any anomalies, and then measure
the effect of various tests in terms of total time to perform each
test,
and breakdown of times for various components of the system.

Henrik covered in his message the measurements we expect to extract 
from the logs. 
----------------------------------------------------------------------