<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: What is the performance impact of reporting alignment faults? in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5510551#M102502</link>
    <description>&lt;P&gt;OK; now I'm completely confused.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I know what Itanium is (not) doing, but&amp;nbsp;whatever HP-UX is doing here seems, well, just as differently-odd as Itanium itself.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Off to read some HP-UX compiler documentation.&lt;/P&gt;</description>
    <pubDate>Fri, 27 Jan 2012 13:50:08 GMT</pubDate>
    <dc:creator>Hoff</dc:creator>
    <dc:date>2012-01-27T13:50:08Z</dc:date>
    <item>
      <title>What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5507189#M102484</link>
      <description>&lt;P&gt;We are porting an application from Alpha to Itanium, and want to keep an eye on alignment faults due to their performance impact.&amp;nbsp; The critical part of the application consists of a number of transaction server processes that field requests from other hosts on the network.&amp;nbsp; We already have instrumented these servers to track the transaction duration and a few other parameters; it seemed logical to add alignment fault count to our instrumentation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To do this , we changed our server processes so that before it processes a transaction, it now calls SYS$START_ALIGN_FAULT_REPORT, and after the transaction has been processed, it calls SYS$GET_ALIGN_FAULT_DATA, followed by SYS$STOP_ALIGN_FAULT_REPORT.&amp;nbsp;&amp;nbsp; All of this work is bracketed by a call to LIB$INIT_TIMER, and calls to LIB$STAT_TIMER to collect elapsed and CPU time, direct and buffered I/O and page fault counts.&amp;nbsp; This data, along with the number of fault entries returned by SYS$GET_ALIGN_FAULT_DATA is logged for this transaction.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The issue that we have is that adding the code to collect the number of alignment faults drastically increases the execution duration of the transaction, as reported by LIB$STAT_TIMER.&amp;nbsp; In a simple, isolated test, a transaction that without aliignment fault reporting takes 5 msec, executing the alignment fault reporting and collecting calls increases this time to almost 400msec.&amp;nbsp; In this case, 486 alignment faults were reported. We added the enabling and disabling of the alignment fault reporting via a logical name that is checked before each transaction is serviced, and the test results are very repeatable - Call the alignment fault reporting services, the transaction duration is about 400msec.&amp;nbsp; Don't call the alignment fault services, and the transaction duration is about 5msec.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This increase in elapsed time will not work in production - our application currently runs at about a 21 transactions/second rate, and can be very bursty.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've tried both the AFR$C_BUFFERED and AFR$C_EXCEPTION approaches - both have similar performance impacts (the exception approach seems marginally worse).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My questions are:&lt;/P&gt;&lt;P&gt;1) Is the above implementation of these system services the way the are intended to work? Or should I just poll at the start of the transaction to clear any residual faults, and then poll at the end to get the count, leaving the reporting enabled the entire time the server is running?&lt;/P&gt;&lt;P&gt;2) Would I have better results with the SYS$PERM_REPORT_ALIGN_FAULT approach?&lt;/P&gt;&lt;P&gt;3) Has anyone else seen this kind of performance impact from using these system services?&lt;BR /&gt;&lt;BR /&gt;By the way, our test environment is an HP rx2620&amp;nbsp; (1.60GHz/6.0MB) with 16GB of memory, running&amp;nbsp;OpenVMS V8.3.&amp;nbsp; We see similar behavior on our intended production environment:&amp;nbsp;HP BL860c i2&amp;nbsp; (1.60GHz/5.0MB) 16 cores with 32GB of memory, running&amp;nbsp;OpenVMS V8.4.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Jan 2012 21:37:53 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5507189#M102484</guid>
      <dc:creator>Glenn Wolf</dc:creator>
      <dc:date>2012-01-24T21:37:53Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5507231#M102485</link>
      <description>&lt;P&gt;Glenn,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; System service calls are potentially expensive. I suspect your observed problem is due to the START/STOP added to each transaction, not the tracing itself.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What happens if you move the START and STOP higher up the stack and just exectute the GET on the transaction? Don't worry about "clearing", just keep track of the previous value to calculate the cost per transaction.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You could also build a simple test program that&amp;nbsp;measures the cost of the START/GET/STOP cycle, possibly with and without dummy loads with known numbers of alignment faults. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My assumption is these services are really only of use during development to find sources of alignment faults. There's therefore no real incentive to make the services themselves very fast. One would hope that in a stable, production system, the number would be more or less constant, and not interesting enough to continue to track.&amp;nbsp;Do you see&amp;nbsp;any variation in transactions?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you identify what's generating the 486 faults you're seeing, eliminate them and then remove or disable the sampling code for production?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Jan 2012 22:24:15 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5507231#M102485</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2012-01-24T22:24:15Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5507241#M102486</link>
      <description>&lt;P&gt;Is there any reason why you would expect the alignment faults to vary much when the code is&amp;nbsp;on Production?&amp;nbsp; If not I'd take some typical data back to your development system and use it&amp;nbsp;to refine the code, and then not include your diagnostic code when you go to Production.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also, I wouldn't use LIB$INIT_TIMER and LIB$STAT_TIMER, the latter I ssume is called 4 times to get all the data you want.&amp;nbsp; Use SYS$GETTIM and SYS$GETJPI, the latter with an item list that includes all the requested values, and calculate the difefrences yourself.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Minimising calls to LIB$ and SYS$ routines is a good idea because there's overheads like checking that you have write access to&amp;nbsp;memory where output values will be written, and of course all the internal code in those routines to deal with different input.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Jan 2012 22:42:44 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5507241#M102486</guid>
      <dc:creator>John McL</dc:creator>
      <dc:date>2012-01-24T22:42:44Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5507255#M102487</link>
      <description>&lt;P&gt;Glenn,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Simple experiment. attached. The routine "bad" performs 1000 unaligned additions. The first loop repeats the routine 100000 times. The second repeats it (to remove the influence of the image activation&amp;nbsp;pagefault). The third does the same thing surrounded by your START/GET/STOP, the fourth&amp;nbsp;moves the START and STOP outside the loop.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here are the results.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;ELAPSED:&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 00:00:01.02&amp;nbsp; CPU: 0:00:01.03&amp;nbsp; BUFIO: 0&amp;nbsp; DIRIO: 0&amp;nbsp; FAULTS: 1&lt;BR /&gt;&amp;nbsp;ELAPSED:&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 00:00:01.02&amp;nbsp; CPU: 0:00:01.06&amp;nbsp; BUFIO: 0&amp;nbsp; DIRIO: 0&amp;nbsp; FAULTS: 0&lt;BR /&gt;&amp;nbsp;ELAPSED:&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 00:00:01.36&amp;nbsp; CPU: 0:00:01.35&amp;nbsp; BUFIO: 0&amp;nbsp; DIRIO: 0&amp;nbsp; FAULTS: 0&lt;BR /&gt;&amp;nbsp;ELAPSED:&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 00:00:00.94&amp;nbsp; CPU: 0:00:00.93&amp;nbsp; BUFIO: 0&amp;nbsp; DIRIO: 0&amp;nbsp; FAULTS: 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As expected, the START/GET/STOP loop is more expensive, but curiously the one with just the GET is actually &lt;EM&gt;faster&lt;/EM&gt; than the loops with no monitoring. Note that I'm seeing&amp;nbsp;less than&amp;nbsp;350msec for 100000 repeats of the START/GET/STOP cycle, so I don't know where your numbers are coming from.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;        .title timealign
