Escolar Documentos
Profissional Documentos
Cultura Documentos
HEWLETT
PACKARD
HP 9000 Workstation
Revision 2.1
Prepared By:
Legal Notices
The information in this document is subject to change without notice. Hewlett- Packard makes no
warranty of any kind with regard to this material including but not limited to the implied warranties of
merchantability and fitness for a particular purpose. Hewlett-Packard shall not be liable for errors
contained herein or for incidental or consequential damages in connection with the furnishing,
performance or use of this
material.
Revision History:
Revision 1.0 7 March 1995
Revision 2.0 17 July 1995
Revision 2.1 19 July 1995
Copyright/Trademarks
All trademarks and registered trademarks are the property of their respective holders.
i
at Pratt & Whitney Canada (PWC) to bring up CATIA on their production
Hewlett-Packard workstations. Guy is working closely with PWC,
Dassault Systemes and IBM Engineering Technology Solutions (ETS)
to resolve issues being identified in the initial Customer Validation
Process (CVP) for the current CATIA releases. Guy helped PWC create
a seamless heterogeneous multi-platform CATIA environment.
ii
Alfred has been with the Hewlett-Packard Company for seven years as
a technical consultant to a number of HP's independent software vendors.
Prior to HP, Alfred was a development software engineer for
Computervision Corporation and worked on the user interface of what
is currently known as Parametric CADDS5.
During the last two years, Alfred has played the technical lead role for
the distributed CATIA port to the HP workstation line. In that capacity,
he worked with Dassault Systemes development engineers in Suresnes and
various development and support organizations at HP to insure full
functionality, well tuned and robust port of CATIA to the HP platform.
Additionally, Alfred worked closely with a number of the pilot sites world
wide in the implementation of CATIA/HP in their environments. Alfred
has delivered technical presentations on the subject of CATIA on HP to
I BM/ETS, CATIA distributors and CATIA customers in the United
States and Asia.
iii
1 INTRODUCTION 1
2 REVISION 2.X SUMMARY 1
3 COMPUTER-GRAPHICS AIDED THREE-DIMENSIONAL 2
INTERACTIVE APPLICATION
3.1 Background ............................................... 2
3.2 Distributed Catia ........................................... 2
3.3 Host Catia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.4 Catia - Historical Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.5 Catia Successes . . . . . . . . . . . . ................................ 3
3.6 The Port . . . . . . . . . . . . . . . . . . . . . . . . .......................... 3
4 TECHNICAL CHARACTERISTICS OF DISTRIBUTED 4
CATIA
4.1 Catia User Interfaces . . ...................................... 4
4.2 Distributed Catia Architecture ................................ 4
5 HP HARDWARE CONFIGURATION 5
5.1 Catia-Supported H-P Workstations . . . . ......................... 5
5.1.1 Low End Systems . . . . . . . . . . . . . . . . . . ..................... 6
5.1.2 Mid Range Systems . . . .................................. 6
5.1.3 High End Systems . . . . . . . . . . . . .......................... 6
5.1.4 A Word On Legacy Hardware . ............................ 6
5.2 Impact Of Configuration Options . . . . .......................... 6
5.3 C P U Speed . . . . . . . . . . . . . . . . . . . ............................ 7
5.4 Memory Considerations . . . . . . . . . . . .......................... 7
5.5 Disk Considerations . . . . . . . . . . . . . . .......................... 7
5.5.1 Upgrade To Fast-Wide S C S I - I I. . ........................ 8
5.5.2 Distribute The Work Load Across Multiple Disks. . . . . . . . . . . . . 8
5.5.3 Split Swap Space Across Two Disks ........................ 8
5.5.4 Enable Asynchronous I/O . . . . . . . . . . . . . . . . ................ 8
5.6 Graphics Options ........................................... 9
6 HP SOFTWARE CONFIGURATION 9
6.1 Operating Systems .......................................... 9
6.2 Compilers ................................................. 9
7 HP GRAPHICS CONFIGURATION 10
7.1 Graphics Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10
7.1.1 2-D Graphics Devices ................................... 10
7.1.2 3-D Graphics Devices ................................... 11
7.1.3 High End Graphics ..................................... 11
7.1.4 Legacy Graphics Cards . . . . . . . . . . . . ..................... 12
7.1.5 Workstation / Graphics Matrix . . . . . . . . . . . . ............... 12
7.2 Graphics Software . . . . . . . . . . . . . . . . . ........................ 13
7.2.1 Graphics A P I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.2.2 Powershade .......................................... 13
8 HP-UX PATCH / PTF REQUIREMENTS 14
8.1 Patches Needed For A H P - U X 9.05 System . . . . . . . . . . . . ....... 14
8.1.1 Graphics Patches . . . . . . ................................ 14
8.1.2 Kernel Patch .......................................... 14
8.2 Patches Needed For A H P - U X 9.07 System . .................. 15
8.3 Compiler Patches . . . . . . . . . . . . . . . . .......................... 15
8.4 Miscellaneous Patches ...................................... 15
8.5 How To Obtain H-P Patches . . . . ............................. 15
8.6 How To Install Patches . . . . . . . .............................. 15
8.7 Special Instructions For Graphics Patch Installation ............. 16
8.8 Catia Solutions Version 4.1.4 P T F/Patches For H-P ............. 16
9 PERIPHERAL SUPPORT 17
9.1 Input Device Support . . . . . . . . . ............................. 17
9.2 Output Device Support . . . . . . . . . . . .......................... 17
10 HP KERNEL CONFIGURATION 18
10.1 Affected Parameters . ..................................... 18
10.2 Configuring Kernel Parameters With Sam ..................... 18
11 SWAP SPACE CONSIDERATION 19
11.1 Distributed Catia Swap Requirement . . . . . . . . . . .............. 19
11.2 Configuring Swap Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....... 19
11.3 Determining Swap Configuration ............................ 19
11.4 Determining Amount Of Swap Needed ........................ 20
11.5 Configuring Device Swap On A Single Disk Drive System . . . . . . . . 20
11.6 Configuring Device Swap Across Multiple Disk Drives . . . . . . . . . . 21
11.7 Configuring File System Swap . . . . .......................... 22
12 SHARED LIBRARY CONSIDERATION 23
12.1 Protection Id Trashing With Shared Libraries . . . . ............. 23
12.2 The S T E P L I B Environment Variable . . . . . . . . . . . . . . . . . . . . . 23
12.3 The S H L I B _P A T H Environment Variable . . . . . . . . . . . . . . . . . 23
12.4 Affected Kernel Parameters . . . . . . .......................... 24
13 LICENSE MANAGEMENT OF DISTRIBUTED CATIA ON 25
HP
13.1 Netls & Ifor/Ls . . . . . . . . . . . . . . . . . . . . . . . . . .................. 25
13.2 License Management Scenarios . . ........................... 25
13.3 Heterogeneous License Management: H P-U X / A I X . . . . . . . . . . 25
14 CATIA PROGRAMIVIING DEVELOPMENT ENVIRONMENT 26
- GII/IUA
14.1 Introduction ............................................. 26
14.2 H-P Software Tool Requirements ............................ 26
14.3 Example ................................................ 26
14.4 Debugging G I I And I U A Applications With Xdb .............. 27
14.5 Software Development Using Softbench . ..................... 28
14.5.1 Debugging With Softbench . . . . . ........................ 28
14.5.2 Using Softbench Performance Analyzer On The Shared .... 29
Modules ............................................
15 CATIA CODE PAGE AND NATIONAL LANGUAGE 30
SUPPORT
16 CATIA APPLICATION ARCHITECTURE PARTNERSHIP 31
16.1 C A A Partner List . . . . . . . . . . .............................. 31
16.2 Application Prerequisites On H-P ............................ 32
17 USE OF REMOTE X DISPLAY 32
17.1 Environment Variable Settings .............................. 32
17.2 Minimum Color Usage . . . . . . . . . . . . . ........................ 32
18 CATIA ADMINISTRATION 33
18.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........... 33
18.1.1 Hardware Prerequisite . . . . . . . . . . . . . ................... 33
18.1.2 Software Prerequisite . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . ... 33
18.2 H P And Catia Installation Check List . .. . . . . . . . . . . . . . . . . . ... 33
18.3 Packaging Catia . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .. . 34
18.3.1 Packaging Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
19 UNDERSTANDING MEMORY AND SWAP 36
19.1 Memory Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
19.2 Physical Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
19.3 Secondary Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
19.4 Swap ................................................. 37
19.5 Virtual Address Space . . ................................. 38
19.5.1 Configurable Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
19.5.2 Series 700 Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
20 PHYSICAL MEMORY VERSUS PERFORMANCE 40
20.1 Where Is The Memory Going .............................. 40
20.2 Determining Appropriate Physical Memory Size .............. 40
21 HP-UX CONFIGURATION 41
21.1 Kernel Configuration Parameters . . . . . . . . . . . . . . ............ 41
21.2 Maxdsiz And Its Affect On Memory . . . ...................... 41
21.3 Parameters Which Affect I/O . . . . . . . . . . . . . . . . . . ............. 42
21.4 Fast Link Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . ........... 42
22 NETWORKING CONSIDERATIONS 42
22.1 Introduction ............................................ 42
22.2 Rules To Live By . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........ 43
22.3 The Sticky Bit ......................................... 43
22.4 Network Management Tool .............................. 43
23 CATIA/HP CONFIGURATION CHECKLIST 44
23.1 H-P Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............... 44
23.2 Operating System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....... 44
23.3 Graphics Software . . . . . . . . . . . . . . . . . . . . . . . . . .............. 44
23.4 Graphics Hardware . . . . . . . . . . . . . . . . . ... . .... . . . . . . . . . . ... 44
23.5 Compilers For Gii/Iua . . . . . . . . . . . . . . . . .. . . ... . . . . . . . . . . ... 44
23.6 H-P Patches/Ptfs ......................................... 44
23.7 Swap Space ............................................. 45
23.8 Memory Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
23.9 Kernel Requirements ..................................... 45
24 ACKNOWLEDGMENTS 45
1 INTRODUCTION
This white paper discusses the characteristics of the Distributed CATIA Solutions Version 4.1.4
mechanical CAD application on Hewlett-Packard workstations and how to configure the workstation for
optimal application performance. The intended audience include CATIA users newly exposed to the HP
workstation environment, HP users who need an exposure to the Distributed CATIA implementation on
HP, IT professionals needing a focused introduction to the HP environment for Distributed CATIA, and
HP and CATIA support engineers who need to understand the requirements of Distributed CATIA on HP
and how best to configure the HP workstation for optimal application performance. A detailed table of
get a jump start in running Distributed CATIA on HP, go directly to the "CATIA/HP Configuration
Checklist" chapter at the end of this document
l
COMPUTER-GRAPHICS AIDED THREE-DIMENSIONAL INTERACTIVE
APPLICATION
3.1 Background
Computer-graphics Aided Three-dimensional Interactive Application was born out a team of
engineers and mathematicians from Dassault Aviation in France in the mid-70's. It has since grown
be the MDA tool of choice in the aerospace and automotive industries. In the early 80's, Dassault
Systemes was incorporated with R&D responsibility for CATIA, with IBM handling the sales and
support responsibilities. In addition to its traditional IBM platforms of mainframe (MVS or VM) arc
workstations (RS6000/AIX) CATIA is now delivered on the HP workstation platforms.
1 CATIA historically is a mainframe-based application. Most users are still on the mainframe.
Due to superior price/performance, client/server, and flexibility advantages of workstations
over host-based systems, there is a concerted effort to migrate the CATIA installed base to
Distributed CATIA.
2 Many of the design engineers migrating from host CATIA are new to the UNIX and HP
workstation environment.
3 Supporting these customers will by and large take more effort than say supporting a
UNIX-based customer migrating from another WS vendor to HP. Up front and on-going
technical support has a major effect on how Distributed CATIA on HP is perceived.
4 These users are hungry for some of the sophisticated application development tools
(Softbench) and client/server tools (Openview) available in the UNIX world. We have seen
this at a number of the pilot sites testing Distributed CATIA on HP.
2
* Mid 70's - Outside of Paris, a small group of Dassault Aviation mathematicians and engineers decided
to put their powerful mechanical design algorithms into programs running on their mainframe,
* Early 80's - In light of the internal success of this software program, Mr. Marcel Dassault agreed to
spin off the mechanical design software group at Dassault Aviation into a subsidiary. Dassault
Systemes was born. CATIA would be delivered to IBM/MVS and IBM/VM mainframe customers.
* Early 90's - CATIA is delivered on its first UNIX platform, the RS/6000 workstation as Distributed
CATIA to provide new graphics functionality, and to broaden the use of CATIA among existing
host-based accounts and smaller customers. Dassault Systemes acquires CADAM from IBM and
establishes Dassault Systemes of America as the R&D wing for the CADAM and ProCADAM products.
* Early 1993 - CATIA Solutions Version 4 was released with significant new capabilities with a
statement of direction for Distributed CATIA on multiple platform.
* 7 March 1995 - CATIA Solutions Version 4.1.4 is announced at Daratech with support for Hewlett
Packard graphics engineering workstations as the first non-IBM platform, providing existing and new
CATIA users an additional platform choice and the full array of HP workstation products.
3
4 TECHNICAL CHARACTERISTICS QF DISTRIBUTED CATIA
4.1 Catia User Interfaces
CATIA is available as:
* 5080 CATIA which runs on the mainframe and is displayed on a 5080 terminal or on a
workstation running a terminal emulator package (including Spectragraphics'
5080 emulator for the HP S700)
* graPHIGS CATIA which runs and is displayed on the RS/6000, and
* Motif CATIA which runs and is displayed on both the RS/6000 and the HP.S700
HP-PHIGS is used as the underlying graphics API for Distributed CATIA on HP. Dassault emphasizes
the concept of "Single System Image" to describe the 100% functional equivalence of the various CATIA
interfaces. Once launched, a user sees the same CATIA interface and behavior pattern across the
different platforms and architectures.
The ton level directories of Distributed CATIA and their contents include:
4
5 HP HARDWARE CONFIGURATION
The HP workstation family is powereded by HP's Precision Architecture RISC or PA-RISC chips. HP
offers a broad range of products with varying CPU performance, memory, disk, and graphics capabilities.
The reason so many workstation products are available is to provide the customer the flexibility to
choose the most cost effective hardware solution to run the mechanical CAD application. Figure 1 below
positions HP's current workstation product line according to the intended usage.
Figure 1
5
5.1.1 Low End Systems
This category includes the Model 712 in its 60, and 80 Mhz configurations. The Mhz number
suggests progressively higher compute performance. The Envizex X-terminal is also in this
category but users are cautioned that with X-terminals running off of another workstation, compute
and graphics performance of Distributed CATIA could be significantly lower than on that
workstation. The 712 has only one graphics option - the 8-plane integrated color.
At least four components directly affect the performance of your Distributed CATIA seat. These are:
CPU Speed
Memory Size
Disk Size
Graphics options
While all these hardware areas are important, it is equally important to configure a balanced system. It
is counterproductive to buy the fastest CPU and configure it with insufficient memory. You might get
better performance and throughput with a slower, less expensive, CPU with the difference in price
invested in more memory. The large number of system variables, combined with their interaction,
complicates the task of selecting the most cost/performance effective configuration for all usage
patterns. The best way to select appropriate hardware configurations is to perform benchmark tests
that duplicate the intended use of the system as closely as possible. With relevant benchmark data in
hand, the customer has the information needed to make intelligent tradeoff decisions on the
cost/performance benefits of the available hardware options. A discussion of the four components
follows.
6
5.3 C P U Speed
Almost all operations performed on engineering data require a large number of floating point and
integer calculations. CPU speed is the most important performance factor for executing large number
of calculations. If an operation takes five seconds, is it worth spending an extra $5,000 for a faster
CPU so the operation can be done in three seconds? Would the added expense be more justifiable if
the faster CPU reduces a five-hour operation to three hours? What if the operation is done several
times a day rather than once a month? When evaluating CPU performance, a priority list should be
generated to identify the tasks pertinent to the customer's design process and their relative
importance, frequency, and impact on overall productivity.
Tasks that are most affected by CPU performance are those that involve more computation than disk
access or graphics display. Some examples are:
Mass Properties
Elfini Solver
Boolean Operations
Finite Element Analysis
While the graphics performance on HP systems will scale with the CPU performance, the most
important criteria for CPU performance is on non-graphic, computational operations. This should be
kept in mind when evaluating systems for use with Distributed CATIA. In order to achieve satisfactory
performance, it is essential to match the CPU to the task to be performed.
Distributed CATIA model files and assemblies are stored on disk and can be quite large. For this
reason, disk 1/O is the bottleneck in several Distributed CATIA operations, particularly during
read/open part and save/close part operations. When a part is loaded, the entire model file, or all the
model files belonging to an assembly, must be read from the disk and loaded into memory. Increasing
CPU performance has minimal impact on the time necessary for these operations. Since swap space is
actually system memory that is stored on disk, disk I/O performance can affect swap performance as
well. Disk 1/O performance is most significant when working with very large models or assemblies.
7
breakneck speed of our CPUs. I/O performance depends on several parts of the system working
together efficiently. The I/O subsystems have been redesigned so as to offer the industry's fastest and
most functional I/O subsystems as standard equipment, including fast-wide SCSI-II. There are several
things that can be done to improve disk I/O performance:
Another way to distribute the disk workload is with an HP-UX feature called Software Disk
Striping. SDS groups disks into arrays and allows you to distribute a single file system across
multiple disks while allowing the data on the disks to be managed as if occupying a single disk.
Distribution of the file system across multiple disk devices allows them to work in tandem and
provides much better performance for I/O intensive operations than a single disk.
Synchronous writes ensure file system integrity in case of system crash, but this kind of disk
writing also impedes system performance. Run-time performance increases significantly (up to
roughly ten percent) on I/O intensive applications when all disk writes occur synchronously; little
effect is seen for compute-bound processes. However, if a system using asynchronous disk writes
crashes, recovery might require system-administrator intervention using fsck and might also cause
data loss. You must determine whether the improved performance is worth the slight risk of data
loss in the event of a system crash.
Asynchronous I/O is enabled by setting the value of the kernel parameter fs_async to l and
disabled by setting it to 0, the default. For instructions on how to configure kernel parameters, see
the section Kernel Configuration Parameters l ater in this document.
8
5.6 Graphics Options
CATIA has built a solid reputation as a 3D graphics intensive mechanical CAD application. CATIA
users increasingly like working with solid models and expect fast graphics performance from their
system. Refer to the HP GRAPHICS CONFIGURATION section for a full discussion of the graphics
offering and configuration for Distributed CATIA on HP.
6 HP SOFTWARE CONFIGURATION
6.1 Operating Systems
Distributed CATIA Solutions Version 4.1.4 now runs on two HP operating system levels - HP-UX 9.05
and HP-UX 9.07.
1 HP-UX 9.05 - This version of the operating system was launched in May 1994. Distributed
CATIA on HP was built and has been certified on HP-UX 9.05.
2 HP-UX 9.07 - This version of the operating system was introduced in July 1995 to support a
number of new HP hardware and graphics offerings. These new models are the 712/100,
715/100XC, the J-class, and the Visualize-8, -24, and -48 graphics devices. HP-UX 9.07 also
runs the older systems. CATIA Solutions Version 4.1.4 has been successfully certified on
HP-UX 9.07 and the new hardware options.
6.2 Compilers
Distributed CATIA is built using the HP FORTRAN, C, C++ compilers. The FORTRAN compiler
version is:
% what /usr/lib/f77pass1
/usr/lib/f77pass1:
HP-UX SLLIC/OPTIMIZER UX.09.18.02 (BL02): Wed 06/21/94
HP-UX FORTRAN/9000 940620.1933 (patch PHSS_4360) B2408A/B2409B 09.16
High Level Optimizer - HP-UX 9.0 DART 16 (+02) built Thu May 1211:29:28 PDT 1994
Ucode Code Generator - UX.09.18.03 (BCK_UX_9.0_BL02) - Tue 94/06/21
% what /lib/ccom
/lib/ccom:
HP92453-01 A.09.69 HP C Compiler
HP-UX SLLIC/OPTIMIZER UX.09.18.04 (BCK_UX _9.0_BL04): Fri 08/19/94
High Level Optimizer - UX.09.16.01 (+02) built Mon Aug 22 15:56:20 PDT 1994
Ucode Code Generator - UX.09.18.04 (BCK_UX_9.0 BL04) - Fri 94/08/19
NOTE: In order to execute CATIA 4.1.4 on HP, these compilers are not needed. If however the user
is developing G11 or IUA applications, at least the FORTRAN compiler would be needed to compile
and link the GII/IUA modules. See section on GII/IUA.
9
7_ HP GRAPHICS CONFIGURATION
7.1 Graphics Hardware
Graphics display performance is very important for an interactive graphics application such as
Distributed CATIA. HP offers a wide range of graphics options, from the CRX line, to the HCRX line,
and the new Visualize-8, -24, and the top of the line Visualize-48. Figure 2 below shows the graphics
devices supported by Distributed CATIA and their intended use. For a matrix of HP workstations and
their supported graphics options for CATIA, see Figure 3 at the end of this chapter.
Figure 2
I Integrated Color Graphics - This is an 8-bit. (256 color) display that is built into the
workstation's motherboard. It. provides excellent vector performance, faster than many
vendors optional accelerated graphics, and also accelerates the Graphical User Interface. It
10
features HP Color Recovery, a patented display technology that simulates 24 bit color. This
display is adequate for low-end 2D or 3D use with small drawing and/or model files, and is
available on the 712 and 715 models.
2 HCRX-8 and HCRX-24 - The HCRX graphics accelerator is an EISA card internal to the CPU
cabinet. It provides additional X-Windows graphics acceleration (approximately 50%) and
vector display acceleration (approximately 2X) over integrated color graphics. It is good for
performance-oriented 2D use. It is also good for 3D use when working primarily in wireframe
mode and there is no requirement for dynamic rotation of shaded images for visualization.
The HCRX-24 provides 24 bit color (16.7 million colors). Utilizing Color Recovery, however,
the HCRX-8 provides about 8 million colors and is probably adequate for many MCAD
graphics uses. These cards are available on the 715 and J-Class workstations.
3 Color Graphics Card - Another low cost 2D 8-plane card for the J-Class workstations.
The software graphics accelerator Powershade is recommended to enhance the image quality,
shading and lighting calculations on these boards. See Powershade in the Graphics Software
Configuration section.
1 HCRX-8Z / HCRX-24Z - These products add hardware Z-buffer, in the form of a daughter
card, to the HCRX-8/24 providing acceleration of 3D shaded images. While the 3D vector
performance is the same as the HCRX-8/24, the Z daughter card is essential for dynamic
rotation of 3D shaded images for design visualization purposes. The HCRX-8Z has the same
color limitations as the HCRX-8 above, and its performance is the same as the HCRX-24Z.
However the HCRX-24Z delivers superior visual quality. The full Hyper CRX line is available
on the 715 and J-Class workstations.
2 Visualize-8 /Visualize-24 -These cards are similar to the HCRX-8Z and HCRX-24Z,
respectively, but significantly faster graphics -1.5X to 3.5X the HCRX line. They are available
on the 715 and J-Class workstations.
1 CRX-48Z - The CRX48Z comes in a separate box. It has two 24 bit hardware Z-buffers with
the capability to do double-buffered rotations of 24 bit shaded images. This means that each
new view of the image is created in the off-screen buffer and then flashed onto the screen all
at once. This provides smoother rotations on larger models. The 48Z is supported on the 715
100 & 100XC, the 735, and J-Class workstations.
2 Visualize-48 - This is the top of the line graphics device which runs 2 to 3.5X the speed of the
CRX-48Z. It is available on the J-Class.
11
7.1.4 Legacy Graphics Cards
See note on legacy hardware in the hardware configuration section of this document.
Figure 3
12
7.2 Graphics Software
7.2.1 Graphics A P I
The Hewlett-Packard graphics application programming interface uses in Distributes CATIA is
HP-PHIGS. The customer must obtain HP-PHIGS Version 3.0, product number B2364E, to run
Distributes CATIA. The operating system running on the workstation, HP-UX 9.05 or 9.07, must be
specifies when ordering this product.
7.2.2 Powershade
The HCRX-8Z/-24Z, CRX48Z, and Visualize-8/24/48 all contain a hardware Z buffer that is uses to
i mprove performance of shaded images. Powershade comes bundled with systems configures with
Z-buffer graphics hardware. To generate a shaded view, the surface of the model object must be
tessellated, or broken up into a mesh of small triangles. These triangles are sorted bases on their Z
value. Triangles that are closer to the viewing plane are sorted to the front, and triangles further
away are sorted to the back. This sorting can be implemented in software or hardware. Since a
complex object may have hundreds of thousands, or even millions of triangles, this operation can
be very time consuming when done in software. On a system with a graphics accelerator, the
triangles are loaded into the hardware Z-buffer, a form of physical memory, and sorted by a built-in
hardware algorithm. This is extremely fast, almost instantaneous for most images.
13
5 HP-UX PATCH /_ PTF REQUIREMENTS
"PTF" in CATIA parlance is synonymous to "patch" in HP parlance. As CATIA Solutions Version 4.1.4
supports two HP-UX operating systems, the patches required are based on the operating system running
on your workstation. The rest of this chapter provides detail on the patch mechanism and the relevant OS
information.
For customers who purchase the HP-PHIGS development bundle, the development versions of the
above patches should be applied. They are:
/hp-ux-patches/s700/9.X/PHSS_5099 - (Starbase Core Development)
/hp-ux_patches/s700/9.X/PHSS_5103 - (HP-PHIGS Development)
Be sure to follow the " Special Instructions For Graphics Patch Installation" section below.
14
8.2 Patches Needed For A H P - U X 9.07 System
NO HP-UX patches are necessary to run Distributed CATIA Solutions Version 4.1.4 on 9.07! The above
patches for 9.05 were incorporated into the 9.07 core graphics software, the 9.07 kernel, and the 9.07
HP-PHIGS product. To verify the right set of graphics revision is on your system, execute the
following command and check your output against this:
/usr/lib/libsb.s l is part of the core graphics distributed with the HP-UX 9.07 operating system.
/usr/lib/libphigs.s l is part of the PHIGS 3.0 product for HP-UX 9.07.
Go to /tmp:
$ cd /tmp
15
Unpack the patch to extract the text and update files:
$ sh PHSS 4073
PHSS_4073.text and PHSS_4073.updt
Press:
F4, DONE
Select:
Select All Filesets on the Source Media ->
The patch will be installed. Note that some patches require a system reboot. Carefully read the text
file before installing any patch, and backup your system. If you are unsure of the implications, call
your HP Support Center.
16
9 PERIPHERAL SUPPORT
9.1 Input Device Support
Distributed CATIA has been certified on both HP-HIL- and serial-connected hardware input devices.
Support for both HP-HIL and IBM PS/2 keyboards are available with CATIA on HP. The following two
input devices are required for Distributed CATIA:
1 Three-button mouse or graphics tablet (A4364A, ...)
2 Alphanumeric keyboard - Specific keyboard may be required for National Language Support
A customer can use the following optional devices when running Distributed CATIA on HP:
3 Spaceball (A4360A)
17
10 HP KERNEL CONFIGURATION
10.1 Affected Parameters
The values of the following operating system kernel parameters need to reflect the Distributed CATIA
requirements:
1 maxdsiz -The maximum data segment size value needs to be set to at least 256MB.
2 maxtsiz - The maximum stack size segment value needs to be set to at least 128MB.
3 nfile - The maximum number of open files value needs to be set to 3300
4 ninode - The maximum number of open inodes value needs to be set to 3250
2 Start the SAM system administration tool by typing the command: sam
3 With the mouse, click on the Kernel Configuration line in the listbox and then click on the
Open button.
5 SAM will display a screen with a list of all configurable parameters and their current and
pending values. Scroll to the parameter you want to change, for example maxdsiz, and click
on it. Then click on the Actions selection on the menu bar and select Modify Configurable
Parameters... on the sub-menu.
6 SAM will display a form showing the existing value and a calculated value. The existing value
is in hexadecimal format. If you are not proficient at converting hexadecimal numbers, simply
enter a new value and press RETURN. The Calculated Value is displayed in decimal format.
Once you have the value you want, click on the OK button.
7 Look at the Pending Value column and make sure that the new value is displayed there.
Sometimes SAM doesn't accept the new value and you may have to repeat step 6. Repeat
steps 5 and 6 for each parameter you wish to change.
8 Click on the Actions selection on the menu bar and select Create A New Kernel. A
confirmation window will be displayed warning you that a reboot is required. Click on YES to
proceed.
9 SAM will build the new kernel and then display a form with two options:
Move Kernel Into Place and Reboot the System Now
Exit Without Moving the Kernel Into Place
If you select the first option and then click on OK, the new kernel will be moved into place
and the system will be automatically rebooted.
18
11 SWAP SPACE CONSIDERATION
11.1 Distributed Catia Swap Requirement
HP-UX requires the reservation of enough swap space for each running process so that all processes
can be swapped out simultaneously in case of heavy memory usage. Since read-only text pages (code)
are never swapped out, only the data area needs to be taken into account when determining swap
requirement. With maxdsiz set to 256 MB, a minimum of 264 MB of additional swap space (256 +
8Mbytes for stack ) is recommended for CATIA. Working with larger models may require larger values
for swap and maxdsiz.
/etc/swapinfo -t
You must be root to execute this command. This is because swapinfo must open the kernel memory
file /dev/kmem to read the swap usage information so you must have appropriate privileges to this file.
Since this is a critical Operating System file, access is usually restricted to root only.
This information from swapinfo -t shows this system is configured with a total of 76,559KB of device
swap and 20,480KB of file system swap. The device swap is configured with a priority of 0 and the file
system swap with a priority of 1. This means that device swap will be used until it is all consumed and
then file system swap will be used.
Many people make the mistake of using the swapinfo command without the "-t" option. This option
adds the total line at the bottom. If you look at this example, the percent used on the top line is only
13%, but on the bottom total line, it is 45%. To determine the amount of swap used, and the remaining
available, you must take into account the amount of swap on hold. HP-UX plans ahead by reserving
swap space each time a process (program) is started even though it is not used and may not even be
needed. This ensures there is adequate swap space to swap out the process in the event it becomes
necessary.
19
11.4 Determining Amount Of Swap Needed
The amount of swap available determines the maximum address space, or memory, available for
Distributed CATIA which in turn determines the maximum size of the data set (part files or
assemblies) that you can load at one time. If swap is too small and you try to load a part or assembly
that exceeds available swap you will get an Out of Memory error. If you configure more swap than you
will ever need then you are wasting valuable disk space. The correct swap size will vary considerably
depending on the data an individual user works with. Even within a single workgroup, the optimal
swap configuration may vary between individual engineers. An engineer who only works with, or
designs, small individual parts will need much less swap than someone who is working with large
complex assemblies.
The correct swap space configuration for your site can only be accurately determined by monitoring
swap usage while working with real data. This could be done either with the swapinfo command or
using a tool like HP's Glance Plus. Glance Plus allows you to monitor resources on a per process basis
and will track high water marks over a period of time. You would configure a workstation with more
swap than you expect to need and then run Glance Plus while the engineer uses Distributed CATIA to
perform real work. By monitoring the high water mark, you can determine the maximum swap space
used by that engineer and then adjust the swap configuration accordingly. It is not possible to
accurately calculate the amount of swap required for a part or assembly based on the size of the part
file (s). Obviously, if you experience Out of Memory errors, swap space is too small. It is also
important to increase the value of maxdsiz when swap space is increased.
1 Acquire the media, either CD-ROM or DAT, for the appropriate version of HP-UX. You must
have the INSTALL and CORE-OS media. The INSTALL media is bootable. The CORE-OS
media is in UPDATE format.
3 Shutdown the system and reboot if currently running, or power-up if the system is off.
6 Boot from the CD-ROM or DAT device, and follow the instructions.
7 When prompted, enter the amount of device swap desired. Note if device swap is to be added
to more than one disk, be sure to read the next section before entering this amount.
8 When prompted, remove the INSTALL media and insert the CORE-OS media and complete the
installation.
20
11.6 Configuring Device Swap Across Multiple Disk Drives
The instructions below pertain to a system where swap is to be configured on two disks - the root disk
and a second local disk. The instructions would need to be slightly modified for more disks. Creating
an SDS (software disk striping) array is yet another way to add device swap across multiple disks. For
best device swap performance across two disks, there are two guidelines:
1 Both drives should have priority 0 - in this case, the system will alternate between the two
drives as swap is consumed. This is known as interleaved swap. This provides better swap
performance since the disk I/O is spread across two physical devices.
1 Create swap area on root disk by following instructions for one-drive configuration above.
2 Prepare the second disk by insuring it is unmounted and properly connected to the CPU.
3 Start the SAM system administration tool by typing the command: sam
4 Click on the Disks and File Systems-> item in the list box and then click on the Open button.
b Click on CD-ROM, Floppy, and Hard Disks and then Open to get a list of all drives physically
connected to your system.
7 Select Actions and then Add a Hard Disk Drive... while second disk is highlighted.
8 Select Set Disk Usage and Options... on the new menu window.
9 Select File System and Swap and select 0 for Swap Priority.
11 Select Create New File System and the appropriate Disk Space Allocation. Note that in order
to have the same swap amount on both disks, the swap amount selected at OS installation
above should match the amount that you select here.
21
11.7 Configuring File System Swap
File system swap can be added at any time. Even though it isn't recommended for performance
reasons, there are times when it may be necessary to add some file system swap in an emergency.
2 Start the SAM system administration tool by typing the command: sam
3 Click on the Disks and File Systems-> item in the list box and then click on the Open button.
b SAM displays a form with the currently configured swap. Click on the Actions selection on the
menu bar and select Add File System Swap... on the sub-menu.
6 SAM will display a form with a list of local file systems. Click on the file system where you
want to add the swap (usually /).
7 Fill in the Minimum and Maximum swap boxes. Minimum Swap is the amount of swap that
will be allocated immediately. As swap is used, additional swap will be added until the
Maximum Swap value is reached. Set Swap Priority to 1. If you want the file system swap to
be mounted the next time the system is booted, select both Now and At Every System Boot.
Click on OK.
22
12 SHARED LIBRARY CON SIDERATION
The run-time mechanism of CATIA is based on the dynamic loading of a large number of shared library
objects or modules. Nearly 3000 shared libraries make up the CATIA product. With this many shared
libraries, certain system resources become quickly exhausted. This section discusses some of the changes
and adjustments which must be done to address the shared library requirements of Distributed CATIA
The kernel implements a shared library as a memory mapped file for which a unique protection ID is
assigned in case where the file has permissions like 755. To avoid this problem, it is highly
recommended to set the file permissions to 555. This tells the kernel to set the memory mapped file's
pages to a protection ID of 0.
Therefore it is highly recommended to set the CATIA shared libraries permissions to 555 ( STEPLIB )
as well as any new customer shared library built with GII or IUA.
STEPLIB=/local/catusr/steplib:/nfs/server/catusr/steplib
is much better than
STEPLIB=/nfs/server/catusr/steplib:/local/catusr/steplib
export SHLIB_PATH=/lib/pa1.1:/usr/lib/pa1.1:/lib:/usr/lib
The direct impact is that the pa1.1 version of libf and libcl will be used instead of the pa1.0. versions.
23
12.4 Affected Kernel Parameters
Within approximately five minutes of launching Distributed CATIA, the HP system reports the
following warning messages on a kernel with the default set of parameter values:
"inode table is full"
To avoid this problem, two kernel parameters must be changed: nfile and ninode. The nfile
parameter sizes the System File Table. This table is a system-wide resource which contains one entry
for each distinct file opening. Whenever a new shared library is dynamically loaded for example, a new
entry is added to this table.
The ninode parameter sizes the table of recently used inodes. This table is also kept in memory. Its
purpose is to allow processes to access inodes without having to read from the disk each time. There
is one inode entry used for each file or shared library, regardless of the number of open operations
currently pending on the file. To complete the description, it is important to mention the vnode table
which has a one-to-one correspondence with the inode table. Thus whenever a shared library is
loaded, one entry is added to the inode table provided this is the first loading of that library, one entry
is added to the System File Table, one to the vnode table.
The default size of the System File, the Inode, and Vnode tables are rather small - 734, 606, and 606
respectively. To be able to handle the dynamic load of 3000 shared libraries within a CATIA session,
the following values are reco mmended:
nfile => 3300
ninode => 3250
These numbers are arrived at as follow:
nfile: 300 (default number for System processes ) +3000 (CATIA shared libraries) = 3300
ninode: 250 (default number) +3000 (CATIA shared library) =3250
These values are computed based on the following assumptions
CATIA could load a maximum of 3000 shared libraries during a session,
a CATIA dynamically loaded shared library is never unloaded, and
the number of CATIA files, log, model, etc is negligible compared to the number of active shared
libraries.
Lastly, it is worth noting the RAM impact of the nfile and ninode parameter value changes. Each entry
in the System File Table takes 32 bytes. Each entry in the in-core inode table takes 340 bytes. Each
entry in the vnode table takes 72 bytes. Therefore the impact on the kernel size under the previous
assumptions, is: (3300-734)*32 + (3250-606)*72 + (3250-606)*340 = 1,171,440 bytes. Thus the
properly configured HP-UX kernel requires an additional megabyte of RAM to a Distributed CATIA
session.
24
13 LICENSE MANAGEMENT OF DISTRIBUTED CATIA ON HP
13.1 Netls & Ifor/Ls
Hewlett-Packard and Gradient Technologies of Malboro, MA have a business relationship whereby
Gradient assumes maintenance, development, and marketing responsibilities for the HP NetLS
product. HP NetLS is marketed under the name iFOR/LS by Gradient and is available on multiple
platforms, including HP and IBM.
The HP NetLS run-time license manager, which is functionally equivalent to iFOR/LS, is bundled with
the HP-UX 9.05 operating system. At the next major HP-UX release, the iFOR/LS binary will be
bundled with that OS. Dassault uses Gradient's iFOR/LS developer kit to bundle iFOR/LS with
Distributed CATIA on HP and to generate iFOR/LS keys. This is 100% compatible with the NetLS
run-time on HP-UX 9.05. As part of the relationship agreement between HP and Gradient, HP
customers with license manager defects will continue to contact the appropriate HP Customer support
center. I t is worth noting however, that among the services which Gradient provides are training and
consulting to end-users with special license management concerns, such as making license
management servers more fault tolerant, putting in-house-developed applications under license
control, etc... For these purposes, Gradient should be contacted.
1 Concurrent-access (floating) license - This type of license is not restricted to any particular
node or nodes, but is based on the number of licenses ordered for a product. Access is
managed by one or more NetLS/iFORLS server daemons on the network.
2 Node lock license - This type of license is computed specifically for a CPU or an HP license ID
module. The target ID must be furnished in order to obtain the appropriate license key. To
retrieve the target id for a CPU, execute the following command:
/usr/etc/netls/ls_targetid
It is recommended that node lock licenses be used for standard CATIA product configurations
expected for constant use. Floating licenses are recommended when additional products need to be
used infrequently. Consult the CATIA Solution Installation Guide for more detail.
Heterogeneous license management refers to a floating license scheme where one workstation, AIX or
HP-UX, act as a license server to a mix of HP-UX and AIX CATIA workstations. The one requirement is
that both workstation types use iFOR/LS as their license managers. Thus iFOR/IS provides a high
degree of flexibility for CATIA sites who need to manage heterogeneous Distributed CATIA nodes.
This requires that the AIX nodes be upgraded to a) Distributed CATIA Version 4.14 from 4.13 or earlier,
and b) iFOR/LS from RLM. The CATIA product on HP complies with both conditions.
Note that, in order to move the license server from one workstation to another, a new set of floating
license keys would need to be generated, as the license keys are computed based on the target id of
the server. Refer to the CATIA installation guides for additional information on this topic.
25
14 CATIA PROGRAMMING DEVELOPMENT ENVIRONMENT - GII/IUA
14.1 Introduction
With CATIA's customization capabilities, many customer have invested large amount of resources
developing add-on CATIA applications specific to their design environment. This facility is known as
Graphics Interactive Interface (GII) and Interactive User Access (IUA). GII for example allows the
user to add new push button in the CATIA GUI which performs a custom function. IUAs have more of
a command line interface.
For some customers, these add-on applications, largely on mainframe CATIA, constitute their
intellectual property and they see them as indispensable. The saying goes "If the Core CATIA product
is the engine, the customized CATIA add-on applications make up the rest of the airplane". One sees
two trends among these customers. In the short term, migrate these add-on applications to the
workstation. Longer term, abandon them altogether and have Dassault or third-party software vendor
incorporate the needed specialized functionality into the core Distributed CATIA software.
It is in the migration activity that many CATIA users/developers, for the first time, are exposed to
UNIX development and management tools not available on the mainframe. Because of the on-going
requirement to maintain and enhance existing applications, and to develop new ones, software
development is a key concern of many CATIA sites. Advanced features available in the HP Softbench
and xdb tools have shown to be immensely beneficial to developers migrating applications in the UNIX
environment. A well tailored Softbench implementation can provide significant productivity boost to
developers migrating to UNIX.
1 GII and IUA applications are developed using shared libraries. Thus the +z compiler option is
used. The resulting shared objects, just as all of the core CATIA shared libraries, need to
have their file mode changed to read/execute using the "chmod 555" command.
2 When building the executable, the f77 command should be used to bind the shared objects.
When this is done, the /bin/ld loader is called implicitly, and a number of necessary
FORTRAN libraries are automatically linked. Moreover, f77 option -WI,-ldld should be the
last option on the f77 line to bring in the dynamic loader.
14.3 Example
A typical compiler command line is:
26
To see exactly what the compiler and linker are doing, add the -v option:
This reveals the real FORTRAN compiler as /usr/lib/f77pass1 which is used to compile the source file
(or files), the different libraries which f77 passes to the linker, including the FORTRAN-specific
libraries /usr/lib/uf77pass1 and /usr/lib/libisamstub.sl.
To generate symbol table for the debugger, the -g option would need to be added.
1- Prepare your compile/build environment for debugging. The "-g" option must be set for the
FORTRAN compiler. One way to set this option can be through the FCOPTS environment
variable as follows:
export FCOPTS="-g"
2- Use the CATIA supplied tools such as 'dcg' to build your application. The net result is actually
a shared library that you will be able to debug. For the purpose of this discussion we will use
CUST_APPLI as the name of the target GII application.
cd /home/catusr/devcatia/gii/CUST_APPLI (where the source code resides)
dcg CUST_APPLI ( will compile and build a shared lib named CUST_APPLI )
my CUST_APPLI /home/catusr/steplib ( move the shared lib to the directory where all
the other applications have or will be moved to ).
3- Since the HP-UX dynamic loader ( /lib/dld.dl ) does require that a shared library use a sI
extension, you must either rename the file or create a soft link to comply to this rule:
cd /home/catusr/steplib
In -s CUST APPLI CUST APPLI.sI
27
4 In the Tool Start dialog box select PROFILE from the list of tools to start. Click on New
Context... button and set the context of the debugger to the complete path of the CATIA
executable. For example: /usr/lpp/catia/unload/code/steplib/CA1STAAG
6 From the Main menu select Options:Process Parameters. In Process Parameters dialog box
select "<> Adopt Existing Process".
7 Select the process to be adopted by entering its PID in "Match Expression In ps(1) Listing". If
you don't know the PID , select "View ps listing" and then select the CATIA process to be
adopted. Select "OK".
8 By default Softbench Performance Analyzer does not list the shared library functions in the
profile report. Only the dynamically loaded library will be listed. To list the names of the
library functions in the dynamically loaded libraries the name of the library must be included
in the Sample Collection dialog box. To do so select Options:Sample Collection Parameters
and enter the library name in'Include Libraries Matching Expression'. Press the Add button.
9 Now bring up your application in CATIA and simultaneously press the Collect Samples button
in the Performance Analyzer. You can terminate sampling at any time by pressing 'Terminate
Sampling'. Once the sample set is collected appropriate Profile Report can be generated.
30
16 CATIA APPLICATION ARCHITECTURE PARTNERSHIP
CATIA Application Architecture (CAA) is the term Dassault Systemes uses to describe its collaboration
with a select group of software houses who develop complementary, well-integrated, sector specific
software applications or modules used in conjunction with CATIA. As with other MCAD vendors, these
CAA partners are vital in delivering niche solutions critical to many CATIA customers, but for which
Dassault has neither the motivation nor the ROI justification to develop itself. HP is actively working
with these partners to ensure timely delivery of their CAA applications to the HP platform. For HP
availability information, customers should contact the CAA partner directly. Of course, some CATIA
customers may be using other third party tools which are not part of the CAA program.
Manufacturing
RADAN: Sheet Metal Manufacturing
CENIT: PostProcessor, Special Machine Programmation, Simulation
IAMS: Feed and Speed Cutting Condition Tables
CGTech: Material Removal Simulation
Analysis
MOLDFLOW: CAT-MF Plastic Mold Injection Analysis
CADSi: Dynamics (CATDADS) and Stress Analysis (POLYFEM)
MSC/PDA: Finite Element Analysis (CATEXPRESS, CAT_FEA)
Machine Manufacture
MIECO/MISEC Robot builder from Matsushita Group
Design Automation
DEBIS: Large Tool Die Design
ICAD: Knowledge Based Engineering Design Tool Generator
AEC Solutions
Stone & Webster: 'COMMANDS'
DVO: Vessel & Pipe Catalog
Georgia Tech: GTSTRUDL structural analysis
An up to date list can be obtained from your CATIA service representative. Thus in addition to the
core CATIA products developed by Dassault, the production environment of a CATIA customer may
include a suite of in-house developed GII and/or IUA applications, as well as a number of third party
CAA applications.
3I
16.2 Application Prerequisites On H-P
A number of CAA partners are already running on HP. The first four applications below includes some
who have specific prerequisites for the HP platform, the last one shows prerequisites for a CORE
CATIA module. These are:
5 CATIA.Data Management run time product - requires ORACLE Version 7 Release 1.3 patch
237398, with C PRO*C, SQL*NET, and TCP/IP interface, or DB2 V2R3 on the host mainframe
with CATIA Distributed Services.
1 From the VUE front panel, select the color usage icon and select "Low color"
32
18 CATIA ADMINISTRATION
18.1 Installation
There is a 190-page Distributed CATIA installation guide for HP workstation. It has all the information
needed to install CATIA on HP. Refer to document number SH52-1091-12. The CATIA product
hierarchy consist of the Configuration Product from the top, followed by Marketing Products, followed
by Software Products. There is the concept of Product Information File which consists of the Delivery
Information File (product content information) and the Run-time Information File (specifies product
coherence and compatibility requirements). Functional Releases may contain major new
functionality, while Maintenance Releases contain defect resolutions.
1 Extract the first partition of the tape by executing % tar xv - This is the normal first step in an
installation which brings about 10 files into your system, including libC.ansi.sl.
1 Install HP-UX 9.05 and specify the appropriate device swap. If your system was ordered with
"Instant Ignition", i.e., with the HP-UX 9.05 operating system already installed, verify that
there is adequate swap space. If not, either re-install the O.S., add device swap to an empty
disk drive attached to the system, or add file system swap.
4 Install the required graphics patches if they are not already installed
6 Install CATIA
33
18.3Packaging Catia
Distributed CATIA coming from a DAT tape is installable one system at a time using a DDS drive.
There currently are no means to distribute the software to more than one system at a time unless you
have multiple DDS drives, tapes, and a lot of extra time. To work around this problem, the following
was implemented at a pilot site so that multiple systems could have their CATIA software updated
simultaneously. This does assume a distributed environment with a Netdist server or a workstation
that can act as a Netdist server with extra disk.
The following method of packaging CATIA was useful for distributing the CATIA product across
several HP workstation. It significantly reduces update of new CATIA revisions. This is fairly simple
yet maintains the integrity of the Distributed CATIA license management. In this implementation, al
modules on the tape are installed. This can be modified by creating a tar image for each module (or
group of modules) that users need and use those images as the different file partitions in the psf file.
Then you would need a post installation script to scan the directory structure to find out which
modules are in the structure on the client, and use this information as input into wfunload command
for CATIA specific customization. This would involve a lot of rework each time a new version of
CATIA is released.
There are different netdist ports running for the core(9050), patches(9051), and apps(9052). These ar
the ports that you connect to on the netdist server when running update from the client. The netdist
directory structure goes as follow:
2. Make a tar image of the installed CATIA software and then compress the tar image.
(tar cvf /usr/catia /tmp/cat414.tar )
( compress /tmp/cat414.tar )
3. Create a psf file that fpkg can be run to create an update image of the compressed CATIA tar
i mage. The following is an example of what a psf.file might look like:
34
4. Create the /tmp/post414.install customize file that is intended to automatically execute once the
CATIA structure is in place. This should include all steps that uncompress, tar and then manually
run the CATIA install program to non-interactively customize the CATIA environment. The easiest
way to find out the options for the customization of CATIA is to look in the catinst.script file that
was created when the initial customization was done and copy that script into the post414.install
script. The following are the commands to include - there can be more. Logic to do checking for
existing directories, files and so on should be done before executing this script.
uncompress /tmp/cat414.install.Z
tar xvf /tmp/cat414.install
/usr/catia/unload/code/bin/code/bin/wfunload -d... # this does the customized CATIA install
rm /tmp/cat414.install
5. Now run fpkg to make the update image of CATIA. The following is an example of a fpkg
command to use:
fpkg -m tape -a /tmp/cat414.updt -S 700 /tmp/psf file
6. Once step 5 is completed, the /tmp/cat414.updt can be used by the updist command to load into
the Netdist server for distribution.
35
19 UNDERSTANDING MEMORY AND SWAP
There are some confusion regarding configuration of swap space, swap's relationship to physical memory,
kernel parameters affecting memory allocation, and performance implications. It is important to
understand how a virtual memory operating system works in order to determine the optimal settings for a
given situation.
The data and instructions of any process (a program in execution) must be available to the CPU by
residing in physical memory at the time of execution. RAM, the actual physical memory (also called
"main memory"), is shared by all processes. To execute a process, the kernel executes through a
per-process virtual address space that has been mapped into physical memory.
The term "memory management" refers to the rules that govern physical and virtual memory and allow
for efficient sharing of the system's resources by user and system processes.
Figure 4
Memory management allows the total size of user processes to exceed physical memory by using an
approach termed demand-paged virtual memory. Virtual memory enables you to execute a process by
bringing into main memory parts of the process only as needed, that is, on demand, and pushing out to
disk, parts of a process that have not been recently used.
36
The HP-UX operating system uses a combination of swapping and paging to manage virtual memory.
Swapping involves moving entire processes between main memory and disk, whereas paging involves
moving smaller units (called pages) between main memory and disk.
The more main memory in the system, the more data it can access and the more processes it can
execute without having to page or swap. This is because the system can retain more processes in main
memory, thus requiring the kernel to page less frequently. Each time the system has to page or swap
there is a performance cost since the speed of reading or writing to disk is much slower than
accessing RAM.
Not all physical memory is available to user processes. The kernel (/hp-ux) always resides in main
memory (that is, it is never swapped), occupying approximately 5 MB on a Series 700 system. The
amount of main memory not reserved for the kernel is termed available memory. Available memory
is used by the system for executing user processes.
19.4 Swap
A temporary form of secondary data storage is termed swap, dating from early UNIX implementations
that managed physical memory resources by moving, swapping, entire processes between main
memory and secondary storage. In addition to swapping, HP-UX uses paging, a more efficient memory
resource management mechanism for virtual memory.
While executing a program, data and instructions can be swapped (copied) to and from secondary
storage, or disk, if the system load warrants such behavior. Swap space is initially allocated when the
system is configured. Device swap is allocated on the disk before a file system has been created and
can take the following forms:
* an entire disk
* a designated area on a disk
* a software disk-striped partition on a disk
If the entire disk has not been designated as swap, the remaining space on the disk can be used for a
file system. You can also configure a file system so that remaining space not used for files is used for
swap; this is termed file-system swap. If more swap space is required, it can be ad dynamically to a
running system, as either device swap or file-system swap. Device swap can only be added
dynamically to an unused disk since any file system on the disk is destroyed when the swap area is
allocated.
The swapon command is used to allocate disk space or a directory in a file system for swap. NOTE:
Once allocated, swap cannot be removed without rebooting the system.
37
19.5 Virtual Address Space
Virtual memory uses a structure for mapping processes termed the virtual address space. The virtual
address space contains information and pointers to the memory that the process can reference.
One virtual address space exists per process and serves several purposes:
Each HP-UX process executes within a 4-gigabyte virtual address space. The virtual address space
structure points to per-process regions, or pregions. Pregions are logical segments that point to
specific segments of a process, including code (text, or process instructions), data, u_area and kernel
stack, user stack, shared-memory segments, and shared-library code and data segments.
Allocation of memory segments is controlled by the values assigned to certain configurable kernel
parameters. It is beyond the scope of this paper to discuss all the process virtual memory segments.
The following, however, is a description of the segments most relevant to Distributed CATIA.
Text - The text segment holds a process's executable object code and may be shared by
multiple processes. In the case of Distributed CATIA, this is the Pro/E program. The
maximum size of the text segment is limited by the configurable operating-system
parameter maxtsiz.
Data - The data segment contains a process' initialized and uninitialized data structures (bss).
In the case of Distributed CATIA, this is primarily the model data. It can grow as needed
by a program's run-time logic. The total allotment for initialized data, uninitialized data
and dynamically allocated memory can be changed by the configurable operating-system
kernel parameter maxdsiz
Stack - Used for dynamic allocation of space for local variables, subroutine return
addresses, kernel routines, etc. The u_area contains information about process
characteristics. The kernel stack segment, which is in the u_area segment, contains a
process's run-time stack during kernel mode. Both u_area and kernel stack segment are
fixed in size. Space available for remaining stack use is determined by the configurable
parameter maxssiz.
38
19.5.2Series 700 Address Space
In the Series 700 workstation, the four gigabyte virtual address space is divided into four one-GB
quadrants. Each quadrant has several segments associated with it.
1 The first one-GB quadrant always contains the process's code, text segment, and sometimes
some of the data (data segment).
2 The second quadrant contains the data segment and stack (static data, stack, and heap).
3 The third quadrant contains shared memory, shared mapped files, and shared library code.
4 The fourth quadrant contains shared memory segments, shared memory-mapped files, shared
library code, and 1/O space.
Figure 5
39
20 PHYSICAL MEMORY VERSUS PERFORMANCE
Technically, there is no such thing as too little physical memory. The amount of memory available to
Distributed CATIA is determined by the amount of swap configured, not by physical memory. The size of
physical memory determines how much swapping and paging will be done while Distributed CATIA is
running. Swapping and paging imposes a performance penalty because memory is being moved between
physical memory and secondary storage, or disk. The more time is spent swapping and paging, the slower
the performance. There is a critical threshold for physical memory size below which the system spends
almost all its CPU time swapping memory to and from disk. This is known as thrashing and is evident by
the fact that system performance virtually comes to a standstill and even simple commands, like ls, take a
long time to complete.
Optimally, all operations would be done in physical memory and swapping would never occur. Memory is
expensive, however, so there is usually a tradeoff made between budgetary constraints and the minimum
acceptable performance level. Understanding how memory size affects performance, however, can help
you make sure you are maximizing your expenditure on memory and not buying more memory than you
need.
Any other processes or services running on the workstation, like the license server will consume
additional memory resources. As you can see, if you add these up, before you even load the first part
you are already consuming approximately 45 - 50 MB of memory. On a 32 MB system, it impossible to
fit everything into physical memory. Fortunately HP-UX uses a paging algorithm to move data in and
out of physical memory. The only data that is not subject to paging is HP-UX. Out of the 50MB of
executable code in VUE and Distributed CATIA, you will not be using all of it at any given time. Since
code will be paged out if it is not used, and there are many functions in both Distributed CATIA and
VUE that you may seldom or never use, there is some percentage of the executable code that will be
paged out and never, or very infrequently, paged back in.
40
21 HP-UX CONFIGURATION
This section explains in greater depth HP-UX configurable software settings and parameters that affect
system capacity and performance.
Figure 6
41
21.3 Parameters Which Affect I/O
There are two configurable kernel parameters related to disk I/O that can improve performance of
Distributed CATIA part, and assembly, load and save. The first is bufpages. Bufpages controls the
amount of memory HP-UX uses for disk buffer cache. Disk cache is a buffer in physical memory that is
used to temporarily store data as it is read from and written to disk. Use of a buffer cache significantly
i mproves disk I/O performance. However, the physical memory devoted to disk buffer cache is taken
away from the memory available for Distributed CATIA. By default, HP-UX is configured to use
dynamic buffer cache. This means that the amount of physical memory allocated to buffer cache
varies depending on an operating system algorithm. Benchmarks have shown that disk I/O
performance during part load and save can be improved by around 20 % by limiting the buffer cache to
a fixed size equal to 10% of the total physical memory rather than using the dynamic allocation. If
bufpages is set to zero, the system uses dynamic buffer cache. If it is set to a value, the value specifies
a fixed disk buffer cache size.
Bufpages specifies the number of pages allocated to disk buffer cache where one page is equal to 4K,
or 4096 bytes. To determine the correct bufpage value, take 10 % of the total physical ram size divided
by the page size. For example, to configure a system with 64MB of memory:
64,000 K physical ram / 4K per page / 10 (percent) = 1600
The second configurable parameter affecting disk I/O performance is fs _async. Fs_async is described
in the sub-section entitled Enable Asynchronous I/O.
22 NETWORKING CONSIDERATIONS
22.1 Introduction
The name distributed CATIA (without the big D) connotes a networked environment. Virtually all
CAD installations today use some form of local area network to facilitate sharing of model database
and to simplify system management. Assembly design, by its nature, can be a very "distributed"
activity. Thus the configuration, bandwidth, load, and management of the network has a definite
impact on the responsiveness which a user sees seating at a Distributed CATIA station.
Most installations use NFS to mount a remote disks so they appear local to the user. The automount
is also quite prevalent. This enables the engineer to load parts and/or assemblies from any disks on
the network as easily as from. a local disk. This convenience imposes a performance penalty however,
because the I/O bandwidth for accessing data over NFS is less than that for a directly connected disk.
There are a few system configuration recommendations that can be made to maximize the
convenience that NFS and the local area network provide while minimizing the performance penalty.
42
The following set of rules, when adhered to, enhances the performance of Distributed CATIA in a
networked environment.
Rule number one: Install the latest HP-UX NFS patch. HP periodically releases patches that correct
problems associated with NFS, many of them performance related. If you are using NFS, you
should make sure the latest patch is installed on both the client and server.
Rule number two: Keep the user's working directory and the Amp directory on a local disk. During
a CATIA session, temporary files can be written and read several tames in Amp (by default) or in
the user's working directory. While it may be more convenient from a system administration point
of view to have all users' home directories on a centralized server, performance will be improved if
these directories are local.
Rule number three: Install Distributed CATIA on the local disk. Again, it is easier from a system
administration standpoint to install a single copy of Distributed CATIA on a file server and have all
users share that copy, but this has a negative impact on performance. If you must install
Distributed CATIA on an NFS mounted disk, set the sticky bit on the Distributed CATIA executable
with the following command:
chmod +t $CATIA/code/steplib/CATSTAR
This forces the system to swap the text segment to the local disk. Otherwise, it is swapped across
the network.
Rule number four: Keep active part files on the local disk. If possible, keep any part files on the
local disk while being modified and then copy them back to the file server when done. Part load
times are faster if the part is stored locally.
43
23 CATIA/HP CONFIGURATION CHECKLIST
This is a checklist of configuration parameters that is include to provide a quick and smooth start up of
Distributed CATIA on HP-UX.
1 HP-UX 9.05 - You must specifically request the HP 9.05 version of the PHIGS product, either
on CD-ROM or DAT media. You must also request for the patches outlined in the Patches
Needed for HP-UX 9.05 Systems section of this document. Following installation of
PHIGS and patches, verify the installation as shown in the patch section.
2 HP-UX 9.07 - You must specifically request the HP 9.07 version of the PHIGS product, either
on CD-ROM or DAT media. NO HP-UX graphics patches are required for Distributed CATIA
Solutions Version 4.1.4 at 9.07! Verify that you have the correct graphics version as shown in
the Patches Needed for HP-UX 9.07 Systems section of this document.
You should also see to it that the Powershade software is installed using the "graphinfo" command.
44
23.7 Swap Space
An adequate amount of swap space is required in order to get CATIA to run on HP. The amount
should be 264MB at minimum. To check the swap configuration on your machine, login as root and
execute the command "/etc/swapinfo -t". If you need additional swap space, follow the instructions
in the Swap Space Consideration section of this document.
24 ACKNOWLEDGMENTS
A number of people contributed to this document. Among them, Yvon Queromes of HP France who
contributed some of the CATIA specific process information and GII/IUA debugging from both sides of
the Seine at Dassault and a customer. Joel Burklund, Michael Barrat, and Rajesh Belavadi of HP Bellevue
who contributed the CATIA packaging and Softbench implementation. Guy Bertrand of HP Canada who
supplied some of the remote display and installation information. Joe Junker of HP Phoenix who
supplied much of the motivation for an expanded license manager section. The Graphics Software Lab in
Fort Collins for providing graphics information. A number of people at Dassault Systemes who exercised
uncharacteristic patience for my numerous questions. Garry Howard of HP Burlington for providing his
document on which this one is based, including much of the generic OS and product information. All the
other HP PSO consultants who worked tirelessly at Distributed CATIA/HP pilot and demo sites. Various
parts of this new revision would not have been possible were it not for the numerous feedback and
suggestions from CATIA suppliers, IBM/ETS CATIA support, and, yes, a few customers. In as much as I
am tempted to say otherwise, all errors, misstatements, etc... are my responsibility. I would like to thank
in advance, readers of this paper for their comments on the material presented and any suggestions
(constructive, please) they may have for improvements.
45