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/
parsa[w] has joined #ste||ar
jaafar has quit [Ping timeout: 244 seconds]
parsa[w] has quit [Read error: Connection reset by peer]
parsa[w] has joined #ste||ar
nikunj has quit [Ping timeout: 250 seconds]
K-ballo has quit [Quit: K-ballo]
hkaiser has quit [Quit: bye]
quaz0r has quit [*.net *.split]
quaz0r has joined #ste||ar
jbjnr has joined #ste||ar
nikunj97 has joined #ste||ar
david_pfander has joined #ste||ar
<mdiers_>
heller_: here the same of my workstation: https://i.imgur.com/BbT2G6J.png , you have a missing 1 GB on NUMAnode P#0 ;-)
<simbergm>
hm, darned loop counters are a big slowdown
<simbergm>
future overhead test is up to 25 % faster on 36 cores if I change the scheduling counters to be local variables
<simbergm>
heller_, jbjnr ^
<jbjnr>
yup
<jbjnr>
those atomics are everywhere
<simbergm>
not atomics actually
<jbjnr>
sorry.
<simbergm>
the counters are stored in vectors for all threads, so false sharing I suppose
<jbjnr>
remind me which counters you are talking about
<jbjnr>
it looks like a counter, but when turned off, it becomes a noop
<jbjnr>
so each counter could be enabled/disabled without any ifdefs locally, just a template on/off
<jbjnr>
I wanted to put them in other places too.
<jbjnr>
but you are correct that just storing them in cache aligned places should be done anyway
<simbergm>
ah, that's nice
<simbergm>
but the idle and busy loop counters would be hard to turn off like that, they're pretty much mandatory to have around
<jbjnr>
why mandatory? are they used by the scheduler for other things?
nikunj has joined #ste||ar
<simbergm>
not strictly mandatory, but we need some sort of counter to decide when to run background tasks etc.
<simbergm>
but that could be a local variable as well
<simbergm>
hence only "pretty much mandatory"
<jbjnr>
ok. got it
<heller_>
simbergm: good thinking!
<heller_>
There are lots of places with huge inefficiencies...
<simbergm>
yep, one by one they shall be defeated...
<simbergm>
perf c2c is pretty nifty btw, found it with that
<simbergm>
hmm, I'll open an issue for that, maybe one of the gsoc applicants wants to fix it, shouldn't be that much work
<heller_>
nice
<heller_>
perf is a pretty powerful tool
<heller_>
the UI is a total mess though
<simbergm>
agreed
<simbergm>
heller_: should we go ahead with #3498? (needs a rebase, but after that)
<jbjnr>
simbergm: I always have HPX_HAVE_THREAD_IDLE_RATES + friends off, are there also loop counters that are not directly perf-counters that are a problem here. Which loop counters are the bad ones - I will volunteer have a look at them if you want.
<simbergm>
I think the worst offenders in this case are idle_loop_count and busy_loop_count (note: idle rate is different)
<heller_>
simbergm: yes, we should move on with that
<simbergm>
I think those can both be queried as performance counters but they're used in the scheduling loop and would need local variables as a replacement if they're disabled
<simbergm>
heller_: ok
<simbergm>
jbjnr: ^
<simbergm>
-> lunch
<jbjnr>
ta. I will look into it as part of my ongoing cleaning up.
K-ballo has joined #ste||ar
nikunj97 has joined #ste||ar
nikunj has quit [Ping timeout: 250 seconds]
<simbergm>
heller_: just rebased #3498
nikunj has joined #ste||ar
<heller_>
you know what's cool?
nikunj97 has quit [Ping timeout: 245 seconds]
<simbergm>
heller_ just tell us ;)
<heller_>
simbergm: we now have access to a 46 core arm64 server
<heller_>
qualcomm Centriq 2400 based
hkaiser has joined #ste||ar
parsa[w] has quit [Read error: Connection reset by peer]
aserio has joined #ste||ar
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
<simbergm>
nice, is that also from packet?
<heller_>
simbergm: yeah
<heller_>
looks like they really mean it
<hkaiser>
heller_: nice
<heller_>
now, the gitlab runner plan seems to be moot
<hkaiser>
so PRs from separate forks will not be tested?
<heller_>
correct
<heller_>
which is a showstopper
<hkaiser>
:/
<hkaiser>
can we leave the circleci stuff in place for those?
parsa[w] has joined #ste||ar
<heller_>
probably, but that means that they will only get limited testing then
<hkaiser>
shrug, better than nothing
<zao>
Heh, I considered the problem of PRs from untrusted sources in my CI thing.
<zao>
(circumvented the problem by having to explicitly declare what PRs to test)
hkaiser has quit [Quit: bye]
<jbjnr>
in puycicle I should add a check that only PR's from 'approved' users are tested so that random people on the internet can't submit PRs with malicious code in
<heller_>
yeah, that's an issue in general...
parsa[w] has quit [Read error: Connection reset by peer]
parsa[w] has joined #ste||ar
parsa[w] has quit [Read error: Connection reset by peer]
parsa[w] has joined #ste||ar
parsa[w] has quit [Read error: Connection reset by peer]
parsa[w] has joined #ste||ar
jaafar has joined #ste||ar
hkaiser has joined #ste||ar
jaafar has quit [Ping timeout: 250 seconds]
aserio has quit [Ping timeout: 260 seconds]
david_pfander has quit [Ping timeout: 244 seconds]
aserio has joined #ste||ar
aserio has quit [Ping timeout: 246 seconds]
aserio has joined #ste||ar
jaafar has joined #ste||ar
aserio1 has joined #ste||ar
aserio1 has quit [Client Quit]
aserio has quit [Ping timeout: 252 seconds]
Vir has quit [Ping timeout: 264 seconds]
nikunj has quit [Read error: Connection reset by peer]
hkaiser has quit [Quit: bye]
K-ballo has quit [Quit: K-ballo]
K-ballo has joined #ste||ar
hkaiser has joined #ste||ar
parsa[w] has quit [Read error: Connection reset by peer]