Hi all, I'm on vacation for a few days and I'm going to have a little bit of free time to hack around Tuscany C++. I've been thinking about the following:
a) Integrate LevelDB [1] as a key-value store component. I've been experimenting with LevelDB and I think it'll be a useful complement to the TinyCDB based store (best for constant data) and the PostgreSQL based store (best for flexible query). b) Use the LLVM based Clang compiler [2] as an alternative to GCC, useful on MacOS as it'll enable building without anything extra on top of Xcode 4.1. c) More challenging and interesting too, analyze a composite and transform it into a set of OpenCL [3][4][5][6] kernel functions running on a mix of CPUs and GPUs (giving you a lot of cheap computing power to run your SCA compositions). In particular convert a graph of synchronous service invocations into chained asynchronous tasks and determine the optimum partition of the composite into OpenCL kernels, work groups and work items while minimizing the data transfers between OpenCL kernels. I only have a few days to bootstrap these projects and will probably spend most of my energy on the OpenCL one as I want to try a few innovative ideas (including a functional programming monad based approach to model the interactions around composites and help the sync to async transformation, and another idea to have the component implementations do meta-programming and return their computations as kernel programs instead of the actual computation results) so if anybody is interested in working with me on this stuff ping me on gtalk jsdelfino, the #tuscany IRC channel or even better post a message here... [1] http://code.google.com/p/leveldb/ [2] http://clang.llvm.org/ [3] http://www.khronos.org/opencl/ [4] http://developer.apple.com/library/mac/#documentation/Performance/Conceptual/OpenCL_MacProgGuide/Introduction/Introduction.html [5] http://developer.nvidia.com/opencl [6] http://developer.amd.com/zones/OpenCLZone/Pages/default.aspx -- Jean-Sebastien