OS/2 Warp 4

Capacity Planning and

Performance Tuning Guide

 

 

 

 

 

Document Number: WARP4TTT

December 5, 1996

 

 

 

 

 

Personal Software Products

 

Duc J. Vianney, Ph. D., Senior Programmer

OS/2 External Performance, Austin, TX

Tony White, OS/2 Performance Consultant

Personal Systems Solutions Center, Dallas, TX

Preface

 

 

 

This paper was produced to assist you in improving the performance of your OS/2 system by providing information on OS/2 Warp 4, its various subsystems, and practical performance tuning tips and techniques. It begins by familiarizing you the new features and enhanced functions of OS/2 Warp 4. It will then introduce you to the concepts and terminology needed to successfully tune an OS/2 system. You will learn to recognize the symptoms of many common performance problems. You will also learn how to create and use a repeatable process for analyzing a system's performance problem and understand the many tuning parameters and techniques used to fully optimize your system. The tuning tips and techniques are divided into 3 sections targeted to different levels of complexity: basic OS/2 tuning, advanced OS/2 tuning, and tuning tips for a networked OS/2 workstation.

This paper documents the procedures used and knowledge obtained from performance evaluation and measurement activities. Some procedures have been recorded in documents previously published by OS/2 development and support groups within IBM. It should be considered a working document subject to forthcoming changes without notice as additional information is obtained.

The information contained in this paper represents the interpretation of IBM on the issues discussed based on the measurement results as of the date of publication. Since the results are applicable only to the system under test, IBM makes no commitment nor guarantees the accuracy of any data measured after the date of publication.

The authors wish to express their sincere thanks to the comments, suggestions and reviews made by Michael Martino, Cyndi Kubich, Rich Wahl, Robert Paulsen, Jimmy DeWitt, Ivan Eisen, Bob Russell, Steve Woodward, Lannes Robinson, Valerie Jackson, and many others that have involved with OS/2 Warp products.

For further references, please refer to the following documents.

[1] OS/2 Warp 4 Readme

[2] OS/2 Warp 4 Reference and Commands

[3] OS/2 Warp 4 Tasks

[4] "Performance Tuning OS/2 Warp," Ron Cadima, ISV Development Assistance, IBM Boca Raton, FL, 1995.

[5] "OS/2 2.1 Performance Tuning for End Users," IBM, May 1993.

[6] "OS/2 Warp Performance Pentium Pro P6 Performance Benchmark Guide," Duc Vianney, IBM TR54.915.

[7] "OS/2 Client Tuning Worksheet," Tony White, IBM, Personal Systems Competency Center, May 1996.

 

 

Trademarks

The following terms are trademarks or registered trademark of the IBM Corporation in the United States or other countries

OS/2, OS/2 Warp, OS/2 Warp Connect, OS/2 Warp Server, OS/2 LAN Server, DB/2, LAN Server 4.0, Bonus Pak, Personal Communications/3270 , Visual Age and Visual Builder, ThinkPad, NetFinity, OpenDOC, WebExplorer, SOM/DSOM, DIVE, System Performance Monitor/2 (SPM/2)

The following terms are trademarks of other companies:

TRADEMARK OWNER

DOOM id Software

Intel Intel Corporation

Master of Orion MicroProse

Myst Cyan, Inc.

NetWare Novell, Inc.

Pro AudioSpectrum Media Vision, Inc.

QuickTime Apple Computer, Inc.

Sound Blaster Creative Labs, Inc.

THE 7th GUEST Virgin Interactive Entertainment, Inc.

TIE Fighter Lucasfilm, Ltd.

Western Digital Western Digital Corporation

Windows, Win32s Microsoft Corporation

Windows NT Server, Windows 95 Windows for Workgroups

TME, TME 10 Tivoli Systems, Inc., an IBM Company

OpenGL Silicon Graphics

Amipro, L 1-2-3 Lotus Corp.

BRender Argonaut Technologies Ltd.

BYTEmark Byte Magazine.

ColorWorks SPG Inc.

Describe Describe Corp.

MicroStation Bentley Systems, Inc.

PentiumÒ and PentiumÒ Pro Intel Corp.

SAS SAS Institute Inc., Cary, NC, USA.

LANtastic Artisoft

JAVA Sun Microsystems

HyperACCESS Hilgraeve

FaxWorks Keller Group Inc.

CompuServe Information Manager CompuServe

Pegasus Resource Monitor for OS/2 OnDEMAND Software, Inc.

OS/2 Resource Monitor C.O.I. Consulting, Ltd.

CPU Monitor BonAmi Software Corp.

Performance 2.1 Clear and Simple, Inc.

All other marks are the property of their respective companies.

 

 

 

Notices

References in this publication to IBM products, programs, or services do not imply that IBM intends to make these available in all countries in which IBM operates. Any reference to an IBM product, program or service is not intended to state or imply that only IBM's product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any of IBM's intellectual property rights or other legally protectable rights may be used instead of the IBM product, program, or service. Evaluation and verification of operation in conjunction with other products, programs, or services, except those expressly designeated by IBM, are the user's responsibility.

IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to the IBM Director of Licensing, IBM Corporation, 500 Columbus Avenue, Thornwood NY 10594, U.S.A.

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS DOCUMENT "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimers of express or implied warranties in certain transactions; therefore, this statement may not apply to you.

This publication could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this paper at any time.

It is possible that this publication may contain reference to, or information about, IBM products (machines and programs), progamming, or services that are not announced in your country. Such references or information must not be construed to mean that IBM intends to announce such IBM products, prograaming, or services in your country.

Requests for technical information about IBM products should be made to your IBM authorized reseller or IBM marketing representative.

(C) Copyright International Business Machines Corporation 1996. All rights reserved.

Note to U.S. Government Users. Documentation and programs related to restricted rights - Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corporation.

 

Table of Contents

 

 

 

1 Introduction

1.0 Why OS/2 Warp 4? 7

1.1 OS/2 Warp 4 features and functions 7

1.2 Performance differences from previous OS/2 versions 9

1.3 Software prerequisites 10

1.4 The software configuration menu 10

2 Capacity Planning

2.0 Capacity planning 12

2.1 OS/2 Warp 4 resource requirements 12

2.2 Main reasons for causing system performance bottlenecks in OS/2 Warp 4 13

2.3. Hardware issues 13

2.3.1 CPU 13

2.3.2 Memory 16

2.3.3. Disk drive 17

2.3.4 Video subsystem 20

2.3.5 COM port 20

2.4 Software issues 21

2.4.1 Planning for growth 21

3 Performance Monitoring and Tuning

3.0 Response time 22

3.1 Performance monitoring 22

3.2 Benchmarking 22

3.3 OS/2 Warp 4 performance tools 23

3.3.1 CHKDSK 23

3.3.2 Hard Disk Drive Monitor 23

3.3.3. PROFILER 24

3.3.4 PSTAT 25

3.3.5 SYSLEVEL 25

3.3.6 RMVIEW 26

3.3.7 TRACE 26

3.4 OS/2 external monitoring tools

3.4.1 System Performance Monitor/2 (SPM/2) 27

3.4.2 Simple CT 27

3.4.3 CPU Monitor 28

3.4.4 OS/2 Resource Monitor 28

3.5 Performance tuning 28

3.5.1 Problem definition 28

3.5.2 Identifying bottlenecks 28

3.6 Tuning Methodology 29

3.6.1 Define the problems 29

3.6.2 Hypothesize solutions 29

3.6.3 Design tests 30

3.6.4 Set values and run tests 30

3.6.5 Analyze the results 30

4 Basic OS/2 Tuning Procedures

4.0 Introduction 31

4.1 General system changes 31

4.1.1 The OS/2 Warp Center 31

4.1.2 The OS/2 Warp Guide 31

4.1.3 Animation 32

4.1.4 Changing display drivers 32

4.1.5 Minimize applications and folders 32

4.1.6 Starting applications 33

4.1.7 Use startup folder 33

4.1.8 Multitasking considerations 33

4.1.9 Schemes and color palette 33

4.1.10 Sounds 33

4.1.11 Font palette 33

4.1.12 System logo 34

4.1.13 Mouse 34

4.1.14 Desktop utilization

5 Advanced OS/2 Tuning

5.0 Introduction 35

5.1 Tuning tips for the Workplace Shell 35

5.1.1 The PMSHELL environment 35

5.2 Task scheduling 35

5.3 The CONFIG.SYS file 36

5.4 Single input queue 49

5.5 The AUTOEXEC.BAT file 49

6 Improving Application Performance

6.0 Application software 51

6.1 Tuning tips for OS/2 applications 51

6.1.1 SOMobjects 52

6.1.2 VisualAge C++ performance 52

6.2 Tuning tips for Windows applications 53

6.2.1 Win-OS/2 environment 53

6.2.2 Windows groups and Windows programs folders 53

6.2.3 Win-OS/2 virtual DOS sessions - common Vs. separate 53

6.2.4 Win-OS/2 standard and enhanced compatibility modes 53

6.2.5 Settings for Windows applications 54

6.2.6 Win32s support 55

6.2.7 Win-OS/2 setup 55

6.2.8 Win-OS/2 specific settings 56

6.2.9 General Win-OS/2 tips 57

6.2.10 Tuning tips for games 58

6.3 Tuning tips for DOS applications 60

6.3.1 DOS environment 60

6.3.2 Full screen vs. windowed 60

6.3.3 Multitasking DOS sessions 60

6.3.4 Tuning the DOS settings 61

6.3.5 Video settings 68

6.3.6 Mouse and touch sensitive settings 71

6.3.7 Settings affecting communications applications 72

7 Performance Exploitation of the Underlying Hardware

7.0 Introduction 75

7.1 Video display resolutions 75

7.2 Tuning tips for printing performance 76

7.2.1 Printer object settings 76

7.2.2 Fonts impact print speed 77

7.2.3 PRINTMONBUFSIZE 78

7.2.4 OS/2 spooled printing 78

7.2.5 Printing from DOS 79

7.2.6 Printing from WIN-OS/2 79

7.2.7 Printing from OS/2 applications 80

7.3 Tuning tips for speech performance 81

7.3.1 Hardware requirements 81

8 Tuning Tips for a Networked OS/2 Workstation

8.0 Introduction 82

8.1 Multi-protocol transport service 82

8.1.1 SOCKS support 83

8.2 OS/2 LAN Server/Requester 83

8.3 OS/2 Netware Requester 84

8.4 TCP/IP client tuning 85

8.5 DB2 client tuning -- SQL database performance 85

8.6 Lotus Notes client tuning 86

Appendix 1 - CONFIG.SYS File Insights 87

 

Chapter 1

Introduction

 

 

 

1.0 Why OS/2 Warp 4?

IBM's goal is to provide a more responsive OS/2 that is simpler and more intuitive to use, and provides easy connectivity. To achieve that end, OS/2 Warp 4 addresses three major issues:

1.1 OS/2 Warp 4 features and functions

OS/2 Warp 4 contains the following new features and functions:

The following features and functions have been updated in OS/2 Warp 4:

1.2 Performance differences from previous OS/2 versions

Some of the changes that gave OS/2 Warp 3 better performance than previous OS/2 versions are as follows.

OS/2 Warp 4 contains all of the aforementioned changes as well as enhancements to the FAT file system (FAT deserialized and optimized asynch read ahead), CD-ROM asynch read ahead, page tuning many system DLLs, single input queue, as well as changes to the memory caching default size and system loader fixup scheme. Furthermore, there are changes made to improve TCP/IP throughput and faster response time for network administration commands.

1.3 Software prerequisites

OS/2 Warp 4 can be installed over the following systems.

TIP:

1.4 The software configuration menu

Many OS/2 parameters can be modified during or after installation. This section overviews those paramters that can be modified during the installation process. Each of these tunable parameters will be discussed in greater detail later in this document. From the OS/2 Setup and Installation panel, there will be three menus: Options, Software Configuration, and Help.

NOTE:

 

 

 

Chapter 2

Capacity Planning

 

 

 

2.0 Capacity planning

The OS/2 operating systems, in particular OS/2 Warp 4, have evolved to take advantage of new technologies and strategies, such as client/server, voice navigation and dictation, internet aware desktop, JAVA support, etc. The resulting changes in the software infrastructure and system platforms require careful system planning to ensure OS/2 Warp 4 performs as a cost-effective information technology platform.

Personal computers have limited resources to handle increasingly complex operating systems and applications. Resources such as CPU, disk, and memory must perform well together and deliver adequate response times to satisfy a user's requirements. Hence, capacity planning becomes an important issue when determining the impact of OS/2 Warp 4 on your system. To ensure the correct level of resource to meet and support your computing needs, you need to:

1.Assess the current performance levels of your system.

2.Identify any additional computing needs you will have in the near future.

3.Determine the performance impact these needs will have on the existing configuration.

4.If the performance impact is not acceptable, tune the current configuration for optimal performance and perform step 3 again.

5.If performance is still unacceptable, a more detailed performance analysis becomes necessary to determine where the performance bottleneck is occurring. Additional hardware may be required.

By employing validated performance analysis and tuning methodologies and systems tools, you can accurately measure the utilization of your computer resources. This will the smooth integration of OS/2 Warp 4 into your existing environment.

2.1 OS/2 Warp 4 resource requirements

