You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Andy Seaborne <an...@apache.org> on 2012/08/10 14:57:39 UTC

Re: tdbloader2 performance for 1B+ triples

On 10/08/12 06:34, Michael Brunnbauer wrote:
>
> Hello Andy,
>
> [tdbloader2]
>
> On Thu, Aug 09, 2012 at 06:53:59PM +0200, Michael Brunnbauer wrote:
>> INFO  Add: 55,550,000 Data (Batch: 52 / Avg: 8,785)
>> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
>> Any idea what a good value for -Xmx for 1B+ triples would be ?
>> I will try with 16384 now.
>
> -Xmx16384M throws the memory error after 478 mio triples:
>
> INFO  Add: 478,600,000 Data (Batch: 247 / Avg: 13,627)
> Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded

478 million / 16G heap

This is bizarre.

Previously, with 32G heap:
> INFO  Add: 55,500,000 Data (Batch: 98 / Avg: 10,335)
> INFO    Elapsed: 5,369.59 seconds [2012/08/09 17:45:44 CEST]
> INFO  Add: 55,550,000 Data (Batch: 52 / Avg: 8,785)
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

which is 55 million, a lot less than when you decreased the heap size.

This morning, I have loaded (this is the end of the data phase, 
rformatted.):

11:46:38 INFO  loader               ::
    Add: 747,400,000 Data (Batch: 187,969 / Avg: 131,924)
11:46:43 INFO  loader               ::
    Total: 747,436,151 tuples : 5,669.75 seconds :
    131,828.81 tuples/sec [2012/08/10 11:46:43 UTC]

with no change to tdbloader2 other than fix the classpath setting bug so 
it's -Xmx1200M.

The machine is a 34G machine in Amazon - I even forgot to halt the large 
dataset it is hosting but it's not public yet and only the odd developer 
is testing against it.


What is the data like?  The data shape should only affect the building 
of the node table.

Many long literals? (might explain why the default setting was not enough)

but that does not explain why decreasing the heap size means it gets 
further.

Unrelated:

I have noticed the parameters to sort(1) could be a lot better ...

e.g.
--buffer-size=50%  --parallel=3

I'll try that out but you're crashing out in the data phase before index 
creation.

	Andy

>
> Regards,
>
> Michael Brunnbauer
>


Re: tdbloader2 performance for 1B+ triples

Posted by Andy Seaborne <an...@apache.org>.
On 10/08/12 18:40, Michael Brunnbauer wrote:

> It's an nquads file with 4,9 mio named graphs

OK - that's a difference - may be related.  I'll take a look although I 
need to create some test data first.

If it is this, then a smaller heap and more manageable size of data is 
something I can do.


- data we crawled from the web
> for foaf-search.net with the file url as graph. Many foaf profiles with blank
> nodes but also other data that uses foaf:name. There are also other nquad
> files with DBpedia quads but these should be processed much later.
>
>> Many long literals? (might explain why the default setting was not enough)
>
> I don't know. I can check with a SPARQL query on an older TDB version
> of the data if you want.

It would be useful to know because the node table cache growing might 
(guess) be squeezing the rest of the system.  It's count based so large 
literals mean the cache takes more bytes.

	Andy

>
> Regards,
>
> Michael Brunnbauer
>


Re: tdbloader2 performance for 1B+ triples

Posted by Michael Brunnbauer <br...@netestate.de>.
Hello Andy,

On Fri, Aug 10, 2012 at 01:57:39PM +0100, Andy Seaborne wrote:
> Previously, with 32G heap:

No. with 2048M heap.

> What is the data like?  The data shape should only affect the building 
> of the node table.

It's an nquads file with 4,9 mio named graphs - data we crawled from the web
for foaf-search.net with the file url as graph. Many foaf profiles with blank 
nodes but also other data that uses foaf:name. There are also other nquad 
files with DBpedia quads but these should be processed much later.

> Many long literals? (might explain why the default setting was not enough)

I don't know. I can check with a SPARQL query on an older TDB version
of the data if you want.

Regards,

Michael Brunnbauer

-- 
++  Michael Brunnbauer
++  netEstate GmbH
++  Geisenhausener Straße 11a
++  81379 München
++  Tel +49 89 32 19 77 80
++  Fax +49 89 32 19 77 89 
++  E-Mail brunni@netestate.de
++  http://www.netestate.de/
++
++  Sitz: München, HRB Nr.142452 (Handelsregister B München)
++  USt-IdNr. DE221033342
++  Geschäftsführer: Michael Brunnbauer, Franz Brunnbauer
++  Prokurist: Dipl. Kfm. (Univ.) Markus Hendel