One of Clojure's big selling points (obviously) is the support for concurrent programming. However, the performance gains you get with this concurrency hits a scalability wall once you're fully utilizing all the cores available in your server. The next step, of course, is to add additional servers.
So, I've been mulling over the idea of putting together a framework for distributed applications. I think it should deal with issues such as: * Locating, assessing, and registering CPUs * Division of large jobs into smaller sub-jobs * Dispatching of jobs, including optimization planning (send more jobs to faster CPUs) * Failure recovery * Seamless code integration (so that this can be retrofit as an optimization) both "horizontally" and "vertically" * Horizontal = take one time-consuming task and parallelize it * Vertical = take two sequential tasks and pipeline them across different servers Is anybody already working on something similar? Is this already on the Clojure language roadmap as something to be added after 1.0? Any design advice or feature requests if I were to put something like this together? -Greg --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---