InterSystems M Technologies
-----
Home
M Technologies
- Overview
- Open M
- DSM
- MSM
- Documentation
- Product Tables
- Release Notes
-

Future Releases
& Support For DSM,
DTM, ISM and MSM

- Downloads
Support
Company
Contact

 

-
M Technologies
The MSM Database

MSM for Windows 95
differences from
MSM for Windows NT


Contents


Overview

MSM for Windows 95 is a direct port of MSM for Windows NT that is designed to run on the Windows 95 operating system. Although it includes most of the features of MSM for Windows NT, there are some important differences. The most significant difference is the underlying operating system itself.

Microsoft designed Windows 95 to be a "Workstation" operating system. The Windows 95 kernel is a subset of the Windows NT kernel. As such, many of the high-performance features of Windows NT are not available on Windows 95. Operations such as disk I/O and socket I/O are significantly slower under Windows 95. In addition, Windows NT is a robust operating system, meaning that if one application crashes it should never crash the entire system. Under Windows 95, any application that crashes can "lock up" the entire system, forcing a reboot.

For these reasons, Windows 95 is not the ideal choice on which to run a multi-user MSM system. New MSM sites should run MSM for Windows NT. MSM for Windows 95 is primarily targeted at users and VARs who are unable to upgrade to Windows NT because of logistical reasons (for example, unable to upgrade the hardware on a large number of existing MSM-PC/PLUS sites).

The license keys for MSM for Windows NT and MSM for Windows 95 are identical. This means that users can transparently upgrade from MSM for Windows 95 to MSM for Windows NT.

Installation Instructions/Issues

The installation for MSM for Windows 95 is identical to the installation for MSM for Windows NT, with these minor differences:

  • If you install MSM for Windows 95 under Windows NT, a message box appears before the installation begins saying "MSM for Windows 95 is designed to run on Windows 95. Although MSM for Windows 95 will run on Windows NT, DDP and LAT will not function." You are then given the option to either continue or exit the installation.
  • After the installation is complete, a message box appears saying "If you will be using MSM networking, you will have to install the <Micronetics Packet Driver for Windows 95> protocol using the Control Panel." This protocol is required for the MSM data link in SYSGEN. The next section describes how to install this protocol. Note that if you won’t be defining an MSM data link, you can skip the section.

Installing the Micronetics Packet Driver for Windows 95 Protocol

If you have not installed the Micronetics Packet Driver for Windows 95 protocol before, perform the following steps after the MSM installation completes:

  1. Open the Control Panel from the Start menu by clicking Start -> Settings -> Control Panel.
  2. Click the Network icon. A dialog box appears listing the installed adapters and protocols. If Micronetics Packet Driver for Windows 95 is already installed, click the Cancel button. Otherwise, continue to step 3.
  3. Click the Add button and then double-click Protocol. A list of protocols appears. The protocol Micronetics Packet Driver for Windows 95 should be listed:
    • If it is, click on it and then click the OK button and continue to step 4.
    • If it’s not in the list, put your MSM for Windows 95 Disk #1 diskette in drive A: and click on the Have Disk button. Type the drive letter of your floppy disk (such as "A:\") in the file path box and click OK. Now click on the Micronetics Packet Driver for Windows 95 protocol and click OK.
  4. Windows 95 will copy files to your system directory. Follow the prompts and reboot your system when prompted.
  5. After the system reboots, you are ready to bring up MSM and define an MSM data link using SYSGEN.

Functionality Changes

Functionally, MSM for Windows 95 is almost identical to MSM for Windows NT, except for this difference:

  • Tape device support is not implemented in MSM for Windows 95. This is because the Windows 95 kernel does not include the tape support that the Windows NT kernel has.

Performance Issues (Windows NT vs. Windows 95)

The Windows 95 kernel is a subset of the Windows NT kernel, allowing it to run on machines with less physical memory. Because of this, many of the high-performance features of NT are not available on Windows 95. This section outlines the following performance differences between MSM for Windows 95 and MSM for Windows NT:

  • Disk I/O
  • Socket I/O
  • Tasking

Disk I/O

