From: Paul F. <fod...@gm...> - 2008-08-15 01:35:58
|
Dear Sir, Our performance tests failed to execute in the OpenCyc system. They work for small tests (a couple of constants), but they fail to work for large number of constants: 50K,100K, 250K, 500K, 1 million. For instance, our smallest test: http://www.lmc.cs.sunysb.edu/~tests/cyc_paul/sg_cyc_without_cycle_01.cyc<http://www.lmc.cs.sunysb.edu/%7Etests/cyc_paul/sg_cyc_without_cycle_01.cyc>with the query for all the tuples sg-predicate: (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) ) fails after a few minutes with the message: "Implementation error: Recursive error". On OpenCyc: $ run-cyc.sh CYC(1): (load "sg_cyc_without_cycle_01.cyc") T CYC(2): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time :complete-total-time :time-per-answer :time-to-first-answer :answer-count))) Implementation error: Recursive error This test does the following: we have two kinds of facts: par/2 and sib/2, where par(X,Y) means that the parent of X is Y and sib(X,Y) means that the X is sibling of Y. The rules are the following: - every node X in the graph is in the same generation sg/2 with itself: sg(X,X) :- par(X,_);par(_,X);sib(X,_);sib(_,X), - if two nodes are siblings then they are in the same generation: sg(X,Y) :- sib(X,Y). - if two nodes are in hte same generation then their parents are in the same generation: sg(X,Y) :- par(X,Z), sg(Z,Z1), par(Y,Z1). The "sg_cyc_without_cycle_01.cyc" example doesn't have any cycles in the data structure and other systems that we tested (XSB, Yap, dlv, ontobroker) solve it (finds all solutions) in about a second. Please tell us if there is anything that we can do. Regards, Paul Fodor |
From: Paul F. <fod...@gm...> - 2008-08-15 21:03:24
|
Dear Sir, We tested the recursive same generation test for smaller tests (500 nodes) than our initial tests and it is working. For 1000 nodes it stops working with the error "Implementation error: Recursive error" Do you know any option that could make it run for bigger tests (such as, the one that I put online for you: http://www.lmc.cs.sunysb.edu/~tests/cyc_paul/sg_cyc_without_cycle_01.cyc ) ? For 500 node, we get: CYC(1): (load "sg_cyc_500nodes.cyc") T CYC(2): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) ) (((?X . #$node-190) (?Y . #$node-190)) ((?X . #$node-374) (?Y . #$node-374)) ((?X . #$node-491) ...) :EXHAUST-TOTAL NIL (7.90625 7.921875 0.007743633692458374 0.015625 1021) CYC(3): Please tell me if there is any option to make it work for bigger examples. Regards, thank you, Paul. On Thu, Aug 14, 2008 at 9:36 PM, Paul Fodor <fod...@gm...> wrote: > Dear Sir, > > Our performance tests failed to execute in the OpenCyc system. They work > for small tests (a couple of constants), but they fail to work for large > number of constants: 50K,100K, 250K, 500K, 1 million. For instance, our > smallest test: > > http://www.lmc.cs.sunysb.edu/~tests/cyc_paul/sg_cyc_without_cycle_01.cycwith the query for all the tuples sg-predicate: > > (new-cyc-query > (LIST #$sg-predicate '?X '?Y) #$BaseKB > (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time > :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) > ) > > fails after a few minutes with the message: "Implementation error: > Recursive error". > > On OpenCyc: > $ run-cyc.sh > CYC(1): (load "sg_cyc_without_cycle_01.cyc") > T > > CYC(2): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST > :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time > :complete-total-time :time-per-answer :time-to-first-answer :answer-count))) > > Implementation error: Recursive error > > This test does the following: we have two kinds of facts: par/2 and sib/2, > where par(X,Y) means that the parent of X is Y and sib(X,Y) means that the X > is sibling of Y. The rules are the following: > - every node X in the graph is in the same generation sg/2 with itself: > sg(X,X) :- par(X,_);par(_,X);sib(X,_);sib(_,X), > - if two nodes are siblings then they are in the same generation: sg(X,Y) > :- sib(X,Y). > - if two nodes are in hte same generation then their parents are in the > same generation: sg(X,Y) :- par(X,Z), sg(Z,Z1), par(Y,Z1). > > The "sg_cyc_without_cycle_01.cyc" example doesn't have any cycles in the > data structure and other systems that we tested (XSB, Yap, dlv, ontobroker) > solve it (finds all solutions) in about a second. > > Please tell us if there is anything that we can do. > > Regards, > Paul Fodor > > |
From: <dm...@us...> - 2008-08-16 01:56:14
|
Looks like the Research CYC JRTL is working: Is this the correct test? CYC(3):(load "sg_cyc_without_cycle_01.cyc") [Time: 234.4 secs] T CYC(4): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) ) [Time: 13.843 secs] (((?X . #$node-87) (?Y . #$node-425)) ((?X . #$node-425) (?Y . #$node-425)) ((?X . #$node-87) (?Y . #$node-87)) ((?X . #$node-129) (?Y . #$node-256)) ((?X . #$node-256) (?Y . #$node-256)) ((?X . #$node-129) (?Y . #$node-129)) ((?X . #$node-96) (?Y . #$node-151)) ((?X . #$node-151) (?Y . #$node-151)) ((?X . #$node-96) (?Y . #$node-96)) ((?X . #$node-29) (?Y . #$node-143)) ((?X . #$node-143) (?Y . #$node-143)) ((?X . #$node-29) (?Y . #$node-29)) ((?X . #$node-324) (?Y . #$node-489)) ((?X . #$node-489) (?Y . #$node-489)) ((?X . #$node-324) (?Y . #$node-324)) ((?X . #$node-311) (?Y . #$node-372)) ((?X . #$node-372) (?Y . #$node-372)) ((?X . #$node-311) (?Y . #$node-311)) ((?X . #$node-144) (?Y . #$node-363)) ((?X . #$node-363) (?Y . #$node-363)) ((?X . #$node-144) (?Y . #$node-144)) ((?X . #$node-132) (?Y . #$node-394)) ((?X . #$node-394) (?Y . #$node-394)) ((?X . #$node-132) (?Y . #$node-132)) ((?X . #$node-53) (?Y . #$node-443)) ((?X . #$node-443) (?Y . #$node-443)) ((?X . #$node-53) (?Y . #$node-53)) ((?X . #$node-374) (?Y . #$node-497)) ((?X . #$node-497) (?Y . #$node-497)) ((?X . #$node-374) (?Y . #$node-374)) ((?X . #$node-257) (?Y . #$node-286)) ((?X . #$node-286) (?Y . #$node-286)) ((?X . #$node-257) (?Y . #$node-257)) ((?X . #$node-136) (?Y . #$node-480)) ((?X . #$node-480) (?Y . #$node-480)) ((?X . #$node-136) (?Y . #$node-136)) ((?X . #$node-85) (?Y . #$node-215)) ((?X . #$node-215) (?Y . #$node-215)) ((?X . #$node-85) (?Y . #$node-85)) ((?X . #$node-28) (?Y . #$node-105)) ((?X . #$node-105) (?Y . #$node-105)) ((?X . #$node-28) (?Y . #$node-28)) ((?X . #$node-72) (?Y . #$node-104)) ((?X . #$node-104) (?Y . #$node-104)) ((?X . #$node-72) (?Y . #$node-72)) ((?X . #$node-118) (?Y . #$node-192)) ((?X . #$node-192) (?Y . #$node-192)) ((?X . #$node-118) (?Y . #$node-118)) ((?X . #$node-279) (?Y . #$node-313)) ((?X . #$node-313) (?Y . #$node-313)) ((?X . #$node-279) (?Y . #$node-279)) ((?X . #$node-206) (?Y . #$node-387)) ((?X . #$node-387) (?Y . #$node-387)) ((?X . #$node-206) (?Y . #$node-206)) ((?X . #$node-250) (?Y . #$node-414)) ((?X . #$node-414) (?Y . #$node-414)) ((?X . #$node-250) (?Y . #$node-250)) ((?X . #$node-54) (?Y . #$node-210)) ((?X . #$node-210) (?Y . #$node-210)) ((?X . #$node-54) (?Y . #$node-54)) ((?X . #$node-39) (?Y . #$node-169)) ((?X . #$node-169) (?Y . #$node-169)) ((?X . #$node-39) (?Y . #$node-39)) ((?X . #$node-75) (?Y . #$node-352)) ((?X . #$node-352) (?Y . #$node-352)) ((?X . #$node-75) (?Y . #$node-75)) ((?X . #$node-56) (?Y . #$node-482)) ((?X . #$node-482) (?Y . #$node-482)) ((?X . #$node-56) (?Y . #$node-56)) ((?X . #$node-464) (?Y . #$node-472)) ((?X . #$node-472) (?Y . #$node-472)) ((?X . #$node-464) (?Y . #$node-464)) ((?X . #$node-80) (?Y . #$node-492)) ((?X . #$node-492) (?Y . #$node-492)) ((?X . #$node-80) (?Y . #$node-80)) ((?X . #$node-131) (?Y . #$node-368)) ((?X . #$node-368) (?Y . #$node-368)) ((?X . #$node-131) (?Y . #$node-131)) ((?X . #$node-54) (?Y . #$node-137)) ((?X . #$node-137) (?Y . #$node-137)) ((?X . #$node-42) (?Y . #$node-288)) ((?X . #$node-288) (?Y . #$node-288)) ((?X . #$node-42) (?Y . #$node-42)) ((?X . #$node-186) (?Y . #$node-186)) ((?X . #$node-233) (?Y . #$node-499)) ((?X . #$node-499) (?Y . #$node-499)) ((?X . #$node-233) (?Y . #$node-233)) ((?X . #$node-179) (?Y . #$node-238)) ((?X . #$node-238) (?Y . #$node-238)) ((?X . #$node-179) (?Y . #$node-179)) ((?X . #$node-38) (?Y . #$node-357)) ((?X . #$node-357) (?Y . #$node-357)) ((?X . #$node-38) (?Y . #$node-38)) ((?X . #$node-216) (?Y . #$node-462)) ((?X . #$node-462) (?Y . #$node-462)) ((?X . #$node-216) (?Y . #$node-216)) ((?X . #$node-39) (?Y . #$node-320)) ((?X . #$node-320) (?Y . #$node-320)) ((?X . #$node-53) (?Y . #$node-254)) ((?X . #$node-254) (?Y . #$node-254)) ... ) :EXHAUST-TOTAL NIL (13.743 13.843 0.009180360721442887 0.059 1497) CYC(5): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) ) [Time: 10.88 secs] (((?X . #$node-87) (?Y . #$node-425)) ((?X . #$node-425) (?Y . #$node-425)) ((?X . #$node-87) (?Y . #$node-87)) ((?X . #$node-129) (?Y . #$node-256)) ((?X . #$node-256) (?Y . #$node-256)) ((?X . #$node-129) (?Y . #$node-129)) ((?X . #$node-96) (?Y . #$node-151)) ((?X . #$node-151) (?Y . #$node-151)) ((?X . #$node-96) (?Y . #$node-96)) ((?X . #$node-29) (?Y . #$node-143)) ((?X . #$node-143) (?Y . #$node-143)) ((?X . #$node-29) (?Y . #$node-29)) ((?X . #$node-324) (?Y . #$node-489)) ((?X . #$node-489) (?Y . #$node-489)) ((?X . #$node-324) (?Y . #$node-324)) ((?X . #$node-311) (?Y . #$node-372)) ((?X . #$node-372) (?Y . #$node-372)) ((?X . #$node-311) (?Y . #$node-311)) ((?X . #$node-144) (?Y . #$node-363)) ((?X . #$node-363) (?Y . #$node-363)) ((?X . #$node-144) (?Y . #$node-144)) ((?X . #$node-132) (?Y . #$node-394)) ((?X . #$node-394) (?Y . #$node-394)) ((?X . #$node-132) (?Y . #$node-132)) ((?X . #$node-53) (?Y . #$node-443)) ((?X . #$node-443) (?Y . #$node-443)) ((?X . #$node-53) (?Y . #$node-53)) ((?X . #$node-374) (?Y . #$node-497)) ((?X . #$node-497) (?Y . #$node-497)) ((?X . #$node-374) (?Y . #$node-374)) ((?X . #$node-257) (?Y . #$node-286)) ((?X . #$node-286) (?Y . #$node-286)) ((?X . #$node-257) (?Y . #$node-257)) ((?X . #$node-136) (?Y . #$node-480)) ((?X . #$node-480) (?Y . #$node-480)) ((?X . #$node-136) (?Y . #$node-136)) ((?X . #$node-85) (?Y . #$node-215)) ((?X . #$node-215) (?Y . #$node-215)) ((?X . #$node-85) (?Y . #$node-85)) ((?X . #$node-28) (?Y . #$node-105)) ((?X . #$node-105) (?Y . #$node-105)) ((?X . #$node-28) (?Y . #$node-28)) ((?X . #$node-72) (?Y . #$node-104)) ((?X . #$node-104) (?Y . #$node-104)) ((?X . #$node-72) (?Y . #$node-72)) ((?X . #$node-118) (?Y . #$node-192)) ((?X . #$node-192) (?Y . #$node-192)) ((?X . #$node-118) (?Y . #$node-118)) ((?X . #$node-279) (?Y . #$node-313)) ((?X . #$node-313) (?Y . #$node-313)) ((?X . #$node-279) (?Y . #$node-279)) ((?X . #$node-206) (?Y . #$node-387)) ((?X . #$node-387) (?Y . #$node-387)) ((?X . #$node-206) (?Y . #$node-206)) ((?X . #$node-250) (?Y . #$node-414)) ((?X . #$node-414) (?Y . #$node-414)) ((?X . #$node-250) (?Y . #$node-250)) ((?X . #$node-54) (?Y . #$node-210)) ((?X . #$node-210) (?Y . #$node-210)) ((?X . #$node-54) (?Y . #$node-54)) ((?X . #$node-39) (?Y . #$node-169)) ((?X . #$node-169) (?Y . #$node-169)) ((?X . #$node-39) (?Y . #$node-39)) ((?X . #$node-75) (?Y . #$node-352)) ((?X . #$node-352) (?Y . #$node-352)) ((?X . #$node-75) (?Y . #$node-75)) ((?X . #$node-56) (?Y . #$node-482)) ((?X . #$node-482) (?Y . #$node-482)) ((?X . #$node-56) (?Y . #$node-56)) ((?X . #$node-464) (?Y . #$node-472)) ((?X . #$node-472) (?Y . #$node-472)) ((?X . #$node-464) (?Y . #$node-464)) ((?X . #$node-80) (?Y . #$node-492)) ((?X . #$node-492) (?Y . #$node-492)) ((?X . #$node-80) (?Y . #$node-80)) ((?X . #$node-131) (?Y . #$node-368)) ((?X . #$node-368) (?Y . #$node-368)) ((?X . #$node-131) (?Y . #$node-131)) ((?X . #$node-54) (?Y . #$node-137)) ((?X . #$node-137) (?Y . #$node-137)) ((?X . #$node-42) (?Y . #$node-288)) ((?X . #$node-288) (?Y . #$node-288)) ((?X . #$node-42) (?Y . #$node-42)) ((?X . #$node-186) (?Y . #$node-186)) ((?X . #$node-233) (?Y . #$node-499)) ((?X . #$node-499) (?Y . #$node-499)) ((?X . #$node-233) (?Y . #$node-233)) ((?X . #$node-179) (?Y . #$node-238)) ((?X . #$node-238) (?Y . #$node-238)) ((?X . #$node-179) (?Y . #$node-179)) ((?X . #$node-38) (?Y . #$node-357)) ((?X . #$node-357) (?Y . #$node-357)) ((?X . #$node-38) (?Y . #$node-38)) ((?X . #$node-216) (?Y . #$node-462)) ((?X . #$node-462) (?Y . #$node-462)) ((?X . #$node-216) (?Y . #$node-216)) ((?X . #$node-39) (?Y . #$node-320)) ((?X . #$node-320) (?Y . #$node-320)) ((?X . #$node-53) (?Y . #$node-254)) ((?X . #$node-254) (?Y . #$node-254)) ... ) :EXHAUST-TOTAL NIL (10.88 10.88 0.007267869071476286 0 1497) CYC(6): ----- Original Message ----- From: Paul Fodor To: OpenCyc developers Sent: Friday, August 15, 2008 2:03 PM Subject: Re: [OpenCyc-devel] Cyc engine Dear Sir, We tested the recursive same generation test for smaller tests (500 nodes) than our initial tests and it is working. For 1000 nodes it stops working with the error "Implementation error: Recursive error" Do you know any option that could make it run for bigger tests (such as, the one that I put online for you: http://www.lmc.cs.sunysb.edu/~tests/cyc_paul/sg_cyc_without_cycle_01.cyc ) ? For 500 node, we get: CYC(1): (load "sg_cyc_500nodes.cyc") T CYC(2): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) ) (((?X . #$node-190) (?Y . #$node-190)) ((?X . #$node-374) (?Y . #$node-374)) ((?X . #$node-491) ...) :EXHAUST-TOTAL NIL (7.90625 7.921875 0.007743633692458374 0.015625 1021) CYC(3): Please tell me if there is any option to make it work for bigger examples. Regards, thank you, Paul. On Thu, Aug 14, 2008 at 9:36 PM, Paul Fodor <fod...@gm...> wrote: Dear Sir, Our performance tests failed to execute in the OpenCyc system. They work for small tests (a couple of constants), but they fail to work for large number of constants: 50K,100K, 250K, 500K, 1 million. For instance, our smallest test: http://www.lmc.cs.sunysb.edu/~tests/cyc_paul/sg_cyc_without_cycle_01.cyc with the query for all the tuples sg-predicate: (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) ) fails after a few minutes with the message: "Implementation error: Recursive error". On OpenCyc: $ run-cyc.sh CYC(1): (load "sg_cyc_without_cycle_01.cyc") T CYC(2): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time :complete-total-time :time-per-answer :time-to-first-answer :answer-count))) Implementation error: Recursive error This test does the following: we have two kinds of facts: par/2 and sib/2, where par(X,Y) means that the parent of X is Y and sib(X,Y) means that the X is sibling of Y. The rules are the following: - every node X in the graph is in the same generation sg/2 with itself: sg(X,X) :- par(X,_);par(_,X);sib(X,_);sib(_,X), - if two nodes are siblings then they are in the same generation: sg(X,Y) :- sib(X,Y). - if two nodes are in hte same generation then their parents are in the same generation: sg(X,Y) :- par(X,Z), sg(Z,Z1), par(Y,Z1). The "sg_cyc_without_cycle_01.cyc" example doesn't have any cycles in the data structure and other systems that we tested (XSB, Yap, dlv, ontobroker) solve it (finds all solutions) in about a second. Please tell us if there is anything that we can do. Regards, Paul Fodor ------------------------------------------------------------------------------ ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ------------------------------------------------------------------------------ _______________________________________________ OpenCyc-devel mailing list Ope...@li... https://lists.sourceforge.net/lists/listinfo/opencyc-devel |
From: Paul F. <pf...@cs...> - 2008-08-16 03:19:22
|
> Looks like the Research CYC JRTL is working: Yes, thank you very much. Everything seems correct. How much memory did you allocated for the Java Virtual Machine? I allocated -Xmx1500m. Regards, thank you, Paul Fodor. On Fri, Aug 15, 2008 at 9:56 PM, <dm...@us...> wrote: > Looks like the Research CYC JRTL is working: > > > Is this the correct test? > > > CYC(3):(load "sg_cyc_without_cycle_01.cyc") > [Time: 234.4 secs] > T > CYC(4): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST > :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time > :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) > ) > > [Time: 13.843 secs] > (((?X . #$node-87) (?Y . #$node-425)) ((?X . #$node-425) (?Y . #$node-425)) > ((?X . #$node-87) (?Y . #$node-87)) ((?X . #$node-129) (?Y . #$node-256)) > ((?X . #$node-256) (?Y . #$node-256)) ((?X . #$node-129) (?Y . #$node-129)) > ((?X . #$node-96) (?Y . #$node-151)) ((?X . #$node-151) (?Y . #$node-151)) > ((?X . #$node-96) (?Y . #$node-96)) ((?X . #$node-29) (?Y . #$node-143)) > ((?X . #$node-143) (?Y . #$node-143)) ((?X . #$node-29) (?Y . #$node-29)) > ((?X . #$node-324) (?Y . #$node-489)) ((?X . #$node-489) (?Y . #$node-489)) > ((?X . #$node-324) (?Y . #$node-324)) ((?X . #$node-311) (?Y . #$node-372)) > ((?X . #$node-372) (?Y . #$node-372)) ((?X . #$node-311) (?Y . #$node-311)) > ((?X . #$node-144) (?Y . #$node-363)) ((?X . #$node-363) (?Y . #$node-363)) > ((?X . #$node-144) (?Y . #$node-144)) ((?X . #$node-132) (?Y . #$node-394)) > ((?X . #$node-394) (?Y . #$node-394)) ((?X . #$node-132) (?Y . #$node-132)) > ((?X . #$node-53) (?Y . #$node-443)) ((?X . #$node-443) (?Y . #$node-443)) > ((?X . #$node-53) (?Y . #$node-53)) ((?X . #$node-374) (?Y . #$node-497)) > ((?X . #$node-497) (?Y . #$node-497)) ((?X . #$node-374) (?Y . #$node-374)) > ((?X . #$node-257) (?Y . #$node-286)) ((?X . #$node-286) (?Y . #$node-286)) > ((?X . #$node-257) (?Y . #$node-257)) ((?X . #$node-136) (?Y . #$node-480)) > ((?X . #$node-480) (?Y . #$node-480)) ((?X . #$node-136) (?Y . #$node-136)) > ((?X . #$node-85) (?Y . #$node-215)) ((?X . #$node-215) (?Y . #$node-215)) > ((?X . #$node-85) (?Y . #$node-85)) ((?X . #$node-28) (?Y . #$node-105)) > ((?X . #$node-105) (?Y . #$node-105)) ((?X . #$node-28) (?Y . #$node-28)) > ((?X . #$node-72) (?Y . #$node-104)) ((?X . #$node-104) (?Y . #$node-104)) > ((?X . #$node-72) (?Y . #$node-72)) ((?X . #$node-118) (?Y . #$node-192)) > ((?X . #$node-192) (?Y . #$node-192)) ((?X . #$node-118) (?Y . #$node-118)) > ((?X . #$node-279) (?Y . #$node-313)) ((?X . #$node-313) (?Y . #$node-313)) > ((?X . #$node-279) (?Y . #$node-279)) ((?X . #$node-206) (?Y . #$node-387)) > ((?X . #$node-387) (?Y . #$node-387)) ((?X . #$node-206) (?Y . #$node-206)) > ((?X . #$node-250) (?Y . #$node-414)) ((?X . #$node-414) (?Y . #$node-414)) > ((?X . #$node-250) (?Y . #$node-250)) ((?X . #$node-54) (?Y . #$node-210)) > ((?X . #$node-210) (?Y . #$node-210)) ((?X . #$node-54) (?Y . #$node-54)) > ((?X . #$node-39) (?Y . #$node-169)) ((?X . #$node-169) (?Y . #$node-169)) > ((?X . #$node-39) (?Y . #$node-39)) ((?X . #$node-75) (?Y . #$node-352)) > ((?X . #$node-352) (?Y . #$node-352)) ((?X . #$node-75) (?Y . #$node-75)) > ((?X . #$node-56) (?Y . #$node-482)) ((?X . #$node-482) (?Y . #$node-482)) > ((?X . #$node-56) (?Y . #$node-56)) ((?X . #$node-464) (?Y . #$node-472)) > ((?X . #$node-472) (?Y . #$node-472)) ((?X . #$node-464) (?Y . #$node-464)) > ((?X . #$node-80) (?Y . #$node-492)) ((?X . #$node-492) (?Y . #$node-492)) > ((?X . #$node-80) (?Y . #$node-80)) ((?X . #$node-131) (?Y . #$node-368)) > ((?X . #$node-368) (?Y . #$node-368)) ((?X . #$node-131) (?Y . #$node-131)) > ((?X . #$node-54) (?Y . #$node-137)) ((?X . #$node-137) (?Y . #$node-137)) > ((?X . #$node-42) (?Y . #$node-288)) ((?X . #$node-288) (?Y . #$node-288)) > ((?X . #$node-42) (?Y . #$node-42)) ((?X . #$node-186) (?Y . #$node-186)) > ((?X . #$node-233) (?Y . #$node-499)) ((?X . #$node-499) (?Y . #$node-499)) > ((?X . #$node-233) (?Y . #$node-233)) ((?X . #$node-179) (?Y . #$node-238)) > ((?X . #$node-238) (?Y . #$node-238)) ((?X . #$node-179) (?Y . #$node-179)) > ((?X . #$node-38) (?Y . #$node-357)) ((?X . #$node-357) (?Y . #$node-357)) > ((?X . #$node-38) (?Y . #$node-38)) ((?X . #$node-216) (?Y . #$node-462)) > ((?X . #$node-462) (?Y . #$node-462)) ((?X . #$node-216) (?Y . #$node-216)) > ((?X . #$node-39) (?Y . #$node-320)) ((?X . #$node-320) (?Y . #$node-320)) > ((?X . #$node-53) (?Y . #$node-254)) ((?X . #$node-254) (?Y . #$node-254)) > ... ) > :EXHAUST-TOTAL > NIL > (13.743 13.843 0.009180360721442887 0.059 1497) > CYC(5): (new-cyc-query > (LIST #$sg-predicate '?X '?Y) #$BaseKB > (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time > :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) > ) > [Time: 10.88 secs] > (((?X . #$node-87) (?Y . #$node-425)) ((?X . #$node-425) (?Y . #$node-425)) > ((?X . #$node-87) (?Y . #$node-87)) ((?X . #$node-129) (?Y . #$node-256)) > ((?X . #$node-256) (?Y . #$node-256)) ((?X . #$node-129) (?Y . #$node-129)) > ((?X . #$node-96) (?Y . #$node-151)) ((?X . #$node-151) (?Y . #$node-151)) > ((?X . #$node-96) (?Y . #$node-96)) ((?X . #$node-29) (?Y . #$node-143)) > ((?X . #$node-143) (?Y . #$node-143)) ((?X . #$node-29) (?Y . #$node-29)) > ((?X . #$node-324) (?Y . #$node-489)) ((?X . #$node-489) (?Y . #$node-489)) > ((?X . #$node-324) (?Y . #$node-324)) ((?X . #$node-311) (?Y . #$node-372)) > ((?X . #$node-372) (?Y . #$node-372)) ((?X . #$node-311) (?Y . #$node-311)) > ((?X . #$node-144) (?Y . #$node-363)) ((?X . #$node-363) (?Y . #$node-363)) > ((?X . #$node-144) (?Y . #$node-144)) ((?X . #$node-132) (?Y . #$node-394)) > ((?X . #$node-394) (?Y . #$node-394)) ((?X . #$node-132) (?Y . #$node-132)) > ((?X . #$node-53) (?Y . #$node-443)) ((?X . #$node-443) (?Y . #$node-443)) > ((?X . #$node-53) (?Y . #$node-53)) ((?X . #$node-374) (?Y . #$node-497)) > ((?X . #$node-497) (?Y . #$node-497)) ((?X . #$node-374) (?Y . #$node-374)) > ((?X . #$node-257) (?Y . #$node-286)) ((?X . #$node-286) (?Y . #$node-286)) > ((?X . #$node-257) (?Y . #$node-257)) ((?X . #$node-136) (?Y . #$node-480)) > ((?X . #$node-480) (?Y . #$node-480)) ((?X . #$node-136) (?Y . #$node-136)) > ((?X . #$node-85) (?Y . #$node-215)) ((?X . #$node-215) (?Y . #$node-215)) > ((?X . #$node-85) (?Y . #$node-85)) ((?X . #$node-28) (?Y . #$node-105)) > ((?X . #$node-105) (?Y . #$node-105)) ((?X . #$node-28) (?Y . #$node-28)) > ((?X . #$node-72) (?Y . #$node-104)) ((?X . #$node-104) (?Y . #$node-104)) > ((?X . #$node-72) (?Y . #$node-72)) ((?X . #$node-118) (?Y . #$node-192)) > ((?X . #$node-192) (?Y . #$node-192)) ((?X . #$node-118) (?Y . #$node-118)) > ((?X . #$node-279) (?Y . #$node-313)) ((?X . #$node-313) (?Y . #$node-313)) > ((?X . #$node-279) (?Y . #$node-279)) ((?X . #$node-206) (?Y . #$node-387)) > ((?X . #$node-387) (?Y . #$node-387)) ((?X . #$node-206) (?Y . #$node-206)) > ((?X . #$node-250) (?Y . #$node-414)) ((?X . #$node-414) (?Y . #$node-414)) > ((?X . #$node-250) (?Y . #$node-250)) ((?X . #$node-54) (?Y . #$node-210)) > ((?X . #$node-210) (?Y . #$node-210)) ((?X . #$node-54) (?Y . #$node-54)) > ((?X . #$node-39) (?Y . #$node-169)) ((?X . #$node-169) (?Y . #$node-169)) > ((?X . #$node-39) (?Y . #$node-39)) ((?X . #$node-75) (?Y . #$node-352)) > ((?X . #$node-352) (?Y . #$node-352)) ((?X . #$node-75) (?Y . #$node-75)) > ((?X . #$node-56) (?Y . #$node-482)) ((?X . #$node-482) (?Y . #$node-482)) > ((?X . #$node-56) (?Y . #$node-56)) ((?X . #$node-464) (?Y . #$node-472)) > ((?X . #$node-472) (?Y . #$node-472)) ((?X . #$node-464) (?Y . #$node-464)) > ((?X . #$node-80) (?Y . #$node-492)) ((?X . #$node-492) (?Y . #$node-492)) > ((?X . #$node-80) (?Y . #$node-80)) ((?X . #$node-131) (?Y . #$node-368)) > ((?X . #$node-368) (?Y . #$node-368)) ((?X . #$node-131) (?Y . #$node-131)) > ((?X . #$node-54) (?Y . #$node-137)) ((?X . #$node-137) (?Y . #$node-137)) > ((?X . #$node-42) (?Y . #$node-288)) ((?X . #$node-288) (?Y . #$node-288)) > ((?X . #$node-42) (?Y . #$node-42)) ((?X . #$node-186) (?Y . #$node-186)) > ((?X . #$node-233) (?Y . #$node-499)) ((?X . #$node-499) (?Y . #$node-499)) > ((?X . #$node-233) (?Y . #$node-233)) ((?X . #$node-179) (?Y . #$node-238)) > ((?X . #$node-238) (?Y . #$node-238)) ((?X . #$node-179) (?Y . #$node-179)) > ((?X . #$node-38) (?Y . #$node-357)) ((?X . #$node-357) (?Y . #$node-357)) > ((?X . #$node-38) (?Y . #$node-38)) ((?X . #$node-216) (?Y . #$node-462)) > ((?X . #$node-462) (?Y . #$node-462)) ((?X . #$node-216) (?Y . #$node-216)) > ((?X . #$node-39) (?Y . #$node-320)) ((?X . #$node-320) (?Y . #$node-320)) > ((?X . #$node-53) (?Y . #$node-254)) ((?X . #$node-254) (?Y . #$node-254)) > ... ) > :EXHAUST-TOTAL > NIL > (10.88 10.88 0.007267869071476286 0 1497) > CYC(6): > > > > ----- Original Message ----- > From: Paul Fodor > To: OpenCyc developers > Sent: Friday, August 15, 2008 2:03 PM > Subject: Re: [OpenCyc-devel] Cyc engine > Dear Sir, > > We tested the recursive same generation test for smaller tests (500 nodes) > than our initial tests and it is working. > > For 1000 nodes it stops working with the error "Implementation error: > Recursive error" > > Do you know any option that could make it run for bigger tests (such as, the > one that I put online for you: > http://www.lmc.cs.sunysb.edu/~tests/cyc_paul/sg_cyc_without_cycle_01.cyc ) ? > > For 500 node, we get: > > CYC(1): (load "sg_cyc_500nodes.cyc") > T > CYC(2): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST > :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time > :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) > ) > (((?X . #$node-190) (?Y . #$node-190)) ((?X . #$node-374) (?Y . #$node-374)) > ((?X . #$node-491) ...) > :EXHAUST-TOTAL > NIL > (7.90625 7.921875 0.007743633692458374 0.015625 1021) > CYC(3): > > Please tell me if there is any option to make it work for bigger examples. > > Regards, thank you, > Paul. > > On Thu, Aug 14, 2008 at 9:36 PM, Paul Fodor <fod...@gm...> wrote: >> >> Dear Sir, >> >> Our performance tests failed to execute in the OpenCyc system. They work >> for small tests (a couple of constants), but they fail to work for large >> number of constants: 50K,100K, 250K, 500K, 1 million. For instance, our >> smallest test: >> >> http://www.lmc.cs.sunysb.edu/~tests/cyc_paul/sg_cyc_without_cycle_01.cyc >> with the query for all the tuples sg-predicate: >> >> (new-cyc-query >> (LIST #$sg-predicate '?X '?Y) #$BaseKB >> (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time >> :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) >> ) >> >> fails after a few minutes with the message: "Implementation error: >> Recursive error". >> >> On OpenCyc: >> $ run-cyc.sh >> CYC(1): (load "sg_cyc_without_cycle_01.cyc") >> T >> >> CYC(2): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST >> :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time >> :complete-total-time :time-per-answer :time-to-first-answer :answer-count))) >> >> Implementation error: Recursive error >> >> This test does the following: we have two kinds of facts: par/2 and sib/2, >> where par(X,Y) means that the parent of X is Y and sib(X,Y) means that the X >> is sibling of Y. The rules are the following: >> - every node X in the graph is in the same generation sg/2 with itself: >> sg(X,X) :- par(X,_);par(_,X);sib(X,_);sib(_,X), >> - if two nodes are siblings then they are in the same generation: sg(X,Y) >> :- sib(X,Y). >> - if two nodes are in hte same generation then their parents are in the >> same generation: sg(X,Y) :- par(X,Z), sg(Z,Z1), par(Y,Z1). >> >> The "sg_cyc_without_cycle_01.cyc" example doesn't have any cycles in the >> data structure and other systems that we tested (XSB, Yap, dlv, ontobroker) >> solve it (finds all solutions) in about a second. >> >> Please tell us if there is anything that we can do. >> >> Regards, >> Paul Fodor >> > > ________________________________ > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > ________________________________ > > _______________________________________________ > OpenCyc-devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/opencyc-devel > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > OpenCyc-devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/opencyc-devel > > |
From: <dm...@us...> - 2008-08-16 03:48:27
|
This is what I used -server -Xmx7g -Xms4g -XX:MaxPermSize=256m -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+UseFastAccessorMethods -XX:+RelaxAccessControlCheck -XX:-UseSpinning -XX:PreBlockSpin=10 -XX:+PrintCommandLineFlags -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+UseAdaptiveGCBoundary But try -Xmx3500m If your machine will let you But if you are stuck on 32bits? Here was a nifty trick I found if you have patience, rebuild the Java RTL using http://www.excelsior-usa.com/jetdleval.html In fact JET only supports 32bit mode java Initialization time = 58.926 secs. Start time: Wed Aug 06 11:20:14 PDT 2008 Lisp implementation: Cycorp Java SubL Runtime Environment JVM: Excelsior, LLC Excelsior JET 1.6.0_07 Current KB: 7133 Patch Level: 1.13022 Running on: titan OS: Linux 2.6.27-0.208.rc1.git2.fc10.x86_64 (i386) Working directory: /opensim/bin Total memory allocated to VM: 2294MB. Memory currently used: 2066MB. Memory currently available: 227MB. HTTP server listening on port 3602. Connect via URL http://titan:3602/cgi-bin/cg?cb-start Ready for services. CYC(1): the GOOD part is the less heap overhead of memory needed to run the App. AS Compared to OpenJDK Initialization time = 53.171 secs. Start time: Tue Aug 05 22:55:53 PDT 2008 Lisp implementation: Cycorp Java SubL Runtime Environment JVM: Sun Microsystems Inc. OpenJDK 64-Bit Server VM 1.6.0-b09 Current KB: 7133 Patch Level: 1.13022 Running on: titan OS: Linux 2.6.27-0.208.rc1.git2.fc10.x86_64 (amd64) Working directory: /opensim/bin Total memory allocated to VM: 4268MB. Memory currently used: 2538MB. Memory currently available: 1729MB. HTTP server listening on port 3602. Connect via URL http://titan:3602/cgi-bin/cg?cb-start Ready for services. CYC(1): Now only using XJAVA (Part of the JET Eval above) the Memory currently used: 1577MB. However it runs much slower in this Interpreted mode. But all the java heap object are way smaller! ----- Original Message ----- From: Paul Fodor To: dm...@us... ; OpenCyc developers Sent: Friday, August 15, 2008 8:19 PM Subject: Re: [OpenCyc-devel] Cyc engine > Looks like the Research CYC JRTL is working: Yes, thank you very much. Everything seems correct. How much memory did you allocated for the Java Virtual Machine? I allocated -Xmx1500m. Regards, thank you, Paul Fodor. On Fri, Aug 15, 2008 at 9:56 PM, <dm...@us...> wrote: > Looks like the Research CYC JRTL is working: > > > Is this the correct test? > > > CYC(3):(load "sg_cyc_without_cycle_01.cyc") > [Time: 234.4 secs] > T > CYC(4): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST > :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time > :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) > ) > > [Time: 13.843 secs] > (((?X . #$node-87) (?Y . #$node-425)) ((?X . #$node-425) (?Y . #$node-425)) > ((?X . #$node-87) (?Y . #$node-87)) ((?X . #$node-129) (?Y . #$node-256)) > ((?X . #$node-256) (?Y . #$node-256)) ((?X . #$node-129) (?Y . #$node-129)) > ((?X . #$node-96) (?Y . #$node-151)) ((?X . #$node-151) (?Y . #$node-151)) > ((?X . #$node-96) (?Y . #$node-96)) ((?X . #$node-29) (?Y . #$node-143)) > ((?X . #$node-143) (?Y . #$node-143)) ((?X . #$node-29) (?Y . #$node-29)) > ((?X . #$node-324) (?Y . #$node-489)) ((?X . #$node-489) (?Y . #$node-489)) > ((?X . #$node-324) (?Y . #$node-324)) ((?X . #$node-311) (?Y . #$node-372)) > ((?X . #$node-372) (?Y . #$node-372)) ((?X . #$node-311) (?Y . #$node-311)) > ((?X . #$node-144) (?Y . #$node-363)) ((?X . #$node-363) (?Y . #$node-363)) > ((?X . #$node-144) (?Y . #$node-144)) ((?X . #$node-132) (?Y . #$node-394)) > ((?X . #$node-394) (?Y . #$node-394)) ((?X . #$node-132) (?Y . #$node-132)) > ((?X . #$node-53) (?Y . #$node-443)) ((?X . #$node-443) (?Y . #$node-443)) > ((?X . #$node-53) (?Y . #$node-53)) ((?X . #$node-374) (?Y . #$node-497)) > ((?X . #$node-497) (?Y . #$node-497)) ((?X . #$node-374) (?Y . #$node-374)) > ((?X . #$node-257) (?Y . #$node-286)) ((?X . #$node-286) (?Y . #$node-286)) > ((?X . #$node-257) (?Y . #$node-257)) ((?X . #$node-136) (?Y . #$node-480)) > ((?X . #$node-480) (?Y . #$node-480)) ((?X . #$node-136) (?Y . #$node-136)) > ((?X . #$node-85) (?Y . #$node-215)) ((?X . #$node-215) (?Y . #$node-215)) > ((?X . #$node-85) (?Y . #$node-85)) ((?X . #$node-28) (?Y . #$node-105)) > ((?X . #$node-105) (?Y . #$node-105)) ((?X . #$node-28) (?Y . #$node-28)) > ((?X . #$node-72) (?Y . #$node-104)) ((?X . #$node-104) (?Y . #$node-104)) > ((?X . #$node-72) (?Y . #$node-72)) ((?X . #$node-118) (?Y . #$node-192)) > ((?X . #$node-192) (?Y . #$node-192)) ((?X . #$node-118) (?Y . #$node-118)) > ((?X . #$node-279) (?Y . #$node-313)) ((?X . #$node-313) (?Y . #$node-313)) > ((?X . #$node-279) (?Y . #$node-279)) ((?X . #$node-206) (?Y . #$node-387)) > ((?X . #$node-387) (?Y . #$node-387)) ((?X . #$node-206) (?Y . #$node-206)) > ((?X . #$node-250) (?Y . #$node-414)) ((?X . #$node-414) (?Y . #$node-414)) > ((?X . #$node-250) (?Y . #$node-250)) ((?X . #$node-54) (?Y . #$node-210)) > ((?X . #$node-210) (?Y . #$node-210)) ((?X . #$node-54) (?Y . #$node-54)) > ((?X . #$node-39) (?Y . #$node-169)) ((?X . #$node-169) (?Y . #$node-169)) > ((?X . #$node-39) (?Y . #$node-39)) ((?X . #$node-75) (?Y . #$node-352)) > ((?X . #$node-352) (?Y . #$node-352)) ((?X . #$node-75) (?Y . #$node-75)) > ((?X . #$node-56) (?Y . #$node-482)) ((?X . #$node-482) (?Y . #$node-482)) > ((?X . #$node-56) (?Y . #$node-56)) ((?X . #$node-464) (?Y . #$node-472)) > ((?X . #$node-472) (?Y . #$node-472)) ((?X . #$node-464) (?Y . #$node-464)) > ((?X . #$node-80) (?Y . #$node-492)) ((?X . #$node-492) (?Y . #$node-492)) > ((?X . #$node-80) (?Y . #$node-80)) ((?X . #$node-131) (?Y . #$node-368)) > ((?X . #$node-368) (?Y . #$node-368)) ((?X . #$node-131) (?Y . #$node-131)) > ((?X . #$node-54) (?Y . #$node-137)) ((?X . #$node-137) (?Y . #$node-137)) > ((?X . #$node-42) (?Y . #$node-288)) ((?X . #$node-288) (?Y . #$node-288)) > ((?X . #$node-42) (?Y . #$node-42)) ((?X . #$node-186) (?Y . #$node-186)) > ((?X . #$node-233) (?Y . #$node-499)) ((?X . #$node-499) (?Y . #$node-499)) > ((?X . #$node-233) (?Y . #$node-233)) ((?X . #$node-179) (?Y . #$node-238)) > ((?X . #$node-238) (?Y . #$node-238)) ((?X . #$node-179) (?Y . #$node-179)) > ((?X . #$node-38) (?Y . #$node-357)) ((?X . #$node-357) (?Y . #$node-357)) > ((?X . #$node-38) (?Y . #$node-38)) ((?X . #$node-216) (?Y . #$node-462)) > ((?X . #$node-462) (?Y . #$node-462)) ((?X . #$node-216) (?Y . #$node-216)) > ((?X . #$node-39) (?Y . #$node-320)) ((?X . #$node-320) (?Y . #$node-320)) > ((?X . #$node-53) (?Y . #$node-254)) ((?X . #$node-254) (?Y . #$node-254)) > ... ) > :EXHAUST-TOTAL > NIL > (13.743 13.843 0.009180360721442887 0.059 1497) > CYC(5): (new-cyc-query > (LIST #$sg-predicate '?X '?Y) #$BaseKB > (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time > :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) > ) > [Time: 10.88 secs] > (((?X . #$node-87) (?Y . #$node-425)) ((?X . #$node-425) (?Y . #$node-425)) > ((?X . #$node-87) (?Y . #$node-87)) ((?X . #$node-129) (?Y . #$node-256)) > ((?X . #$node-256) (?Y . #$node-256)) ((?X . #$node-129) (?Y . #$node-129)) > ((?X . #$node-96) (?Y . #$node-151)) ((?X . #$node-151) (?Y . #$node-151)) > ((?X . #$node-96) (?Y . #$node-96)) ((?X . #$node-29) (?Y . #$node-143)) > ((?X . #$node-143) (?Y . #$node-143)) ((?X . #$node-29) (?Y . #$node-29)) > ((?X . #$node-324) (?Y . #$node-489)) ((?X . #$node-489) (?Y . #$node-489)) > ((?X . #$node-324) (?Y . #$node-324)) ((?X . #$node-311) (?Y . #$node-372)) > ((?X . #$node-372) (?Y . #$node-372)) ((?X . #$node-311) (?Y . #$node-311)) > ((?X . #$node-144) (?Y . #$node-363)) ((?X . #$node-363) (?Y . #$node-363)) > ((?X . #$node-144) (?Y . #$node-144)) ((?X . #$node-132) (?Y . #$node-394)) > ((?X . #$node-394) (?Y . #$node-394)) ((?X . #$node-132) (?Y . #$node-132)) > ((?X . #$node-53) (?Y . #$node-443)) ((?X . #$node-443) (?Y . #$node-443)) > ((?X . #$node-53) (?Y . #$node-53)) ((?X . #$node-374) (?Y . #$node-497)) > ((?X . #$node-497) (?Y . #$node-497)) ((?X . #$node-374) (?Y . #$node-374)) > ((?X . #$node-257) (?Y . #$node-286)) ((?X . #$node-286) (?Y . #$node-286)) > ((?X . #$node-257) (?Y . #$node-257)) ((?X . #$node-136) (?Y . #$node-480)) > ((?X . #$node-480) (?Y . #$node-480)) ((?X . #$node-136) (?Y . #$node-136)) > ((?X . #$node-85) (?Y . #$node-215)) ((?X . #$node-215) (?Y . #$node-215)) > ((?X . #$node-85) (?Y . #$node-85)) ((?X . #$node-28) (?Y . #$node-105)) > ((?X . #$node-105) (?Y . #$node-105)) ((?X . #$node-28) (?Y . #$node-28)) > ((?X . #$node-72) (?Y . #$node-104)) ((?X . #$node-104) (?Y . #$node-104)) > ((?X . #$node-72) (?Y . #$node-72)) ((?X . #$node-118) (?Y . #$node-192)) > ((?X . #$node-192) (?Y . #$node-192)) ((?X . #$node-118) (?Y . #$node-118)) > ((?X . #$node-279) (?Y . #$node-313)) ((?X . #$node-313) (?Y . #$node-313)) > ((?X . #$node-279) (?Y . #$node-279)) ((?X . #$node-206) (?Y . #$node-387)) > ((?X . #$node-387) (?Y . #$node-387)) ((?X . #$node-206) (?Y . #$node-206)) > ((?X . #$node-250) (?Y . #$node-414)) ((?X . #$node-414) (?Y . #$node-414)) > ((?X . #$node-250) (?Y . #$node-250)) ((?X . #$node-54) (?Y . #$node-210)) > ((?X . #$node-210) (?Y . #$node-210)) ((?X . #$node-54) (?Y . #$node-54)) > ((?X . #$node-39) (?Y . #$node-169)) ((?X . #$node-169) (?Y . #$node-169)) > ((?X . #$node-39) (?Y . #$node-39)) ((?X . #$node-75) (?Y . #$node-352)) > ((?X . #$node-352) (?Y . #$node-352)) ((?X . #$node-75) (?Y . #$node-75)) > ((?X . #$node-56) (?Y . #$node-482)) ((?X . #$node-482) (?Y . #$node-482)) > ((?X . #$node-56) (?Y . #$node-56)) ((?X . #$node-464) (?Y . #$node-472)) > ((?X . #$node-472) (?Y . #$node-472)) ((?X . #$node-464) (?Y . #$node-464)) > ((?X . #$node-80) (?Y . #$node-492)) ((?X . #$node-492) (?Y . #$node-492)) > ((?X . #$node-80) (?Y . #$node-80)) ((?X . #$node-131) (?Y . #$node-368)) > ((?X . #$node-368) (?Y . #$node-368)) ((?X . #$node-131) (?Y . #$node-131)) > ((?X . #$node-54) (?Y . #$node-137)) ((?X . #$node-137) (?Y . #$node-137)) > ((?X . #$node-42) (?Y . #$node-288)) ((?X . #$node-288) (?Y . #$node-288)) > ((?X . #$node-42) (?Y . #$node-42)) ((?X . #$node-186) (?Y . #$node-186)) > ((?X . #$node-233) (?Y . #$node-499)) ((?X . #$node-499) (?Y . #$node-499)) > ((?X . #$node-233) (?Y . #$node-233)) ((?X . #$node-179) (?Y . #$node-238)) > ((?X . #$node-238) (?Y . #$node-238)) ((?X . #$node-179) (?Y . #$node-179)) > ((?X . #$node-38) (?Y . #$node-357)) ((?X . #$node-357) (?Y . #$node-357)) > ((?X . #$node-38) (?Y . #$node-38)) ((?X . #$node-216) (?Y . #$node-462)) > ((?X . #$node-462) (?Y . #$node-462)) ((?X . #$node-216) (?Y . #$node-216)) > ((?X . #$node-39) (?Y . #$node-320)) ((?X . #$node-320) (?Y . #$node-320)) > ((?X . #$node-53) (?Y . #$node-254)) ((?X . #$node-254) (?Y . #$node-254)) > ... ) > :EXHAUST-TOTAL > NIL > (10.88 10.88 0.007267869071476286 0 1497) > CYC(6): > > > > ----- Original Message ----- > From: Paul Fodor > To: OpenCyc developers > Sent: Friday, August 15, 2008 2:03 PM > Subject: Re: [OpenCyc-devel] Cyc engine > Dear Sir, > > We tested the recursive same generation test for smaller tests (500 nodes) > than our initial tests and it is working. > > For 1000 nodes it stops working with the error "Implementation error: > Recursive error" > > Do you know any option that could make it run for bigger tests (such as, the > one that I put online for you: > http://www.lmc.cs.sunysb.edu/~tests/cyc_paul/sg_cyc_without_cycle_01.cyc ) ? > > For 500 node, we get: > > CYC(1): (load "sg_cyc_500nodes.cyc") > T > CYC(2): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST > :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time > :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) > ) > (((?X . #$node-190) (?Y . #$node-190)) ((?X . #$node-374) (?Y . #$node-374)) > ((?X . #$node-491) ...) > :EXHAUST-TOTAL > NIL > (7.90625 7.921875 0.007743633692458374 0.015625 1021) > CYC(3): > > Please tell me if there is any option to make it work for bigger examples. > > Regards, thank you, > Paul. > > On Thu, Aug 14, 2008 at 9:36 PM, Paul Fodor <fod...@gm...> wrote: >> >> Dear Sir, >> >> Our performance tests failed to execute in the OpenCyc system. They work >> for small tests (a couple of constants), but they fail to work for large >> number of constants: 50K,100K, 250K, 500K, 1 million. For instance, our >> smallest test: >> >> http://www.lmc.cs.sunysb.edu/~tests/cyc_paul/sg_cyc_without_cycle_01.cyc >> with the query for all the tuples sg-predicate: >> >> (new-cyc-query >> (LIST #$sg-predicate '?X '?Y) #$BaseKB >> (LIST :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time >> :complete-total-time :time-per-answer :time-to-first-answer :answer-count)) >> ) >> >> fails after a few minutes with the message: "Implementation error: >> Recursive error". >> >> On OpenCyc: >> $ run-cyc.sh >> CYC(1): (load "sg_cyc_without_cycle_01.cyc") >> T >> >> CYC(2): (new-cyc-query (LIST #$sg-predicate '?X '?Y) #$BaseKB (LIST >> :MAX-TRANSFORMATION-DEPTH nil :metrics (LIST :total-time >> :complete-total-time :time-per-answer :time-to-first-answer :answer-count))) >> >> Implementation error: Recursive error >> >> This test does the following: we have two kinds of facts: par/2 and sib/2, >> where par(X,Y) means that the parent of X is Y and sib(X,Y) means that the X >> is sibling of Y. The rules are the following: >> - every node X in the graph is in the same generation sg/2 with itself: >> sg(X,X) :- par(X,_);par(_,X);sib(X,_);sib(_,X), >> - if two nodes are siblings then they are in the same generation: sg(X,Y) >> :- sib(X,Y). >> - if two nodes are in hte same generation then their parents are in the >> same generation: sg(X,Y) :- par(X,Z), sg(Z,Z1), par(Y,Z1). >> >> The "sg_cyc_without_cycle_01.cyc" example doesn't have any cycles in the >> data structure and other systems that we tested (XSB, Yap, dlv, ontobroker) >> solve it (finds all solutions) in about a second. >> >> Please tell us if there is anything that we can do. >> >> Regards, >> Paul Fodor >> > > ________________________________ > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > ________________________________ > > _______________________________________________ > OpenCyc-devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/opencyc-devel > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > OpenCyc-devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/opencyc-devel > > |
From: <dm...@us...> - 2008-08-18 08:12:59
|
This is what I used -server -Xmx7g -Xms4g -XX:MaxPermSize=256m -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+UseFastAccessorMethods -XX:+RelaxAccessControlCheck -XX:-UseSpinning -XX:PreBlockSpin=10 -XX:+PrintCommandLineFlags -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+UseAdaptiveGCBoundary But try -Xmx3500m If your machine will let you But if you are stuck on 32bits? Here was a nifty trick I found if you have patience, rebuild the Java RTL using http://www.excelsior-usa.com/jetdleval.html In fact JET only supports 32bit mode java Initialization time = 58.926 secs. Start time: Wed Aug 06 11:20:14 PDT 2008 Lisp implementation: Cycorp Java SubL Runtime Environment JVM: Excelsior, LLC Excelsior JET 1.6.0_07 Current KB: 7133 Patch Level: 1.13022 Running on: titan OS: Linux 2.6.27-0.208.rc1.git2.fc10.x86_64 (i386) Working directory: /opensim/bin Total memory allocated to VM: 2294MB. Memory currently used: 2066MB. Memory currently available: 227MB. HTTP server listening on port 3602. Connect via URL http://titan:3602/cgi-bin/cg?cb-start Ready for services. CYC(1): the GOOD part is the less heap overhead of memory needed to run the App. AS Compared to OpenJDK Initialization time = 53.171 secs. Start time: Tue Aug 05 22:55:53 PDT 2008 Lisp implementation: Cycorp Java SubL Runtime Environment JVM: Sun Microsystems Inc. OpenJDK 64-Bit Server VM 1.6.0-b09 Current KB: 7133 Patch Level: 1.13022 Running on: titan OS: Linux 2.6.27-0.208.rc1.git2.fc10.x86_64 (amd64) Working directory: /opensim/bin Total memory allocated to VM: 4268MB. Memory currently used: 2538MB. Memory currently available: 1729MB. HTTP server listening on port 3602. Connect via URL http://titan:3602/cgi-bin/cg?cb-start Ready for services. CYC(1): Now only using XJAVA (Part of the JET Eval above) the Memory currently used: 1577MB. However it runs much slower in this Interpreted mode. But all the java heap object are way smaller! ----- Original Message ----- From: Paul Fodor To: dm...@us... ; OpenCyc developers Sent: Friday, August 15, 2008 8:19 PM Subject: Re: [OpenCyc-devel] Cyc engine > Looks like the Research CYC JRTL is working: Yes, thank you very much. Everything seems correct. How much memory did you allocated for the Java Virtual Machine? I allocated -Xmx1500m. Regards, thank you, Paul Fodor. |