$AFRDEF
reps=100000
        .psect data,rd,wrt,noexe,quad
l: .LONG
   .BYTE
a: .LONG
.align quad
BufSiz=1024
b: .BLKB BufSiz

        .psect code,rd,nowrt,exe
        .entry start,^M&amp;lt;R2&amp;gt;
        MOVL #reps,R2
        CALLS #0,G^LIB$INIT_TIMER
loop:   CALLS #0,bad
        SOBGTR R2,loop
        CALLS #0,G^LIB$SHOW_TIMER

        MOVL #reps,R2
        CALLS #0,G^LIB$INIT_TIMER
loop0:  CALLS #0,bad
        SOBGTR R2,loop0
        CALLS #0,G^LIB$SHOW_TIMER

        MOVL #reps,R2
        CALLS #0,G^LIB$INIT_TIMER
loop1:    PUSHL #BufSiz
          PUSHAL b
          PUSHL #AFR$C_BUFFERED
          CALLS #3,G^SYS$START_ALIGN_FAULT_REPORT
          CALLS #0,bad
          PUSHAL l
          PUSHL  #BufSiz
          PUSHAL b
          CALLS #3,G^SYS$GET_ALIGN_FAULT_DATA
          CALLS #0,G^SYS$STOP_ALIGN_FAULT_REPORT
        SOBGTR R2,loop1
        CALLS #0,G^LIB$SHOW_TIMER

        MOVL #reps,R2
          PUSHL #BufSiz
          PUSHAL b
          PUSHL #AFR$C_BUFFERED
          CALLS #3,G^SYS$START_ALIGN_FAULT_REPORT
        CALLS #0,G^LIB$INIT_TIMER
