On Wed, Oct 24, 2012 at 4:56 PM, nathanmarz <nathan.m...@gmail.com> wrote:

> I'm looking into rewriting Storm's resource scheduler using
> core.logic. I want to be able to say constraints like:
>
> 1. Topology A's slots should be <= 10 and as close to 10 as possible
> (minimize the delta between assigned slots and 10)
>

The minimization bit is not in core.logic yet. But basically anything in
Mozart/OZ's Finite Domain Constraint Programming feature set is on the
table for core.logic :)


> 2. All topologies should use less than 200 CPU's and less than 600 GB
> of memory
> 3. Topology B should run at most 2 workers on each host
> 4. Each worker for topology C should run at most one task for
> component X and one task for component Y
> 5. Should minimize the amount of reassignment to running topologies in
> order to satisfy constraints
> 6. Should only be allowed to reassign workers for an individual
> topology whose individual constraints are satisfied once every 10
> minutes
>

Yep definitely sounds like the kind of thing I'd like core.logic to be used
for.


> And so on. I have two questions:
>
> 1. How good is core.logic at culling the search space using arithmetic
> logic? For example, if it knows that x + y <= 5, x>=0, and y>=0, it
> should never bother with areas of the search space where x or y are
> >=5.
>

While there's always room to improve it already does this well.


> 2. Can core.logic do things like search the space for which my
> evaulation criteria are minimized? Or is what we're trying to do a
> better fit for different techniques like linear programming?
>

It can, but I need to sit down and figure out how to make that work. If I
recall the Mozart/OZ work is pretty clear about their approach and I think
it can easily be adapted. I'll try to find some time and get back to you on
that.

David

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to