Your system performance depends largely on how OS/2 Warp 4 and the underlying hardware work together. The 32-bit OS/2 Warp 4 operating system exploits the Intel 32-bit X-86 architecture through the flat memory model, native protected mode and virtual 8086 mode though paging and multiple virtual DOS machine sessions. The flat memory model allows for a very large (4 GB) single address space referred to as flat memory. Call/return times are reduced by eliminating the need to switch segments manifested in a typical 16-bit application.

While all previous 16-bit APIs are still completely supported, the remaining OS/2 Warp 4 APIs are now 32-bit, thus improving performance and enhancing function. In addition, OS/2 also provides support for advanced disk hardware, Direct Memory Access for its parallel port, and many industry standard audio and video devices. Like previous versions of OS/2, OS/2 Warp 4 supports all existing 16-bit and 32-bit OS/2 applications, most DOS applications including those that use EMS, XMS or DMPI memory in the full screen or windowed virtual DOS machine session. Windows application support is also included in OS/2 Warp by providing both Windows 3.1 and Win32s environments for running Windows applications seamlessly on the OS/2 workplace shell, in concurrence with DOS and OS/2 applications.

Several of OS/2 Warp 4's new features and enhanced functions require a powerful processor, more physical memory, and a larger hard drive. If you experience sluggish response time after installing OS/2 Warp 4 you can use some of the performance tools shipped with OS/2 Warp 4 to determine the cause of the problem and apply the following guidelines to obtain the best performance out of OS/2 Warp.

Without Voice Navigation and Dictation:

With Voice Navigation and Dictation, OS/2 Warp 4 requires

2.2 Main reasons for causing system performance bottlenecks in OS/2 Warp 4

There are three areas where performance can be constrained: memory, disk, and processor.

In the following sections, we will examine the functions of major system components and how each would contribute to the overall system performance.

2.3 Hardware issues

2.3.1 CPU

The CPU plays a vital role in system performance. It is responsible for processing the millions of instructions necessary to produce work. The speed of the microprocessor (and also the amount of installed memory) typically has the largest effect on the performance of the computer system. The microprocessors system clock rate, measured in millions of clock steps per second, or Megahertz (MHz) dictates the speed at which the system runs. The faster the clock rate, the faster the performance.

Most CPU's in today computer systems are at least 80486 chips. The 80386SX, SL and SLC, as well as the 486SLCx have an external data path of 16 bits while 80386DX and 486DX and above processors have an external data path of 32 bits. This distinction becomes significant as the shift towards 32-bit software begins to proliferate the market. 32-bit instructions, processing on a 16-bit CPU must become two 16-bit instructions in order to be processed. The processor with a 16-bit external data path can result in about 10% lower performance than an identical processor of the same speed with a 32-bit data path. The following charts illustrate the various processor chips, their respective speeds and their cache option.

Comparison of 386 Processors

Feature 386SX 386SL 386SLC 386DX

Speeds available (MHz) 16 20 20 25 16 20 16 20 25 33

Internal Processor Cache N/A N/A 8K N/A

Internal Processing (bits) 32 32 32 32

External Data Path (bits) 16 16 16 32

 

Comparison of 486 Processors

Feature 486SLC 486SLC2 486SLC3 486SX 486SX2 486SL 486DX 486DX2 486DX4

Speeds available (MHz) Numbers represent both internal and external processor speeds. 25 40/20 50/25 60/20 66/33 75/25 100/33 20 25 33 50/25 25 33 25 33 50 50/25 66/33 75/25 100/33 100/50

Internal Processor Cache 16K 8K 8K 8K 8K 16K

Internal Processing (bits) 32 32 32 32 32 32

External Data Path (bits) 16 32 32 32 32 32

 

Note: The 486SLC2 processor runs internally at twice the speed of the rest of the system, such as 40/20MHz producing performance faster than a 25MHz 486DX, but less than a 50MHz 486DX. It is up to 271% better than a 20MHz 386SX, up to 99% faster than a 20MHz 386SLC, up to 53% faster than a 20MHz 486DX and up to 20% faster than a 25MHz 486DX. The 50/25MHz 486SLC2 is faster than an Intel 33MHz 486DX.

The 75/25MHz 486SLC3 processor is up to 40% faster than the 50/25MHz 486SLC2, 187% faster than a 20MHz 386SLC and up to 424% faster than a 33MHz 386SX.

The 486SLC is identical to the 486SLC2 in all respects, except clock doubling. It is approximately equivalent in performance to a 486DX, but adds power management features the 486DX lacks.

The 486DX2 processor runs internally at twice the speed of the rest of the system, such as 50/25MHz or 66/33MHz, producing performance faster than a 33MHz 486DX, but less than a 50MHz 486DX.

The 486DX4 processor runs internally at three times the speed of the rest of the system, such as 75/25MHz or 100/33MHz, producing performance in excess of a 486DX2.

 

Comparison of Pentium Processors

Feature Pentium P5 Desktop Pentium P54C Desktop Pentium P54LM Notebook

Speeds Available (MHz) Numbers represent both internal and external processor speeds. 60 66 75 90 100 120 133 150 166 200 75 90 100 120 133 150

Clock Multipliers (e.g., 2X = 133/66MHz) 1X 1.5X, 2X, 2.5X, 3X 1.5X, 2X

Internal Processor Cache 16K 16K 16K

Internal Processing (bits) 32 32 32

External Data Path (bits) 64 64 64

 

The Pentium Pro processor (also known as the P6 processor) is the latest generation processor family from Intel. The Pentium Pro processor includes significant architectural innovations and enhancements, like Dynamic Execution, multiple branch prediction capabilities, 256K L2 cache in the package, etc. The result is a significant boost in system performance -- especially with 32-bit software. Since OS/2 and especially OS/2 Warp 4 is a 32-bit operating system, the Pentium Pro processor delivers optimal performance with 32-bit OS/2 applications.

Summary of performance data for P6-150 and P5-133

A summary of the performance data between P6 and P5 is given below. The experiment was done on a P6 processor running at 150 MHz, 256 KB Level 2 cache, 32MB of physical memory, 1.28 GB IDE hard drive, Matrox PCI display adapter card. All measurements were done with the display resolution set at 1024x768x256 except where it is noted. The P5 system is from Micron Technologies. It has a P5 processor running at 133 MHz, 256 KB Level 2 cache, 32 MB of physical memory, 1 GB SCSI hard drive, and Matrox PCI display adapter card. Again, all measurements were done at 1024x768x256 resolution except where it is noted. OS/2 Warp Connect was used on both systems with no special options or setup. OS/2 Warp was installed with multimedia support using the default installation options. The FAT file system was used in the study with default dynamic disk cache size.

There are five types of benchmarks used in the study:

1.Trade magazines benchmarks such as BYTEmark from BYTE Magazine

2.Industry Standard benchmarks such as the OPENGL CDRS and DX from the Graphics Performance Council

3.32-bit OS/2 applications benchmarks such as VisualAge from IBM, SAS from SAS Institute Inc., MicroStation from Bentley Systems, and ColorWorks from SPG Inc.

4.Multimedia benchmarks such as software MPEG playback, direct video APIs interface DIVE and 3-D driver interface BRender from Argonaut Technologies Inc., and finally

5.The mix 32- and 16-bit OS/2 business applications such as Describe, Amipro, Lotus 1-2-3 and IBM C++ used in OS/2 program development.

In general, the average ratio of performance improvement for P6 over P5 is 1.63. In particular, the ColorWorks and DIVE benchmarks seem to gain the most, more than 2X improvement, while others tend to gain somewhere around 50%. The BRender 3-D library from Argonaut Tech which is built upon DIVE seems to take the full advantage of the P6 floating-point performance. Its ratio of performance is around 1.88, almost twice of that P5. It is also observed that applications that are computational intensive such as 3-D graphics rendering in the MicroStation benchmark gain about 1.5X on the P6 platform. The industry standard graphics test from GPC using the CDRS and DX viewsets also scores well on the P6, around 1.5 times over P5. The legacy OS/2 applications benchmark which is a mix of 32- and 16-bit code ran only 30% faster on the P6. The chart below illustrates the average measurements and the performance ratio between the two systems.

 

 

Processor: P6-150 P5-133 P6/P5

Manufacturer: Intel Micron Ratio

Memory Configuration: 32MB 32MB

Display Resolution: 1024x768x256 Improvement

Display Adapter: Matrox Matrox for P6

Applications Metrics

BYTEmark 2.0 iterations/sec 1.49

OPENGL - CDRS frames/sec 2.23 1.51 1.47

OPENGL - DX frames/sec 0.89 0.58 1.53

VISUAL AGE - Visual Builder seconds 80.4 104.4 1.3

MOVIE PLAYER - Bundy seconds 13.78 20.01 1.45

SAS seconds 16.4 27.84 1.7

Argonaut - Robot frames/sec 64 34 1.88

ColorWorks seconds 14.06 31.02 2.21

MicroStation seconds 31.55 46.94 1.49

Legacy Apps (Describe, Amipro, L123, IBM C++) seconds 61.5 80.5 1.31

DIVE frames/sec 273 128 2.13

Average 1.63

Geometric Mean 1.61

NOTES: 1. ColorWorks was run at display resolution 1024x768x16M

System bus

The bus is the internal pathway along which signals are sent from one part of the computer to another. Personal computers typically have one of three bus architectures:

The system bus plays an important role in balancing system performance. If you have a high speed CPU and video adapter on an ISA bus system, this system is not well balanced. The CPU is a great deal faster than the system bus. For example, if your processor is a 486DX 33MHz CPU and you have an ISA bus VGA video adapter (remember, ISA is 16-bit), the system has the capability to transfer data at speeds greater than 33MB/second but the ISA bus can only transfer data at 8.33MB/second. While this isn't a very practical example, it illustrates the potential for an imbalanced system caused by a system bus that is slower than the processor, particularly when running I/O intensive applications such as databases.

2.3.2 Memory

Memory, often referred to as random-access memory (RAM), is the computer's primary storage space used to execute instructions. Memory is generally available on the system board and/or on adapter cards. The speed of the memory is expressed in nanoseconds, with the lower the value the better.

Memory speed is important in that faster memory provides faster access to the information stored there. Memory location is also important. Memory on the system board (motherboard) can generally be accessed by the processor faster than memory located on an adapter card. The adapter card memory requires access through the system bus, slowing down the time from processor to memory.

Having adequate memory in a system will also reduce the disk access because paging or swapping is decreased. If the operating system does not have to handle paging I/O requests, system performance will improve. If the swap file is large, and changing from one application to another results in I/O requests, the system would benefit from additional memory or performance tuning.

A cache is a small group of very high speed memory chips and the support circuitry that manages them. Some microprocessors have a built-in cache while others have it residing outside the microprocessor on the system board. Others have extended the cache built into the microprocessor with a second-level cache designed to feed information into the microprocessors internal cache more efficiently. This is called a "level 2" cache. The memory cache increases the overall performance of the computer system by automatically gathering commonly needed information, such as program instructions and data, and then very quickly providing it to the microprocessor the next time the data is requested. Since the memory cache can respond much more quickly than the system's memory, the system's performance is improved every time the information contained in the cache is used. A small internal cache is faster than a larger external cache, due to the delay in accessing an external cache.

OS/2 Warp 4 memory working set

The working set for OS/2 Warp 4 is defined as the set of memory (pages) referenced in the last n time of certain measurement intervals. The working set includes both resident and locked pages. The following data represent the working set of different OS/2 Warp systems running under different environments, connected (with TCP/IP and NetBIOS installed) and not connected (base operating system only). The test was performed on a 486/33 system with 16MB of memory, 1.6GB IDE hard drive, FAT file system, and Tseng SVGA ET4000 display adapter.

OS/2 Warp 3 3,996KB

OS/2 Warp 3 Connected 6,212KB

OS/2 Warp 4 4,996KB

OS/2 Warp 4 Connected 6,860KB

It is important to note that the number of unique pages accessed during a sliding window of 12 snapshots (1 minute) taken on the same system but with 40MB of memory (unconstrainted memory scenario) is as follows.

OS/2 Warp 3 12.68MB

OS/2 Warp 3 Connected 19.97MB

OS/2 Warp 4 Connected 25.27MB

2.3.3 Disk drive

Fixed disk performance is important to the overall performance of a computer. The performance of a fixed disk refers to the rate at which information can be located and transferred between the fixed disk and the memory. The disks average seek time, average latency and data transfer rate determine how the disk subsystem will contribute to or hinder overall system performance. These disk performance statistics are generally available from the disk manufacturer.

Data on a fixed disk is stored in concentric rings, or tracks, on the disk surface. To read from a fixed disk, the actuator must first move the read/write head to the proper track. The average time it takes for the actuator to move the read/write head over the proper track is called the average seek time - usually expressed in milliseconds.

Once the read/write head is located over the right track, it must wait until the disk rotation brings the right part of the track under the read/write head. The average time it takes for this to happen is the average latency of the drive - also expressed in milliseconds.

Finally, after the proper track and proper part of the track are positioned under the read/write head, the information is transferred between the disk and the disk controller circuitry, one bit at a time in a continuous stream as the disk surface passes underneath the read/write head. The speed at which this is done is called the data transfer rate and is expressed in millions of bytes per second (MB/second).

It is important to consider the disk drives performance statistics when purchasing a computer system. These statistics play an key role in the overall performance of the system. The shorter the seek time and latency the better. The higher the data transfer rate the better. All of these factors determine how the disk subsystem will contribute to or hinder overall system performance.