loop2:    CALLS #0,bad
          PUSHAL l
          PUSHL  #BufSiz
          PUSHAL b
          CALLS #3,G^SYS$GET_ALIGN_FAULT_DATA
        SOBGTR R2,loop2
        CALLS #0,G^LIB$SHOW_TIMER
        CALLS #0,G^SYS$STOP_ALIGN_FAULT_REPORT
        RET
        .ENTRY bad,^M&amp;lt;R3&amp;gt;
        MOVL #1000,R3
badloop: INCL a
        SOBGTR R3,badloop
        RET
        .END Start&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Jan 2012 23:22:12 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5507255#M102487</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2012-01-24T23:22:12Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5507393#M102488</link>
      <description>&lt;P&gt;On HP-UX, this can be 1 to 2 orders of magnitude since reporting requires a user signal handler and the emulation is done in the kernel or even in the CPU.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also on HP-UX it isn't as bad, since the default is natural alignment and it aborts if not.&amp;nbsp; So most applications are compiled with the right options to prevent the alignment traps in the first place.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Jan 2012 04:48:47 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5507393#M102488</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2012-01-25T04:48:47Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5508081#M102489</link>
      <description>&lt;P&gt;That's not a default with that abort-penalty for an unaligned reference Dennis, that's a requirement.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The default on all of the OpenVMS compilers is natural alignment, which may or may not be the best model.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With OpenVMS, the programmer has to disable that alignment via directive, via compiler qualifier (switch), or via some code construct that the compiler writers either hadn't handled or hadn't foreseen.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If there was an option to abort on unaligned references (with some decent traceback), I suspect some OpenVMS folks would use it. &amp;nbsp;Particularly given the (large) penalty for unaligned references within the Itanium architecture.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Jan 2012 12:52:53 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5508081#M102489</guid>
      <dc:creator>Hoff</dc:creator>
      <dc:date>2012-01-25T12:52:53Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5508685#M102490</link>
      <description>&lt;P&gt;Hoff, look closer at the defaults for COBOL and BASIC.&amp;nbsp; Not as aligned as you think.&amp;nbsp; However, the compiler will generate multiple instructions to load the data in pieces to avoid alignment faults.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Back to the question at hand.&amp;nbsp; Yes, there is certainly a Heisenberg effect with asking for fault reporting.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;From the SRM Vol 1, User Mask&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ac flag : 0: unaligned data memory references &lt;STRONG&gt;may&lt;/STRONG&gt; cause an Unaligned Data Reference fault.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1: all unaligned data memory references cause an Unaligned Data Reference fault&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Note the "&lt;STRONG&gt;may&lt;/STRONG&gt;" in the 0 case.&amp;nbsp; The Itanium architecture allows implementations to handle some unaligned references totally 'on-chip'.&amp;nbsp; I suspect unaligned references inside the same cache line (or perhaps just within a 64-bit quadword) are handled 'on-chip' and VERY fast.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, when you use the system services that you mention, the 'ac' flag gets set in the user mask.&amp;nbsp; So now EVERY unaligned memory reference causes a fault, traps to OpenVMS, which in turn takes out a spinlock in order to fix up the unaligned reference, and then in turn signals the unaligned access fault to the program.&amp;nbsp; So just by looking, you increase the overhead.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The same holds true for using SET BREAK/UNALIGNED in the debugger or even the SDA FLT support.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Jan 2012 20:52:23 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5508685#M102490</guid>
      <dc:creator>jreagan</dc:creator>
      <dc:date>2012-01-25T20:52:23Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5508693#M102491</link>
      <description>&lt;P&gt;It would seem to me that the time cost of the monitoring is irrelevant.&amp;nbsp; I would expect that the developers use the instrumented code to locate the alignment faults in order to "fix" them.&amp;nbsp; Once "fixed" there is no longer a need for the instrumentation and thus no cost on the production system.&amp;nbsp; Lets face it, the goal is to avoid the alignment faults.&amp;nbsp; Once this has been accomplished during the testing phase, the instrumentation (specific to these faults) should be disabled.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Just my approach...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dan&lt;/P&gt;</description>
      <pubDate>Wed, 25 Jan 2012 20:58:47 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5508693#M102491</guid>
      <dc:creator>abrsvc</dc:creator>
      <dc:date>2012-01-25T20:58:47Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5508779#M102492</link>
      <description>&lt;P&gt;I agree with Dan 100%&lt;/P&gt;</description>
      <pubDate>Wed, 25 Jan 2012 22:25:14 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5508779#M102492</guid>
      <dc:creator>jreagan</dc:creator>
      <dc:date>2012-01-25T22:25:14Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5508875#M102493</link>
      <description>&lt;P&gt;John:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for taking the time to provide the example; it's very similar to the C example from Eight-Cubed, which I had already exercised.&amp;nbsp; It provided the assurance that I needed - yes, I was doing something wrong, and forced me to look closer at my code to find it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It turns out that when changing my alignment fault reporting from exception based to buffered, I introduced a bug that caused it to continue to use the exception approach anyway, thus the "similarity" of my test results between the exception based and what-I-thought-was-buffered.&amp;nbsp; I should have verified that my code was really doing what I expected before posting.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now that I've corrected THAT oversight, I see results very similar to yours - a millisecond or two to start the alignment fault collection, and nothing measurable to report it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It is the exception processing that was taking the extra time.&amp;nbsp; Yet another thing to be wary of (as has been reported in other posts) when moving to Itanium.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To answer some of the other questions, yes we may see some variability in the number of alignment faults by transaction.&amp;nbsp; The transactions process requests that are presented in a "query language" (think SQL, but not too hard), and we will see the query usage change over time.&amp;nbsp; Today our transactions vary in duration from a few milliseconds to hundreds of milliseconds, based on what they are doing, so I am quite willing to pay a millisecond or two to be able to correlate a rise in alignment faults to a particular transaction signature.&amp;nbsp; And, as it is coded today, we can easily turn on or off the alignment fault reporting in real time if it gets in the way.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We will certainly pursue the reported alignment faults and eradicate as many as possible, but I'm pretty certain that we won't get to zero.&amp;nbsp; This data will help us understand how close to zero we can get.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you to all who responded. As always, this forum is of immense help in finding the solutions that I need.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Glenn&lt;/P&gt;</description>
      <pubDate>Thu, 26 Jan 2012 00:56:20 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5508875#M102493</guid>
      <dc:creator>Glenn Wolf</dc:creator>
      <dc:date>2012-01-26T00:56:20Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5508967#M102494</link>
      <description>&lt;P&gt;&amp;gt;That's not a default with that abort-penalty for an unaligned reference Dennis, that's a requirement.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't think I understand that you said?&amp;nbsp; From the subject of this topic, I assume the default on OpenVMS is to continue on unaligned accesses and be very slow.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;gt;The default on all of the OpenVMS compilers is natural alignment, which may or may not be the best model.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't think there is anything wrong with it.&amp;nbsp; :-)&lt;/P&gt;&lt;P&gt;But this means the topic author isn't taking the default and is cheating and the compiler doesn't provide help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;gt;the 'ac' flag gets set in the user mask.&amp;nbsp; So now EVERY unaligned memory reference causes a fault, traps to OpenVMS, which in turn takes out a spinlock in order to fix up the unaligned reference&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This sounds completely backwards and not how HP-UX does it.&amp;nbsp; There the default is set to 1 and the process aborts on an alignment trap.&lt;/P&gt;&lt;P&gt;If you set it to 0, then the kernel emulates the instruction, if the chip doesn't handle it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This gives applications a choice and allows the chip to handle it.&lt;/P&gt;</description>
      <pubDate>Thu, 26 Jan 2012 06:26:23 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5508967#M102494</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2012-01-26T06:26:23Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5509079#M102495</link>
      <description>&lt;P&gt;&amp;gt;&amp;gt;&amp;gt;&amp;nbsp;By the way, our test environment is an HP rx2620 &amp;nbsp;(1.60GHz/6.0MB) with 16GB of memory, running OpenVMS V8.3. &amp;nbsp;We see similar behavior on our intended production environment: HP BL860c i2 &amp;nbsp;(1.60GHz/5.0MB) 16 cores with 32GB of memory, running OpenVMS V8.4.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&amp;gt;&amp;gt;&amp;gt;&amp;nbsp;It is the exception processing that was taking the extra time. &amp;nbsp;Yet another thing to be wary of (as has been reported in other posts) when moving to Itanium.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;You should see much better exception performance on 8.4.&lt;/DIV&gt;</description>
      <pubDate>Thu, 26 Jan 2012 09:05:10 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5509079#M102495</guid>
      <dc:creator>H.Becker</dc:creator>
      <dc:date>2012-01-26T09:05:10Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5509303#M102496</link>
      <description>&lt;P&gt;:&amp;gt;That's not a default with that abort-penalty for an unaligned reference Dennis, that's a requirement.&lt;BR /&gt;:&lt;BR /&gt;:I don't think I understand that you said? From the subject of this topic, I assume the default on OpenVMS is to :continue on unaligned accesses and be very slow.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I interprete "default" as indicating what happens when the compiler doesn't correctly predict data alignment, and when the run-time is "unforgiving" about that, then that is what I'd consider a "requirement" and not a "default".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I interprete "default" as what happens when the compiler doesn't correctly predict data alignment" and the run-time is 'unforgiving', but you can switch either or both the compiler and (particularly) the run-time 'forgiving'", then that's a different design choice.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The VMS run-time is 'forgiving'.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Whether the compiler misdetected the alignment is certainly debateable; generating the extra instructions unnecessarily is certainly bad, but mispredicting unaligned data is bad, too.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When the compiler misses on the data alignment (often enough), application performance craters.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Equivalent to 10,000 to 15,000 instructions per alignment fault.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Whether that performance hit really matters depends on various factors, including the numbers of faults and what else the code is doing. &amp;nbsp;(There are other things that will slow down application performance and to varying degrees, such as cache misses or most anything that'll trigger a bubble, I/O, etc. &amp;nbsp;And off the top, I don't recall the analogous "instruction" hit for I/O, but that's huge, too.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;VMS doesn't have anything that's really comparable to Vtune, unfortunately.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Handling unaligned references in a compiler with the insertion of "extra" instructions is normal. &amp;nbsp;Having to add extra instructions probably happened with VAX (been a while since I looked at that) and those extra instructions were commonplace on Alpha (both for data (un)alignment, and for dealing with instruction subsets), and it's a necessity on Itanium. &amp;nbsp;Having the compiler and the run-time trigger an application-level unaligned-data error (on VMS) isn't.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Itanium is variously perceived as either a limited-use architecture, and as being sufficiently weird that the typical code-scheduling optimizations implemented for other architectures can't automatically be reused, so there aren't many open-source compilers that target the architecture. &amp;nbsp;gcc is one of the few, and I don't know how actively that's being maintained and extended for Itanium. &amp;nbsp;One of the HP folks stated "the need for improved gcc performance for Itanium is urgent", and that was from around five years ago. &amp;nbsp;The LLVM folks report that that tool-chain has yet lower performance than gcc on Itanium, and there wasn't any activity with that back-end with Itanium when last I checked.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But if past code-generation improvements with compilers other architectures are any guide, I wouldn't expect a huge improvement even with a large investment in the Itanium compilers. &amp;nbsp;Barring degenerate cases - such as massive numbers of alignment faults, as can arise here - the performance-improvement percentages just aren't there with the compilers, as compared with other changes in computer designs.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 26 Jan 2012 13:58:02 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5509303#M102496</guid>
      <dc:creator>Hoff</dc:creator>
      <dc:date>2012-01-26T13:58:02Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5509605#M102497</link>
      <description>&lt;P&gt;The VAX compilers accessed the memory without regard to alignment.&amp;nbsp; The VAX microcode did all work.&amp;nbsp; On machines like the 11/780, aligned vs unaligned didn't make much difference.&amp;nbsp; On later model VAXen, it did help to a small degree.&amp;nbsp; The biggest help was to longword align code labels.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;On Alpha, the first revision of the architecture ONLY had longword and quadword memory accesses.&amp;nbsp; The compilers were required to fetch larger chunks of memory and mask/shift.&amp;nbsp; There is also the _U forms that mask the effective-address to fetch quadwords above or below (helpful in fetching unaligned data).&amp;nbsp; Note that fixing alignment faults on Alpha can help performance too.&amp;nbsp; The PAL code fixup isn't free.&amp;nbsp; The defaults on the Alpha compilers are still EV4-era instruction sets (ie, no word, no byte).&amp;nbsp; You need /ARCH=HOST or something to enable the newer instructions.&lt;/P&gt;</description>
      <pubDate>Thu, 26 Jan 2012 18:29:01 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5509605#M102497</guid>
      <dc:creator>jreagan</dc:creator>
      <dc:date>2012-01-26T18:29:01Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5509703#M102498</link>
      <description>&lt;P&gt;&amp;gt;If I interpret "default" as indicating what happens when the compiler doesn't correctly predict data alignment, and when the run-time is "unforgiving" about that, then that is what I'd consider a "requirement" and not a "default".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(Unfortunately, I no longer&amp;nbsp;know what the last "that" is referring.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;On the HP-UX compilers, there is no predicting.&amp;nbsp; The compilers only do what they are told and will assume natural alignment unless options, pragmas, attributes or typedefs are used to indicate misaligned data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;gt;If I interpret "default" as what happens when the compiler doesn't correctly predict data alignment" and the run-time is 'unforgiving', but you can switch either or both the compiler and (particularly) the run-time 'forgiving'", then that's a different design choice.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;On HP-UX, it really isn't the "runtime" since the work is done in the kernel.&amp;nbsp; Or on PA-RISC, in a bolted on signal handler library.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And on PA-RISC it is so slow, that reporting of the faults doesn't have to be much slower.&lt;/P&gt;</description>
      <pubDate>Thu, 26 Jan 2012 19:48:09 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5509703#M102498</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2012-01-26T19:48:09Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5509753#M102499</link>
      <description>&lt;P&gt;So that compiler implementation transfers the Itanium alignment requirements and particularly pushes at least this aspect of the architecture from the compiler's analysis processing onto the programmer, and HP-UX enforces unalignment data errors at run-time. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Certainly makes for simpler compiler designs, and vastly simpler code analysis. &amp;nbsp;And a far larger incentive for code coverage testing by programmers targeting HP-UX, certainly.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If there is no means to switch on code analysis and run-time handling of unaligned data, then the behavior is not really what I'd consider a "default". &amp;nbsp;This behavior is a requirement. &amp;nbsp;("Default" implies there are alternatives. &amp;nbsp;And based on what I'm reading here, there aren't. &amp;nbsp;Unaligned data causes an HP-UX application to receive (what I presume is probably) a signal. &amp;nbsp;That the application would then fail. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(It's conceivably that sufficiently gonzo programming requirements could lead to the implementation an application-level fix-up and some sort of a recovery, but I'd doubt most HP-UX programmers would bother.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The VMS compilers do rather more here, and the run-time (which is also implemented in privileged code) fixes up cases where the data isn't alighed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The OP has the answer, and certainly I've learned rather more about the design and code analysis features in the HP-UX compilers. &amp;nbsp;Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 26 Jan 2012 20:50:42 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5509753#M102499</guid>
      <dc:creator>Hoff</dc:creator>
      <dc:date>2012-01-26T20:50:42Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5509995#M102500</link>
      <description>&lt;P&gt;Yeah, the VAX strongly influenced the compiler's ability to tightly pack data.&amp;nbsp; Partially for PDP-11 compatibility and partially since the first 11/780s shipped with 256KB of memory. :)&amp;nbsp; [I suspect that Dave Cutler had some hand in the decision as well.&amp;nbsp; Next time any of us sees Andy G, ask him.]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For instance, VAX Pascal will let you put a 32-bit integer on a BIT boundary!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PACKED RECORD&lt;/P&gt;&lt;P&gt;&amp;nbsp; F1: BOOLEAN;&amp;nbsp;&amp;nbsp; (* One bit big, starting at offset 0 *)&lt;/P&gt;&lt;P&gt;&amp;nbsp; F2: INTEGER;&amp;nbsp;&amp;nbsp;&amp;nbsp; (* 32bits bit, starting at offset 1 *)&lt;/P&gt;&lt;P&gt;END;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Even on VAX, you have to extract from memory into a register, operate on the register, and insert it back.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When we ported to Alpha, we changed all the defaults so that F2 field would now aligned on at least a byte boundary for a PACKED record and 32-bit boundary for an "unpacked" record.&amp;nbsp; [We still have qualifier to get VAX packing rules in case you have old VAX binary data on disk.]&lt;/P&gt;</description>
      <pubDate>Fri, 27 Jan 2012 05:38:18 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5509995#M102500</guid>
      <dc:creator>jreagan</dc:creator>
      <dc:date>2012-01-27T05:38:18Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5510069#M102501</link>
      <description>&lt;P&gt;&amp;gt;and HP-UX enforces unaligned data errors at run-time.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(Actually the hardware does this.)&lt;BR /&gt;&lt;BR /&gt;&amp;gt;And a far larger incentive for code coverage testing by programmers targeting HP-UX, certainly.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;It depends.&amp;nbsp; To get misaligned data, you usually have to tell the compiler you are cheating for struct layout.&amp;nbsp; (Of course you can add non-portable casts that the compiler will warn about.)&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;gt;If there is no means to switch on code analysis and run-time handling of unaligned data&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code analysis warnings are always on.&amp;nbsp; You can optionally reset the flag to get the hardware and kernel to handle them.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;gt;then the behavior is not really what I'd consider a "default".&amp;nbsp; This behavior is a requirement.&amp;nbsp; ("Default" implies there are alternatives.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(Ah, ok.&amp;nbsp; So you don't believe in "you can have any color you want, as long as it is black"?&lt;/P&gt;&lt;P&gt;But in this case, you can change the default by looking at the fine print.&amp;nbsp; :-)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;gt;Unaligned data causes an HP-UX application to receive a signal.&amp;nbsp; That the application would then fail.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the default but it can be changed.&amp;nbsp; Either by enabling belts and suspenders code generation and/or passing the buck to the hardware and kernel.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;could lead to the implementation an application-level fix-up and some sort of a recovery&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;You could say this was what was done on PA-RISC.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;The VMS compilers do rather more here&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I wouldn't necessarily say it does more, it's that its default is different.&amp;nbsp; ;-)&lt;/P&gt;&lt;P&gt;You have to order the HP-UX compilers to use different alignments and packing and then there are options to handle the non-typesafe coding cases.&lt;/P&gt;</description>
      <pubDate>Fri, 27 Jan 2012 21:06:57 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5510069#M102501</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2012-01-27T21:06:57Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5510551#M102502</link>
      <description>&lt;P&gt;OK; now I'm completely confused.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I know what Itanium is (not) doing, but&amp;nbsp;whatever HP-UX is doing here seems, well, just as differently-odd as Itanium itself.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Off to read some HP-UX compiler documentation.&lt;/P&gt;</description>
      <pubDate>Fri, 27 Jan 2012 13:50:08 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5510551#M102502</guid>
      <dc:creator>Hoff</dc:creator>
      <dc:date>2012-01-27T13:50:08Z</dc:date>
    </item>
    <item>
      <title>Re: What is the performance impact of reporting alignment faults?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5510575#M102503</link>
      <description>&lt;P&gt;John: based on a quote from DEC for a VAX-11/780 to VAX-11/785 upgrade, eight megabytes of VAX-11/780 memory cost US$36,000 back about 1985. &amp;nbsp;(That was MS780-E series) &amp;nbsp;We ended up doing that upgrade with used memory (MS780-C series), and that was "only" US$10,000 for that part of the upgrade. &amp;nbsp;At the time, an 8 MB VAX-11/785 was a very large VAX box.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm well aware of the data packing and padding on VAX, Alpha and Itanium running OpenVMS, and the related compiler pragmas and such. &amp;nbsp;(That's for C, other languages vary.) &amp;nbsp;And its history, for that matter.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It's the "completely different world" of HP-UX and its compilers that's the oddity (to me) here.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But then HP-UX and its compilers on Itanium is presently only a curiosity here (for me), for reasons not germane to this discussion. &amp;nbsp;And as mentioned in another reply of mine, I'll be scrounging for technical papers on the compiler and the operating system platform, if anyone has suggestions.&lt;/P&gt;</description>
      <pubDate>Fri, 27 Jan 2012 14:07:59 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/what-is-the-performance-impact-of-reporting-alignment-faults/m-p/5510575#M102503</guid>
      <dc:creator>Hoff</dc:creator>
      <dc:date>2012-01-27T14:07:59Z</dc:date>
    </item>
  </channel>
</rss>

