Microsoft Velocity : Q&A
I have been working my way through the CTP2 bits of Microsoft's new Distributed Caching Architecture called Velocity and found myself still wondering about a few items. At the recent ASPInsiders and Microsoft MVP Conference I had the chance to meet a few people on the team and get their contact information so I decided to drop them a line. The following is a short Q&A session that ensued.
Release Schedule:
Q: Will we
be seeing CTP3 at Mix09?
A: We are, but then we decided to delay by 2 weeks to take
in the .Net API recommendations. Our APIs are going to
change slightly (e.g. class names have to be prefixed
with "Cache" and we are moving the Region parameter to
the end to allow overloading). We want to take this in
now as opposed to later since that would mean Changing
API at RTM time.
Q: During the MVP Summit you (or someone) mentioned "Late
2009" for the V1. release. Will there be a GoLive! date prior? Any chance you can get more specific on the date?
A:
Middle of 2009. (some NDA details removed)
API Specific:
Q: I really
like the way in which you break down the data type
access patterns (Reference, Activity, Resource). I wonder if we could leverage that in the Caching
Engine itself? I
can see specifying an enum on CacheCreate/CacheLoad
which would return a specific (and optimized) cache
specific to the type of data. For example do we care about locking on Reference
data?
A: That is interesting thought - will think about this
more.
Q: Generics! We are using Object for the Value (add/put/get/etc..)
why not use Generic functions?
A:
Yes post V1 :)
Particularly once we want to support Linq Queries on the
cache, we need typing.. So definitely in the works..
Also, this can help using the DataContract Serializer
which is faster than the
NetDataContractSerializer..
Response Q: Generics. Post
v1 - that's actually very disappointing! I had really hoped that it would be for release. I wonder if there is anything I'm missing? Is there a longer process (greater review) when using
generics - internally? Or is it just a matter of dev time to do the work?
Compatibility reasons...?
Response A:
Test work really..
Overall:
Q: Will
there forever be a dependency on PowerShell for
installation? What about nodes where you would NOT want to admin the
cluster, and just deploy the cache runtime...?
A: We don't depend on PowerShell for installation, just
for monitoring and start/stop etc. You have a good ask
that why should. We bother installing PowerShell on all
the nodes. We haven't really thought about this issue. I
will have a chat with folks about this.
Q: Remote/Automatic deployment is an interesting
scenario.
A: Yes - it is there in CTP3
Q: I have found little documentation regarding using the
cache in embedded scenarios. Anything planned for CTP3?
A: Nope - embedded is not in plan for V1 right now. The only
closest thing is the local cache.
Q: During
some of your presentations you mention a pretty key
number (was it 2k or 20k?) for the data value size. Any chance you can shed some light on it? Why is it so important? Does it impact performance?
A: Nothing - just we ran numbers with different sizes 2k,
4k, 20k to see the effects. What we are seeing is that
6k is the breakeven point where we start getting
throttled by the network more than the CPU. Below 6k, we
get throttled by the CPU.
Q: Can you
confirm: That
when using a LocalCache the object is not actually
serialized? Is
it actually pushed over to a separate service in these
cases? For
example IIS, with LocalCache for Session info. Do the
objects themselves live as objects or as serialized
data?
A: The object is just kept in the local cache, but also
copied over to the service. You cannot have a local
cache without a Cache service tier.
Q: Is it
safe to assume that you are using XML Serialization in
all cases?
A: Yes - binary
I had to perform some minor NDA screening to get this out the door but I hope to have more details in the near future.
3 Comments
Comments have been disabled for this content.
Max said
So is the serialization XML? Or binary?
Patrick said
Is there any new on the Release of Velocity_V1? We are ready to implement with the CTP3, but there are a couple of issues(mainly with the failover cluster) that we are waiting to see if are corrected in the next release.
kiran said
Hello, It's been written all over places that velocity will be released by November end; What is the v1 release date for velocity. The CTP3 of the velocity works on .Net 3.5 SP1 will the future release work on .Net 3.5 SP1 or need to have .net 4.0