OS/2 Warp 4 provides significant new function compared to OS/2 Warp Connect. Depending on the selections you make during installation, this version will require a maximum of 350 megabytes of hard disk space. The following table indicates how much disk space is consumed by each selectable component. It will be very useful in planning your installation.

NOTE:

===> DO NOT ATTEMPT INSTALLATION WITH BARELY ENOUGH SPACE.

During the installation process, you will be asked to select which of the following install options: Advanced Install or Easy Install.

If you selected the Advanced installation option then you would see the OS/2 Setup and Installation screen which enables you to configure the software. The list of software that you can select in OS/2 Warp 4 is as follows.

Disk Space Default

Assistance Center 10.03 MB

OS/2 Tutorial 4039 KB

OS/2 Command Reference 825 KB Yes

REXX Information 768 KB Yes

OS/2 Warp Guide User Interface Agent 4,367 KB Yes

Fonts 2.42 MB Yes

Courier 273 KB Yes

Helvetica 629 KB Yes

System Mono-Spaced 86 KB Yes

Times Roman 596 KB Yes

Courier (outline) 320 KB Yes

Times New Roman (outline) 259 KB Yes

Optional System Utilities 2.29 MB Yes

Backup Hard Disk 27 KB Yes

Change File Attributes 36 KB Yes

Display Directory Tree 33 KB Yes

Manage Partitions 233 KB Yes

Label Diskettes 33 KB Yes

Link Object Modules 450 KB NO

Picture Viewer 122 KB Yes

PMREXX 146 KB Yes

Recover Files 45 KB Yes

Restore Backed-up Files 35 KB Yes

Sort Filter 31 KB Yes

Installation Utilities 419 KB NO

Create Utility Diskettes 192 KB Yes

Service/Diagnostic Aids 542 KB Yes

Optional System Components 2.30 MB Yes

OpenDoc 5,842 KB NO

Voice Type 23,753 KB NO

Security 496 KB NO

Bonus Pak 36.42 MB NO

CompuServe 2,736 KB NO

HyperAccess Lite 656 KB NO

IBM Works 14,411 KB NO

Fax Works 1,266 KB NO

VideoIn 467 KB NO

AskPSP 4,008 KB NO

Remote Support Tool 1,441 KB NO

Printer Utilities

JetAdmin 560 KB NO

JetAdmin Port Driver 1,645 KB NO

MarkVision 4,879 KB NO

MarkNet Port Driver 5,238 KB NO

Tools and Games 24.19 MB

Enhanced Editor 1,933 KB Yes

Search and Scan Control 68 KB Yes

OpenGL 1.0 3D Library 4,905 KB NO

Optional Bitmaps 10,073KB NO

Solitaire-Klondike 2,762 KB Yes

Pulse 43 KB Yes

Chess 2,828 KB Yes

Mahjongg Solitaire 2,151 KB Yes

OS/2 DOS Support 1.54 MB

DOS Protected Mode Interface 29 KB N/A

Virtual Expanded Memory Management 19 KB

Virtual Extended Memory Support 9 KB N/A

WIN-OS/2 Support 6.11 MB

Readme Files 136 KB Yes

Accessories 1,039 KB Yes

Screen Savers 73 KB Yes

Sound 115 KB Yes

Multimedia Support 22.41 MB

Base Multimedia Support 19,294 KB Yes

Multimedia OpenDoc Support 2,929 KB NO

Software Motion Video 728 KB Yes

High Performance File System 470 KB Yes

Network Services

File and Print Client 13 MB

TCP/IP Services 28 MB

Remote Access Client 4 MB

System Management Client 7 MB

Netware Client 6 MB

Mobile Office Services 3 MB

 

TIP:

2.3.4 Video subsystem

Computers can provide video support on the system board or on an adapter. Video support is identified by the mode and resolutions that they can support. The greater the resolution and number of colors, the better the picture. Unfortunately, better resolution and more colors usually translate into slower system performance.

VGA (Video Graphics Array) was introduced in 1987 and soon became a popular video standard. VGA systems are capable of displaying 16 colors at a resolution of 640x480.

SVGA (Super VGA) refers to a group of high-resolution analog video adapters. SVGA provides higher resolutions and more colors than VGA adapters. Most SVGA adapters with 1MB of video memory are capable of displaying 256 colors in a resolution of 1024x768.

XGA (Extended Graphics Array) was introduced by IBM in 1990. It is an accelerated analog video adapter which uses a coprocessor to provide hardware-assisted drawing functions. XGA-2 is a newer version of XGA which includes performance improvements, higher refresh rates, non-interlaced mode and support for resolutions of 1360x1024 with 16 colors.

Many new video adapters are coming available that can't be classified as VGA, SVGA or XGA. They are using new and more powerful chipsets that show improved performance over SVGA by using on-board processors for some graphics functions. These chipsets are called accelerators. They include previously discussed XGA chipsets, as well as new accelerated SVGA chipsets such as S3, Weitek P9100, Mach 8/32 and Tseng W32i.

Two main features on your graphics card affect video performance—the first, the card's onboard memory, and the other the card's accelerator chip and bandwidth.

There are three common types of onboard memory found on graphics cards, Dynamic RAM (DRAM), Window RAM (WRAM), and Video RAM (VRAM). DRAM is cheap, but its single-ported design requires a system clock cycle to reset the chips before each refresh of screen data. VRAM is dual-ported, able to deliver data and reset in a single clock cycle for inherently faster performance. It's also more expensive than DRAM. WRAM is a form of VRAM that does faster fills and accellerates video playback and animation. WRAM is not only dual-ported, but also requires fewer transistors than VRAM, hence lowering costs while providing a few graphics-specific speed-ups such as support for aligned bit-block transfers (BitBlts).

The type of graphics memory you choose is almost as important as the amount. DRAM is the least expensive, but its single-ported design makes it relatively slow; dual-ported VRAM is more costly, but much quicker for true-color work. A variety of other single-ported (such as EDO DRAM and SDRAM) and dual-ported (such as WRAM) variations fall between the two on

the price/performance scale.

The graphics accelerator cards architecture, or more specifically, it's bandwidth also plays a crucial role in graphics subsystem performance. Bandwidth is defined as the amount of information that can move along the cards data path. The bandwidth between the graphics card's accelerator chip and its display memory can be as wide and quick as graphics card manufacturers care to make it. Over the last several years, 32-bit graphics accelerators have yielded largely to 64-bit accelerators, with 128 bit cards becoming more and more common. To keep refresh rates high, team a fast 64-bit or 128-bit accelerator with dual-ported display memory to handle the volume of data that true-color and multimedia applications demand.

2.3.5 COM Port

Machines with a buffered UART (Universal Asynchronous Receiver/Transmitter), for example the 16550A will have better communications performance than machines without buffering, for example the 16450. The performance of DOS communications programs is particularly impacted by using systems with these buffered communications chips on their COM ports. The MODE command can be used to determine whether your system has this buffered UART. A buffered UART at level 16550A or equivalent is nearly essential for high speed communications. Use the command: MODE COMx, where x is the communications port number. If you see "BUFFER=N/A" then you do not have a buffered UART for that port.

2.4 Software issues

2.4.1 Planning for growth

File systems

OS/2 Warp supports two file systems for use on your hard disks: FAT and HPFS (High Performance File System). The HPFS file system supports file and directory structures different from the FAT file system. The OS/2 Warp HPFS file system is much better than the old FAT system used in DOS, although FAT is retained for backwards compatibility reasons and is used for diskettes. HPFS is faster, allows long file-names, is less likely to lose data and uses disk-space more efficiently than does FAT. Another advantage of HPFS over FAT is in the area of Extended Attributes (EAs). EAs are data attached to a file and used to provide information about the file they are attached to. For example, the name of an object that appears in an OS/2 folder or on the OS/2 Desktop is stored in EAs. In HPFS, EAs are part of the HPFS file control block which is read when the file is opened. In FAT, EAs are stored in a separate file in separate clusters and require additional I/O to access them, and are therefore slower.

HPFS has two limitations. Native DOS applications can't see HPFS formatted disks (although DOS programs running in OS/2 Warp can and there exists a driver to read HPFS disks from plain DOS), and the HPFS driver takes approximately 264KB of memory.

TIP:

Chapter 3

Performance Monitoring and Tuning

 

 

 

3.0 Response time

Response time is the key indicator used in measuring and tuning a system. It can be defined as the time interval from when a user initiates a process until that process has completed. For example, response time can be measured as the interval of time from when a user presses the enter key to initiate a database query until the data is displayed on the screen.

The productivity of a OS/2 Warp 4 user is largely dependent on adequate system response time. The user should be able to interact freely with the application without having to wait for the system to respond. Response time requirements may vary among users and even among applications. A three to fifteen second response time may be adequate for a complex inquiry application that is only run occasionally, but a sub-second response time may be required for more frequently used applications such as word processors or spreadsheets.

This section introduces the concept of performance monitoring, measurement, and tuning. It also covers performance tools shipped with OS/2 Warp 4 as well as tools available from external sources.

3.1 Performance monitoring

Monitoring the performance of critical system resources is invaluable in identifying the cause of performance problems. Performance monitoring is the first step to take in solving performance-related issues. There are numerous performance monitoring tools that measure response time, disk activity and other variables that impact the performance of the system. These tools will assist in understanding possible causes and subsequent resolution of the problem. Once the problem has been identified, the process for alleviating it can begin. This process, or tuning methodology, needs to be well thought out and documented through to resolution.

3.2 Benchmarking

A benchmark is a test that measures the performance of a system or subsystem on a well-defined task or set of tasks. Test scenarios, or benchmarks, are designed to achieve consistent repeatable results during the tuning process. Benchmarks are necessary for creating an effective, systematic approach to performance tuning your system. The benchmark should represent a work environment very similar to the one being tuned. Benchmarking is essential for measuring progress while tuning a system.

Characteristics of a good benchmark include:

Benchmarks can also be used as monitoring and diagnostic tools. By running a benchmark and comparing the results against a known configuration, you can potentially pinpoint the cause of poor performance. Similarly, a developer can run a benchmark after making a change that might impact performance to determine the extent of the impact.

3.3 OS/2 Warp 4 performance tools

The OS/2 WarpCenter provides a CPU monitor utility that shows the system activity and a disk space monitor program that shows the amount of disk space available in all partitions. In addition, there are many other operating system utilities that you can use to check your system integrity if you perceive a performance degradation has occurred. They are as follows.

3.3.1 CHKDSK

CHKDSK can detect lost clusters on your disk. These are parts of files that the system did not save completely and that take up space on your disk. If CHKDSK finds these, it prompts you with a message asking if you want to convert lost chains to files. If you type a Y (yes), CHKDSK converts these parts into files that you can examine and delete to save space on your disk. If you type an N (no), CHKDSK deletes these parts of files from your disk. The files CHKDSK creates from lost chains follow this naming convention: FILEnnnn.CHK (nnnn is a sequential number starting with 0000).

TIP:

CHKDSK /x where x = F or V or C or F:n

The /C and /F:n parameters shown at the end of the CHKDSK command syntax are only used with the High Performance File System.

1.Insert the system installation diskette in diskette drive A.

2.Restart the system. When the Logo panel appears, remove the installation diskette and insert diskette 1. Press Enter to continue.

3.Insert diskette 2 when requested.

4.At the first text panel that appears (Welcome to OS/2), press Esc.

5.If the drive to be searched is a drive formatted for HPFS, the file UHPFS.DLL has to exist on the same diskette as CHKDSK, or UHPFS.DLL has to exist in a directory in the LIBPATH statement. To display the LIBPATH statement, enter TYPE \CONFIG.SYS in the drive of the disk that the system started from.

6.In order for the system to display error messages, the file OSO001.MSG has to be on the same disk as CHKDSK or it has to exist in a directory in your DPATH statement. To display your DPATH statement, enter DPATH at the command line.

7.Run CHKDSK from drive A, specifying drive C as the drive to be checked.

3.3.2 Hard Disk Drive Monitor

The Hard Disk Drive Monitor uses Self-Monitoring, Analysis, and Reporting Technology (SMART) to monitor the status of physical drives in the system. A hard disk drive must be SMART-compatible for the Hard Disk Drive Monitor to be able to detect potential failures in that drive.

NOTE:

HDMON

TIP:

The Hard Disk Drive Monitor has not detected any degrading or potential fault conditions in the drive.

The Hard Disk Drive Monitor has detected a degrading or potential fault condition in the drive. In this case, you should back up the information on the disk immediately.

The drive is not SMART-compatible. The Hard Disk Drive Monitor can return basic information (in the Drive Information screen) about drives that are not SMART-compatible, but it cannot detect degrading or potential fault conditions in these drives.

3.3.3 PROFILER

Analyzes files on the specified drive and displays information about unusually fragmented files that do not meet the multimedia format requirements. You can use the PROFILER utility to correct files that do not meet multimedia requirements.

A fragmented file, although logically intact, is divided into blocks that are stored in different physical locations on the disk. Fragmentation is often necessary for the efficient use of disk space, but unusually fragmented files (those divided into small, scattered blocks) are not well suited for multimedia applications.

TIP:

PROFILER /x d:/pathname where

x=C corrects file that do not meet the multimedia requirements

x=Q turns off the display of progress information

x=R analyzes all files in the subdirectory tree below the specified path name

x=V displays fragmentation information about every file analyzed

3.3.4 PSTAT

