Optimizing performance and speed of BMW DIS on a VMware virtual machine

The SCO OpenServer operating system and DIS — this is very old software designed for very old and low performance hardware. And by modern standards, it is long outdated.

 

All modern software is optimized to work with drivers, without which it is impossible to use the full performance of, for example, a video card. Without drivers, the performance and stability of the hardware will decrease significantly or the software will even refuse to work.

 

The SCO OpenServer operating system has a set of built-in drivers for equipment that was current at that time. And DIS is fully optimized to run on this hardware. Therefore, DIS does not require a lot of computing resources. The characteristics of the Group Tester One tablet are more than enough: a single-core processor with a clock frequency of 500 MHz, 20 GB of disk space, 256 MB of RAM and a 10/100 MB/s network. And the characteristics of the IBM T30 — this is already excessive.

 

At first glance, it may seem that DIS should simply fly with modern equipment. Especially on AMD Ryzen Threadripper PRO 3995WX and NVIDIA RTX A6000.

 

But SCO OpenServer does not have drivers for modern hardware, which means DIS is simply not optimized to run on it. Which significantly reduces the overall performance on the virtual machine. The Windows operating system and the VMware hypervisor partially compensate for the lack of necessary drivers due to the high performance of modern hardware.

 

But still, a native installation of DIS on Group Tester One or IBM T30 provides greater performance due to optimization than using virtualization even on more powerful hardware, compared to that installed in GT1 and IBM T30.

 

So nothing can be done?

 

It is possible, otherwise this article would not exist. First you need to decide which parrots to measure DIS performance in. Without objective data, it is impossible to talk about where DIS works faster, when using a native installation or virtualization. Subjective sensations cannot be measured, which means they cannot be an indicator of work speed.

 

Let's take as a performance standard 38 parrots DIS loading time on original Group Tester One tablet.

 

 

Main stages:

  • Loading BIOS — 12 seconds
  • Loading SCO OpenServer — 42 seconds
  • Launch DIS — 1 minute 16 seconds

 

Full readiness time for DIS on BMW Group Tester One  — 2 minutes 10 seconds.

 

Now we know objective data from which we can start to compare the performance of a native DIS installation compared to virtualization.

 

I will not compare the speed of the DIS GUI, the response to button presses, or the time it takes to open windows. It is too difficult to evaluate performance on short-term actions, 1 — 5 second. For objectivity, you need to compare the time it takes to complete actions that take a long time, then you can guarantee the absence of self-deception and subjective feelings of increased productivity. In fact, there is a direct correlation between DIS boot speed and the performance of its GUI. By accelerating the first, we also accelerate the second.

 

Also, I will not take into account the performance of any low-power devices, such as laptops, netbooks, laptops, all-in-one computers or tablets. The Group Tester One tablet was an expensive device, $10,000 at the time of release, so the comparison will be with my workstation. My goal is not to make it cheaper, but to optimize time = money.

 

My workstation specifications:

  • ОС — Windows 7
  • CPU — Intel Core i7-3770K
  • RAM — DDR3 1600 32Gb
  • SSD — Samsung 860 Pro 1024 ГБ
  • Hypervisor — VMware Workstation 15 Pro

 

To start a DIS virtual machine, you first need to turn on the physical machine, which takes time to start up, unlike a native DIS installation. These are many additional intermediate steps, the optimization of which also reduces the time DIS is fully ready to work on a virtual machine.

 

Intermediate stages

  • Loading the BIOS of a physical machine
  • Starting Windows 7
  • Starting hypervisor VMware
  • Starting the DIS virtual machine

 

Main stages:

  • Launch SCO OpenServer
  • Launch DIS

 

Impact of CPU on DIS Performance

 

I made many different measurements with different processors and virtual machine configurations. And I came to the conclusion that there is no dependence of DIS performance on the VMware Workstation configuration. In all cases, the launch speed remained the same. There is no way to improve performance with VMware's built-in virtualization tools without using a faster processor.

 

Optimizing performance and speed of BMW DIS on a VMware virtual machine

 

DIS does not use parallel computing, so allocating more cores, threads to a virtual machine, or changing virtualization engines does not provide any performance gain at all. But tests showed the dependence of DIS startup speed on single-threaded CPU performance. To put it simply — the higher the GHz the better. If it’s more difficult — architecture, bit depth, cache size, etc.

 

Impact of RAM on DIS performance

 

