Optimizing HP-UX for CATIA A White Paper On Getting The Best Performance From Distributed CATIA On Your HEWLETT PACKARD
HP 9000 Workstation
Revision 2.1
Prepared By:
Alfred P. TOUSSAINT, Jr. Technical Consulting Lab Hewlett-Packard Company 300 Apollo Drive Chelmsford, MA 01824 U.S.A. (508) 436-4541 FAX (508) 436-5142 e-mail:
[email protected]
Optimizing HP-UX for CATIA A White Paper On Getting The Best Performance From Distributed CATIA On Your HP 9000 Workstation HP Publication No. 0000-00000 Printed in USA July 1995 Revision 2.1 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 Revision 2.0 Revision 2.1
7 March 1995 17 July 1995 19 July 1995
Copyright/Trademarks All trademarks and registered trademarks are the property of their respective holders. (c) Copyright 1995 Hewlett-Packard Co. All Rights Reserved.
THE HEWLETT PACKARD\CATIA ACCOUNT TEAM Robert Abehassera Global Partner Manager Computer Systems Organization Robert joined Hewlett-Packard in 1979 as a system engineer. After seven years in the Customer Software Support organization, he held several management positions in the marketing of the Computer Systems organization. He was responsible for the territory covering all of northern France for commercial computer systems. After two years, he was given the international responsibility for building strategic alliances and relationships for HP's European Computer Systems Organization. One of his most recent accomplishments was to establish the agreements with Dassault Systemes and subsequently IBM-ETS on a global basis. Two years ago he was promoted to the position of Hewlett-Packard Global CATIA/CADAM Manager. Robert is always in contact with each member of the HP CATIA/CADAM network. He can be reached anytime at 011-49-7031-14-1001 box 7511. Guy Bertrand
Senior Consultant - Systems Architecture Guy holds a degree in Management from the College Militaire Royale de St-Jean and a degree in Computer Sciences from the Institut d'Informatique du Quebec. Guy has held a variety of responsibilities in his fourteen years of experience in the computer industry. Guy is presently a member of HP's Strategic Accounts team. He is involved in projects that ensure transparent integration of CATIA on Hewlett-Packard workstations in existing heterogeneous environments. This includes network licensing, Native Language Support and code pages, IUA/GII code migrations and system administration issues. Guy is a member of COE's Software Quality Assurance (SQA) committee and he is actively involved in defining quality standards in a multi-platform environment. For the past year Guy has worked
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. Guy is located in Montreal and can be reached at (514)428-2014.
Phil Brayman
Mechanical Design Product Manager Phil has a Bachelors and Masters degree in Aerospace Engineering from the University of Michigan. Phil Has been involved in the CAD/CAM arena for many years. He held the position of applications engineer at McDonald Douglas for several CAD/CAM systems. Subsequently, Phil went to work for Boeing Airplane Company as a Structural Analyst. Phil's present responsibilities at Hewlett-Packard include supporting the workstation group in the resolution of CATIA issues and concerns. Phil is located in Fort Collins, Colorado and can be reached at (303)229-4885.
Dennis Kelly
U.S. Strategic Account Manager CATIA/CADAM Solutions. Dennis, an Industrial Engineering graduate of the University of Lowell has over 12 years experience in the CAD/CAM arena. Dennis has Hewlett-Packard responsibility for CATIA/CADAM customer satisfaction solutions. Dennisis located in Burlington, Massachusetts and can be reached at (617) 221-5092.
Alfred P. Touissant Jr. Senior Consultant - Technical Consulting Laboratory Alfred did his undergraduate work in electrical engineering with a concentration in computer sciences and economics at the Massachusetts Institute of Technology.
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. Alfred is located at Hewlett-Packard Co, 300 Apollo Dr, Chelmsford, MA 01824. Rod Wilson
Solutions Marketing Manager Mechanical Design Automation Workstation Systems Division Rod received a Bachelor of Science degree from Virginia Tech and a Master of Science from Colorado State University. Since joining Hewlett-Packard in 1985, Rod has held a variety of positions in workstation business development and product marketing. Most recently, he has been responsible for HP's strategic OEM program. Prior to that responsibility, Rod worked for 2 years in Boeblingen, Germany as the European Product Marketing Manager for workstations. Rod's present responsibilities are focused on growing Hewlett-Packard's leadership position in the Mechanical Design Automation market. Rod's team is tasked with the responsibility of ensuring the success of all of the major mechanical software packages on Hewlett-Packard's family of computer systems. With the addition of CATIA to its portfolio, HP is the only company to offer all of the major mechanical software packages on its computer systems. Rod and his team are focused on ensuring the premier engineering environment for CATIA users. Rod is located in Fort Collins, Colorado and can be reached at (303)229-4360.
iii
1 INTRODUCTION 2 REVISION 2.X SUMMARY 3 COMPUTER-GRAPHICS AIDED THREE-DIMENSIONAL INTERACTIVE APPLICATION
1 1 2
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 CATIA 4.1 Catia User Interfaces . . ...................................... 4.2 Distributed Catia Architecture ................................
5 HP HARDWARE CONFIGURATION
4 4 4
5
5.1 Catia-Supported H-P Workstations . . . . ......................... 5 5.1.1 Low End Systems . . . . . . . . . . . . . . . . . . ..................... 6 5.1.2 Mid Range Systems
. . . .................................. 5.1.3 High End Systems . . . . . . . . . . . . .......................... 5.1.4 A Word On Legacy Hardware . ............................ 5.2 Impact Of Configuration Options . . . . .......................... 5.3 C P U Speed . . . . . . . . . . . . . . . . . . . ............................ 5.4 Memory Considerations
6 6 6 6 7 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 ........................ 5.5.4 Enable Asynchronous I/O . . . . . . . . . . . . . . . . ................ 5.6 Graphics Options ...........................................
6 HP SOFTWARE CONFIGURATION
8 8 9
9
6.1 Operating Systems ..........................................
9 6.2 Compilers ................................................. 9
7 HP GRAPHICS CONFIGURATION 7.1 Graphics Hardware
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
10 10
7.1.1 2-D Graphics Devices ................................... 7.1.2 3-D Graphics Devices ...................................
10
7.1.3 High End Graphics ..................................... 7.1.4 Legacy Graphics Cards . . . . . . . . . . . . ..................... 7.1.5 Workstation / Graphics Matrix . . . . . . . . . . . . ............... 7.2 Graphics Software . . . . . . . . . . . . . . . . . ........................ 7.2.1 Graphics A P I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11 12 12
7.2.2 Powershade ..........................................
11
13 13 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 . . . . . . . . . . . . . . . . .......................... 8.4 Miscellaneous Patches ...................................... 8.5 How To Obtain H-P Patches . . . . ............................. 8.6 How To Install Patches . . . . . . . .............................. 8.7 Special Instructions For Graphics Patch Installation ............. 8.8 Catia Solutions Version 4.1.4 P T F/Patches For H-P .............
9 PERIPHERAL SUPPORT 9.1 Input Device Support . . . . . . . . . ............................. 9.2 Output Device Support . . . . . . . . . . . ..........................
10 HP KERNEL CONFIGURATION 10.1 Affected Parameters . ..................................... 10.2 Configuring Kernel Parameters With Sam .....................
11 SWAP SPACE CONSIDERATION
15 15 15 15 16 16 17 17 17
18 18 18 19 19 19 19
11.1 Distributed Catia Swap Requirement . . . . . . . . . . .............. 11.2 Configuring Swap Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....... 11.3 Determining Swap Configuration ............................ 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 . . . . ............. 12.2 The S T E P L I B Environment Variable . . . . . . . . . . . . . . . . . . . . . 12.3 The S H L I B _P A T H Environment Variable . . . . . . . . . . . . . . . . . 12.4 Affected Kernel Parameters
23 23 23
. . . . . . .......................... 24
13 LICENSE MANAGEMENT OF DISTRIBUTED CATIA ON HP 13.1 Netls & Ifor/Ls . . . . . . . . . . . . . . . . . . . . . . . . . .................. 13.2 License Management Scenarios . . ........................... 13.3 Heterogeneous License Management: H P-U X / A I X . . . . . . . . . .
14 CATIA PROGRAMIVIING DEVELOPMENT ENVIRONMENT - GII/IUA
25 25 25 25
26
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 SUPPORT 16 CATIA APPLICATION ARCHITECTURE PARTNERSHIP
30 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 .............................. 17.2 Minimum Color Usage . . . . . . . . . . . . . ........................
18 CATIA ADMINISTRATION 18.1 Installation . . . . . . . . . . . . . . . . . . . . 18.1.1 Hardware Prerequisite . . . . . . . . 18.1.2 Software Prerequisite . . . . . . . . . 18.2 H P And Catia Installation Check List 18.3 Packaging Catia . . . . . . . . . . . . . . . . . .
32 32
33 . . . . . . . . . . . . . ........... 33 . . . . . ................... . . . .. . . . . . . . . . . . . . . . . ...
. .. . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . .. . 18.3.1 Packaging Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19 UNDERSTANDING MEMORY AND SWAP
33 33 33 34 34
36
19.1 Memory Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.2 Physical Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.3 Secondary Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.4 Swap ................................................. 19.5 Virtual Address Space . . ................................. 19.5.1 Configurable Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.5.2 Series 700 Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20 PHYSICAL MEMORY VERSUS PERFORMANCE 20.1 Where Is The Memory Going .............................. 20.2 Determining Appropriate Physical Memory Size ..............
21 HP-UX CONFIGURATION 21.1 Kernel Configuration Parameters . . 21.2 Maxdsiz And Its Affect On Memory . 21.3 Parameters Which Affect I/O . . . . . . . 21.4 Fast Link Parameter . . . . . . . . . . . . .
. . . .
. . . .
. . . . . . . . . . ............ ...................... . . . . . . . . . ............. . . . . . . . . . . . ...........
22.1 Introduction ............................................ 22.2 Rules To Live By . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........ 22.3 The Sticky Bit ......................................... 22.4 Network Management Tool ..............................
23 CATIA/HP CONFIGURATION CHECKLIST
37 38 38 39
40 40 40 41 41 41 42 42 42 43 43 43
44
. . . . . . . . . . . . . . . . . ...............
44
. . . .
44 44 44 44
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . . . . . . . . . . . . . ....... . . . . . . . . .............. . ... . .... . . . . . . . . . . ... . . .. . . ... . . . . . . . . . . ...
23.6 H-P Patches/Ptfs ......................................... 23.7 Swap Space ............................................. 23.8 Memory Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.9 Kernel Requirements .....................................
24 ACKNOWLEDGMENTS
37 37
42
22 NETWORKING CONSIDERATIONS
23.1 H-P Model . . . . . . . . . . . . . . 23.2 Operating System . . . . . . . 23.3 Graphics Software . . . . . . . 23.4 Graphics Hardware . . . . . . 23.5 Compilers For Gii/Iua . . . .
36
44 45 45 45
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
content is provided to facilitate quick access to needed information.
To
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
2
REVISION 2.X SUMMARY
The main driving force for Revision 2.X of this white paper is to provide information on the support and requirement for running CATIA Solutions Version 4.1.4 on the new HP-UX 9.07 operating system, and the expanded workstation and graphics subsystem products introduced by Hewlett-Packard in June 1995. Additionally, the hardware and graphics configuration chapters were reorganized to be more meaningful to the CATIA MCAD user. The HP-UX patch chapter was renamed to include the more familiar Program Temporary Fix term, and reorganized to delineate CATIA-required patches/PTFs for HP-UX 9.05 and those required for HP-UX 9.07 - NONE. A code page chapter was added to inform users of procedures to move CATIA models from the IBM 850 format to the ISO-8859-1 format required for CATIA/HP, and the tools provided by CATIA in this area. Finally at the request and with the assistance of key customers, the CATIA/HP configuration checklist chapter was reorganized and expanded to provide a quick overview of setting up the HP environment for Distributed CATIA.
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.
3.2 Distributed Catia This is the UNIX workstation version of CATIA. It has been available on the IBM RS/6000 for severs years under AIX. Distributed CATIA is the version that has been ported to the HP workstation famil It provides the same core functionality as mainframe CATIA, yet is distinct in its exploitation of workstation features such as greater graphics functionality, MOTIF user interface, and some new application modules delivered exclusively on the workstations. Clearly, Distributed CATIA is the strategic direction of DS, IBM, and CATIA customers.
3.3 Host Catia Host CATIA refers to the CATIA application running on an IBM mainframe, in one of two operating system flavors: IBM/MVS and IBM/VM. The overwhelming majority of sites run MVS. A very few Peugeot-Citroen among them, run the VM environment. There are four key points to be made here: 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.
3.4 Catia - Historical Sketch 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.5 Catia Successes CATIA serves a number of key industries including aerospace; automotive, consumer electronics, ship building, heavy industries, and is installed at a number of the major accounts. With the successful launch of its new LH-series car line, Chrysler is fast becoming the model, for other CATIA users across industries and even to its competitors in the automotive industry, of a company focused on optimizing its processes with CATIA as the master part description for all product design, development, and pre-assembly. Boeing, in what is being described as the biggest CAD project ever, set a new precedence in the aerospace industry by using 100% digital mock-up to design and pre-assemble the new 777 jetliner [See COMPUTER-AIDED ENGINEERING - August 1994]. Likewise Dassault Aviation is developing total electronic mock-up of its next generation Rafale jet fighter. Bypassing expensive and time consuming physical mock up has been a goal for a number of large manufacturers world-wide. Not many mechanical CAD applications can be configured to provide the level of enterprise-wide, mature infrastructure necessary to support this goal. The fact that CATIA continues to play a leading role in these successes testifies to its robustness as a mechanical design tool, and to the depth and breadth of its capabilities.
3.6 The Port It was inevitable that the leading enterprise-wide mechanical design tool supplier would join rank with the leading hardware vendor in the mechanical design automation market. What is remarkable, but not surprising is the fidelity and robustness of the Distributed CATIA product on HP. The Distributed CATIA port to Hewlett-Packard workstations has seen an unprecedented level of cooperation between the HP and DS technical teams. A number of existing and new CATIA customer sites played a vital role in the qualification and certification of Distributed CATIA Solutions Version 4.1.4 on HP during a seven-month pre-release phase. Key members of HP's Professional Services Organization played an equally valuable role in ensuring these early test customers got the best technical support on the newest Distributed CATIA platform.
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.
4.2 Distributed Catia Architecture Whereas many applications vendors are just beginning to release shared library versions of their applications after years of building one large executable with a host of binary and script files, Dassault Systemes has architected Distributed CATIA into some 3,000 shared libraries also known as modules. These reside in directory $CATIA/code/steplib where $CATIA is the installation directory. There are clear advantages to such a shared library architecture, but there are also special challenges which the workstation system faces as a result of this architecture. Refer to the Shared library Consideration section of this document for specific steps which must be taken to ensure optimum HP performance. 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.1 Catia-Supported H-P Workstations CATIA users on HP can select a variety of workstation models. What follows is a quick description of these models and their capabilities. A matrix of these workstations and their supported graphics configurations is shown in Figure 3, found later in this document.
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.
5.1.2 Mid Range Systems The new 712/100 by virtue of its speed, the model 715 with the 64 and 80 Mhz configurations, by virtue of their graphics expandability, and the 715/100 Mhz fill the mid-range space.
5.1.3 High End Systems The new S715/100XC with a large cache, the 735/125, the J200 (100Mhz) and J210 (120Mhz) make up the high end of the HP workstation line.
5.1.4 A Word On Legacy Hardware Distributed CATIA Solutions Version 4.14 supports the set of workstation products outlined in Figure 1 above. There is often questions from HP users about support for older models of the S700 line. It is worth noting that while some effort is expanded by Dassault (from the application perspective) and H-P (from the operating system level) to provide support for legacy H-P workstations, these legacy models are not actively used in developing, running, and testing of CATIA. Moreover users with the 705, 710, 720, 730, 715/33 715/50, and 715/75 models running CRX and CRX24 graphics are likely to be disappointed that these older configurations do not provide the breadth of performance capabilities available in current H-P offerings. The legacy graphics devices PVRX and TVRX are not supported by Distributed CATIA.
5.2 Impact Of Configuration Options A heavily configured high-end workstation may be underutilized if it used to solve relatively small, simple problems. On the other hand, an inexpensive low-end system may have unacceptable response time if it is used to do hidden line removal on large models. Selecting the most cost effective Distributed CATIA seat requires careful matching of the customer's usage patterns and the hardware options which ideally suits these patterns. 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.
5.4 Memory Considerations The minimum memory requirement for Distributed CATIA is 32MB. The recommended minimum is 64MB or more. The amount of memory needed is directly related to the size of the model data you need to work with. HP-UX is a virtual memory operating system. This means that the maximum amount of memory available to Distributed CATIA is determined by the amount of swap space configured and not by the amount of physical memory. Inadequate memory, or RAM, will not prevent Distributed CATIA from running but will have a serious negative impact on performance. Memory management is a complex topic. Memory, its relationship to swap space, and its effect on performance are discussed in more detail in the section Understanding Memory and Swap later in this document.
5.5 Disk Considerations All installed products of Distributed CATIA consume approximately 250 MB. A minimum of 40MB of user data space is recommended, as is a minimum swap of 264MB, totaling a minimum disk requirement for 554MB. The installation of the CATIA on-line documentation on disk may consume an additional 340MB with the graphic format, or 100MB with the alphanumeric format. Adding the operating system size to that total, a system equipped with just a 1 GB disk is barely adequate to run Distributed CATIA. 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. HP's philosophy is to design balanced systems in which no component becomes a performance bottleneck. HP has made significant enhancements to 1/O performance needed to keep pace with the 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:
5.5.1 Upgrade To Fast-Wide S C S I - II. The fast-wide SCSI-II bus has a burst transfer rate of 20 MB / second, compared to 5 MB / second for single-ended SCSI-II bus. The single disk data transfer rate for a 1.0 GB single-ended SCSI-II disk is 2.7MB/sec, versus 3.5MB/sec for fast-wide SCSI-II. Fast-wide SCSI-II is currently only supported on the model 735/755 workstations.
5.5.2 Distribute The Work Load Across Multiple Disks. Disk I/O performance can be improved by distributing data across multiple disks. In a single disk configuration, a single drive must handle operating system access, Distributed CATIA software access, memory swap, and part file access simultaneously. If these different tasks can be distributed across multiple disks then the job can be shared providing subsequent performance improvements. For example, a workstation might be configured with three disk drives. The HP-UX operating system and Distributed CATIA software would reside on one disk, swap space on the second, and the model files on the third. 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.
5.5.3 Split Swap Space Across Two Disks Device swap space can be interleaved, or distributed across two disks. This will improve performance when memory is swapped to or from disk. This is discussed in more detail in the section on Swap Space Configuration later in this document.
5.5.4 Enable Asynchronous I/O By default HP-UX uses synchronous disk I/O. This means that any file-system activity must complete to the disk before the program is allowed to continue; the process does not regain control until completion of the physical I/O (regardless of whether the I/O is user data or operating-system data). When HP-UX writes to disk synchronously, I/O is scheduled at some later time and the process regains control immediately, without waiting. 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 The C++ compiler version is: what /usr/bin/CC /usr/bin/CC: HP C++ B2402 A.03.55
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
7.1.1 2-D Graphics Devices 2-D graphics cards are usually equipped with 8 image planes and generally used for wireframe/ drawing/drafting activities in Distributed CATIA. In this category, the following cards are available: 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.
7.1.2 3-D Graphics Devices Designers working with shaded models and solids will find the faster graphics and better image quality of the following devices of interest: 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.
7.1.3 High End Graphics This category is suitable for graphics intensive activities requiring a high degree of photo-realism and smooth dynamics of large number of complex shaded objects. 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.
7.1.5 Workstation / Graphics Matrix Figure 3 below shows the range of workstations and graphics devices supported by Distributed CATIA on HP.
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. Powershade simulates a hardware Z buffer in software. While not as fast as a hardware i mplementation, it is nonetheless significantly faster than conventional software sorts. On a system without hardware graphics boards, Powershade accelerates shading and lighting calculations. Powershade is highly recommended for Distributes CATIA on all HP graphic boards.
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.
8.1 Patches Needed For A H P - U X 9.05 System 8.1.1 Graphics Patches The HP-UX graphics patches for Distributed CATIA Solutions Version 4.1.4 were released in the February Periodic Patch. These are: /hp-ux_patches/s700/9.X/PHSS 5100 - (Starbase Core Run-time) and /hp-ux-patches/s700/9.X/PHSS_5104 - (HP-PHIGS Run-time) As of mid -July 1995, patch PHSS_5100 has been superseded by patch PHSS_5450. This patch can be used in place of PHSS_5100. Note that CATIA/HP customers need only the run-time version of HP-PHIGS, thus only the run-time versions of these patches are needed to run Distributed CATIA. This rule applies to customers who develop CATIA/GII/IUA customized applications as well. To verify the that these patches are installed, execute the what command on two libraries. You should get the following results (or subsequent revisions): <mr_t>/useres/mr_t 16=> what /usr/lib/libsb.s l /usr/lib/libphigs.sl /usr/lib/libsb.sl: GRAPHICS CORE R905_P5 BRANCH 950210libsb.sl $Revision: 510.1.200.1$ PHSS_5099/5100 February 95 Starbase/CORE Periodic Patch GRAPHICS CORE R905_P5 BRANCH 950210libsga $Revision: 510.1.200.12 $ PHSS_5099/5100 February 95 Starbase/CORE Periodic Patch GRAPHICS CORE R905_P5 BRANCH 950210libsb2.a $Revision: 510.1.200.3 $ PHSS_5099/5100 February 95 Starbase/CORE Periodic Patch GRM Library HP-UX 8.0 A.01 Protocol PROTO_VER FILE VERSION /usr/lib/libphigs.sl: 180.2 01/30/95 HP-PHIGS PATCH PHSS_4253/PHSS 4254 180.2 01/30/95 HP-PHIGS PATCH PHSS_4559/PHSS 4560 180.2 01/30/95 HP-PHIGS PATCH PHSS_4908/PHSS_4909 180.2 01/30/95 HP-PHIGS PATCH PHSS_5103/PHSS_5104 180.2 01/30/95 HP-PHIGS 3.20 on HP-UX 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.
8.1.2 Kernel Patch The following kernel patch is recommended to fix memory map and NFS performance problems: /hp-ux-patches/s700/9.X/PHKL_5165 or its successor.
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: % what /usr/lib/libsb.sl /usr/lib/libphigs.s l /usr/lib/libsb.sl: GRAPHICS CORE R907 BRANCH 950526 libsb.sl $Revision: 530.1.100.3 $ GRAPHICS CORE R907 BRANCH 950526 libsb2.a $Revision: 530.1.100.1 $ GRM Library HP-UX 8.0 A.01 Protocol PROTO_VER FILE VERSION GRAPHICS CORE R907 BRANCH 950526 libpi $Revision: 530.1.100.4 $ GRAPHICS CORE R907 BRANCH 950526 libsga $Revision: 530.1.100.2 $ /usr/lib/libphigs.sl: 180.5 05/12/95 HP-PHIGS PATCH PHSS_4253/PHSS_4254 180.5 05/12/95 HP-PHIGS PATCH PHSS_4559/PHSS_4560 180.5 05/12/95 HP-PHIGS PATCH PHSS_4908/PHSS_4909 180.5 05/12/95 HP-PHIGS PATCH PHSS_5103/PHSS_5104 180.5 05/12/95 HP-PHIGS 3.20 on HP-UX
/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.
8.3 Compiler Patches The HP patches which contains the recommended version of the compilers are: FORTRAN: PHSS-4360 and PHSS-4664 and C: PHSS-4637 or their successors. Note these patches are needed only if you have the compilers for GII/IUA use.
8.4 Miscellaneous Patches There are a number of patches which can be applied to a Distributed CATIA seat. These patches, while not necessary to run Distributed CATIA, may provide fixes to problems found at a particular site. Hewlett-Packard periodically releases patch bundles which provide fixes to a variety of customer-reported problems. Contact your support personnel for more information.
8.5 How To Obtain H-P Patches In North America, contact 1-800-637-7740 for more information. HP patches are available in the Otherwis e contact your local support World Wide Web at URL http://support.mayfield.hp.com. representative.
8.6 How To Install Patches Patches are delivered in a file known as a shell archive. When the archive is extracted, two files are created, an ASCU text file containing a description of the patch and the defects it corrects, and a binary file containing the patch itself in Update format. For example, to extract the files for patch PHSS_4073: Copy or extract the patch file to /tmp. 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 As root, run the HP-UX update program: $ su # /etc/update On the first update screen select: Change Source or Destination-> On the next screen select: From Tape Device to Local System ... Enter the source of the update: Tape Device File: (source): /tmp/PHSS_4073.updt Press: F4, DONE Select: Select All Filesets on the Source Media ->
When prompted to load, enter:
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.
8.7 Special Instructions For Graphics Patch Installation A patch may not be installed completely if a binary component of that patch is "in use" by the system. Care should be taken when installing the graphics patches so as to minimize this type of clashing. You will see the following error in an incomplete installation: /lib/dld.sl: Unresolved symbol: _hpp_wideline control (code) from /usr/lib/libphigs.sl This is a common problem found with new Distributed CATIA installation on HP. Care should be taken to avoid the problem. One effective way is to make sure neither X11 nor VUE are running during the patch installation: 1 Log out 2 At the login prompt, select Options / No Windows 3
Login as root into the alphanumeric terminal.
4
Follow the patch installation above.
8.8 Catia Solutions Version 4.1.4 P T F/Patches For H-P Customers should contact their CATIA service representative. 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: 1
9-knob dial box (46085A or A4362A)
2 32-button box (46086A or A4363A) 3 Spaceball (A4360A)
9.2 Output Device Support Distributed CATIA provides drivers for a number of plotter languages. These include: IBM-GL Calcomp C907 HP-GL/2 OCE Graphics GPR50 Versatec VCGL Versatec VRF
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
10.2 Configuring Kernel Parameters With Sam To configure kernel parameters with SAM, follow these steps. 1
Login to the system as root.
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.
4 On the next screen, click on Configurable Parameters and then Open. 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.
11.2 Configuring Swap Space For best performance, device swap is more efficient then file system swap. The ideal configuration is device swap interleaved on two disks. When device swap is interleaved, the system alternates between the two disks as swap is used providing better performance than a single disk.
11.3 Determining Swap Configuration To see how much swap space is configured on your system, and how much is in use, execute the command: /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. swapinfo will display information similar to the following:
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.
11.5 Configuring Device Swap On A Single Disk Drive System Device swap space is allocated before the root file system is created. Device swap on a system with a single disk cannot be extended without re-installing HP-UX. If you need to increase the device swap on a single disk system, you must perform the following steps.
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.
2
Put the INSTALL media in the CD-ROM or DAT drive.
3
Shutdown the system and reboot if currently running, or power-up if the system is off.
4
Interrupt the boot process by holding down the <ESC> key.
5
Select the option to Search For Bootable Devices.
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. 2 Both swap areas in an interleaved configuration should be of the same size. Note that when device swap is to be added to a disk, a new file system is created on that disk. Thus if the second disk was previously in use, make sure that its content is backed up. To create the second device swap area, do as follow: 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. 6 Click on the unused second disk. 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. 10 Enter the Mount Directory by specifying /disk2 for example. 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. 12 Complete the procedure by selecting OK, Yes, OK
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. 1
Login to the system as root.
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.
4 Click on Swap and then Open. 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
12.1 Protection Id Trashing With Shared Libraries PA-RISC defines a permission mechanism for each memory access. Each page is assigned a "Protection Identifier" which will be tested against four hardware registers. If the Protection ID matches one of these four control registers, the memory access is enabled. In the case of no match, a hardware interrupt occurs and a kernel exception handler is executed. This routine then detects if the protection ID of the page is allowed to the process. If it succeeds it will copy the protection ID into one of the four control registers and resume the process. This can really trash the running process if it has to frequently access memory addresses that are protected with more than four unique protection IDs. There is a special case where the page is set "public" with a protection ID of 0. In that case, memory accesses are always authorized. 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.
12.2 The S T E P L I B Environment Variable The STEPLIB environment variable is used by CATIA to search for the modules (shared libraries) that are dynamically loaded. It is important to have this variable properly set-up so that CATIA look up the local directories first before going to the NFS mounted directories. For example: STEPLIB=/local/catusr/steplib:/nfs/server/catusr/steplib is much better than STEPLIB=/nfs/server/catusr/steplib:/local/catusr/steplib
12.3 The S H L I B P A T H Environment Variable As you all know by now, CATIA is architected around the model of dynamic loadable modules. This is implemented via shared libs on HP-UX. By default, the search path for the HP dynamic libraries such as libc etc, has been set to /lib:/usr/lib. This is not the best setting for PA1.1 CPUs. Fortunately, DS uses the +s option while building all the CATIA modules. This allows us to change the default path for the HP-UX libs. Therefore, it is recommended to set the SHLIB PATH environment variable as follows: 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 (3300-734)*32 + (3250-606)*72 + (3250-606)*340 = 1,171,440 bytes. Thus the assumptions, is: 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.
13.2 License Management Scenarios Distributed CATIA support two licensing schemes: 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.
13.3 Heterogeneous License Management: H P-U X / A I X Distributed CATIA customers running on IBM/AIX workstations are likely to use one of two license managers - iFOR/LS or RLM. Customers running Distributed CATIA 4.13 or earlier use RLM. 4.14 is the first release where both RLM and iFOR/LS are offered as license managers on AIX. Distributed CATIA on HP-UX on the other hand has one choice for license manager - iFOR/LS 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.
14.2 H-P Software Tool Requirements The bare requirements are the FORTRAN and C compilers. See the compiler sections elsewhere in this document for version numbers. The XDB or DDE debuggers are useful. And Softbench is very useful. CATIA documentation have a lot of information on GII and IUA development. Two things worth remembering: 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: <mr_t>/disc0/mr_t/ds/ftn 7=> f77 +z -v -o K1 k1.f -Wl,-ldld LPATH is: /lib/pa1.1:/usr/lib/pa1.1:/lib:/usr/lib /usr/lib/f77pass1 --h -Oq00,al,ag,cn,Lm,sz,Ic,vo,lc,mf po,es,rs,sp,in,pi,fa,pe,Rr,Fl! k1.f kl.o k1.f: xlnvol: entry xlnvol: MAIN: /bin/ld -x /lib/crt0.o -Fb /usr/lib/uf77pass1 k1.o -ldld -lcl -libisamstub -lc -o K1 <mr t>/disco/mr_t/ds/ftn 8=> 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.
14.4 Debugging G I I And I U A Applications With Xdb What follow is a step-by-step guide used successfully at a European automotive CATIA customer. The issue here is to be able to debug a customer developed application that is fully integrated with the dynamic load mechanism in CATIA. So how can the customer debug his own application through CATIA? 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 4- Start the xdb session with the following arguments: xdb -s -1 /home/catusr/steplib/CUST_APPLI.sI /usr/catia/code/steplib where -> -s: for debugging shared libraries -> -1: to specify the path to the shared lib for which debug information must be loaded -> /usr/catia/cfg/code/steplib/: path to the CATIA executable. 5- from the xdb session, start CATIA as: > r CATIA 64 0 0 0 then your favorite CATIA environment will start. 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 5
Press the Start button to start up the Performance Analyzer.
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.
15 CATIA CODE PAGE AND NATIONAL LANGUAGE SUPPORT The HP version of CATIA Solutions Version 4.1.4 uses the ISO 8859-1 code page for European and American languages. The AIX version of CATIA 4.1.4 traditionally uses the IBM 850 code page, although ISO 8859-1 is now supported. Users wishing to share model data between the AIX and HP-UX versions of CATIA will need to have all models in the ISO 8859-1 code page on the HP. This can be done tranparently - the IBM 850 translation is done in the background, although there is a processing cost in the time it takes for the HP system to do the translation in the background. This process can also be done in batch mode. A number of facilities within CATIA allows for transparent interoperability between the 850 and ISO 8859-1 code pages. These include CATAIX, CATIMP, and CATDATA. Users should refer to the appropriate CATIA documentation for further details. The following CATIA PTF is available for code page: UB16949. There is a good document entitled CATIA Solutions 414 FR4 National Language Support Administrator's Guide, March 22 1995 that is distributed when this PTF is ordered.
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.
16.1 C A A Partner List The CAA partners include: Dassault OEM (a.k.a. Original Software Developers) Mental Images: Image Rendering & Ray Tracing Algorithms ALEPH Technologies: Rob/Kin Collision Avoidance Algorithms 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 Electric Device Engineering MENTOR GRAPHICS: E3LCABLE access to Lcable Schematics 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: 1
CATIA,IGES interface - requires Version 2.2 of IBM IGES processor for HP
2 CATIA/CADAM coupler product - requires ProCADAM Version 3.5 3
CATIA.ANSYS Interface Product - requires PREP V7.4-4
4 CATIA.NASTRAN - requires MSC/NASTRAN release 66 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.
17 USE OF REMOTE X DISPLAY Distributed CATIA supports a number of remote display scenarios on HP. This include X-terminals, remote workstation with an Xserver. Due to networking and graphics performance issues, this is not a recommended mode of operation for performance conscious environments.
17.1 Environment Variable Settings Since the Xlib protocol is used, the best result requires that the Distributed CATIA server system has no more than 8 graphic planes. Special tuning was done on the VMX driver to enhance interactive performance. The following environment variable should be used: HP_VM_DB_READBACK_CTL=HP_VM_DISABLE_DB_READBACK export HP_VM_DB_READBACK_CTL This environment variable will prevent a frame-buffer-read from occurring across the network during some double-buffer operations. The following environment variable requests the VMX driver: PHIGS_OUTDRIVER=hpvmx export PHIGS_OUTDRIVER Note that HP-PHIGS will fail if the device is not an 8-plane device.
17.2 Minimum Color Usage The combined number of colors used by VUE and Distributed CATIA can easily exceed the 256 colors available on an eight-plane system. To minimize the instances of color flashing likely to be found on an eight-plane system, the following should be done: 1
From the VUE front panel, select the color usage icon and select "Low color"
2
Edit the /usr/vue/config/Xsession file - Find the line containing the xinitcolormap command and make sure it is commented out - Insert immediately following that line: (cd /usr/lib/phigs; xinitcolormap -f sharedcmap) for single color map devices, and (cd /usr/lib/phigs; xinitcolormap -f xmodesharedcmap) for CRX adapters.
3
Logout and restart fe xserver from the login prompt
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.
18.1.1 Hardware Prerequisite CATIA Solutions Version 4.1.4 is distributed on 4mm DAT drive. The HP system need to have access to that device.
18.1.2 Software Prerequisite Dassault uses the installation tool "catinst" to load software on the HP system. catinst is built using C++, therefore the shared library /usr/lib/ libC.ansi.s l is required to run the tool. HP allows all channel partners using C++ to distribute IibC.ansi.sl with their application. If the customer does not already have C++ loaded on the target system, the libC.ansi.s l file can be copied from the Distributed CATIA distribution, tape, CD, or other system, and put in the /usr/lib directory. You will get the following error if libC.ansi.s l is not installed: /lib/dld.sl: Can't open shared library: /usr/lib/libC.ansi.sl To retrieve it from a Distributed CATIA tape, do the following: 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.
2
Copy as follow: % cp -p $CAT_UNLOAD/code/lib/ libCansi.sl /usr/lib/libC.ansi.sl where $CAT_UNLOAD is the CATIA unload directory.
Running catinst will then allow you to proceed with the installation.
18.2 H P And Catia Installation Check List 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.
2
Configure kernel parameters with appropriate values using sam
3
Install HP-PRIGS 3.05 with "Options/No Windows" if it is not already installed
4
Install the required graphics patches if they are not already installed
5 Install FORTRAN and/or C compilers for GII/IUA programming 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:
18.3.1 Packaging Procedure 1. Install CATIA on a workstation of choice and make sure it is up and running once installed. 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.
19.1 Memory Management Memory is high-speed data storage, implemented using various hardware devices on the HP-UX system. Each device stores and retrieves data. 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.
19.2 Physical Memory Physical memory, or RAM, usually consists of memory cards that plug into the computer's backplane. For the CPU to execute a process, the relevant parts of a process must exist in RAM. 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.3 Secondary Storage Main memory (RAM) stores computer data required for program execution. During process execution, data resides in two faster implementations of memory found in the processor subsystem, registers and cache. Program files are kept in secondary storage or secondary memory, typically disks accessible either via system buses or network. Data is also stored when no longer needed in main memory, to make room for active 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: It provides the overall description of each process. It contains pointers to another element in the memory management subsystem per-process regions. (pregions) It keeps track of pregions most recently involved in page faults. 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. Shared Memory - Address space which is sharable among multiple processes.
19.5.1 Configurable Parameters HP-UX configurable kernel parameters limit the size of the text, data, stack, and shared-memory segments for each individual process. These parameters have pre-defined defaults, but can be reconfigured in the kernel. They may need to be adjusted when swap space is increased. This is discussed in more detail in the section on configuring the HP-UX kernel. maxtsiz maxdsiz maxssiz shmseg shmmni
Limits the size of the text (code) segment. limits the size of the data segment. Limits the size of the stack segment. Limits the number of shared memory segments that can be attached to a process. Limits the number of shared-memory identifiers.
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.
20.1 Where Is The Memory Going To help you understand the minimum memory configuration, it helps to understand how memory is consumed. On a standalone engineering workstation used as a dedicated Distributed CATIA seat, you will minimally have the following memory consuming resources:
1
HP-UX Operating System
5MB
2
Windowing System (X11 or VUE)
21MB (X11)
25MB (VUE)
3 Distributed CATIA
25MB
4 Part/ Assembly data
??? (varies depending on user requirements)
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.
20.2 Determining Appropriate Physical Memory Size There are a couple of ways to determine whether the amount of physical memory in your system is adequate. The first is to run a series of timed benchmarks on systems with increasing levels of physical memory and determine the impact of additional memory on those operations. Another way is to use HP's Glance Plus tool to monitor the system operation. It will tell you the level of paging and you can determine whether this is excessive. The only accurate way to determine the optimal memory size is to perform timed benchmarks using real data. Memory size also has a performance impact on graphics display operations such as shading and viewing.
40
21 HP-UX CONFIGURATION This section explains in greater depth HP-UX configurable software settings and parameters that affect system capacity and performance.
21.1 Kernel Configuration Parameters The kernel is the software core of BP-UX and is the part of the operating system that deals directly with the hardware. The kernel also manages the low-level functions for the operating system and insulates the operating system from the details of the hardware.
Figure 6
21.2 Maxdsiz And Its Affect On Memory Configurable kernel parameters affecting memory were described in the section of this document entitled Virtual Address Space. The most important configurable kernel parameter affecting Distributed CATIA memory usage is maxdsiz. As mentioned previously, maxdsiz limits the amount of virtual memory available for the data segment. By default, this parameter is set to a value of 67 MB. On average, approximately 90% of Distributed CATIA's virtual memory usage is for data. This means that even though you may have a large amount. of swap configured, you can still run out of memory because the maximum data seginent size is exceeded. As a general rule, maxdsiz should be set to a value equal to 90% of the total swap configured. 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.
21.4 Fast Link Parameter The CATIA installation procedure creates a lot of symbolic links. These links are read during the lookup of the CATIA modules and files. To speed up the CATIA files lookup, you could tell the hp-ux kernel to use what is called "fast symlinks" for these symbolic links. There is a kernel parameter named create_fastlinks which when set to a non-zero value, causes the symbolic link creation to change so that one extra disk block access is avoided during the lookup. By default, this kernel parameter is set to zero. There is no need to newfs the disk. Fast links and normal links can coexist on the same HFS disk. Also, these links are visible from another node via NFS.
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.
22.2 Rules To Live By 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.
22.3 The Sticky Bit In the case where the CATIA code is executed over an NFS server, it is highly recommended that the 'sticky bit' be set so that the Distributed CATIA code is copied onto the local swap device rather than being paged over the network -15% to 20% performance boost have been observed. To set the sticky bit, execute the following command to the Distributed CATIA executable: % chmod +t $CATIA/code/steplib/CATSTAR
22.4 Network Management Tool HP supplies the OpenView network management tool which has shown to be effective in managing networked environments at medium to large installations.
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.
23.1 H-P Model To check the model of your system, run the command "model". Another command is "uname -a".
23.2 Operating System Use "uname -a" to check the operating system. It should be either HP-UX 9.05 or 9.07.
23.3 Graphics Software The HP-PHIGS 3.0 product needs to be installed on your system. A quick way to check if HP-PHIGS is installed on your system is to execute the following command: "11 /etc/filesets/PHIGS-RUN". If this file exist, then there is a very good chance PHIGS is installed. If not, you need to request HP product # B2364E. Of course it is always better to order this product before the hardware arrives. You need to follow two procedures depending on which operating system you are running CATIA: 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.
23.4 Graphics Hardware The command "graphinfo" provides a load of information about the graphics subsystem of your workstation. Among the information it furnishes are the hardware device name, different graphics capabilities of that device, whether Powershade is installed, etc...
23.5 Compilers For Gii/Iua For GII or IUA programming, you need at least a FORTRAN compiler. This compiler should be the same level or later as the one in the HP Software Configuration/Compilers section.
23.6 H-P Patches/Ptfs At HP-UX 9.05, two graphics patches are required. They are PHSS_5100 and PHSS_5104. These patches must be installed on top of the HP-PHIGS product. See section on HP-UX Patches for installation details. No patches are needed on HP-UX 9.07 for CATIA Solutions Versions 4.1.4.
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.
23.8 Memory Requirements A minimum of 64MB is recommended to run Distributed CATIA on HP. To check the memory configuration, login as root and execute the command "/etc/dmesg". At the bottom of the output is shown the amount of memory on the system. See the discussion on Memory Considerations in this document.
23.9 Kernel Requirements A number of kernel parameters need to be increased to accommodate the requirements of CATIA on HP workstations. The affected parameters and their values are: maxdsiz = 256MB or more maxtsiz = 128MB or more nfile = 3300 ninode = 3250 To check these values, login as root, execute "sam" , select "Kernel Configuration", then "Configurable Parameters", and examine and change these parameters as appropriate. A more detailed discussion of this topic are in the HP Kernel Configuration section.
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