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

Reply via email to