On 08/17/2012 01:43 PM, Roy Stogner wrote:
>
> On Fri, 17 Aug 2012, Jens Lohne Eftang wrote:
>
>> After some profiling (where I use START and STOP logging statements just
>> to time the calls to read_serialized_data), it seems that reading in
>> ~1GB of data to memory takes about 10 minutes. This does not make any
>> sense to me (for example, copying 1GB of data from one physical disk to
>> another physical disk on my machine takes only seconds).
>>
>> The data is split between many RB basis functions (about 1GB of data
>> split between ca 60000 files). So I was thinking the cause of the very
>> slow reading was overhead induced by the large number of individual
>> calls to read_serialized_data, and perhaps related memory management?
>>
>> Any ideas on this would be very appreciated!
>
> A lot of filesystem types do behave badly when you put too many
> entries in the same directory.  How long does copying take if your
> "1GB of data" is in those 60000 separate files?
>
> On the other hand, we may have some performance bug.  Can you stick
> logging into the read_serialized_data internals and figure out where
> the holdup is?
I did some more detailed profiling. As far as I could understand, all IO 
is handled around line 777 in system_io.C. I stuck logging around the line

  if (libMesh::processor_id() == 0) io.data_stream(input_buffer.empty() 
? NULL : &input_buffer[0], tot_n_comp);

System::read_serialized_vector accounts for 380 seconds. But of this, 
execution of the above line only accounts for 6.5 seconds.

Jens



> ---
> Roy


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to