SCO Openserver 5.0.7 supports up to 4 GB of RAM, but DIS only uses 256 MB. It is impossible to force DIS to use more RAM, since it is optimized for a certain amount that was installed in the Group Tester One tablet.

 

Optimizing performance and speed of BMW DIS on a VMware virtual machine

 

Tests have shown that allocating more than 256 MB of RAM to a virtual machine does not speed up, but slows down the speed of DIS startup, due to the increase in time for memory checking by SCO Openserver.

 

 

There is also no performance gain when using faster RAM.

 

Impact of drive speed on performance

 

I have carried out hundreds of tests on various memory drives, ranging from the slowest HDDs to RAM disks.

 

Instructions for optimizing, speeding up and removing lags of BMW DIS on a VMware virtual machine

Instructions for optimizing, speeding up and removing lags of BMW DIS on a VMware virtual machine

From the measurements we can conclude that to obtain optimal performance it will be enough to use an SSD with a Sata 3.0 / PCIe / NVMe bus; the IOPS indicator of the drive is much more important. Measurements using RAMDisk are not very objective, since the bottleneck will still be the bus speed in the phase of copying data from non-volatile memory to RAM. But if you never turn off the physical machine, you can use RAMDisk. Therefore, for the best result I will take measurements using SSD Sata 3.0.

 

The main startup phase, using all the performance of my workstation, was reduced by 85 seconds.

 

The intermediate stage takes me 20 seconds.

 

DIS is fully ready for work — 70 seconds. This is 46% faster than the Group Tester One tablet.

 

We can say with confidence — virtualization beat the native DIS installation in an objective comparison. Of course, the DIS graphical interface works at lightning speed during any operation, but subjective sensations cannot be measured. I can only demonstrate the speed of the GUI using DISLauncher.

 

 

Is it possible to achieve better performance?

 

Tests also showed that VMware Workstation 6 virtualization loads SCO OpenServer 2 seconds faster, but launching DIS takes 2 seconds longer than in VMware Workstation 15. Which ultimately eliminates the difference in startup speed.

 

 

In theory, virtualization allows you to achieve unlimited speed for DIS. But at some point we hit the ceiling of the capabilities of the VMware kernel for SCO Openserver virtualization. After which, the use of more powerful hardware ceases to have a noticeable impact on the startup speed and performance of the DIS graphical interface.

 

DIS does not use multi-threaded processing or parallel reading of data from the drive. In fact, DIS is optimized specifically for slow hard drives and weak processors.

 

DIS — it is a collection of many processes and scripts directly related to each other. Each next process or script waits for the previous one to be executed, and here the developers did something stupid. DIS relies on the execution time of certain scripts, and if a script runs faster than the developers intended, things start to break. To simplify — special temporary pauses have been added to DIS, which significantly slow down the download speed. Trying to remove pauses from scripts immediately breaks DIS.

 

Using even more powerful hardware reduces DIS startup time to just a couple of seconds, which is not comparable to the cost of powerful hardware. The performance increase will be noticeable only in synthetic tests and let the overclockers chase the parrots. Theoretical minimum download speed DIS 40 seconds.

 

Hypervisors allow you to take snapshots, thanks to which you can pause the virtual machine and instantly start it from the same place from which the snapshot was taken. In this case, the DIS startup time will be only 1 second. This completely eliminates the need for powerful and expensive equipment. It would be logical to reduce the startup time of a physical machine (BIOS, Windows, VMware), for which there are drivers for powerful modern hardware and software.

 

When using the autorun function in DISLauncher, the time it takes to load DIS from a snapshot, from the moment it is turned on my workstation is only 21 seconds. This is 84% faster than the Group Tester One tablet.

 

 

But what to do with the cursor?

 

This is the most famous problem with DIS running under virtualization, due to which the speed and mouse performance will never be as smooth as a native DIS installation on Group Tester One or IBM T30.

 

SCO OpenServer does not have the required mouse drivers for VMware hypervisors. Modern high-performance equipment partially compensates for this problem. But the longer the DIS session lasts, the worse the mouse performance becomes. Eventually DIS simply stops responding to mouse clicks without further movement to the side. There is only one treatment — reboot DIS. And so on again.

 

Unix-like operating systems, in our case SCO OpenServer, use the X-Window system to display a graphical interface. The DIS program is a client that connects to X-Window, which is a server. The server processes not only the DIS graphical interface, but also the mouse — cursor position, clicks.

 