PSTAT displays process status information, such as current processes and threads, system semaphores, dynamic-link libraries, and shared memory. PSTAT helps you determine which threads are running in the system, along with their current status and current priorities.

TIP:

PSTAT /C displays the current process and thread -related information

PSTAT /S displays system semaphores information for each thread

PSTAT /L displays DLL libraries for each process

PSTAT /M displays shared information for each thread

PSTAT /P:id displays information related to the ID of the specified process

Current processes and threads

System semaphores

Shared memory for each process

Dynamic-link libraries

3.3.5 SYSLEVEL

This utility displays operating-system service level

TIP:

SYSLEVEL

Please wait...

C:\OS2\INSTALL\SYSLEVEL.OS2

IBM OS/2 Base Operating System

Version 3 Component ID 562107701

Type 0

Current CSD level: XR00000

Prior CSD level: XR00000

C:\OS2\INSTALL\SYSLEVEL.OS2

The subdirectory and file containing the information.

IBM OS/2 Base Operating System

The system name.

Version 3, Component ID:

The version, release, and modification number, followed by the Component ID of the system.

Current CSD Level: nnnnnnn

The current corrective service level.

Prior CSD Level: nnnnnnn

The prior corrective service level.

3.3.6 RMVIEW

This utility displays the allocation of the hardware resources in your computer.

TIP:

Displays the physical view. If no parameters are entered, this is the default view.

This view displays the physical components in your computer, such as adapters, along with the resources claimed the physical component.

Displays the physical view with planar chip set devices.

Displays the device drivers that have registered with the Resource Manager along with the physical resources and logical devices that they claim.

Displays the driver view with snoopers.

Displays the device drivers with planar chip set devices.

Displays the detected view of the current boot tree only.

Displays the detected view of the previous boot tree only.

Displays the logical view of your computer resources.

Displays the claimed interrupt levels (IRQ) sorted by value.

Displays the claimed IO ports above hex 100 sorted by value.

Displays all claimed IO ports sorted by value.

Display the claimed memory regions sorted by value.

Displays the claimed memory regions sorted by value.

Displays the hardware tree showing the hardware configuration of your computer.

Displays /IO, /IOA, /IRQ, /DMA, /MEM sorted by owner.

Displays raw data. When this switch is used with /P, /P1, /D, /D1, or /L, the Resource Manager data is displayed in a lower level format.

3.3.7 TRACE

The System Trace facility is used to record a sequence of system events, function calls, or data. The record is usually produced for debugging purposes. After the trace data is recorded, the System Trace Formatter is used to retrieve it from the system trace buffer and format the data to your display, printer, or file.

NOTE:

TIP:

TRACEGET is used to capture the contents of the trace buffer into a file. This file can then be loaded into the trace formatter, or sent to your service coordinator. A technical coordinator will analyze the formatted data to help you diagnose problems.

3.4 OS/2 external monitoring tools

There are several useful external tools for monitoring and tuning the performance of an OS/2 system some of which are discussed in the following.

3.4.1 System Performance Monitor/2 (SPM/2) - IBM Corp.

SPM/2 2.0 is an integrated package of powerful facilities that enable you to monitor resources such as CPU, RAM and disk on your local and remote OS/2 systems. SPM/2's ability to graph this resource information enables you to look at real-time data as well as saved data for any monitored workstation on the LAN. SPM/2 performs the following tasks:

3.4.2 SimpleCT - Clear and Simple, Inc.

This tool, excellent for novice users, is a simple aid for tuning your system. It provides a way to change the CONFIG.SYS file and remove unnecessary files to free disk space.

3.4.3 CPU Monitor - BonAmi Software Corp.

CPU Monitor offers a selection of performance and analysis tools for OS/2 users. Using Presentation Manager graphics, CPU Monitor displays real-time information for estimated CPU utilization, OS/2 process relationships, and more. CPU Monitor enables you to dynamically suspend and resume execution for individual threads and helps you detect and stop runaway, invisible, and background programs.

3.4.4 OS/2 Resource Monitor (OSRM/2)- C.O.L. Consulting, Ltd.

This integrated group of applications is designed for real-time tracking and performing capacity planning functions for system resources including CPU, disk, memory, and applications. OSRM/2 monitors most of the paramters that SPM/2 does but it also works on symmetric multiprocessor (SMP) systems.

3.5 Performance tuning

In general, performance tuning consists 4 steps:

1.define the performance problem

2.identify the bottlenecks by using monitoring and measurement tools

3.remove bottlenecks by applying a tuning methodology, and finally

4.repeat steps 2 and 3 until a satisfactory resolution is found.

3.5.1 Problem definition

A sound understanding of the problem is critical in monitoring and tuning the system. You should understand the problem in detail rather than at a high level like "the system is slow". Ask specific, pointed questions, like:

Be able to quantify the problem and when possible, obtain supporting data. As you are obtaining additional data, your problem description should become more focused.

You should also find out all you can about what has recently been done to this system that may have affected its performance. You may find that additional software has been installed, additional communications sessions were defined, or even that some of the memory has been removed.

Also consider the environment this system is working in. Environmental factors that can affect performance might include:

Once you understand the problem, you should define a realistic goal for improvement. How will you know when the performance is acceptable? It may be easy to identify your desired goal, but you might not immediately know whether this goal is realistic.

3.5.2 Identifying bottlenecks

After you have identified the problem and the environmental factors that affect it, you can narrow down possible causes and solutions. This involves identifying possible bottlenecks, verifying whether they are indeed bottlenecks, and devising possible solutions to alleviate them. Be aware that once a bottleneck is identified and steps are taken to relieve it, another bottleneck may suddenly appear. This may be caused by several variables in the system running near capacity.

Bottlenecks occur at points in the system where requests are arriving faster than they can be handled, or where resources, such as buffers, are insufficient to hold adequate amounts of data. Finding a bottleneck is essentially a step-by-step process of narrowing down the causes of the problem:

3.6 Tuning methodology

Now that you have identified potential bottlenecks and have selected a performance monitoring tool, you need to have a plan to move forward into the tuning process. There are five basic components in a performance tuning methodology that apply to all cases:

3.6.1 Define the problem

Use the process described earlier in this chapter to ensure a complete and thorough understanding of the problem.

3.6.2 Hypothesize solutions

Narrowing in on the cause of a performance problem is an iterative process, involving identification of possible bottlenecks and verification of whether they are indeed bottlenecks. It is important to make sure the correct bottleneck has been identified before pouring in resources to alleviate it. If not, unnecessary expense may be incurred by adding resources that do nothing to improve performance. For example:

To increase the capacity at a bottleneck, think of ways to offload the work arriving there or improve its capacity, through hardware or software. From there, come up with hypotheses of things that may relieve bottlenecks and improve performance. Possible examples follow, though in no particular order. Note that changing the values of system parameters may only be one avenue to pursue.

3.6.3 Design tests

Given the possible solutions, design tests to try them out. Make sure that these tests are repeatable. Approach the testing effort methodically, testing each hypothesis one at a time.

3.6.4 Set values and run tests

Setting new variable values and running tests is probably the most iterative part of the entire process. In this stage, response time should be measured for specific, repeatable events, both before and after changing a value.

3.6.5 Analyze the results

Analyzing the results of your tests involves being able to interpret and explain the data you obtain in order to understand what's going on in the system. Information explaining the results should be available with the software tools used for the testing. SPM/2 has very detailed help screens that explain all the parameters it monitors.

Chapter 4

Basic OS/2 Tuning Procedures

 

 

 

4.0 Introduction

After installation, there are changes that you can make to improve the performance of OS/2 Warp 4. Some of these changes like changing desktop settings are general in nature and will make slight improvements in the overall system performance. These changes can be done by any user and are listed in this section. Other changes are more specific for certain system components such as the system swap file, file systems, the CONFIG.SYS file, etc. These changes require certain knowledge of how various OS/2 components interact with each other. Such changes are listed in the next section, "Advanced OS/2 Tuning."

4.1 General system changes

4.1.1 The OS/2 WarpCenter

The OS/2 WarpCenter is a customizable, object-based status bar that can remain on top of all maximized windows. You can use the OS/2 WarpCenter to perform OS/2 desktop operations and display information about your system. You can display battery usage, system activity, and disk space monitors. OS/2 WarpCenter monitors the CPU activity on your computer and displays it through the system activity pulse. It indicates periods of low, medium, and high activity.

TIP:

1.Select "OS/2 System" -> "WarpCenter"

2.Click on the right mouse button and select "Properties"

3.Click "Monitors"

4.Remove the check from Show system activity pulse

5.Exit

4.1.2 The OS/2 Warp Guide

OS/2 Warp 4 provides the OS/2 WarpGuide folder which contains guidance objects for selected computer tasks. Some objects have cue cards available to assist you with each step of the task.

NOTE:

TIP:

1.Display the pop-up menu for the OS/2 WarpGuide folder.

2.Click Properties, and then click Appearance.

3.Remove the check from Assist Me with selected tasks.

4.1.3 Animation

Animation is the process of drawing boxes on the screen that appear to grow in size culminating in an open folder or session. This gives a nice appearance when drawing the screen objects. Disabling animation will save a small amount of system resource that would otherwise be used to expand and contract graphical brackets around folders as they are opened or closed

TIP:

1.Select "OS/2 System" -> "System Setup" -> "System" -> "Window"

2.Select "animation" -> "Disabled"

3.Exit

4.1.4 Changing display drivers

During installation, OS/2 Warp detects your system display adapter hardware and installs the appropriate display drivers and resolutions. However, the higher the resolution, the more memory that is used. Very high resolution and color support can require 100 to 200K of physical memory. Since the display drivers and resolutions have great impact on your system performance, you can tune your display subsystem as follows.

1.Select "OS/2 System" -> "System Setup" -> "System" -> "Screen"

2.Select the desired resolution

3.Exit

4.Shutdown and reboot the system

1.Select "OS/2 System" -> "System Setup" -> "Install/Remove" -> "Selective Install"

2.Click on Primary Display -> Click OK

3.Chose the desired display type

4.Follow remaining selections

5.Shutdown and reboot the system

TIP:

4.1.5 Minimize applications and folders

The OS/2 system responsiveness may be better if you minimize frequently used applications between use since accessing a minimized application is always faster than starting the same application. This is also true when frequently working with the same folders.

TIP:

4.1.6 Starting applications

Performance when starting applications can be improved by reducing the application load time.

TIP:

4.1.7 Use startup folder

Applications and folders can be opened several ways. You can open your application faster if you know how to take advantage of the Startup Folder and the OS/2 multitasking feature.

TIP:

4.1.8 Multitasking considerations

OS/2 is true multitasking operating system. It manages multiple applications running concurrently by sharing system resources. If your resource is limited, e.g., memory, processing power, then you would see performance degradation when executing multiple applications. To alleviate these problems, you can use the following tips.

TIP:

4.1.9 Schemes and color palette

You should use solid colors and avoid the use of bitmaps for desktop and folder backgrounds. These particular options use more memory and require more processing time to display them.

4.1.10 Sounds

Deselect the System Sounds options, unless you like the sounds when opening and closing your folders. It costs between 250 and 300K in working set just to hear the sound. An additional 40K or so of working set can be saved by executing DINSTSND.CMD in an OS/2 command session. This will unhook the system sounds from the OS/2 desktop. To get them back, you would execute INSTSND.CMD.

4.1.11 Font palette

There are many fonts supplied with OS/2 and even more supplied with various word processing and graphics applications. Avoid the temptation of installing more fonts than are necessary by installing only the ones that you will use. You can always install others later if you should need them. This simple exercise of restraint will improve performance when loading applications that use fonts. Each installed font uses at least 2KB of memory, even if it is not being used. This number increases significantly when you actually use the font in an application.

When you have a choice of choosing which kind of fonts to install on your system, remember that outline fonts are more efficient than bitmapped fonts because the characters are cached into memory. With bitmapped fonts, the entire character rendering is loaded into memory. Bitmapped fonts are defined for a specific screen resolution and display type, whereas outline fonts are scaleable and tailored to the specific device installed on the system.

4.1.12 System logo

Setting the System Logo option to none can save some time when loading applications that check this parameter to see how long to display their applications logo.

4.1.13 Mouse

Mouse pointers are basically bitmaps. The amount of memory used will be affected by which mouse pointer style you choose. If you activate the comet cursor, this will cost additional memory and processing time whenever the mouse is being used.

4.1.14 Desktop utilization

It is important to close folders and applications when they are no longer being used. Although a large portion of unused programs will be swapped out, some portion of every program is non-swappable and will use memory for as long as the program is active. The more active programs in the system, the more memory will be used.

As placed ( or Flowed) icon views offer faster performance than Gridded views for folders containing multiple objects. The operating system has to retrieve an objects coordinates from the OS2.INI if a Gridded view is being used. Flowed views display one object after another without keeping track of specific coordinates.

You should also restrict the use of programs which, as a class are more decorative than useful. That is, the amount of function they provide is low compared to the memory they use. These programs, like screen savers, clocks and animated icons should not be used on systems with a limited amount of memory.

 

Chapter 5

Advanced OS/2 Tuning

 

 

 

5.0 Introduction

There are many more tuning parameters for an OS/2 system than discussed in the previous section. This section will detail advanced tuning parameters and explain how they can be used to further improve your system performance. This chapters focus will be on tuning parameters that optimize the Workplace Shell, task scheduling, CONFIG.SYS and AUTOEXEC.BAT files.

5.1 Tuning tips for the Workplace Shell

