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