On Mon, Mar 27, 2017 at 5:25 AM, Mirage Abeysekara <[email protected]> wrote:
> Hi Edward, > > I prepared a draft design document for the vote based lock implementation. > Could you please give me a feedback regarding the design? > > https://docs.google.com/document/d/1sKbDs3aLcJxjKeEjXVRt9BnI > 1zKIPQTDN6RkDL_jEZc/edit?usp=sharing > <https://docs.google.com/document/d/1sKbDs3aLcJxjKeEjXVRt9Bn > I1zKIPQTDN6RkDL_jEZc/edit?usp=sharing> > > Thanks > > *Mirage Abeysekara* > Undergraduate > Computer Science and Engineering > University of Moratuwa > Twitter: https://twitter.com/MiRAGECreator > GooglePlus: https://plus.google.com/u/0/+MirageAbeysekara > > On 23 March 2017 at 07:53, Edward Capriolo <[email protected]> wrote: > > > On Wed, Mar 22, 2017 at 3:33 PM, Mirage Abeysekara < > > [email protected]> > > wrote: > > > > > Hello Edward, > > > > > > Why do we need a distributed locking mechanism, if the gossip provides > > > eventual consistency model? > > > Can you please give me a bit of explanation or simple use-case? > > > > > > Thanks > > > > > > > > > *Mirage Abeysekara* > > > Undergraduate > > > Computer Science and Engineering > > > University of Moratuwa > > > Twitter: https://twitter.com/MiRAGECreator > > > GooglePlus: https://plus.google.com/u/0/+MirageAbeysekara > > > > > > On 18 March 2017 at 21:50, Edward Capriolo <[email protected]> > > wrote: > > > > > > > On Thu, Mar 16, 2017 at 5:16 AM, Mirage Abeysekara < > > > > [email protected]> > > > > wrote: > > > > > > > > > Hi Edward, > > > > > > > > > > I updated the jira ticket with design documentation link. > > > > > The time period for GSoC is three months. I would like to be work > > with > > > > > another ticket. Can you assign me for a suitable ticket? > > > > > > > > > > Thanks > > > > > > > > > > *Mirage Abeysekara* > > > > > Undergraduate > > > > > Computer Science and Engineering > > > > > University of Moratuwa > > > > > Twitter: https://twitter.com/MiRAGECreator > > > > > GooglePlus: https://plus.google.com/u/0/+MirageAbeysekara > > > > > > > > > > On 13 March 2017 at 18:47, Edward Capriolo <[email protected]> > > > > wrote: > > > > > > > > > > > I assigned the ticket to you. I labeled it GSOC 2017. Please > > > link/copy > > > > > your > > > > > > design docs into the ticket. It would be good to have another > > ticket > > > > > > earmarked to you. I do not know how long GSOC is but with the > speed > > > you > > > > > did > > > > > > the last ticket I do not anticipate pub/sub taking a month. > > > > > > > > > > > > On Mon, Mar 13, 2017 at 6:16 AM, Mirage Abeysekara < > > > > > > [email protected]> > > > > > > wrote: > > > > > > > > > > > > > Hello Edward, > > > > > > > > > > > > > > I updated the document with changes. Here is the expected > design > > of > > > > the > > > > > > > classes. > > > > > > > https://drive.google.com/file/d/0B8l-mZ- > > > > pbfPmNWh2cU92NVhEMEk/view?usp= > > > > > > > sharing > > > > > > > > > > > > > > <https://drive.google.com/file/d/0B8l-mZ- > > > > > pbfPmNWh2cU92NVhEMEk/view?usp= > > > > > > > sharing> > > > > > > > > > > > > > > Thanks. > > > > > > > > > > > > > > *Mirage Abeysekara* > > > > > > > Undergraduate > > > > > > > Computer Science and Engineering > > > > > > > University of Moratuwa > > > > > > > Twitter: https://twitter.com/MiRAGECreator > > > > > > > GooglePlus: https://plus.google.com/u/0/+MirageAbeysekara > > > > > > > > > > > > > > On 12 March 2017 at 00:56, Edward Capriolo < > > [email protected]> > > > > > > wrote: > > > > > > > > > > > > > > > I added some suggestions/ changes to your document. Looks > good > > on > > > > my > > > > > > end. > > > > > > > > Does anyone else have any suggestions? > > > > > > > > > > > > > > > > On Fri, Mar 10, 2017 at 2:31 AM, Mirage Abeysekara < > > > > > > > > [email protected]> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > Hi all, > > > > > > > > > > > > > > > > > > I prepared a draft design document[1] for the above jira > > ticket > > > > > based > > > > > > > on > > > > > > > > my > > > > > > > > > understanding of the project. I would appreciate if you > could > > > > give > > > > > me > > > > > > > > some > > > > > > > > > suggestions or feedback for the design. > > > > > > > > > > > > > > > > > > [1] https://docs.google.com/document/d/ > > > > > 1z1jZIaNqot8SXrelajd1aCBT1q_ > > > > > > > > > KVHrw5DV2RGJfJtQ/edit > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > *Mirage Abeysekara* > > > > > > > > > Undergraduate > > > > > > > > > Computer Science and Engineering > > > > > > > > > University of Moratuwa > > > > > > > > > Twitter: https://twitter.com/MiRAGECreator > > > > > > > > > GooglePlus: https://plus.google.com/u/0/+MirageAbeysekara > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Mirage, > > > > > > > > Sorry I just saw this. I think the important thing is the proposal > > should > > > > be interersting to you. Thus I do not want to "assign" things. > > > > > > > > I would say the best idea is to look into more data structures: > > > > http://ieeexplore.ieee.org/document/7328521/ > > > > > > > > Or possibly developing some form of lock management: > > > > http://www.exploredatabase.com/2014/04/distributed-lock- > > > > manager-concurrency.html > > > > > > > > Or building higher level datastructures ontop of CRDTs > > > > https://ignite.apache.org/features/datastructures.html > > > > > > > > To do these we need to solve/handle a couple of issues. > > > > > > > > Building something that does a leader election makes sense as well. > > > > > > > > the open question in my mind is will we implement something like > this: > > > > > > > > https://issues.apache.org/jira/browse/VXQUERY-180?jql= > > > > labels%20%3D%20gsoc2017 > > > > > > > > > > > > Where machine do direct communication vs lazy gossip replication. > > > > > > > > Also I have been thinking hard about the per-node vs shared hash > maps. > > I > > > > thing what we need to there is unify those concepts and make the key > of > > > the > > > > hashmap be useful for expressing more arbitrary concepts like "only > > > > replicate this to nodes name xyz" or "only replicate this to nodes in > > > > datacenter b" or "dont replicate this at all it is only local data" > > > > > > > > Having a distributed structure that I can lock is most interesting to > > me. > > > > Even if the lock takes 30 seconds to acquire by reaching a quorum of > > > nodes, > > > > wondering if we can implement something like this: > > > > > > > > https://www.google.com/webhp?sourceid=chrome-instant&ion=1& > > > > espv=2&ie=UTF-8#q=bakery+algorithm&* > > > > > > > > Anyway there is a lot of ideas there maybe you can take one in a more > > > > specific direction. > > > > > > > > > > > https://issues.apache.org/jira/browse/GOSSIP-75 > > > > Ok lets take a simple example. Imagine I have some datum like this: > > > > { "name":"computePI", "workers": "4" } > > > > The question becomes how do we now divide up this work? How can we make > > sure 4 and only 4 nodes take on this work. > > > > One possibility is voting. > > > > Node2 starts the process > > createSharedData( name:computePi/slot1, value: "node2svote:node2" ) > > now as this passes message passed to node3, node3 will append to the crdt > > > > createSharedData( > > name:computePi/slot1, value: "node2svote:node2" , > > name:computePi/slot1, value: "node3svote:node2" > > ) > > > > Now, anyone who is interested in this lock/ can keep polling until number > > of votes > half cluster. But there is other ways to do this. Possibly we > > use a technique like that to elect a leader who is a decision maker for N > > seconds, then we elect again. Or maybe this is where that geometric > quorum > > ticket comes in, maybe we do not attempt to gossip this, maybe we pick N > > nodes and the communicate directly. > > > Mirage, This looks great. Would you mind re-sending to the list with a new subject relevant to the feature. Thanks, Edward
