- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - HP-UX
- >
- 64 bits migration = loss of performance on HPUX 11...
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2003 04:44 AM
05-05-2003 04:44 AM
64 bits migration = loss of performance on HPUX 11.00
For benchmark purpose I compared My application compiled either with:
32 bits :
/opt/aCC/bin/aCC +O2 +Olibcalls +Oregionsched +Odataprefetch +Oentrysched +Oprocelim +nrv -I/home/TANGO/STLport/stlport -D__unix__ -D__hpux__ -Wl,+s -Wl,+blib +z +Z -mt -AA -ext +DA2.0 +W829,921,652
64 bits :
/opt/aCC/bin/aCC +O2 +Olibcalls +Oregionsched +Odataprefetch +Oentrysched +Oprocelim +nrv -I/home/TANGO/STLport64/stlport -D__unix__ -D__hpux__ -Wl,+s -Wl,+blib +z +Z -mt -AA -ext +DA2.0W +W829,921,652
And the result is that the 64 bits version is slower (10%) than the 32 bits version.
Did I miss something in the way I compile?
Anyboy has an explanation?
Thank you!
Laurent
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2003 05:01 AM
05-05-2003 05:01 AM
Re: 64 bits migration = loss of performance on HPUX 11.00
Unless you need the larger address space, or you have to link to 64bit libraries, I can see next to no reasons to use 64bit apps.
Good reasons to use 64bit apps:
?? Your app needs more than 2Gb address space
?? Your app needs 64bit integers
?? You have to link to 64bit libs (Oracle/64)
If all you want is performance gain, this is not the path to walk
Enjoy, have FUN! H.Merijn
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2003 05:02 AM
05-05-2003 05:02 AM
Re: 64 bits migration = loss of performance on HPUX 11.00
Remember that it is now fetching 2 times more data for each instruction load from memory, then the decode of the instruction has to happen and then the execution of each instruction is close to the same, some are faster, some are slower.
64 bit is much better if you have to access more memory or more data than can be accessed with 32 bit
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2003 05:59 AM
05-05-2003 05:59 AM
Re: 64 bits migration = loss of performance on HPUX 11.00
It is 10 times slower than on Linux and AIX. (it's a multi-process/multithreaded application. inter-process communication is handled via IP sockets).
So, I'm trying anything that could burst the application!
...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2003 06:09 AM
05-05-2003 06:09 AM
Re: 64 bits migration = loss of performance on HPUX 11.00
As for why your performance is an order of magnitude slower on HP-UX, I suspect it's a difference in the socket implementation. I suggest that your use Glance to examine the process to see where (which system call(s)) are causing the bottleneck(s).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2003 06:50 AM
05-05-2003 06:50 AM
Re: 64 bits migration = loss of performance on HPUX 11.00
http://hpux.connect.org.uk/hppd/hpux/Sysadmin/tusc-7.3/
Enjoy, have FUN! H.Merijn
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2003 07:30 AM
05-05-2003 07:30 AM
Re: 64 bits migration = loss of performance on HPUX 11.00
I use Glance to monitor the bottleneck. the most called system call is sched_yield (multi-thread version)
I also had to change STL (I use STLport) which gave me 30 % enhancement on the CPU consumption.
I also tried to compile in PBO mode but I never succeeded to generate the profile for the final step of compiling! and I don't think that could really increase more than 10 % the performance level!
Do you agree ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2003 10:36 AM
05-05-2003 10:36 AM
Re: 64 bits migration = loss of performance on HPUX 11.00
Hi,
Performanceproblems could also be a question
of patches.
Do you have the latest patches installed on
the system?
Several patches related to threads fix
problems with performance.
Regards
Olav
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2003 01:53 PM
05-05-2003 01:53 PM
Re: 64 bits migration = loss of performance on HPUX 11.00
Collect some performance data looking for bottlenecks... script attached.
and ...
If your application uses random number generation, this software might help, though its really a security item.
random number generator
http://www.software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInfo.pl?productNumber=KRNG11I
If your application uses scp/sftp/ssh Secure Shell 3.5 might help.
Secure Shell: a replacement for rcp ftp and telnet that encrypts passwords
http://www.software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInfo.pl?productNumber=T1471AA
There is a known problem with the depot for 11.00, if you need that, contact support for a usuable depot.
SEP
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2003 02:16 PM
05-05-2003 02:16 PM
Re: 64 bits migration = loss of performance on HPUX 11.00
Check for patches but I would much rather get some data about where the bottlenecks lie before skewing the data too much.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2003 05:52 PM
05-05-2003 05:52 PM
Re: 64 bits migration = loss of performance on HPUX 11.00
http://www.software.hp.com/SUPPORT_PLUS/
Bill Hassell, sysadmin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2003 06:24 PM
05-05-2003 06:24 PM
Re: 64 bits migration = loss of performance on HPUX 11.00
For another view of where the time goes, you could use the prospect program profiler. It is very strong at showing where CPU time is spent, but it will also show which system calls are responsible for most of the blocked time. It is available from http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,3282,00.html
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2003 11:26 PM
05-05-2003 11:26 PM
Re: 64 bits migration = loss of performance on HPUX 11.00
-32 bits against 64 bits:
I definitly stopped thinking of 64bits migration even using Oracle because Oracle provides a 32bits version of OCI9 libraries.
- patches: We applied last patches specially those about mutli-threading.
- time_slice: I knew about this item and it has been checked and it's ok (10)
- sched_yield: we use a lot of rwlock and mutexes and I think this is the reason why we have so many sched_yield calls.
- I will try the propect program profiler and let you know about the results
Another system call very often called is get_time_of_day because the application keep track of time spent in every step of the transactions but it seems that this call is not costly...
to be followed!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-06-2003 12:37 AM
05-06-2003 12:37 AM
Re: 64 bits migration = loss of performance on HPUX 11.00
times(2) times(2)
NAME
times - get process and child process times
SYNOPSIS
#include
clock_t times(struct tms *buffer);
DESCRIPTION
times() fills the structure pointed to by buffer with time-accounting
information. The structure defined in
struct tms {
clock_t tms_utime; /* user time */
clock_t tms_stime; /* system time */"
clock_t tms_cutime; /* user time, children */
clock_t tms_cstime; /* system time, children */
};
This information comes from the calling process and each of its
terminated child processes for which it has executed a wait(),
wait3(), or waitpid(). The times are in units of 1/CLK_TCK seconds,
where CLK_TCK is processor dependent The value of CLK_TCK can be
queried using the sysconf() function (see sysconf(2)).
Enjoy, have FUN! H.Merijn
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-06-2003 04:47 AM
05-06-2003 04:47 AM
Re: 64 bits migration = loss of performance on HPUX 11.00
Make sure you have PHCO_26960 installed
and set the following environment varialble PTHREAD_DISABLE_HANDOFF=3DON
(as described in the patch text)
Make sure it is in /etc/profile as Java scripts work with posix shells=20
This patch has a significant - positive - impact on threaded =
applications performance
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-06-2003 07:43 AM
05-06-2003 07:43 AM
Re: 64 bits migration = loss of performance on HPUX 11.00
Anyway i set the PTHREAD_DISABLE_HANDOFF=ON
and it had no effect at all!...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-06-2003 09:34 AM
05-06-2003 09:34 AM
Re: 64 bits migration = loss of performance on HPUX 11.00
There are some writeups on improving BIND performance:
ftp://ftp.cup.hp.com/dist/networking/briefs/
that while not directly applicable, the methodologies may apply. In this day and age, the references to puma and its profiles should be replaced with something like prospect - http://www.hp.com/go/prospect
High sched_yield() could indeed be poor thread synchronization design - it could also mean some non-trivial mutex contention. By default the pthread_mutex_lock call will "spin" for a short time while trying to acquire a lock (the spinning being cheaper than a full sleep/wakup path. If the trhead is making several sched_yield() calls in a row just pior to calling ksleep() in a tusc trace (remember to use the -l option to display lwpids !-) (or you notice something like a 5 or 7 to one ratio between kspeep and sched_yield in glance) it suggests lock contention. You will then later see some other thread calling kwakeup() with similar arguments to the ksleep() call. One of those is the address of the mutex, which you could use to track-down the mutexes with contention. One of these days we'll have to get a mutex lock contention tool out there to the world at large...
IIRC, default for the compiler is to compile for the architecture (eg PA2.0) on which the compile takes place. The "best" way to ask for 64-bit these days is to use +DD64 - that way you will have one less thing to remember when you migrate to IPF.
Another possibly useful tool would be pi (ftp://ftp.cup.hp.com/dist/networking/tools/) which can be used to display things like tlbmiss rates and cache miss rates and the like. If you see more than a fraction of a percent in handling tlbmisses then you may want to chatr your binary for a larger page size (see the chatr manpage)
You can probably also notice an increase in cache misses when you go to 64-bit from 32-bit, reflecting the increased size of pointers, and so the use of a larger number of cache lines. Some of that can be mitigated if you make sure your structures are layed-out well for 64 bit and don't leave unused holes. Typically, that means putting the pointers and longs (8 byte quantities in 64-bit) first, then the ints, then the shorts etc. If you put say the ints first, and only have three ints in the struct, followed by a pointer, there will be a four-byte "hole" between the third int and the pointer - longs and pointers in LP64 have to be on an eight byte boundary, and IIRC, structs get aligned on the most restrictive alignment of their members.
As for sockets performance, you can check that independent of your application by using netperf - http://www.netperf.org/ and compare across your platforms.
Also keep in mind to compare the "raw" horsepower of all the systems you are using. If you don't do much floating point, you might normalize your results to SPECint2000. PA2.0 systems can run the gamut from anchient and slow 160 MHz boxes to current generation 875 MHz systems.
And as aways, those suggestions to be up on the latest patches - especially the ones talking about thread performance - is goodness.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-06-2003 11:13 AM
05-06-2003 11:13 AM
Re: 64 bits migration = loss of performance on HPUX 11.00
as a side note:
You said "communication is handled via IP sockets".
Are you by any chance running BIND aka DNS aka named on your HPux box or have your resolv.conf file pointing to DNS name servers ?
live free or die
harry
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-06-2003 11:26 PM
05-06-2003 11:26 PM
Re: 64 bits migration = loss of performance on HPUX 11.00
even if they are sometimes reminding me some "already known statements" but Magic does exist only in films or fairy tales...
Anyway!
to Harry:
connections are permanent on my application and we essentially use localhost and defined ports (added in /etc/services). No DNS access is necessary.
The real issue is the amazing difference of CPU usage between HPUX implementation and others like AIX 4.3 and Linux...
to Rick:
BEcause you are from HP maybe you can explain me why I could not use the facility PTHREAD_DISABLE_HANDOFF or the associated calls while PCO_26960 is available on our boxes?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-07-2003 10:17 AM
05-07-2003 10:17 AM
Re: 64 bits migration = loss of performance on HPUX 11.00
As for CPU util differences, don't forget to account for relative raw horsepower when comparing with other system/OS combinations.
Those tools mentioned earlier may help find some simple bottleneck that could be improved.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-07-2003 12:43 PM
05-07-2003 12:43 PM
Re: 64 bits migration = loss of performance on HPUX 11.00
Bill Hassell, sysadmin