This section discusses the workplace shell and its tuning tips.

5.1.1 The PMSHELL environment

The Workplace Shell starts automatically when OS/2 is booted. The Workplace process is the one under which all the Workplace Shell classes are loaded and initialized. Therefore, objects representing Workplace Shell classes and their subclasses must run on this process. The Workplace process is actually launched from the Shell process, which is the process indicated in the SET PROTSHELL= statement in the CONFIG.SYS file. Once the Shell process is running, it starts the Workplace process. The Shell process is responsible for restarting the Workplace process in the event that it is ended as a result of a trap.

NOTE:

5.2 Task scheduling

The OS/2 operating system performs prioritized, preemptive, multitasking. Prioritized means that the operating system does not divide CPU time equally among all threads. All programs do not get equal access to the CPU. A prioritizing, time-slicing strategy is used to allocate access to the CPU among competing threads. Each thread has a priority and the operating system executes the highest priority thread that is ready to run. Programs with higher priorities (a real-time robotics application, for example), are given access to the CPU before programs with lower priorities. If a thread with a higher priority than the currently running thread becomes ready to run, the current thread is stopped immediately, or preempted, and the higher priority thread is given the CPU. The lower priority thread does not get to complete its time slice until later. Threads of equal priority are given CPU time in a round-robin manner.

Preemptive means that the multitasking activity needs no cooperation from the executing programs. The operating system maintains control over executing programs, and stops, or preempts, them when their time slice with the CPU is over or when a higher priority program is ready to run.

CPU scheduling is based on the following four priority classes, ranked in order from lowest priority to highest:

Each class has 32 levels of execution ordering. Scheduling parameters are user-selectable at the time the system is started or can be varied dynamically based on system load.

Depending on a thread's priority class and level, the operating system periodically gives each thread in each process a small slice of CPU time. Threads with higher priorities always run before threads having lower priorities. A thread runs until its time is up or until a thread with a higher priority is ready to run. At that time, the operating system preempts the thread and starts another thread. Threads can also voluntarily relinquish the CPU (for example, by calling DosSleep).

The amount of time in each time slice is defined by the TIMESLICE command in the CONFIG.SYS file. The TIMESLICE command can be used to customize the size of the time slices that a thread gets. The default is for the operating system to dynamically vary the size of the time slice based on the activity of the thread and the overall system load.

When a thread is created (using DosCreateThread), it inherits the priority of the thread that started it. DosSetPriority enables threads to change their priority classes and levels in response to changes in their execution environments. DosSetPriority enables a thread to change its own priority, or the priority of any thread within its process. DosSetPriority also enables changing priorities for the entire process and for descendant processes. Within each class, the priority level of a thread can vary because of a DosSetPriorty request or, if dynamic priority variation is being used, because of action taken by the operating system.

TIP:

5.3 The CONFIG.SYS file

OS/2 provides a considerable amount of flexibility in the settings in the CONFIG.SYS file. You can change these settings for exploration and exploitation of OS/2 performance. If properly done, customizing the CONFIG.SYS file will improve OS/2 Warp 4 performance and reduce memory requirements significantly.

NOTE:

The following is a list of statements in the CONFIG.SYS file that you can change to impact performance.

BASEDEV=

The BASEDEV statement is used to load base device drivers. Device support for disks, diskettes, printers connected to the workstation, and other devices, is loaded with the BASEDEV statement. A device driver is a file that contains the code that the OS/2 operating system needs to recognize a device and correctly process information received from or sent to that device. A base device driver is one that is needed when the OS/2 operating system is first started.

NOTE:

TIP:

Swap file tuning

Applications consist of groups of segments that can be either loaded into physical memory at the same time or called when needed. Memory over commitment occurs when a program requires more memory than is actually available in the computer. The operating system handles memory over commitment by moving some of the information stored in memory off to a file known as the swap file located on the hard drive. This activity is called swapping or paging. Swapping makes it possible for applications to overcommit the amount of physical memory in the system. In OS/2, the file where the data is written to is the SWAPPER.DAT file. Although an application cannot control swapping, you can specify whether the system can swap memory by including the MEMMAN command in the CONFIG.SYS file.

NOTE:

TIP:

The following discusses the two commands MEMMAN and SWAPPATH in the CONFIG.SYS file that you can use to tune the swap file.

MEMMAN=

If the MEMMAN command specifies SWAP, the operating system writes selected memory pages to the SWAPPER.DAT file whenever insufficient physical memory exists to satisfy an allocation request. This is the default choice. If the MEMMAN command specifies NOSWAP, the operating system does not swap memory.

TIP:

MEMMAN=SWAP

MEMMAN=SWAP,COMMIT

MEMMAN=SWAP,PROTECT

SWAPPATH=

The exact amount of memory available to an application depends on the amount of physical memory in the machine and the amount of free disk space on the partition that contains the SWAPPER.DAT file. The location of the SWAPPER.DAT file can be specified by including the SWAPPATH command in the CONFIG.SYS file.

NOTE:

SWAPPATH=drive:\path minfree initial

TIP:

SWAPPATH=C:\OS2\SYSTEM

SWAPPATH=C:\OS2\SYSTEM 512

SWAPPATH=C:\OS2\SYSTEM 2048 18432

Minfree value

There are two parameters in the swappath statement: minfree and initial. Both are expressed in KB, and the system rounds them to megabytes at boot time. The minfree value determines at what time you will receive a warning message that disk space has been reduced too low. If the remaining amount of free space after the swapper.dat file extension, is less than the amount (in megabytes) of the minfree value, a warning message is displayed.

TIP:

Initial value

The initial swap file size is preallocated to a minimum size during system boot up, depending on the amount of physical memory installed in the system. This helps prevent the excessive overhead of growing the swap file during paging operations.

TIP:

When your applications are being executed, a larger swap file might be needed than what has been preallocated. The OS/2 kernel will increase the size of the swap file in 1 MB increments if more swap space is needed. When one or more pages need to be swapped out from memory, the kernel will determine if these pages already have swap space allocated in the swap file. If yes, the swap manager will simply write them into the allocated swap space. If not, then new swap space will be allocated in the swap file. If there is no space left in the swap file, the swap file has to grow. The swap manager then writes the pages to their new swap space. Swap space in the swap file is normally not freed up until the corresponding memory is deallocated. When the swap file grows beyond the initial size, then the system must manage the swap file to determine when compaction can take place. This additional overhead will cause a performance penalty.

TIP:

OS/2 Warp 3 2,048KB

OS/2 Warp 3 Connected 6,144KB

OS/2 Warp 4 12,288KB

OS/2 Warp 4 Connected 18,432KB

The swap file begins compaction when the amount of free swap space in the swap file exceeds 1.5 MB. The compaction is done at system idle time. During compaction, free swap space will be moved to the end of the swap file. After compaction, when the amount of free space at the end of the swap file is greater than 1 MB, the swap file will be decreased, in 1 MB decrements.

NOTE:

 

BREAK=

BREAK instructs the system to check if you pressed the Ctrl and Break keys together before the system carries out a program request. Pressing and holding the Ctrl and Break keys together stops a command from completing its task.

 

NOTE:

BREAK=ON

BUFFERS=

Sets the number of disk buffers that the system uses.

NOTE:

TIP:

CODEPAGE=

Selects the system code pages (defined character sets) to be prepared by the OS/2 operating system for code-page switching. You must include the appropriate DEVINFO statements (for keyboard and video display) for both code pages in the CONFIG.SYS file.

NOTES:

TIP:

DEVICE=

Installs a device driver by specifying the path and complete file name of the device driver in your CONFIG.SYS file.

NOTE:

TIP:

DEVICEHIGH=

Loads a specified DOS device driver into an available upper memory block (UMB) for a DOS session.

NOTE:

TIP:

DISKCACHE=

The disk cache has the potential for dramatic performance gains. The disk cache allows a portion of system storage to be used as an additional hard-disk buffer. DISKCACHE speeds up application programs that read hard disks by keeping hard disk data frequently accessed in a cache buffer. When an application program requests hard disk data that is already in the cache buffer, the disk cache sends the data directly to the application program. This method of accessing data is much faster than if the data had to be read from the disk each time. A disk-cache size is preselected by the system based on installed memory, disk size, and file systems installed. Any memory set aside for the disk cache is memory that is taken away from the free memory available for programs. Therefore, it is recommended that you determine the amount of memory required for normal operation of your system, then dedicate as much of the remaining memory to a disk cache. This requires that you have a good understanding of the working set requirements of your system. For example, a computer with 6MB or more of RAM should use a disk-cache size of 256KB.

The DISKCACHE default sizes for FAT are as follows:

NOTE:

TIP:

DOS=

You can load a DOS TSR program into an upper memory block (UMB) by typing the LH or LOADHIGH command at the DOS command prompt. If no UMB is available, the TSR program will be loaded into low memory (below 640KB). To enable UMBs, type the DOS=UMB statement in the CONFIG.SYS file

NOTE:

TIP:

FCBS=

FCBS allows you to alocate File Control Blocks for DOS sessions. Most new DOS programs do not use FCBS so these values can often be lowered to save memory.

NOTE:

FILES=

Determines the maximum number of files available in DOS sessions.

NOTE:

TIP:

FILES=40

IFS=

Installs a file system (IFS) by specifying the path and complete file name of the file system driver in your CONFIG.SYS file.

NOTE:

TIP:

IOPL=

Allows I/O privilege to be granted to requesting processes in OS/2 sessions.

NOTE:

TIP:

IOPL=YES

IOPL=NO

IOPL=PROC2,PROC3

PATH=

Sets a search path for commands and programs.

NOTE:

SET PATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS;C:\OS2\INSTALL;C:\;

PATH C:\OS2;C:\OS2\MDOS;C:\;

TIP:

DPATH=

DPATH indicates what directories applications should search for their data files (if an application program uses the DPATH directory list).

NOTE:

TIP:

LIBPATH=

Identifies the locations of dynamic link libraries for OS/2 programs.

NOTE:

LIBPATH=.;C:\OS2\DLL;C:\OS2\MDOS;C:\;

Note: The initial period indicates the current directory.

TIP:

MAXWAIT=

Sets the amount of time a ready-to-run thread waits before the system assigns it a higher priority.

NOTE:

TIP:

MAXWAIT=5

PRIORITY=

Selects priority calculation in scheduling regular-class threads.

NOTE:

PRIORITY=DYNAMIC

PRIORITY=ABSOLUTE

TIP:

PRIORITY_DISK_IO=

Specifies disk input/output priority for applications running in the foreground.

NOTE:

PRIORITY_DISK_IO=YES

PRIORITY_DISK_IO=NO

TIP:

PRINTMONBUFSIZE=

Sets parallel-port device-driver buffer size.

NOTE:

TIP:

PRINTMONBUFSIZE=2048,134,134

RMSIZE=

Specifies the highest storage address allowed for the DOS operating environment.

NOTE:

RMSIZE=256

TIP:

THREADS=

Sets the maximum number of independent actions, known as threads, for OS/2 sessions.

NOTE:

THREADS=512

TIP:

TIMESLICE=

Sets the minimum and maximum amount of processor time allocated to processes and programs for both OS/2 and DOS sessions.

NOTE:

TIP:

TIMESLICE=32,

TIMESLICE=,32

TIMESLICE=45

Note: This value must be an integer greater than or equal to the default value of 32.

TIMESLICE=40,125

Note: This value must be an integer greater than or equal to the minimum default value of 32, and less than the maximum default value of 65536.

5.4 Single input queue

The Single Input Queue (SIQ) allows the user to take focus away from an application that is monopolizing the message queue.

NOTE:

TIP:

SET PM_ASYNC_FOCUS_CHANGE=ON | ON x | OFF

SET PM_ASYNC_FOCUS_CHANGE=ON

SET PM_ASYNC_FOCUS_CHANGE=ON x

where x is in milliseconds. The default value is 2000 milliseconds

5.5 The AUTOEXEC.BAT file

The AUTOEXEC.BAT file is specific to the DOS session and has no performance impact on OS/2 applications. You can however customize your DOS session by having DOS system commands in the AUTOEXEC.BAT file. This will start your memory resident programs and set up environment variables as required by your DOS applications.

TIP:

 

Chapter 6

Improving Application Performance

 

 

 

6.0 Application software

Application software offers a great deal of flexibility in its ability to be tuned for improved performance. Skilled programmers have tremendous control over the performance of their application as well as the performance of the entire system. Applications can be written to use minimal amounts of memory and processor resources. A poorly written application can cause major problems by using excessive amounts of memory and CPU cycles.

Applications usually do not have tunable options that allow a user to modify their performance. If they do, the best way to discover and implement them is to read the documentation that comes with the program. For example, Lotus Notes for OS/2 has a memory tuning parameter that when placed in the Notes.INI file, keeps the application from using all of the systems free memory. Likewise, IBM's C Set compiler has an optional command that will cause the compiler to remain in memory after it has been loaded by the first compile action. Subsequent compiles become faster because the compiler does not need to be re-loaded into memory.

Under OS/2 Warp, application programmers have a great deal of control over the performance of both DOS and OS/2 programs. Some general programming rules when programming OS/2 applications include using multiple threads, checking the linker map to place functions that call each other in the same code page, and keeping your DLLs in the working directory so OS/2 will not have to search to find them. DOS programs should be designed to not poll hook interrupts, but try to limit far references and keep functions that call each other in the same segment. These techniques and more are explained in the many books focused on programming for performance.

