![]() |
How to Create Configuration Files |
These are the files that are analogous to CPU95's config files, and which show up in the report setup screen when running the benchmark. Entering more complete and specific information in these files will save typing in the setup screen, and help ensure correct reporting of system configurations in reporting pages.
The simplest way to make a few configuration files is by copying an existing file and modifying it with a text editor. This is particularly useful when you have many systems to enter with only a few changes between different ones.
You can also use the pure Java "Config" program to create a configuration file for you based on what it can discover about your system. Here are the options to that program:
$ . shrc $ java spec.reporter.vendor.Config -? Usage: java spec.reporter.vendor.Config [-v vendor] [-s server] [-p port] [-S SPECdir] Create client & server property files to document a configuration vendor - Specify OS & h/w, e.g. SolarisSparc server - Name of server where benchmarks are installed. Default localhost If specified, creates server file instead of client file port - Server's http port number. Default 80 If specified, creates server file instead of client file SPECdir - Directory where SPEC software is installed, if not the current directory.
In typical use you would redirect its' output into a file, and then edit that file to fill in additional fields. E.g., to create a client file:
$ java spec.reporter.vendor.Config >client.sun.ultra1-170
To create a server file, you need to run the program on the server.
$ rlogin myserver Password: Last login: Wed May 20 11:13:35 from fuzja Sun Microsystems Inc. SunOS 5.6 Generic August 1997 myserver$ cd /mnt/4/www/spec/java/run myserver$ . shrc myserver$ java spec.reporter.vendor.Config -s myserver >server.sun.u2-2170 $ grep webServer server.sun.u2-2170 spec.server.sw.webServer=JavaWebServer/1.1
Vendor specific classes are able to run system commands to determine more information about a system than is available in pure Java. For example, the SolarisSparc class is able to determine the processor, clock rate, memory, cache organization, and OS version. It also determines the IP address and hostid which are not printed on the SPEC reporting page, but may be retained in the results file where they could be of great value for your own internal documentation of test results. E.g.,
$ java spec.reporter.vendor.Config -v SolarisSparc >client.sun.u1-170 $ diff client.sun.ultra1-170 client.sun.u1-170 14,22c14,22 < spec.client.hw.vendor=REQUIRED < spec.client.hw.vendor.url=REQUIRED < spec.client.hw.model=REQUIRED < spec.client.hw.processor=REQUIRED < spec.client.hw.MHz=REQUIRED < spec.client.hw.ncpu=REQUIRED < spec.client.hw.memory=REQUIRED < spec.client.hw.primaryCache=REQUIRED < spec.client.hw.secondaryCache=REQUIRED --- > spec.client.hw.vendor=Sun Microsystems sun4u > spec.client.hw.vendor.url=http://www.sun.com/ > spec.client.hw.model='Sun Ultra 1 SBus (UltraSPARC 167MHz)' > spec.client.hw.processor='SUNW,UltraSPARC' > spec.client.hw.MHz=167 > spec.client.hw.ncpu=1 > spec.client.hw.memory=64 > spec.client.hw.primaryCache=16KBI + 16KBD > spec.client.hw.secondaryCache=512KB(I+D) 25c25 < spec.client.hw.fileSystem=REQUIRED --- > spec.client.hw.fileSystem=UFS 38c38 < spec.client.sw.OS=REQUIRED --- > spec.client.sw.OS=Solaris 5.7 54a55 > spec.other.hostid=80ef84ab 71a73 > spec.other.hostIP=119.146.95.82
If you want to write your own vendor specific configuration class, all you need to do is implement the VendorConfig interface, which defines a method returning a Properties object containing all the configuration properties you discover about one of your systems. For the most extensive example, see SolarisSparc.java where I run several Solaris commands and also encode the names and web sites of a number of vendors of Solaris based systems other than Sun, e.g. Auspex, Fujitsu, HAL, etc. For the simplest example, see HPUX.java, where I just run the uname command.