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/ | GSoC2018: https://wp.me/p4pxJf-k1
jakub_golinowski has joined #ste||ar
stmatengss has joined #ste||ar
stmatengss has quit [Quit: Leaving.]
jakub_golinowski has quit [Ping timeout: 248 seconds]
stmatengss has joined #ste||ar
stmatengss has quit [Ping timeout: 265 seconds]
stmatengss has joined #ste||ar
hkaiser has quit [Quit: bye]
daissgr has quit [Quit: WeeChat 1.4]
K-ballo has quit [Quit: K-ballo]
Anushi1998 has quit [Quit: Bye]
stmatengss has quit [Quit: Leaving.]
stmatengss has joined #ste||ar
stmatengss has quit [Quit: Leaving.]
nanashi55 has quit [Ping timeout: 256 seconds]
nanashi55 has joined #ste||ar
stmatengss has joined #ste||ar
jaafar has joined #ste||ar
jaafar has quit [Ping timeout: 276 seconds]
stmatengss has quit [Quit: Leaving.]
stmatengss has joined #ste||ar
jakub_golinowski has joined #ste||ar
stmatengss has quit [Quit: Leaving.]
<jakub_golinowski>
M-ms, yt?
jakub_golinowski has quit [Quit: Ex-Chat]
jakub_golinowski has joined #ste||ar
hkaiser has joined #ste||ar
mcopik has joined #ste||ar
david_pfander has quit [Ping timeout: 255 seconds]
<hkaiser>
I should have tested it before approving
nikunj has joined #ste||ar
twwright_ has joined #ste||ar
twwright_ has quit [Client Quit]
stmatengss has joined #ste||ar
<K-ballo>
hkaiser: here
<heller>
what do we think of p1055?
<hkaiser>
K-ballo: if you have the time, I'd like to talk about your comment you posted yesterday
<K-ballo>
sure
<hkaiser>
could you elaborate why you think adding the value to the future might not be a good idea?
<hkaiser>
heller: I don't understand what they have in mind
<heller>
hkaiser: IIUC, eric is trying to be able to easily adapt executors into his ranges stuff
<heller>
I find the proposed syntax a bit confusing
<K-ballo>
because future<T> is assumed to be small in size, cheap to move, etc
<hkaiser>
K-ballo: nod, I understand that
<K-ballo>
and it is guaranteed to be nothrow on move, so T's that throw on move are immediately disqualified from stashing
<hkaiser>
K-ballo: the plan was to allow the stashing for no-throw-move types only
<heller>
hkaiser: I am also not sure about the deferred/lazy stuff they are proposing
<hkaiser>
heller: if you understand what they want, would you be able to explain in 2 sentences?
<K-ballo>
I'd restrict it further to only trivially copyable things, and try to forget about the size bump
<K-ballo>
else suddenly returning a future could try to grab a lock!
<hkaiser>
K-ballo: why only trivially copyable things? nothing would be copied after all
Anushi1998 has joined #ste||ar
<K-ballo>
because that guarantees no user defined code is executed during those moves
<K-ballo>
nor during the destruction
<hkaiser>
what about future<vector<T>>?
<hkaiser>
or similar
<K-ballo>
I most definitively wouldn't stash it, not for an hpx::future that already has associated expectatoins
<heller>
hkaiser: I think the main motivation is to move away from the huge interfaces presented in P0443, and somehow manage the combinatorial explosion coming from mixing different concepts together. To that end, they tried to come up with an extensible solution
<hkaiser>
heller: that I do understand
<hkaiser>
K-ballo: ok - that would make it less useful, though
<heller>
hkaiser: however, it breaks with everything we had so far. That is traditional async + future::then etc.
<heller>
and kind of looks overly complicated
<heller>
one example is callin this_thread::get(f) multiple times
<hkaiser>
yah, everybody wants to get away from the concurrency ts, no idea why
<heller>
which is a shift from "getting the value of the operation" to "submit the task and wait until it has been executed"
<heller>
well, one advantage of the solution presented, is that one can have really lightweight future/promise pairs, potentially ones that don't even require synchronization
<heller>
and allow composition for things requiring different synchronization mechanisms, without having to go through a shared state. In addition, this avoids defining the shared state alltogether
akheir has joined #ste||ar
Anushi1998 has quit [Quit: Bye]
jakub_golinowski has quit [Remote host closed the connection]
<jbjnr>
hkaiser: the reason I ask is because, the answer I posted does not work any more
<jbjnr>
to that same stack overflow question
<zao>
Does node1 seem to listen properly according to `lsof -i`?
<hkaiser>
jbjnr: your gist does things differently from what's described in that answer
<hkaiser>
jbjnr: all the ip addresses in your example are the same, this is not how it works
<jbjnr>
it used to work - both nodes are on the same locality
<jbjnr>
same machine I mean
<hkaiser>
jbjnr: sure
<hkaiser>
it will still work if you do it right
<hkaiser>
the so answer describes it in detail
<hkaiser>
jbjnr: in short --hpx:agas should point to the same ip address for all localities, --hpx:hpx should point to distinct addresses for each of the localities
<hkaiser>
for locality zero, both should be the same
<jbjnr>
my point is that the answer I posted used to work, but does not any more
<hkaiser>
jbjnr: not true
<hkaiser>
jbjnr: the gist you posted does not correspond to your answer
<jbjnr>
it's the same
<hkaiser>
it's not
<hkaiser>
all ip addresses are the same in the gist while in the answer the addresses passed to --hpx:hpx are distinct
<jbjnr>
ok, so I can't use that syntax when I'm on the same node. fair enough. sorry
<hkaiser>
jbjnr: sure you can
<hkaiser>
jbjnr: just make the ip addresses distinct by using different ports
<jbjnr>
heller: or hkaiser when running two localities on the same node - they have the same ip addr. I'm getting parcel destination does not match locality which received the parcel ({0000000100000000, 0000000000000000}), ({0000000200000000, 0000000000000000}:({0000000200000000, 0000000000000000} because a parcel is going back to the same locality instead of the other one
<jbjnr>
what do we do in the tcp PP to get around this?
<jbjnr>
(the LF PP does not see the correct port numbers AFAICT)
<heller>
jbjnr: we use different ports, yes. The lf address, iiuc, only compares the ip address
<heller>
You can do a bytewise compare, or reinterpret cast the void pointer to a sockaddr_in struct