|
|
|
|
|
|
|
M Technologies The MSM Database MSM
for Windows 95 Contents
OverviewMSM 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/IssuesThe installation for MSM for Windows 95 is identical to the installation for MSM for Windows NT, with these minor differences:
Installing the Micronetics Packet Driver for Windows 95 ProtocolIf you have not installed the Micronetics Packet Driver for Windows 95 protocol before, perform the following steps after the MSM installation completes:
Functionality ChangesFunctionally, MSM for Windows 95 is almost identical to MSM for Windows NT, except for this difference:
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/OWindows NT allows an application to open a file with in unbuffered mode, meaning that the system (Windows NT) wont 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 systems 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:
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 requests 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/OWindows 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. TaskingBecause 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 isnt 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/OLike 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 BackupUnlike 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/OSocket 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 ConstraintsBecause 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 DifferencesYou should be aware of the following differences between Windows NT, Windows 95, and MS-DOS:
Other key differences/advantages are detailed in following sections. Disk Performance Advantages for Windows NT
Disk Performance Advantages for Windows NT and Windows 95
Operating System Features (Windows NT Only)
Operating System Features (Windows NT and Windows 95)
XCALL Development (Windows NT and Windows 95)
Upgrade IssuesBecause 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:
Known Problems with MSM for Windows 95Problem: 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 wont 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 shortcuts icon as follows:
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 systems CAPS LOCK is not working properly with MSM, add the line "DO ^FIXCAPS" to your STUSER routine and restart MSM. If your systems CAPS LOCK still doesnt 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 ContentsThis documentation is the property of InterSystems Corporation. All rights reserved. Copyright © 1998, 1999, InterSystems Corporation.
Home | M Technologies | Support | Company | Contact ©
Copyright 1996-2000 InterSystems Corporation. All Rights Reserved. |