hkaiser changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar.cct.lsu.edu | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | Buildbot: http://rostam.cct.lsu.edu/ | Log: http://irclog.cct.lsu.edu/
K-ballo has quit [Quit: K-ballo]
hkaiser has quit [Quit: bye]
Yorlik has quit [Quit: Leaving]
Yorlik has joined #ste||ar
K-ballo has joined #ste||ar
hkaiser has joined #ste||ar
<hkaiser> K-ballo: I have isolated the fix here: #3894
eschnett has quit [Quit: eschnett]
eschnett has joined #ste||ar
<K-ballo> looking
<K-ballo> what does it take to reproduce the problem?
hkaiser has quit [Ping timeout: 248 seconds]
hkaiser has joined #ste||ar
<nikunj> hkaiser: yt?
<hkaiser> nikunj: here
<nikunj> hkaiser: I was thinking to add the voting function to replicate
<nikunj> and I think we should keep 3 versions of replicate, namely replicate, replicate validate and replicate vote
<nikunj> so with replicate the first thread to get output is returned
<nikunj> replicate validate validates against a given predicate
<nikunj> replicate vote does a vote amongst all answers
<nikunj> and there is no validation with vote
<hkaiser> well, it should be four versions, then
<nikunj> what would the 4th be?
<hkaiser> voting could be based on validation as well
<nikunj> I didn't get how
<hkaiser> one is to decide whether an error occurred (exception/validate), the other is how to decide what's the correct result
<nikunj> I was thinking for a validation but if voting is some sort of consensus, we're voting because we don't know what the right answer is
<nikunj> so if we had a validation function, then we don't really need a vote
<hkaiser> right
<hkaiser> I agree
<nikunj> because the first output verifying the validate should return, why wait for all
<nikunj> so replicate vote is a different API in it's own providing a consensus based output where we don't have any validation function
<nikunj> and that we can expect different results
<nikunj> so what I'm thinking of replicate vote is that every non exception based result will get computed and then we will vote amongst them trying to form a consensus
<nikunj> if there are more than one answer with same votes, then we can take mean of the results?
<hkaiser> ok
<hkaiser> sounds like a plan
<hkaiser> the mean?
<nikunj> as in average of all the results
<nikunj> with same votes
<hkaiser> you take the result with the most votes
<hkaiser> you might not be able to calculate an average
<nikunj> but let's say out of 5 tries, 1 exception occured and we had 4 different results. How would you form consensus?
<hkaiser> throw an exception
<nikunj> so if we have more than 1 output with same votes, just throw an exception?
<hkaiser> if it's undecidable we should throw
<nikunj> but wouldn't that actually kill the whole concept of resiliency?
<nikunj> we should be able to get some results
<nikunj> I think we should call in a replay to get the final vote, what do you say?
<hkaiser> if we run out of trials we throw as well
<hkaiser> no, leave that decision to the user
<nikunj> yes, if we run out of trials then we should definitely throw
<nikunj> so I should create a different exception to differentiate between consensus exception and out of trials exception?
<hkaiser> ok
eschnett has quit [Quit: eschnett]
<K-ballo> just installed hpx for the first time today
<K-ballo> I don't want to use cmake, and I don't want to have to bother with multiple module include paths
nikunj has quit [Remote host closed the connection]
nikunj has joined #ste||ar
<K-ballo> most dlls end up in lib, except hpx core which ends up in bin.. that's confusing
<K-ballo> and now I have two sets of headers.. the tracked one and the installed one which I actually use, that's not going to end well :P
<K-ballo> hkaiser: I can reproduce the issue, the fix works, and the bases are no longer needed
nikunj has quit [Remote host closed the connection]
Coldblackice_ is now known as Coldblackice
nikunj has joined #ste||ar
<hkaiser> K-ballo: hmmm, the fact that dll's end up in lib doesn't sound right
<hkaiser> is that for the installed version?
<K-ballo> yes
<hkaiser> ok, that's wrong
<hkaiser> I never install hpx ;-)
<hkaiser> also, you shouldn't need to bother with multiple include paths, everything should end up being installed into .../hpx/...
<K-ballo> yeah, that's why I have finally decided to install after all these years
<hkaiser> ok, understand
<hkaiser> we need to fix the installation, though