Any X-Window servers for the Windows operating system will have the necessary mouse drivers. Which will ensure mouse performance in the virtual machine is the same as if a native DIS installation was used. The server will transmit the screen cursor position and mouse clicks to the client, and the client will process this data in the same way as if it were transmitted by a VMware virtual machine.

 

To simplify — it is necessary to replace the built-in X-Window server in SCO OpenServer with any other one that can be installed on the Windows operating system, for example X-Win32.

 

X-Win32 2012 — this is the best X-Window server for Windows. The only one that supports 8-bit pseudo colors for 32-bit Windows color rendering and is not sensitive to differences in screen resolution.

 

We install 32-bit color rendering and screen resolution of 1024x768 in Windows. Install X-Win32 on the computer from which DIS will be used. This does not have to be the same computer on which the DIS virtual machine is installed. Add Russian fonts to the root directory and configure the X-Win32 configuration.

 

Hidden text, contact me to unlock

 

We launch X-Win32 and the virtual machine with DIS, wait for the DIS start screen to appear in the VMware window. Press the key combination Ctr+Alt+PrnScr, the SCO OpenServer console window will open to change the IP address of the X-Window server.

 

Enter the IP address of the physical machine from which DIS will be used and press Enter. Next, we agree to change the IP address of the X-Window server. We are waiting for the DIS screen to appear in the X-Win32 window.

 

The fix for poor mouse performance in DIS is now complete. Now the cursor smoothness in the virtual machine will be similar to the native DIS installation on the Group Tester One or IBM T30 tablet.

 

 

DIS may not be able to connect to the specified IP address.

 

 

In this case, before changing the IP address of the X-Window server, you must run the PING command on the DIS IP address in the Windows command line to make sure that the physical machine with which DIS will be used can connect to the virtual machine. If there is no ping, you need to check the network configuration of the machines.

 


 

Few people know, but DIS needs to be turned off correctly, similar to the “shut down” process in Windows. Shutting down DIS using the Shut Down Guest command in the VMware hypervisor kills SCO OpenServer over time and reduces the further stability of DIS. To properly shut down DIS, you need to run the init 0 command in SCO OpenServer and wait for the virtual machine to shut down.

 

The power button on the front side is responsible for properly turning off the BMW Group Tester One tablet, and you will also have to wait for DIS to complete its operation, as in the case of virtualization. This is the official procedure in SCO OpenServer.

 

Likewise, an emergency shutdown of Windows also breaks the operating system over time, which will ultimately lead to a blue screen of death.

 

 

Of course, even this process can be automated, thanks to snapshots of the VMware hypervisor.

 

  • We start the virtual machine and wait for the DIS start window to appear.
  • Turn off DIS correctly.
  • Create a snapshot.
  • We configure the virtual machine configuration to return to the snapshot after shutting down the virtual machine.

 

It is better to do this immediately after a new installation of DIS on a virtual machine, and not after half a year, when SCO OpenServer is already half-dead.

 

Now, no matter how DIS was closed, even by killing the VMware process using the Windows Task Manager, the virtual machine will always return to the snapshot with the virgin DIS. This ensures reliability and stability of the DIS, which cannot be achieved in the Group Tester One tablet, any unexpected shutdown of which, for example due to a low battery, also slowly kills SCO OpenServer.

 

I recommend doing it a little differently, after all, the article is about optimization and acceleration. Booting DIS from a paused virtual machine takes just one second. Therefore, you can take a snapshot of a virtual machine that is paused. And after each virtual machine shutdown, DIS will always start from the pause snapshot, in just one second.

 

  • Start the virtual machine and wait for the DIS start window to appear.
  • Pause the virtual machine.
  • Create a snapshot.
  • We start the virtual machine and immediately turn it off.
  • Configuring the virtual machine to return to a snapshot after shutting down the virtual machine.

 

Now DIS will always start instantly, regardless of the shutdown method. It is also better to do this immediately after a new installation of DIS on the virtual machine.

 

Essentially, these are all possible optimizations, error fixes and acceleration of DIS running on a virtual machine. Now the speed of work in DIS is limited only by the performance of the diagnostic interface EDIC, OPS, OPPS, ADS, OBD.


 

StarNet X-Win32 2012 license price - 1000 rubles!!!

 

Buy Online


I did not get anything rage

 

Then we send the equipment by mail to me, a week later we pick it up fully configured. Or you can use remote desktop with me.