Windows NT allows an application to open a file with in unbuffered mode, meaning that the system (Windows NT) won’t cache that file. Windows 95 does not support unbuffered mode, and therefore caches all disk files. Because MSM performs its own caching for database reads and writes, it is faster and more efficient for MSM to use its own cache rather than the system’s cache, provided that the MSM buffer pool is configured properly (i.e., as large as possible without "swapping" to disk). Note that the term system caching in the following section refers to the Operating System (Windows NT or Windows 95) disk file caching, and not to the MSM buffer pool.

Performance testing has demonstrated four major points:

  1. Under load with multiple MSM jobs, it is faster and more efficient for MSM to use its own cache rather than the system’s cache.

  • If system caching is enabled, CPU-intensive jobs are impacted. In other words, compute performance is significantly impacted by the overhead of system caching.

  • With an incorrectly configured MSM buffer pool (e.g., a 1MB buffer pool in a 32MB system), system caching will improve performance because the effective buffer pool is much larger (i.e., all of the available memory is used by the operating system to cache data).

    For optimum performance, it is important to correctly configure the MSM buffer pool on a new MSM system. It should be set to as large a value as possible without paging (or "swapping") to disk. Depending on the number of partitions configured, a typical guideline for a 32MB NT system would be a 20MB buffer pool. The Windows NT Performance Monitor is a useful tool to determine if the system is paging. If the system is paging, reduce the MSM buffer pool size.

  • When writing (not reading) very large amounts of data (for example, doing a global restore for an entire database), system caching can improve performance. This is because the modified buffer limit for MSM is set, by default, to 25% of the total buffer pool size. As such, the system begins to aggressively flush data to disk when that threshold is reached. System caching will improve performance by "lazy-write" caching this data and flushing it to disk in larger blocks.

Because of points #1 and #2, MSM for Windows NT disables system caching for databases by default. This improves compute performance as well as performance under heavy I/O load. Because MSM only caches database files, system caching is enabled for other files (HFS, OLB, AIJ) in order to maximize performance. System caching is disabled for BIJ files because they are opened in write-through mode.

