Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!elroy.jpl.nasa.gov!ncar!acd.ucar.edu!pack From: pack@acd.ucar.edu (Dan Packman) Newsgroups: comp.benchmarks Subject: A short io benchmark... Keywords: How many simultaneous reads are efficient? Message-ID: <9456@ncar.ucar.edu> Date: 7 Dec 90 23:38:06 GMT Sender: news@ncar.ucar.edu Reply-To: pack@acd.ucar.edu (Dan Packman) Organization: Atmospheric Chemistry Division/NCAR, Boulder CO Lines: 47 The following very short benchmark program attempts to measure raw fortran unformatted io speed. I can duplicate the program n times for n tmp files or can run n read programs on a single tmp file. The tmp file is about 10 megabytes in size. The 130000 dimension is representative of some of our applications. I simply run "simultaneously" via % time rd & ; time rd1 & ; time rd2 & ; time rd3 & ; ... Running on an IBM RS6000/320 I obtain (in elapsed seconds on an otherwise unloaded machine): \n | 1 | 2 | 3 | 4 | 5 | 6 | 7 | __________________________________________________________________ one tmpfle | | 31 | 47 | 64 | 80 | 101 | 119 | _______________16.5_______________________________________________ n tmpfles | | 36.5| 56 | 86-116 | __________________________________________________________________ The first test shows remarkable linearity through 7 simultaneous processes. The second test with multiple files to read shows a falloff (and unequal times for the processes) for 4 simultaneous processes. Any comments? [I would guess that "server" class machines might show slightly better times for a single read, but would show much better results for many simultaneous processes.] ===== program wr double precision a(130000) open(1,file='/tmp/tmpfle1',form='unformatted',status='new') do 10 i=1,10 a(130000)=dble(i) write(1)(a(ii),ii=1,130000) 10 continue end program rd double precision a(130000) open(1,file='/tmp/tmpfle1',form='unformatted',status='old') do 10 i=1,10 read(1)(a(ii),ii=1,130000) if (a(130000).ne.dble(i)) then write(0,100)i,a(130000) 100 format(' i=',i2,' bad value =',1pd12.5) 10 continue end Dan Packman NCAR INTERNET: pack@ncar.UCAR.EDU (303) 497-1427 P.O. Box 3000 CSNET: pack@ncar.CSNET Boulder, CO 80307 DECNET SPAN: 9.367::PACK