DOS application performance can be improved by maximizing the use of memory below 640KB. Drivers such as EMM386 and HIGHMEM are designed to free as much memory as possible and provide disk caching to speed up hard drive access. Since some DOS applications respond differently than others using these drivers, it is usually necessary to experiment with them and other parameters to find the optimal performance

configuration.

6.1 Tuning Tips for OS/2 Applications

OS/2 applications run natively on OS/2 Warp 4, therefore, no special settings nor configurations changes are required. That is, users do not need to make explicit changes to OS/2 applications. However, there are techniques that you can use to speed up the application loading or execution time.

TIP:

6.1.1 SOMobjects

When SOMobjects 2.0 is installed on OS/2 Warp, the LIBPATH, PATH, and DPATH environment variables in CONFIG.SYS might be changed to place the SOMobjects directories before the operating system directories in the search order for DLLs, EXEs, and data files. This will cause the Workplace Shell to encounter an unrecoverable error the next time the system is rebooted because it requires the SOM DLLs that are contained in the \OS2\DLL subdirectory, and the performance of your system could be severely degraded.

TIP:

Note: This only applies to SOMobjects Workstation applications, not Workgroup applications.

NOTE:

6.1.2 VisualAge C++ performance

You can get faster compile times with Visual C++ by using some of the following techniques.

TIP:

IFS=c:\os2\hpfs.ifs /cache:2048 /crecl:64

This allows OS/2 to keep frequently-used files in memory between compilations, which can greatly reduce the amount of time it requires the compiler to process them.

DEVICE=C:\OS2\VDISK.SYS 2048,,256

allocates a virtual disk of 2M with 256 directory entries. You can then copy all the library and header files you need for compiling and linking to this disk and set your LIB and INCLUDE variables to point to it before any other directory. Because these files are already in memory, your compile and link times will improve. (Do not put the compiler executable files there; the compiler preloads them into memory by default, so you would then have two copies in memory.)

However, there are drawbacks to using a VDISK. The data on it is lost when you reboot. Also, memory allocated for a VDISK is unswappable memory space, meaning it cannot be used as normal memory space by applications. Because C++ compilations can require a lot of memory, putting memory into a VDISK could cause excessive memory paging and slow down your compilation. If you have a large VDISK, it may be to your advantage to eliminate it or make it smaller to provide more available memory to the compiler

6.2 Tuning Tips for Windows Applications

This section discusses the Win-OS/2 environment which supports the execution of Windows applications.

6.2.1 WIN-OS/2 environment

WIN-OS/2 is an environment that allows you run Windows programs under OS/2. There are two types available of WIN-OS/2 environments available:

TIP:

6.2.2. Windows groups and Windows programs folders

During the installation of OS/2 Warp, if you had Windows programs already installed on your hard disk, these programs may have been automatically added to your OS/2 Desktop. Windows programs that were added during installation can be found on the Desktop in the following folders:

When you run Add Programs for existing Windows programs, the WIN-OS/2 Groups folder is created and placed on the Desktop. The WIN-OS/2 Groups folder contains folders of Windows application programs that reside in the default groups, Windows Accessories and Windows Main. A group is a set of Windows programs that are related.

The Windows Programs folder and the Additional Windows Programs folder contain Windows programs that have settings optimized during the installation process to improve their performance. If these programs do not run correctly, you can specify other settings. Windows programs that do not belong to any group are added to these folders.

For example, if you have CorelDraw for Windows installed, when you run Add Programs, a folder for all the CorelDraw programs is created and placed in the Additional Windows Programs folder. Now you have access to all the CorelDraw programs in one folder.

6.2.3 WIN-OS/2 virtual DOS sessions - common Vs separate

A Windows application can run in a common or separate (seamless) session. Common sessions share one WIN-OS/2 kernel regardless of the number of applications loaded. Separate sessions load a new copy of the WIN-OS/2 kernel each time an application (or session) is started.

TIP:

6.2.4 WIN-OS/2 standard and enhanced compatibility modes

WIN-OS/2 can run in two operating modes:

NOTE:

TIP:

You can specify a mode for a WIN-OS/2 session or Windows program by changing the WIN-OS/2 run mode setting. For Windows programs that require Microsoft Windows Version 3.1 enhanced mode, set the WIN_RUN_MODE setting to 3.1 Enhanced Compatibility.

6.2.5 Settings for Windows applications

The following WIN-OS/2 and DOS Settings should be used for DOS and Windows Multimedia applications:

DOS/WIN INT_DURING_IO ON

DOS/WIN HW_TIMER ON

WIN VIDEO_SWITCH_NOTIFICATION ON

WIN VIDEO_8514A_XGA_IOTRAP OFF

DOS/WIN VIDEO_RETRACE_EMULATION OFF

DOS DPMI_MEMORY_LIMIT 8

TIP:

1.Press the Tab key to move between the entry fields.

2.Click on the arrow next to each field to open a pull-down menu of possible, valid values. Refer to the documentation that came with the device for information about what values you should use.

3.Select OK when you are done. Select Cancel to exit from the window without making any changes (the default values will remain).

Note: To have the settings changes take effect, be sure to select Multimedia Software Support in the OS/2 Setup and Installation window and then select Install.

AUDIO_ADAPTER_SHARING

This setting allows access to audio hardware for the DOS session.

TIP:

 

 

6.2.6 Win32s support

WIN-OS/2 supports the following levels of Win32s:

NOTE:

Adobe PhotoShop

EndNote2 Plus

TIP:

6.2.7 WIN-OS/2 setup

WIN-OS/2 settings allow you to make adjustments that will improve the performance of your Windows programs.

The following list identifies the types of settings you can change and they will be discussed in corresponding sections.

OS/2 allows you to specify certain settings that can be globally applied to all Win-OS/2 sessions. These settings can be accessed from the folder System Setup -> WinOS/2 Setup.

NOTE:

TIP:

NOTE:

6.2.8 WIN-OS/2-specific settings

As mentioned above, the Win-OS/2 settings can be set from System Setup -> WinOS/2 Setup or from the properties associated with each session object. The following list contains the available WIN-OS/2-specific settings.

WIN_CLIPBOARD

This setting allows WIN-OS/2 to share clipboard information between WIN-OS/2 and OS/2 sessions.

NOTE:

TIP:

WIN_DDE

This setting allows programs that support DDE to update their data automatically.

NOTE:

TIP:

WIN_RUN_MODE

Use WIN_RUN_MODE (Run mode) if you want to specify a mode for your Windows programs. To specify a particular mode, select either the 3.1 Standard or 3.1 Enhanced Compatibility radio button.

NOTE:

1.Display the pop-up menu for the Windows program object.

2.Select Settings.

3.Select Session.

4.Select the WIN-OS/2 settings push button.

5.Select the WIN-OS/2 settings radio button; then select OK.

6.Select the WIN_RUN_MODE setting.

7.Select the 3.1 Enhanced Compatibility radio button.

8.Select Save.

WIN_ATM

This setting loads the Adobe Type Manager fonts for Win-OS/2.

NOTE:

TIP:

6.2.9 General WIN-OS/2 tips

The following are tips for using your computer more efficiently when running Windows programs in WIN-OS/2 sessions:

WIN_DDE ON

WIN_CLIPBOARD ON

DOS_BACKGROUND_EXECUTION ON

6.2.10 Tuning tips for games

OS/2 recognizes over 200 of the most popular games and educational programs. Most games will run well under OS/2 if you use the customized DOS settings that are provided when you create a program object for your games using Add Programs from the System Setup folder or using the Program template from the Templates folder. If OS/2 does not recognize a game, it assigns default settings to the game. If the default settings are unsatisfactory, you can customize them to suit the requirements of the game.

You can use Add Programs to create program objects for games that are already installed on your system. For each game that it recognizes, Add Programs assigns a set of customized DOS Settings to the program object, which is placed in the Games folder in the OS/2 System folder.

TIP:

1.Point to the game or program object.

2.Press mouse button 2.

3.Select Settings.

4.Select the Session tab.

5.Select DOS Full Screen.

6.Select DOS Settings.

7.Select All DOS Settings.

8.Select OK.

9.Change the DOS Settings according to the program documentation.

1. Edit the SYSTEM.INI file, which is located in the \OS2\MDOS\WINOS2 directory, and change the following statements from:

SET TIMERMax386Res=10

SET TIMERMax286Res=10

to:

SET TIMERMax386Res=x

SET TIMERMax286Res=x

where x is a variable between 8 and 20.

2. Save the file.

3. Restart the WIN32s session.

4. Get the latest version of QuickTime for Windows 3.1 from the World Wide Web at address http:/www.quicktime.apple.com.

5. Follow the instructions to download QuickTime.

Note: If you have a partition with native DOS and Windows on it, you will need to take out references in the AUTOEXEC.BAT file to the Windows directories on other drives. For example:

D:WINDOWS;D:\WINDOWS\SYSTEM

After you have successfully installed the application you can put the references back into the AUTOEXEC.BAT file.

6. Install QuickTime for Myst and The Making of Myst

To enable audio for Myst and The Making of Myst, you must enable the audio drivers. For more information, see "Adding WIN-OS/2 Audio Support" in the OS/2 Warp Desktop Guide online book located in the Assistance Center.

To display the OS/2 Warp Desktop Guide, do the following:

To help ensure The Making of Myst works correctly under OS/2 Warp, run The Making of Myst in a WIN-OS/2 full-screen session.

If this game does not work properly, contact the game manufacturer for the up-to-date audio drivers or files for Sound Blaster and Pro AudioSpectrum.

After you receive the up-to-date audio drivers or files, do the following:

1. Add audio drivers or files to the ID\T7G directory.

2. For the Pro AudioSpectrum, do the following:

3. Restart the WIN-OS/2 session.

4. Start the game again.

If the game still does not work properly, do the following:

For new games (or games that will not work after using the steps above), try using the Dedicated DOS/Windows mode (session type). This requires that you have Dual Boot installed. Install the game using DOS or Windows and verify that it functions correctly, then create a program object on the OS/2 Desktop and select the Dedicated DOS/Windows Session type. Using this program object, you can now suspend OS/2 Warp to run the game and just as quickly resume your OS/2 Warp environment.

6.3 Tuning Tips for DOS Applications

This section discusses tuning tips for DOS applications.

6.3.1 DOS environment

OS/2 provides support for various DOS environments. These environments include DOS, DOS sessions in the OS/2 operating system, and specific versions of DOS started from diskette. As noted earlier, when you are starting a specific version of DOS from diskette, DOS mouse, XMS, or EMS driver support must be replaced with the OS/2 version of the driver, supplied in the OS2\MDOS directory.

Some of the DOS properties are not processed in a DOS session started from the specific version of DOS. The ignored DOS properties are those that configure parameters that are controlled by the CONFIG.SYS file on the DOS startup diskette. These ignored properties include:

Other differences include:

6.3.2 Full screen vs. windowed

DOS applications can be run in a full screen or windowed session. In a full screen session, data are directly written to video memory while the windowed session does not.

TIP:

6.3.3 Multitasking DOS sessions

The OS/2 multitasking feature allows you to run multiple DOS, Win-OS/2 or OS/2 sessions at any instance of time. However, DOS applications rarely block themselves. They consume CPU timeslices even if they are in the background or appear not to be doing anything (e.g., polling keyboards or other devices). You can control this behavior by adjusting the following DOS setting parameters: IDLE_SENSITIVITY, SESSION_PRIORITY, and DOS_BACKGROUND_EXECUTION. The tuning of DOS settings are explained as follows.

6.3.4 Tuning the DOS settings

You can selectively configure a DOS session by changing the session's DOS settings. Most of the settings defaulted values were set based on extensive internal testing. However, some DOS applications require certain features that can be determined by experimenting with the following:

DOS_AUTOEXEC

This setting allows you to select an AUTOEXEC.BAT file.

TIP:

DOS_BACKGROUND_EXECUTION

This setting allows DOS applications to run in the background.

TIP:

DOS_BREAK

This setting is used when you want OS/2 to check for the Ctrl+Break or Ctrl+C key combinations when your application is running.

TIP:

DOS_DEVICE

Use DOS_DEVICE to modify the set of DOS device drivers that is loaded into a particular DOS session.

TIP:

c:\os2\mdos\connect.sys /a=10 /b=12

You can:

DOS_FCBS

This setting specifies the maximum number of file control blocks which may be opened by applications running in a VDM.

TIP:

DOS_FCBS_KEEP

This setting specifies the number of FCBs that will be protected against automatic closure.

TIP:

DOS_FILES

This setting specifies the maximum number of file handles which may be opened in a VDM.

TIP:

IDLE_SECONDS

This setting specifies the length of time, in seconds, the operating system waits before applying idle detection in a DOS session.

TIP:

IDLE_SENSITIVITY

Specifies a threshold for judging when an application is considered idle.

TIP:

INT_DURING_IO

This setting allows interrupts to be handled during file I/O. When set to on, this creates a second thread for the application to use for interrupt handling when the primary thread is busy with I/O operations.

TIP:

SESSION_PRIORITY

This setting allows you to set priority level for the execution of your application.

TIP:

Memory Settings

The following list contains the available memory settings that you can change to affect the performance of DOS applications..

DOS_HIGH

Use DOS_HIGH to load DOS outside the 640K low memory address space.

NOTE:

TIP:

Loading DOS into high memory allows more available memory for application code and data within the 640KB address space.