Because there are times (see point #4 above) when system caching can improve performance, MSM for Windows NT includes a utility called NTDISKIO which will enable or disable system caching for a database "on the fly" without restarting the system, even if other users are accessing it.

Because Windows 95 does not support unbuffered mode, all files are cached by the operating system, including database files. As stated above, this will impact CPU performance because of the additional overhead of managing the system cache, particularly under heavy I/O load.

Under load, disk I/O is 30%-80% faster under MSM for Windows NT than MSM for Windows 95. The reason is that Windows NT supports overlapped disk I/O. Multiple MSM jobs can read from and write to a database simultaneously. Windows NT will elevator-sort these requests and process them in order. Under Windows 95, each I/O must be processed sequentially. For example, assume that we have four MSM jobs reading a global from the same database volume:

JOB #1: Read block 20000 JOB #2: Read block 4000 JOB #3: Read block 50000 JOB #4: Read block 10000

Under Windows 95, disk I/O requests must be handled sequentially. The system reads the blocks in the order that they are requested: 20000, 4000, 50000, 10000. The disk head moves from block 20000 => 4000 (16000 blocks) => 50000 (46000 blocks) => 10000 (40000 blocks). The total physical head movement is 102000 blocks.

Under Windows NT, all four disk I/O requests are submitted simultaneously, "overlapping" them. Windows NT will then elevator-sort and service each request in the ascending order of each request’s physical location on the disk. Assuming that the MSM database file is unfragmented, the order would be: 4000, 10000, 20000, 50000. The disk head moves from block 4000 => 10000 (6000 blocks) => 20000 (10000 blocks) => 50000 (30000 blocks). The total physical head movement is 46000 blocks, which is less than half that of Windows 95. Less physical head movement results in higher throughput. The more MSM jobs you run, the greater the performance advantage of Windows NT.

Socket I/O

Windows NT supports a high-performance mode for TCP/IP (socket) I/O using I/O Completion Ports. Because I/O Completion Ports are not implemented in Windows 95, socket I/O is 50-100% faster under Windows NT than under Windows 95.

Tasking

Because Windows 95 was not designed to be a server operating system, it handles tasking differently than Windows NT. When multiple tasks (applications) are running, the system gives the foreground task the maximum CPU time. This means that users running MSM for Windows 95 alongside other applications will see significant pauses whenever MSM is not the foreground task (for example, when it is minimized).

If the foreground task is CPU-intensive, MSM for Windows 95 could be blocked long enough to cause <DSCON> or <DSTDB> errors for LAT and DDP clients. Windows NT allows users to tune tasking options, and does not suffer from this problem.

In order to make floppy disk I/O faster, Windows 95 polls the floppy drive, suspending other running tasks in the system. Accessing a floppy drive under Windows 95 will freeze the entire system (including MSM for Windows 95) for up to several seconds at a time. Any MSM users logged in will see significant pauses whenever any process accesses the floppy disk. Windows NT does not poll the floppy drive, but reads and writes asynchronously. Tasks are not affected by floppy disk I/O.

Performance Issues (Windows 95 vs. DOS)

Because Windows 95 is a multi-user operating system, there is some overhead that isn’t present when running MS-DOS, particularly when multiple applications are running simultaneously. As stated in the previous section, running other applications simultaneously with MSM for Windows 95 will significantly degrade performance. This section outlines the following performance differences between MSM for Windows 95 and MSM-PC/PLUS:

  • Disk I/O
  • Online Backup
  • Socket I/O
  • Memory Constraints

Disk I/O

Like MS-DOS, Windows 95 processes disk I/O sequentially. However, because Windows 95 caches all files (including MSM databases), there is some impact on compute (CPU) performance (see the previous section).

However, overall disk throughput is higher under Windows 95 because the system (Windows 95) caches data for disk files. Non-database disk I/O (HFS, JRNL, OLB) performance is much faster under MSM for Windows 95 due to "lazy-write" and "read-ahead" caching by Windows 95.

Online Backup

Unlike MS-DOS, MSM for Windows 95 (and MSM for Windows NT) has true online backup. Under MS-DOS, all MSM jobs are suspended while the full backup is running. This is because DOS is a single-tasking operating system. Windows 95 and Windows NT are multi-tasking operating systems, allowing MSM jobs to continue running while the full backup is running.

Socket I/O

Socket I/O is much faster under Windows 95 than under MS-DOS because there is significant overhead with calling DOS TCP drivers from MSM-PC/PLUS. In addition, DOS TCP drivers are typically much slower than the TCP drivers built in to Windows 95 and Windows NT.

Windows NT socket I/O is several orders of magnitude faster than DOS. Windows 95 socket I/O, though slower than Windows NT socket I/O, is still significantly faster than socket I/O under MS-DOS.

Memory Constraints

Because of the overhead associated with running Windows 95, systems with less than 16MB of RAM should not run MSM for Windows 95. The minimum system requirements for MSM for Windows 95 are much higher than for MSM-PC/PLUS. An MSM-PC/PLUS system running on a low-end 486 machine with 8MB of RAM is adequate for a small number of users. The minimum recommended system for running MSM for Windows 95 is a fast 486 machine with 16MB of RAM. Higher-end systems, such as a Pentium-class machine with 32MB or more of RAM, should run MSM for Windows NT.

Key Differences

You should be aware of the following differences between Windows NT, Windows 95, and MS-DOS:

  • Socket I/O is 50%-100% faster under MSM for Windows NT than MSM for Windows 95.

  • Socket I/O is significantly slower under MSM-PC/PLUS than under both MSM for Windows 95 and MSM for Windows NT. The actual performance difference depends on what software is being used for MS-DOS socket I/O.

  • Tape devices are not supported under MSM for Windows 95. This is because the Windows 95 kernel does not include the tape support that is built in to the Windows NT kernel. Tapes are supported in MSM for Windows NT and MSM-PC/PLUS.

  • Windows 95 was not designed to be a "server" operating system, and handles tasking differently than Windows NT. For example; under Windows 95, accessing a floppy disk will freeze the entire system for several seconds at a time. Users running other applications alongside MSM for Windows 95 will see significant performance degradation. MS-DOS is a single-tasking operating system, and cannot run more than one application at once. Floppy I/O will freeze the entire system until the I/O completes.

Other key differences/advantages are detailed in following sections.

Disk Performance Advantages for Windows NT

  1. Windows NT is able to service multiple I/O's at one time, whereas MS-DOS and Windows 95 only support one. Because of this, disk throughput under load is 30%-80% higher with MSM for Windows NT than with MSM for Windows 95 or MSM-PC/PLUS.

  • Windows NT elevator-sorts multiple I/O's and processes them in order. As such, there is less physical disk head movement, significantly increasing throughput. Windows 95 and MS-DOS process disk I/O sequentially.

  • Because Windows NT can service multiple I/O’s simultaneously, it can efficiently utilize multiple spindles (physical disks), whereas Windows 95 and MS-DOS cannot. This allows users to spread the I/O load across multiple drives to improve performance.

  • Windows NT supports software RAID, allowing resilient systems without expensive RAID hardware. Windows 95 and MS-DOS do not support RAID systems.

  • Windows NT supports disk striping, allowing separate physical disks to appear to the system as a single spindle. Windows 95 and MS-DOS do not support this.

  • MSM for Windows NT supports database volumes of up to 16GB (gigabytes), the maximum size of an MSM volume group. MS-DOS and Windows 95 have a 2-GB file size limit, thus requiring eight 2GB volumes to create one 16GB volume group.

  • Windows NT supports NTFS ("New Technology File System"), better suited to large disks. FAT file systems are inefficient with large partitions.

Disk Performance Advantages for Windows NT and Windows 95

  1. Windows NT and Windows 95 are able to open hundreds of HFS files and socket connections simultaneously. MS-DOS supports a maximum of 15 open HFS files. The number of open sockets that MS-DOS will support depends on which MS-DOS socket drivers that are being used. However, the limit is usually low, typically under 10.

  • Windows NT and Windows 95 allow BIJ to function properly with caching disk controllers. MS-DOS does not.

  • Windows NT and Windows 95 cache HFS, JRNL, and OLB files (including lazy-write caching), greatly improving throughput over MS-DOS.

Operating System Features (Windows NT Only)

  1. Windows NT utilizes multiple processors. Windows 95 and MS-DOS make no use multiple processors.

  • Windows NT supports UNICODE. A double-byte version of MSM-NT is available.

  • Windows NT supports FDDI (fiber optic) networks for high-speed DDP and RVG networking.

  • Windows NT includes system administration tools (such as Performance Monitor), allowing users to tune their system's performance and identify bottlenecks.

  • Windows NT is a robust operating system. Under Windows 95 and MS-DOS, any application that crashes can bring down the entire system.

  • No CONFIG.SYS or AUTOEXEC.BAT. If a device works with Windows NT, it will work with MSM.

Operating System Features (Windows NT and Windows 95)

  1. Because Windows NT and Windows 95 are multi-tasking operating systems, MSM for Windows NT and MSM for Windows 95 support true Online Backup, allowing MSM jobs to run while the full backup is running.

  • Windows NT and Windows 95 utilize virtual memory, allowing for more MSM partitions without reducing buffer pool size.

  • MSM for Windows NT and MSM for Windows 95 have built-in Telnet support, allowing users to log in to MSM via Telnet from anywhere, even over the Internet.

  • Windows NT and Windows 95 include diagnostic software to quickly and easily identify hardware configuration (IRQ, DMA, I/O port) conflicts.

XCALL Development (Windows NT and Windows 95)

  1. XCALLS are easier to develop under Windows NT and Windows 95 using Microsoft Visual C++. Simply build a DLL and load it into MSM.

  • XCALLS are easier to debug using Visual C++ debugger. Debugging XCALLS is tedious under MS-DOS.

  • XCALLS have complete access to the Windows NT/Windows 95 API.

Upgrade Issues

Because MSM for Windows 95 is similar to Windows for Windows NT, the guidelines for upgrading from MSM-PC/PLUS to MSM for Windows 95 are the same as upgrading from MSM-PC/PLUS to MSM for Windows NT. These guidelines are:

  • Console windows are not implemented. However, users can use Telnet to connect to MSM for Windows 95 from their desktops.

  • The system console does not support all of the VT100 escape sequences. Users can connect via Telnet if they need full VT100 compatibility.

  • XCALLS written for MSM-PC/PLUS will not work with MSM for Windows 95 unless they are recompiled as 32-bit Windows DLLs. Because MSM for Windows 95 is not a DOS application, any calls to DOS (such as MSM.INTCALL, MSM.DOSCALL, INT 21, etc.) are not available.

  • Only network cards that have a Windows 95 driver will work with MSM for Windows 95. DOS packet drivers will not work with MSM for Windows 95.

  • Tape drives are not supported. If a user needs tape support, he/she should run MSM for Windows NT.

  • Serial I/O devices such as Arnet SmartPorts and Digi MultiPorts only work with MSM for Windows 95 if the device has a driver for Windows 95. In general, any device that appears to the system as a serial port under Windows 95 will work with MSM for Windows 95.

    Users with serial I/O cards wanting to upgrade to MSM for Windows 95 should contact their hardware vendor to check for driver availability on Windows 95. A good test is to see if the device works with HyperTerminal, the terminal program included with Windows 95. If the device works with HyperTerminal, it will work with MSM for Windows 95.

  • As of release 4.3.3, users can upgrade their PC/PLUS manager databases to MSM for Windows 95 or MSM for Windows NT directly.

Known Problems with MSM for Windows 95

Problem: MSM.EXE icon does not display correctly under Windows 95, but displays correctly under Windows NT.

Solution: This is due to a bug in the Windows 95 Explorer. This has been reported to Microsoft. For now, there is a file called MSM.ICO that is installed to the same directory as MSM.EXE. The Windows 95 Explorer won’t allow you to set the icon for MSM.EXE itself. However, if you create a shortcut to MSM.EXE (on your desktop, for example), you can change the shortcut’s icon as follows:

  1. Right-click on the icon and select Properties.
  2. Click on the Shortcut tab.
  3. Click the Change Icon button and navigate to the MSM.ICO file.
  4. Click OK twice to close the dialog box.

Problem: The system reports "No network card installed" when defining an MSM data link in SYSGEN.

Solution: This usually happens because the Micronetics Packet Driver for Windows 95 protocol is not installed correctly. Open the Control Panel -> Network and verify that the protocol Micronetics Packet Driver for Windows 95 is installed.

This can also happen if you have 16-bit NDIS drivers installed (from running MSM-PC/PLUS, for example). Remove the 16-bit NDIS drivers and try again.


Problem: CAPS LOCK is not working correctly - it functions like a SHIFT LOCK. For example; pressing "1" displays "!".

Solution: This is caused by a bug in the Windows 95 kernel. We have reported this bug to Microsoft and submitted a test application that demonstrates the bug. The Microsoft Incident Number for this problem is SRZ970701011938. Microsoft has replied to us and stated that this is a known bug in Windows 95, and that it will not be fixed in Windows 95 nor in the Windows 98 release.

Because of this, we have coded a work-around for US keyboards into the system that directly reads the scan codes from the keyboard and translates them the correct ASCII values. For non-US keyboards, Micronetics provides a utility called FIXCAPS to create the necessary translation tables during ^STU. However, not all international keyboards are supported yet.

If your system’s CAPS LOCK is not working properly with MSM, add the line "DO ^FIXCAPS" to your STUSER routine and restart MSM. If your system’s CAPS LOCK still doesn’t work correctly, contact MSM support for an updated utility to work around this kernel bug. Windows NT does not have this kernel bug. Upgrading to MSM for Windows NT will also solve this problem.

Return to Table of Contents

This documentation is the property of InterSystems Corporation. All rights reserved.

Copyright © 1998, 1999, InterSystems Corporation.

Return to Main MSM Index


Home | M Technologies | Support | Company | Contact

MOVE TO CACHÉ

© Copyright 1996-2000 InterSystems Corporation. All Rights Reserved.
email: wwwadmin@intersys.com

 
Rule
Rule