In the October 1989 issue of EMME/2 NEWS we published a comparative table for EMME/2 benchmarks on different computer models. In this issue, we will add to this list some recent entries into the high-end PC market and also take a look at some ways of improving performances of DOS based machines.
Machines based on the Intel 80486 chip were announced since last September, but only now they are beginning to be available on the market. We recently tried one representative of this new generation of PCs: the HP Vectra 486. The EMME/2 benchmark results obtained for this machine can be compared with results from other high speed computers in the following table. The lines marked with "*" give results for Intel processors using native 32-bit protected mode.
Computer Model | Processor | Speed | Date | Auto Assignment | Trans. | |
CPU/FPU | MHz | 1 it. | Total | Ass. | ||
SUN SPARCserver 330 | SPARC | 25 | 01/90 | 11.1 | 121.8 | 23.5 |
HP Vectra 486 (*) | 80486 | 25 | 03/90 | 14.9 | 175.2 | 48.5 |
Compaq (*) | 80386/387 | 33 | 11/89 | 25.1 | 285.5 | 64.0 |
IBM PS2/70 (*) | 80386/387 | 25 | 03/90 | 38.2 | 432.0 | 93.9 |
SUN 386i | 80386/387 | 25 | 03/90 | 82.9 | 962.0 | 246.54 |
The HP Vectra 486 turned out to be really fast, with results approaching the performance of the SUN SPARCstation1 (see EMME/2 NEWS 10/1989). Benchmarks which were conducted by the BYTE magazine with a preliminary version of the HP Vectra 486 showed that it was slightly faster than the IBM Power Platform 486 and slightly slower than the Apricot VX FT Server (see Byte 11/1989). We can thus assume that it is a good representative of the Intel 80486 family of PCs.
The Sun 386i is a UNIX multitasking machine offering the possibility of a DOS emulation window (in unprotected mode only). EMME/2 was run inside this emulator with the EMME/2 key attached to one of the machine's parallel ports. Thus, the results given here represent the DOS emulation speed and not directly the machine speed. The assignment times of the 386i show that it is comparable with a 20Mhz 80386 DOS machine in unprotected mode.
For comparison purposes, all the benchmark results we have given here and in the previous benchmark article were obtained with basic machine configuration, without taking any special action to improve the performances. We will now examine more closely two methods to improve the PC's performance: disk cache and virtual or RAM disks. In the following, we compare the results obtained with two "standard" 80386 computers: a Compaq 20e and a 20 Mhz IBM PS/2 Model 70, both with 4MB of main memory.
A disk cache is a portion of main memory where copies of the most recently accessed fixed disk data and the data expected to be accessed next are kept. The intent is to reduce the number of disk-read operations which are comparatively slow to perform. (Note that this kind of disk cache should not be confused with the memory cache - a high speed buffer memory used in high end 386 and 486 PCs when the CPU speed is faster than the access speed of the main memory.) For both, the IBM PS/2 and for the Compaq 20e, disk cache utilities are provided by the manufacturer. With the Compaq, we installed the disk cache by adding the following line in the CONFIG.SYS file:
DEVICE=\DOS\CACHE.EXE
size /EXT
where size is the amount of main memory (in kilobytes) to use for the disk cache. Similarly, with the PS/2 we added the following line:
DEVICE=\SYS\IBMCACHE.SYS
size /E /P8
Cache sizes of 1024 and 2048 kilobytes were used in our tests. For PCs from vendors which do not provide these utilities with their machines, it is possible to use similar disk cache software from independent software houses, e.g. the FLASH disk cache program from Software Masters, Inc. (Note that when installing a non-standard disk cache or a virtual disk driver in extended memory on an Intel 386 EMME/2 system, the 386EMME2.EXE file might have to be reconfigured with the CFIG386 utility using the -EXTL switch, in order to avoid conflicts between the driver and the EMME/2 modules running in extended memory.) Since one of the key factors for a PC's disk performance, especially with no disk cache installed, is the degree of disk fragmentation, a disk defragmentation utility (Norton's SD) was run on both machines prior to the tests (see also p.18 of EMME/2 NEWS Feb 1988).
A virtual or RAM disk is a portion of the main memory reserved to simulate a hard disk. Data can be accessed much faster on a virtual disk because it operates at the speed of the system's main memory and not at the comparatively slower hard disk access operations. Speed can be gained by placing frequently accessed data on a virtual disk. For our tests, we copied the files 386EMME2.EXE, the program executing the EMME/2 modules in protected mode, and E000.EXP, the EMME/2 main menu module, on a virtual disk and modified the file EXMOD.BAT to access these instead of the ones kept on hard disk. For the Compaq and the PS/2, the following line was added to the CONFIG.SYS file:
DEVICE=\DOS\VDISK.SYS 200 512 16/E:8
to reserve a virtual disk of 200kb (just enough to hold the two files).
Results obtained with various machine configurations are given in the following table. All results are expressed in seconds.
Configuration | Auto Assignment | Transit | BUILDWPG | ALLMOD | |
1 iter. | total | Assignment | |||
Compaq 20e basic | 43.7 | 491.3 | 101.7 | 1104 | 342 |
cache 1024 | 43.1 | 477.1 | 101.4 | 971 | 174 |
cache 2048 | 44.4 | 490.5 | 101.6 | 983 | 161 |
vdisk 200 | 45.4 | 507.7 | 107.7 | 1110 | 263 |
vdisk200+cache1024 | 44.4 | 489.7 | 101.5 | 972 | 150 |
IBM PS2/70 basic | 64.8 | 721.8 | 147.6 | 1509 | 523 |
cache 1024 | 60.0 | 666.4 | 133.6 | 1243 | 186 |
cache 2048 | 59.8 | 663.8 | 131.9 | 1226 | 174 |
vdisk 200 | 64.6 | 719.3 | 146.1 | 1434 | 371 |
vdisk200+cache2048 | 60.0 | 665.4 | 131.7 | 1219 | 162 |
To compare the different configurations, we first ran the BUILDWPG macro and then another macro ALLMOD which calls in turn every EMME/2 module without doing anything (quitting as soon as the module is entered). As demonstrated by the assignment time results, in both cases the disk cache decreased the computing time by a factor of 9 to 10%. The effect of the cache was even greater on module loading time, decreasing the elapsed time for the ALLMOD macro by a factor of roughly 50% for the Compaq and 65% for the PS/2.
Since the ALLMOD macro goes back and forth between the main menu module (E000.EXP) and all other modules, we were expecting better results for this macro by using a virtual disk for the E000.EXP file. With the virtual disk alone, the reduction in the elapsed time of ALLMOD is around 25%. When combining the disk cache and the virtual disk, the ALLMOD macro times could be improved further and another 7% were gained on the results with disk cache alone.
The net effect of a disk cache or a virtual disk is very application specific, and one must experiment to find the best sizes to use. We have seen here that for EMME/2, much can be gained on the module loading times, making a significant difference for a user during an interactive session. While our test used only the computations which are carried out in the BUILDWPG macro, note that there are many other type of computations within EMME/2 where the disk cache will bring even bigger time savings, e.g. variable demand assignment, additional demand assignment when an additional attribute or traversal matrix is saved, complex matrix calculations and 2- and 3-dimensional matrix balancing.