DOS_RMSIZE

Defines the amount of conventional memory available to WIN-OS/2.

NOTE:

TIP:

DOS_UMB

Allows DOS TSRs and devices to control the upper memory blocks (UMBs).

NOTE:

DPMI_DOS_API

Allows you to control whether DOS API translation is enabled for DPMI applications in this session.

NOTE:

DPMI_MEMORY_LIMIT

This setting allows you to specify the amount of DPMI memory, in megabytes, available for DOS session.

NOTE:

DPMI_NETWORK_BUFF_SIZE

Use this setting to control the size, in kilobytes (KB), of the network translation buffer for DPMI programs in this session.

NOTE:

EMS_FRAME_LOCATION

Use EMS_FRAME_LOCATION to change the location of the Lotus/Intel/ Microsoft Expanded Memory Specification (LIM EMS) expanded-memory region. Select the arrow to the right of the list to see all the choices.

NOTE:

EMS_HIGH_OS_MAP_REGION

This setting allows you to adjust the size of an additional EMS region.

NOTE:

EMS_LOW_OS_MAP_REGION

This setting allows you to use and to set the size of the remappable conventional memory.

NOTE:

EMS_MEMORY_LIMIT

This setting allows you adjust the amount of EMS memory.

NOTE:

MEM_EXCLUDE_REGIONS

This setting allows you to specify regions that EMS/XMS cannot use.

NOTE:

C0000,D0000-D8000

MEM_INCLUDE_REGIONS

This setting allows you to specify regions that EMS/XMS can use between RMSIZE and 1 MB..

NOTE:

C0000,D0000-D7FFF

XMS_HANDLES

This setting allows you to adjust the number of handles for XMS usage.

NOTE:

XMS_MEMORY_LIMIT

This setting allows you to adjust the amount of XMS memory available.

NOTE:

XMS_MINIMUM_HMA

This setting allows you to adjust the minimum allocation size of the High Memory Area (HMA).

NOTE:

6.3.5 Video settings

For a DOS or Win-OS2 session, OS/2 provides the following available video settings.

VIDEO_8514A_XGA_IOTRAP

This setting is used to directly access the Model 9514/A or XGA video mode.

TIP:

VIDEO_FASTPASTE

This setting is use to increase the speed of input other than the keyboard (e.g., character Cut and Paste transfers).

TIP:

VIDEO_MODE_RESTRICTION

This setting extends DOS conventional memory beyond the 640 KB address space by limiting the video mode support to text or CGA graphics.

TIP:

WARNING:

Do not use this setting for a program that enables video modes with higher than CGA or MONO resolutions. If you use this setting, a program that enables higher resolution video modes might change program data placed in the remapped area beyond the address 640KB.

VIDEO_ONDEMAND_MEMORY

This setting delays allocation of a video-save buffer which can free memory swap space for use by full screen session.

TIP:

VIDEO_RETRACE_EMULATION

This setting allows simulation of video retrace status port to provide faster access which improves text scrolling speed.

TIP:

VIDEO_ROM_EMULATION

This setting emulates text based video ROM functions (INT 10h ) for performance and codepage support.

TIP:

VIDEO_SWITCH_NOTIFICATION

This setting notifies the DOS program when the session switches to or from a full screen VDM session.

TIP:

VIDEO_WINDOW_REFRESH

This setting adjusts the window update frequency for a specific DOS session.

TIP:

6.3.6 Mouse and touch-sensitive settings

The following list contains the available mouse and touch-sensitive screen settings.

MOUSE_EXCLUSIVE_ACCESS

Allows VDMs to run applications that maintain their own mouse pointers. Some DOS applications manage their own mouse positions and movements; in many cases, the application's values for mouse sensitivity and/or double-speed threshold are different from those of Presentation Manager. As a result, a Presentation Manager mouse pointer might be outside the VDM window while the application pointer is somewhere in the window not receiving any mouse events. This means having two asynchronous mouse pointers on the screen.

TIP:

TOUCH_EXCLUSIVE_ACCESS

TIP:

6.3.7 Settings affecting communications applications

The following settings will affect the performance of Communications applications.

COM_DIRECT_ACCESS

When set on, VCOM.SYS allows direct access to the COM ports.

TIP:

COM_HOLD

When set on, provides exclusive access to COM ports for the specified VDM, preventing other processes from using the port and preventing the operating system from releasing the port until the VDM terminates.

TIP:

COM_RECEIVE_BUFFER_FLUSH

This setting allows control of the received data buffers when the DOS session is switched to the foreground, or when the DOS program enables the received data interrupt.

TIP:

COM_SELECT

When set, allows a program to select and use one communication port.

TIP:

HW_ROM_TO_RAM

Enabling HW_ROM_TO_RAM causes the operating system to copy read-only memory (ROM) and run the copy in 32-bit random access memory (RAM).

TIP:

HW_TIMER

This setting allows an application to have direct access to the 8253 timer ports, and prevents the operating system from trapping, or intercepting, the timer request and emulating a timer.

TIP:

 

 

 

Chapter 7

Performance Exploitation of the Underlying Hardware

 

 

 

7.0 Introduction

OS/2 Warp 4 supports a variety of hardware devices for use in games, video display, input, printing, speech, multimedia, and data communications. As a result, OS/2 Warp 4 provides a number of settings which can be used to tune individual device performance. Those tuning tips are discussed in the following sections.

7.1 Video display resolutions

The resolutions that can be set for a particular display adapter are dependent on the:

Many of the accelerated video device drivers with OS/2 support the various resolutions and number of colors. Not all of the device drivers support all of the resolutions. In general, the higher the display resolution, the slower the performance would become. However, since high resolution has better visual effects, you have to decide how to compromise between visual and performance.

Changing display configuration

Some adapters have configuration DIP switches to select desired vertical refresh rates for high-resolution modes (800 x 600 and 1024 x 768). Others are shipped with DOS video-configuration utility programs that allow selection of refresh rates. Usual refresh rates range from 56 Hz to 72 Hz non-interlaced or 88 Hz interlaced. The display has to be capable of synchronizing to this frequency for proper mode set. Make sure you understand how OS/2 controls the display configuration discussed below before attempting to change your display configuration

Controlling video display configuration

SVGA display and video mode configuration under OS/2 is controlled by the SVGADATA.PMI file. This file can be provided by the display adapter manufacturer or created using the SVGA utility program. he SVGA utility program gets information from the SVGA chip set to set each video mode and captures the current state of the display adapter. This information is stored in the SVGADATA.PMI file and used when the system is started.

TIP:

SVGA ON - Generates the SVGADATA.PMI file, which enables OS/2 SVGA support.

SVGA ON DOS - Generates PMI information when executed outside the OS/2 DOS environment. This generates an SVGADATA.DOS file that can be renamed to .PMI and copied to the \OS2 directory. This entry might be required if your SVGA adapter uses DOS device drivers to configure the Trident adapters are an example.

SVGA ON INIT - Generates default display information for some TSENG and Cirrus Logic based display adapters.

SVGA OFF - Deletes the SVGADATA.PMI file, disabling OS/2 SVGA support.

SVGA STATUS - Returns your graphics chip set, as it appears to OS/2.

Note: The SVGA utility program might be affected by video configuration programs, Terminate Stay Resident programs (TSR), and switches and jumpers on the display adapter. Configure your video adapter properly before using the SVGA utility program to create the SVGADATA.PMI file.

Switching to a lower capability display after installing high-resolution (SVGA) drivers might cause the system to start out of synchronization.

TIP:

1.Double-click on DOS Full-Screen command prompt.

2.Run the DOS display configuration utility program supplied with your SVGA adapter to properly configure your display adapter and display.

3.Change to the \OS2 directory on your hard disk.

4.Type SVGA ON.

5.Press Enter to start the SVGA utility program. This utility program saves the current state of your video configuration.

6.Shut down your system.

7.Restart your system to enable the new display.

Note: You can also use these instructions if you start a specific version of DOS. Substitute the following step for step 4. Type SVGA ON DOS and press Enter. When the SVGA utility program finishes, type:

RENAME\OS2\SVGADATA.DOS \OS2\SVGADATA.PMI

Press Enter.

VIDEO_8514A_XGA_IOTRAP to OFF

VIDEO_SWITCH_NOTIFICATION to ON

7.2 Tuning tips for printing performance

Printing performance can be tuned by making changes with printer and job property settings, changes to the CONFIG.SYS, and changes to the print spooler. Some of these changes are generic and affect all printing, while some affect only certain types of printing.

7.2.1 Printer object settings

Every object, including the printer object, has adjustable settings. The printer object has several settings that affect performance. These are Job Properties and Printer Properties. Printer Properties can be located by turning to the Printer driver notebook page, click on the printer object you wish to view. Use mouse button 2 to display its context menu, and then select settings to see the printer properties. Job Properties can be accessed by selecting the Job Properties button on the Printer driver page of the notebook. Job Properties control things such as resolution, orientation and number of copies while Printer Properties describe the way the printer is set up, like the number of paper trays or font cartridges installed in the printer. Printer Property information is stored in the printer driver. Not all settings are supported by all printers. Queue options include Job dialogue before print, printer-specific format and print while spooling. Job dialog before print allows the user to specify job properties on a per-job basis, rather than using default job properties. Printer-specific format creates print jobs that only a specific type of printer can print correctly. These jobs take much more storage than printer-independent jobs. Print while spooling allows the job to begin printing immediately, without waiting to receive the end of job from the program. Print options includes start and stop times.

Not all settings listed in this section are available for all printers, but, if available, they do change the performance of printing on your system. The following properties will affect performance.

Memory (KB)

By specifying the amount of memory your printer has, the printer driver can determine if compression is to be used. Compression improves performance by reducing the amount of data that has to go to the printer.

Resolution

This option allows you to vary the resolution of your graphics printing. The selections are usually presented in terms of "dpi" (dots per inch). The higher the number the better quality your print will be. The drawback is that it will also take longer to print. However, you can use a low number for draft output and select the highest number for printing the finished version. A printer's memory size can limit the resolution you can choose.

Compression

This option compresses graphic print data which has the advantage of faster printing for most jobs that contain graphics. Two common types of compression are G4 and TIFF Packet Byte.

Fast System Fonts

This option allows you to download (copy) OS/2 system bitmap fonts, to the memory of your printer. They will be copied to the printer as a device bitmap font. The advantage is that a device font uses a smaller spool file and prints quicker than a font printed in raster (graphic font) form.

If overlaying system fonts with graphics, or if print output differs from that shown on the screen, then disable this option.

Printer Patterns

Pattern filling commands will be directly sent to the printer instead of asking the operating system to perform the pattern filling. This reduces the spool file size for pages that contain dense graphics (shaded and patterned rectangular areas), and large scaled text. These improve printing speed. This option should not be used if printer output patterns must exactly match patterns displayed on your screen, nor if there are overlapping shaded or patterned graphics in your document.

HP-GL/2

This option enables HP-GL/2 output. This allows the supporting of many more graphics commands in the printer. This will allow faster printing of graphic objects such as lines and circles. This also reduces the spool file size and helps to print more quickly. For faster output, enable Page Protection (which may require additional printer memory) on both the printer and Printer Properties dialog and use HP-GL/2.

Large Buffers

Large Buffers allow the printer drivers to use more of OS/2's memory in order to speed up printing. Around 4 MB is used for printing so system memory should be at least 8 MB. If this option is set to OFF, then smaller memory requests, around 1 MB will be used conserving memory. If you have less than 8MB of system memory, then it is better not to use this option.

Print While Spooling

The Print while spooling option allows the printer to start processing the print job before the application has finished sending the entire job to the spool queue. Print jobs formatted in printer-specific format (PM_Q_RAW) can speed up printing by using Print While Spooling.

This "threading" will increase throughput but could cause timeout problems while printing large files with images. To solve this problem you can disable the Print While Spooling option or you can increase the timeout value setting in the port object. The default is On.

Start and Stop Time

Start Time and Stop Time can be entered for each print object. For example, time settings for "lunch time", 12:00p - 12:50p, can be used which enables printing when you are not there.

7.2.2 Fonts impact print speed

Fonts can be stored in several places. They can be built into the printer, housed on a cartridge that's plugged into the printer, or reside on your system and be downloaded to the printer as needed. When you use printer-based fonts, whether built-in or on a cartridge, you can print faster than if you first have to download them.

Fonts are either bitmapped or scaleable. With a bitmapped font, each character is stored as a collection of individual pixels, so you need a separate definition for each point size. Scaleable fonts, also called outline fonts, are stored as algorithms. This means that the system can generate the font in any size using the algorithm. Generating scaleable fonts takes time. If you're using one font in just one size to format an entire document, the extra time may be hardly noticeable. If you're using a lot of different fonts, the time may be considerable. You can use any combination of these font variations, bitmapped or scaleable, stored in the printer or in the computer. Clearly, you'll get the fastest printing with bitmapped fonts stored in the printer (see Fast System Fonts), and the slowest with scaleable fonts stored in your computer.

Despite the speed disadvantage, there are strong arguments for storing fonts on your computer and for using scaleable rather than bitmapped fonts. First, most printers have room for only one or two font cartridges. So if you want to add new fonts to your library, you have to switch cartridges when you want to use them. It's easier and much more efficient to store them on your hard disk, where they're all available at the same time. An advantage to scaleable fonts is that you're guaranteed to have the typeface available in any size you'll ever need. Scaleable fonts require far less storage space on-disk, or in your printer, than a set of equivalent bitmapped fonts in a range of sizes.

