Today we finally finished most if not all of the modules to the tpc-c code (Huray!!!). We've started to run some preliminary tests and everything seems to be working the way it should. I've sent mail to Charlie asking for any suggestions as to how to go about actually running the benchmarks that we want (what sizes, howmany cycles, etc.). Tomorrow we'll see about running some more serious tests.
Got a response back from Charlie. His suggestion was 3 fold: First check to make sure
that we had completed all of the functions that were specified in the tpc-c spec (turns
out that we had missed one since it was not present in the driver.pc
that
Charlie gave us). Second, go over the database to make sure that we were actually doing
something in our updates (haven't gotten to this yet). Thrid, we need to find out what
settings are needed in order to create databases of particular sizes (haven't gotten to
this either). Well, we managed to get the DELIVERY.pm
coded and working, but
that is about all. Tomorrow I'll try to work in some debugging that lets us figure out
if we are actually modifying the database.
Well, we spend a lot of today adding debugging to all of our code so that it would print
out before and after snapshots of the database records that we were changing. Then we got
to combing through each module one by one making sure that the database is being modified
properly. Turns out that we had an error in our code that was resulting in half (the later
half) of NEWORD.pm
not even being executed/looked at. We finally solved that
problem, and realized that the code seemed now to be working properly. So far,
NEWORD.pm
is the only module that we fully looked at, but we started on
PAYMENT.pm
(which is where we noticed the error in NEWORD.pm
).
Tomorrow, we're planning on just continuing where we left off, and with luck we can finish
the remainder of the modules.
Today asside from running some test cases on ACL18 for TPC-C, I worked on a script that "automated" much of the command line stuff that we do for each instance. Hopefully this will help us goof things up less by mistakenly ni9tering incorrect command line parrameters when doing time consuming things such as the database loading. In writing the script I have attempted to go in a direction that would allow us to use it for anything similar to what we are doing.
Continued working on the script today. Added a few pieces of functionality that we all thought would be nice to have. Namely, I added command line options to just load the database or just run the transactions. I also attempted to add functionality that would allow us to specify a log file on the command line. When doing that I ran into some File IO problems due to my in-experience with files and Perl. I also attempted to add functionality that would allow the script to send an email to us letting us know when it was done doing its thing. This, too, didn't work, but its failure was due to the fact that the mail command was not present on ACL18.