Hi folks,

Resurrecting an old thread that we have talked about for a while. I believe
some folks were planning to discuss this at the DDF but for some reason
there was no topic proposed on this. Chris, Robert and I were discussing
having a meeting about this sometime tomorrow morning - say at 10 am. Chris
will be able to arrange a room for us. We can ask Casey to have a Zoom
session. It will be great if you guys can attend - at least Robert, Tom,
Michael, Stephen, Muthu, etc.

Thanks,
Abhijit




On Sun, Jan 1, 2017 at 11:22 PM, Muthukumaran K <muthukumara...@ericsson.com
> wrote:

> Thanks for the explanation Robert.
>
> When we refer access pattern and shard layout, I assume that it is in
> context of a given transaction owned by an application - please correct me
> if I am wrong.
>
> As a detour, the reference to transactions leads to a bunch of questions
> on how MD-SAL transactions - as we know in context of IMDS, could map on to
> external backend for a given shard (which CDT enables)
>
> For few transaction capabilities which are inherent in IMDS, there may not
> be equivalent concept/support in an external backend of choice. For
> example, concept like Transaction Chain.
>
> Other implementation-specific aspects of transaction could also vary
> drastically - for example,
> a) Snapshotting+MVCC as "I" of ACID is applicable for IMDS - but may not
> be true in case of Etcd / Cassandra - this mismatch may not have deeper
> ramifications to the end-user
> b) strong-consistency for writes may be a do-it-yourself if backend choice
> is Cassandra whereas its ingrained in IMDS
>
> Does this essentially mean that based on choice of backend, some concepts
> of transactions could be just no-op/ will be thrown with an unsupported
> exception (eg. transaction-chain) to manage the uniformity of broker
> contracts?
>
> Regards
> Muthu
>
>
>
>
> -----Original Message-----
> From: Robert Varga [mailto:n...@hq.sk]
> Sent: Tuesday, December 27, 2016 9:10 PM
> To: Muthukumaran K <muthukumara...@ericsson.com>; Colin Dixon <
> co...@colindixon.com>; Shrenik Jain <shrenik.j...@research.iiit.ac.in>
> Cc: integration-...@lists.opendaylight.org <d...@lists.opendaylight.org>;
> controller-dev <controller-dev@lists.opendaylight.org>;
> mdsal-...@lists.opendaylight.org; intern-ad...@opendaylight.org
> Subject: Re: [controller-dev] Interested in Contribution : "Replacing the
> MD-SAL data store with etcd"
>
> On 12/27/2016 11:38 AM, Muthukumaran K wrote:
> > Hi Robert,
> >
> > Looking at
> > https://github.com/opendaylight/mdsal/blob/master/dom/mdsal-dom-api/sr
> > c/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeShardingService.
> > java
> >
> > Few clarifications:
> > For same prefix duplicate producers are not allowed - this is
> > understandable. But there is a possibility that two distinct
> > producers/shards can have overlapping prefixes - if this is allowed,
> > would not there be a scenario wherein we could end up with a superset
> > shard and subset shard
> >
> > Eg. Let's assume there is a subtree whose prefix is /a/b/c/d mapped to
> shard 1 and another /a/b/c/d/e/f mapped to another shard.
> > In other words, we can have recursive shards (hypothetical worst case
> could be that these recursive shards could have their own backend
> instances).
> > Would this not lead to relatively complex read and write routing
> implementations? Are such overlaps prevented by Sharding service contracts ?
>
> This is allowed and the two shards have a parent/child relationship, where
> the parent understands that it has a subordinate shard. There can (in
> theory) be infinite nesting, although I am not sure if the implementation
> handles more than one level.
>
> As for complexity of data access... it is *relatively* complex, but all it
> really boils down to is a recursive scatter/gather algorithm, where the
> superior shard delegates parts of the request to its subordinates and
> merges the responses -- which is pretty much bread-and-butter when dealing
> with tree-based structures.
>
> In any case, while possible, we envision that most applications will only
> talk to leaf shards, hence scatter/gather will not kick in. The cost of
> determining which shard is the apex for a producer is paid when the
> producer is instantiated, hence the steady-state cost should typically be
> zero.
>
> If the application access pattern and sharding layout do not align, you
> will get sucky performance, similar to what you get if you try to write to
> multiple module-based shards today. But that is a deployment-time
> engineering and application co-existence issue, which we cannot solve at
> the infrastructure layer.
>
> Regards,
> Robert
>
> _______________________________________________
> controller-dev mailing list
> controller-dev@lists.opendaylight.org
> https://lists.opendaylight.org/mailman/listinfo/controller-dev
>
_______________________________________________
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev

Reply via email to