7.2.3 PRINTMONBUFSIZE

The PRINTMONBUFSIZE parameter in the CONFIG.SYS file sets parallel-port device-driver character monitor buffer sizes for LPT1, LPT2, and LPT3. To speed up data transfers to devices connected to your system's parallel ports, increase the associated device-driver monitor buffer sizes. For example, PRINTMONBUFSIZE=2048,134,134 increases the device driver buffer for a device connected to LPT1 to 2048 bytes. The default is 134,134,134.

7.2.4 OS/2 spooled printing

Printing through the spooler will provide the best performance on your system. Here are some suggestions and settings that can affect printing performance.

OS/2 Spooler

It is recommended that the OS/2 spooler be enabled when more than one print job can be sent to the printer at one time. The spooler provides flexibility while optimizing the use of the system's print resources. The OS/2 spooler can print a job in the background while you continue using the application. You can also set the spooler's print priority via the spooler object setting.

The OS/2 spooler can support a number of printers simultaneously and can be configured so that jobs on a single queue can be shared among all the printers. This load balancing, called pooling, is particularly important in server environments and can be achieved without the knowledge of your applications. Jobs can also be reprioritized while they are waiting in the queue. For example, an urgent job can be given a higher priority than other queued jobs or can be selected to print next, see Changing a Print Job's Priority.

If only one print job will be active on your printer at a time, you can disable the spooler. This will save memory and remove one process and one thread from your system's overhead.

Spool Path

If print jobs are very large, you may assign a different spooler path (drive or path) that has more space than your install drive. If your print usage is heavy, you want to place the spool file on your fastest hard disk. The spool path is a setting of the spooler object.

Print Priority

The OS/2 spooler has a setting called Print Priority. This allows you to vary the spooler's priority from low to high. The default setting allows printing to be balanced with your use of the desktop and your applications. If your application appears to be printing slowly, you may want to choose a slightly higher value so that printing will complete faster. If you choose a higher value, OS/2 will let print jobs print faster, but this may cause your desktop or applications to respond slower. In a print environment where very little on screen work is performed or where print performance is of utmost concern, you should increase the value. Priority changes become effective when you close the spooler object folder.

Spool File Formats

There are two formats of spool file data. They are the standard (PM_Q_STD) or the raw (PM_Q_RAW) spool file data formats. The standard format is much preferred as it consumes much less disk space than the raw format file. Having less data to send across the parallel port saves time in getting the data into the printer's buffer. Network traffic is also reduced if printing across a LAN.

Changing a Print Job's Priority

Changing a print job's priority will cause that particular print job to print before any other queued job. To do this, click on the print job you wish to change. Use mouse button 2 to display its context menu, and then select print next. You can change the priority of a print job so that it can print before or after other jobs queued. To do this, click on the print job you wish to re-prioritize. Use mouse button 2 to display its context menu. Open Settings and change the value in the Priority field.

Note: Once a job has started printing, it is no longer possible to change its priority, the Settings option is not available.

7.2.5 Printing from DOS

While there are no performance specific tuning options, there are two things to check.

7.2.6 Printing from WIN-OS/2

You should always keep the OS/2 Spooler enabled to get the most benefit out of the OS/2 print subsystem. This will assure that even from the WIN-OS/2 environment, printing is done in a separate thread. You should also keep the WIN-OS/2 Print Manager disabled unless you are using a COM attached printer. That is, always keep the WIN-OS/2 Print Manager icon closed.

The OS/2 Spooler allows multithreading and can deal with huge print files, even while you work in WIN-OS/2. Print jobs sent from any WIN-OS/2 application to a parallel attached printer won't show up in the WIN-OS/2 Print Manager. In this case if you need to view or manipulate these print jobs, use the correct OS/2 printer object on the Desktop.

WIN-OS/2 Ports and Drivers

You should direct application output to LPTn.OS2 (where n is 1,2,3) where possible. LPTn refers to the physical printer port. LPTn.OS2 is a file which is intercepted by WIN-OS/2 and routed directly to the spooler. This will provide improved performance over the standard LPT port assignments.

You should always install equivalent printer queues in the OS/2 Desktop for your WIN-OS/2 printers even if you are only going to print to them from WIN-OS/2. If there is no equivalent OS/2 printer driver available then use the IBMNULL.DRV printer driver found in the OS/2 printer object.

WIN-OS/2 COM Attached Printer

If you have a COM attached printer and you would like to have your print jobs spooled, then enable the WIN-OS/2 Print Manager. This should be the only reason for you to use the WIN-OS/2 Print Manager. Remember that print jobs directed to LPTn.OS2 and LPTn will still go through the OS/2 Spooler.

TIP:

To change the font cache size:

1.Double-click on WIN-OS/2 Groups.

2.Double-click on Adobe Type Manager.

3.Double-click on the ATM Control Panel.

4.Click on the Up Arrow in the Font Cache field to increase the size, or select the Down Arrow to decrease the size.

5.Click on the Exit push button. A pop-up window appears, asking whether to restart the WIN-OS/2 session or return to the current WIN-OS/2 session. You must restart the WIN-OS/2 session for your change in the font cache size to take effect.

7.2.7 Printing from OS/2 applications

TIP:

The following is a list of fonts which may be supported by your laser printer as DEVICE fonts. The list varies between laser

Universe CGTimes Antique Olive

Coronet Courier Garmond Antiqua

Albertus Garmond Kursiv Garmond Halbfett

Letter Gothic Marigold WingDings Reg

Arial Reg Symbol True Type Times New

CGOmega

There are a number of SYSTEM and add on fonts for OS/2 which do not perform as well as DEVICE fonts. These include Helvetica and Times New Roman which are very popular. It is suggested that you substitute the device font equivalents; for example, Univers for Helvetica and CGTimes for Times New Roman.

7.3 Tuning tips for speech performance

IBM VoiceType is a new and creative approach to personal computing: using your voice to communicate with your computer. VoiceType has two components:

Use sleep mode when you want VoiceType to stop listening, but you want to be able to turn VoiceType on with a voice command. Using sleep mode when you are not using voice commands or dictation increases operating-system performance.

To turn on sleep mode, use either of these methods:

To turn off sleep mode, use either of these methods:

NOTE:

7.3.1 Hardware requirements

Voice type applications are very processing and memory intensive. For acceptable performance , the hardware requirements as suggested by OS/2 Warp 4 installation are:

Chapter 8

Tuning Tips for a Networked OS/2 Workstation

 

 

 

8.0 Introduction

OS/2 Warp 4 is a critical component in IBM's vision of the complete, managed, client-sever system. It is the key element which allows the PC to become the focal point of information processing and places the user in control of this information. OS/2 Warp 4, as the integrating platform, provides a wide degree of support for many connectivity products as well as supporting other existing networking products. This chapter covers performance tuning tips for a OS/2 Warp 4 client workstation.

8.1 Multi-protocol transport service (MPTS)

The OS/2's Multi-Protocol Transport Services (MPTS) allows easy integration of OS/2 Warp 4 into a number of networking environments. The MPTS implementation includes all current transport functionality found in Network Transport Services/2 (NTS/2), including LAN Adapter and Protocol Support (LAPS).

All data sectors received by MPTS are stored in buffer structures called mbufs, also known as clusters. There are two types of mbufs. Small mbufs are 256 bytes long and large mbufs are 4096 bytes long. The initial number of small or large mbufs to be allocated by MPTS can be altered by modifying the line containing "RUN=x:\mptn\bin\cntrl.exe" in the MPTSTART.CMD file as follows:

RUN=x:\mptn\bin\cntrl.exe /SM xx /LM yy

where /SM and /LM are keywords standing for small and large mbuf, and xx and yy are the desired number of mbufs to be allocated. The /SM and /LM keywords are placed on the command line after the arguments to the /P keyword. The specified number of small mbufs is rounded up to the nearest multiple of 128 and the specified number of large mbufs is rounded up to the nearest multiple of 2.

For example, if you specify 600 as the number of small mbufs, the MPTS program allocates 640 small mbufs. If you specify 65 as the number of large mbufs, the MPTS allocates 66 mbufs.

TIP:

Desired packet size + HDR = MTU

2048 (2K) + 40 = 2088

4096 (4K) + 40 = 4136

8192 (8K) + 40 = 8232

8.1.1 SOCKS support

A SOCKS (SOCKet Secure) server is a type of firewall host that protects computers in a business network from access by users outside that network. The SOCKS server verifies that your computer and user ID are allowed to access external networks, such as the Internet.

The 32-bit client applications for TCP/IP for OS/2 that can be used with SOCKS support include Telnet, TelnetPM, FTP, FTP-PM, Sendmail, NewsReader/2, Gopher, and WebExplorer.

NOTE:

You can configure SOCKS defaults (including whether SOCKS support is on or off), SOCKS servers, and direct connections to hosts in your private business network by using the Configuration notebook. You can also configure the SOCKS support by manually editing the SOCKS configuration files.

TIP:

8.2 OS/2 LAN Server/Requester

The following changes to the PROTOCOL.INI file may improve your LAN requester performance.

8.3 OS/2 NetWare Requester

The following recommendations are for running OS/2 NetWare Requester.

Note: A few of the steps only apply to a token-ring environment.

TIP:

NetWare Client

Default Login Drive L

cache buffers 30

directory server off

Link Support

Buffers xx 1514

detach c:\netware\nwdaemon.

8.4 TCP/IP client tuning

The TCP/IP Version 4.0 shipped with OS/2 Warp 4 has many new features:

TIP:

Set Maximum Transmission Units to 4136. If your application does many large data transfers, you should increase this value for improved performance.

Note: File transfers of 2048 (2KB) or greater would benefit by increasing the MTU size. The default of 1500 bytes does not efficiently use the available network bandwidth (unless the network is Ethernet, in which case 1500 is the maximum size). If most of your file transfers are smaller than 2KB, then the default MTU size of 1500 is recommended. The MTU size can be changed from the TCP/IP Configuration object. Please see the procedure for changing the MTU size discussed in the MPTS section.

8.5 DB2 client tuning -- SQL database performance

Tuning database software can make a tremendous impact on response time when retrieving information from a client workstation. Without being familiar with the relational database system being used, specific recommendations cannot be made. The following comments are based on knowledge of IBM's relational database systems.

TIP:

DB2/2 Server data for problem determination

1. Hardware Configuration

- CPU

- Memory

- Computer make/model

- Network Adapter Type

- Network Speed (if TR)

- Hard drive Configuration (partition sizes, file system)

2. Software Configuration

- SYSLEVEL output

- CONFIG.SYS

- PROTOCOL.INI

3. Database Configuration Data

- Output from the following commands: (use DBM rather than DB2 on older versions of DB2/2)

DB2 GET DATABASE MANAGER CONFIGURATION

DB2 GET DATABASE CONFIGURATION FOR xxxxx (x=database name)

8.6 Lotus Notes client tuning

Starting the Notes Client application takes at least 3MB of RAM. Each time a document is opened at the client workstation, the document has to be transferred from the Notes Server (hence network optimization is very important) to the client's RAM. The document is contained in RAM until it is closed. Tune the client-to-server packet size to ensure the maximum packet size is being transmitted. Also, close all documents after using them.

Redefine the Lotus Notes client hardware port to increase the amount of memory allocated to transfer data across the network. The default is 2000 bytes. Increase this value to 4000 or 6000. Increasing this value may or may not improve the efficiency of data transfer. Therefore it becomes important to measure response time before and after changing this value.

Remove the TIMESLICE statement in the CONFIG.SYS file of OS/2 Warp systems. The Lotus Notes 3.0 installation program often places this statement in the CONFIG.SYS file. The default value of DYNAMIC offers the best performance.

Appendix 1

CONFIG.SYS File Insights

 

 

 

If you feel comfortable with OS/2 Warp 4 internal operations, you can make the following changes to the CONFIG.SYS file to make it leaner and less memory demand. This section was designed as a pullout section.

LIBPATH, PATH, and DPATH

where path is the location of the DLLs. They are searched in the following order:

1.BEGINLIBPATH (environmental variable)

2.LIBPATH (CONFIG.SYS)

3.ENDLIBPATH (environmental variable)

SWAP file

DOS=LOW,NOUMB

BUFFERS

MAXWAIT

PRIORITY_DISK_IO

TIMESLICE

RESTARTOBJECTS=STARTUPFOLDERSONLY

AUTOREFRESHFOLDERS

PM_ASYNC_FOCUS_CHANGE=ON

DISKCACHE

DISKCACHE Threshold

LAZYWRITE

HPFS CACHE

THREADS

VDISK

PRIORITY=DYNAMIC

COM and VCOM

CDROM and VCDROM

PCMCIA

BASEDEV=IBM2FLPY.ADD

BASEDEV=IBM1FLPY.ADD

BASEDEV=IBM1S506.ADD

BASEDEV=IBM2ADSK.ADD

BASEDEV=IBM2SCSI.ADD

BASEDEV=OS2SCSI.DMD

BASEDEV=PRINT01.SYS

BASEDEV=PRINT02.SYS

BASEDEV=IBM1S506.ADD

APM.SYS and VAPM.SYS

EGA.SYS

EXTDISKDD.SYS

TOUCH.SYS

VEMM.SYS

VXMS.SYS

BREAK=ON to OFF

FCBS=16,8 to 4,4