Thread View: vmsnet.alpha
2 messages
2 total messages
Started by Art Kreymer
Fri, 22 Jan 1993 21:23
Re: Alpha speed on disk devices
Author: Art Kreymer
Date: Fri, 22 Jan 1993 21:23
Date: Fri, 22 Jan 1993 21:23
54 lines
2370 bytes
2370 bytes
There was earlier discussion of I/O problems on some Alpha systems.
Fortran unformatted I/O to disk seems to be somewhat slower than
expected, and, surprisingly, is CPU limited. That is, the CPU is
running at 100% utilization in USER mode while the I/O is in progress.
The I/O problem is almost certainly related to the Fortran Compiler.
Note the following timings, writing a 32,000 block (16 Mbyte) file
composed of records of length 8000 words (32 Kbytes)
Formatted writes and VESTed images use much less CPU than native
unformatted writes. Implied I/O do loops suffer no or negative
overhead.
Elapsed CPU Method
15 1. UNFORMATTED WRITE (1) DATA (vested image from VAX)
25. 1. FORMATTED WRITE (1,'(A32000)') CDATA
20. 15. UNFORMATTED WRITE (1) DATA (native image)
15. 15. UNFORMATTED WRITE (1) (DATA(J),J=1,8000)
Here's the test program:
PROGRAM WRITE
PARAMETER ( LEN = 8000 )
INTEGER DATA ( LEN )
CHARACTER*(4*LEN) CDATA
EQUIVALENCE ( CDATA , DATA )
DO I = 1 , LEN
DATA(I) = I
ENDDO
OPEN ( 1 , FILE = 'TEST' ,
+ STATUS = 'NEW' ,
+ FORM = 'UNFORMATTED' , ! unformatted
! + FORM = 'FORMATTED' , ! formatted
+ RECL = 8000 , ! unformatted
! + RECL = 32000 , ! formatted
+ RECORDTYPE = 'VARIABLE' ,
+ INITIALSIZE = 32 000 )
DO I = 1 , 512
WRITE (1) DATA ! unformatted
! WRITE (1) (DATA(J),J=1,LEN) ! unformatted implied do
! WRITE (1, '(A32000)' ) CDATA ! formatted
ENDDO
WRITE (*,*) ' DONE '
CLOSE (1)
CALL EXIT
STOP
END
Re: Alpha speed on disk devices
Author: Michele Michelotto
Date: Tue, 26 Jan 1993 08:11
Date: Tue, 26 Jan 1993 08:11
47 lines
2899 bytes
2899 bytes
In article <1jpojvINNin@fnnews.fnal.gov>, kreymer@fnsg01.fnal.gov (Art Kreymer) writes: |> There was earlier discussion of I/O problems on some Alpha systems. |> Fortran unformatted I/O to disk seems to be somewhat slower than |> expected, and, surprisingly, is CPU limited. That is, the CPU is |> running at 100% utilization in USER mode while the I/O is in progress. |> |> The I/O problem is almost certainly related to the Fortran Compiler. |> Note the following timings, writing a 32,000 block (16 Mbyte) file |> composed of records of length 8000 words (32 Kbytes) |> |> Formatted writes and VESTed images use much less CPU than native |> unformatted writes. Implied I/O do loops suffer no or negative |> overhead. |> |> Elapsed CPU Method |> 15 1. UNFORMATTED WRITE (1) DATA (vested image from VAX) |> 25. 1. FORMATTED WRITE (1,'(A32000)') CDATA |> 20. 15. UNFORMATTED WRITE (1) DATA (native image) |> 15. 15. UNFORMATTED WRITE (1) (DATA(J),J=1,8000) |> |> Here's the test program: .. deleted... There is another strange behaviour: On the VAX you obtain moreless the same results (in KB/s) if you declare DATA as integer*1(character),integer*2, integer*4, integer*8;if you do unformatted write. This is normal because the write are buffered. This happens also with the VESTed images omn the Alpha. With native code on the Alpha you obtain very good result with i*8 (and low cpu/elapsed ratio) and very bad result with i*1 (with cpu/elaps that is close to 1.). OK. Now I can declare an equivalence of my character buffer with a REAL*16 buffer, I can do all my operation with the character buffer and then do the I/O with the REAL*16 buffer. I can achieve very good performance but WHY ON THE VAX I DON'T NEED TO DO THESE TRICKS? -- Ciao, Michele ****************************************************************************** * Michele Michelotto, INFN Padova, Delphi group. * * Internet: michelot@dxcern.cern.ch BITNET: MICHELOTTO@IPDINFN * * Tel (+39).49.844347 HEPNET: VAXFPD::MICHELOTTO * * "Ho bevuto CHE COSA ?" (Socrate) * ******************************************************************************
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads