[rules-users] Drools rule [Planner] - memory consumption scaling
Geoffrey De Smet
ge0ffrey.spam at gmail.com
Wed Jan 30 10:49:44 EST 2013
Interesting benchmarks.
These images would make an interesting blog post on how memory
consumption scales in planner, if you're interested in writing one.
I still don't understand why you start out with 1500MB already taken
(before planner starts) if the engineers and workorder objects are so light.
Is it running on a heavy app server?
Op 30-01-13 16:23, André Fróes schreef:
> Would be this:
>
> Imagem inline 2
> i noticed 2 thing doing this test, 1st, the ID binded on
> workorder/engineer can be the same, for example, it will run if I have
> an workorder id 0 and an engineer id 0, and that it will run if
> provided time enough to do the comparison by the xml file, otherwise,
> it will present a result full of "null's".
>
> I generate the workorder/engineer this way:
> --------
> List<Engineer> engineerList = new ArrayList<Engineer>();
> for (int i = 1; i < 1001; i++){
> engineerList.add(new Engineer(i, "engineer " + i, 8 ));
> }
>
> List<WorkOrder> workOrderList = new ArrayList<WorkOrder>();
> for (int i = 1002; i < 3002; i++){
> workOrderList.add(new WorkOrder(i, (new Random().nextInt(5-1+1)+1)));
> }
> ----------------
>
> in order to stop receiving nulls, i increased the termination from 5s
> to 120s, and it worked
>
> ----------------
> <termination>
> <maximumSecondsSpend>120</maximumSecondsSpend>
> </termination>
> ----------------
>
>
>
> 2013/1/30 Geoffrey De Smet <ge0ffrey.spam at gmail.com
> <mailto:ge0ffrey.spam at gmail.com>>
>
> Now try 2000 workorders and 1000 engineers and see what it does ;-)
>
> Op 30-01-13 14:27, André Fróes schreef:
>> Just to knowledge, i'm sending the graph of memory usage when
>> running it with, first marker(between first 2 green lines) peak
>> with 10 workorders and 5 engineers, and, secong marker (between
>> last 2 green lines), 26 workordes and 10 engineers.
>> Imagem inline 1
>>
>>
>> 2013/1/30 Geoffrey De Smet <ge0ffrey.spam at gmail.com
>> <mailto:ge0ffrey.spam at gmail.com>>
>>
>>> I wonder why it worked on the 5.5.0.Final with the
>>> cloudbalance but not with my workorder example that was much
>>> simpler,
>> Me too. All the examples / unit tests work with 5.5.0.Final,
>> but there's clearly a case they don't cover.
>> Good thing is that 5.6 will be out soon.
>>
>> Op 30-01-13 13:30, André Fróes schreef:
>>>
>>> It worked with the 5.5.1-SNAPSHOT
>>>
>>> -----------------
>>> 10:27:49.215 [main] INFO o.d.p.core.solver.DefaultSolver -
>>> Solving started: time spend (179), score (null), new best
>>> score (null), random seed (0).
>>> 10:27:49.254 [main] DEBUG
>>> o.d.p.c.c.g.DefaultGreedyFitSolverPhase - Step index
>>> (0), time spend (224), score (0hard/0soft), initialized
>>> planning entity ([WorkOrder-15]).
>>> 10:27:49.256 [main] DEBUG
>>> o.d.p.c.c.g.DefaultGreedyFitSolverPhase - Step index
>>> (1), time spend (225), score (0hard/0soft), initialized
>>> planning entity ([WorkOrder-14]).
>>> 10:27:49.284 [main] DEBUG
>>> o.d.p.c.c.g.DefaultGreedyFitSolverPhase - Step index
>>> (2), time spend (254), score (0hard/0soft), initialized
>>> planning entity ([WorkOrder-13]).
>>> 10:27:49.293 [main] DEBUG
>>> o.d.p.c.c.g.DefaultGreedyFitSolverPhase - Step index
>>> (3), time spend (263), score (0hard/0soft), initialized
>>> planning entity ([WorkOrder-12]).
>>> 10:27:49.297 [main] DEBUG
>>> o.d.p.c.c.g.DefaultGreedyFitSolverPhase - Step index
>>> (4), time spend (267), score (0hard/0soft), initialized
>>> planning entity ([WorkOrder-11]).
>>> 10:27:49.300 [main] DEBUG
>>> o.d.p.c.c.g.DefaultGreedyFitSolverPhase - Step index
>>> (5), time spend (270), score (0hard/0soft), initialized
>>> planning entity ([WorkOrder-10]).
>>> 10:27:49.306 [main] DEBUG
>>> o.d.p.c.c.g.DefaultGreedyFitSolverPhase - Step index
>>> (6), time spend (276), score (0hard/0soft), initialized
>>> planning entity ([WorkOrder-9]).
>>> 10:27:49.310 [main] DEBUG
>>> o.d.p.c.c.g.DefaultGreedyFitSolverPhase - Step index
>>> (7), time spend (280), score (0hard/0soft), initialized
>>> planning entity ([WorkOrder-8]).
>>> 10:27:49.315 [main] DEBUG
>>> o.d.p.c.c.g.DefaultGreedyFitSolverPhase - Step index
>>> (8), time spend (285), score (0hard/0soft), initialized
>>> planning entity ([WorkOrder-7]).
>>> 10:27:49.321 [main] DEBUG
>>> o.d.p.c.c.g.DefaultGreedyFitSolverPhase - Step index
>>> (9), time spend (291), score (0hard/0soft), initialized
>>> planning entity ([WorkOrder-6]).
>>> 10:27:49.321 [main] INFO
>>> o.d.p.c.c.g.DefaultGreedyFitSolverPhase - Phase
>>> constructionHeuristic ended: step total (10), time spend
>>> (291), best score (0hard/0soft).
>>> 10:27:50.041 [main] DEBUG
>>> o.d.p.c.l.DefaultLocalSearchSolverPhase - Step index
>>> (0), time spend (1010), score (0hard/0soft), best score
>>> (0hard/0soft), accepted/selected move count (1000/1000) for
>>> picked step ([WorkOrder-8] <=> [WorkOrder-12]).
>>> 10:27:50.744 [main] DEBUG
>>> o.d.p.c.l.DefaultLocalSearchSolverPhase - Step index
>>> (1), time spend (1714), score (0hard/0soft), best score
>>> (0hard/0soft), accepted/selected move count (1000/1422) for
>>> picked step ([WorkOrder-14] <=> [WorkOrder-10]).
>>> 10:27:51.568 [main] DEBUG
>>> o.d.p.c.l.DefaultLocalSearchSolverPhase - Step index
>>> (2), time spend (2538), score (0hard/0soft), best score
>>> (0hard/0soft), accepted/selected move count (1000/2013) for
>>> picked step ([WorkOrder-6] <=> [WorkOrder-9]).
>>> 10:27:52.083 [main] DEBUG
>>> o.d.p.c.l.DefaultLocalSearchSolverPhase - Step index
>>> (3), time spend (3053), score (0hard/0soft), best score
>>> (0hard/0soft), accepted/selected move count (1000/3635) for
>>> picked step ([WorkOrder-11] <=> [WorkOrder-15]).
>>> 10:27:52.902 [main] DEBUG
>>> o.d.p.c.l.DefaultLocalSearchSolverPhase - Step index
>>> (4), time spend (3872), score (0hard/0soft), best score
>>> (0hard/0soft), accepted/selected move count (1000/8864) for
>>> picked step ([WorkOrder-7] <=> [WorkOrder-13]).
>>> 10:27:54.030 [main] DEBUG
>>> o.d.p.c.l.DefaultLocalSearchSolverPhase - Step index
>>> (5), time spend (5000), score (0hard/0soft), best score
>>> (0hard/0soft), accepted/selected move count (0/31698) for
>>> picked step ([WorkOrder-15] <=> [WorkOrder-7]).
>>> 10:27:54.031 [main] INFO
>>> o.d.p.c.l.DefaultLocalSearchSolverPhase - Phase localSearch
>>> ended: step total (6), time spend (5001), best score
>>> (0hard/0soft).
>>> 10:27:54.031 [main] INFO o.d.p.core.solver.DefaultSolver -
>>> Solving ended: time spend (5001), best score (0hard/0soft),
>>> average calculate count per second (9730).
>>>
>>> Solved distribution with 10 work orders and 5 engineers:
>>> 6: ID: 5 - Monkey D. Ruffy
>>> 7: ID: 5 - Monkey D. Ruffy
>>> 8: ID: 4 - Mr. Miyagi
>>> 9: ID: 4 - Mr. Miyagi
>>> 10: ID: 3 - Rambo
>>> 11: ID: 3 - Rambo
>>> 12: ID: 2 - Chuck Norris
>>> 13: ID: 2 - Chuck Norris
>>> 14: ID: 1 - Aladin
>>> 15: ID: 1 - Aladin
>>> ---------------
>>>
>>> I wonder why it worked on the 5.5.0.Final with the
>>> cloudbalance but not with my workorder example that was much
>>> simpler, i mean, the rule was only a hard constraint and the
>>> pojo simples though.
>>>
>>>
>>> 2013/1/29 André Fróes <arfmoraes at gmail.com
>>> <mailto:arfmoraes at gmail.com>>
>>>
>>> Okay I'll try it now and then post the result.
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20130130/d95332ab/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 24669 bytes
Desc: not available
Url : http://lists.jboss.org/pipermail/rules-users/attachments/20130130/d95332ab/attachment-0002.png
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 29836 bytes
Desc: not available
Url : http://lists.jboss.org/pipermail/rules-users/attachments/20130130/d95332ab/attachment-0003.png
More information about the rules-users
mailing list