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