Perl 6 - the future is here, just unevenly distributed

IRC log for #parrotsketch, 2012-03-27

| Channels | #parrotsketch index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:58 jashwanth joined #parrotsketch
05:45 eternaleye joined #parrotsketch
05:54 eternaleye joined #parrotsketch
05:55 eternaleye joined #parrotsketch
07:12 jashwanth joined #parrotsketch
08:25 lucian joined #parrotsketch
14:26 jashwanth joined #parrotsketch
17:11 lucian joined #parrotsketch
17:57 alvis joined #parrotsketch
18:51 benabik joined #parrotsketch
19:13 contingencyplan joined #parrotsketch
19:14 dukeleto joined #parrotsketch
19:42 dukeleto soon?
19:42 benabik Supposedly 12 minutes ago.
19:42 benabik cotto said he might be in a meeting.
19:44 dukeleto Amazingly, I was first to #ps today!
19:45 * dukeleto has been hacking on M0 a bit and released 4.2.0. parrot.github.com still needs updating
19:50 NotFound joined #parrotsketch
19:50 NotFound Late hello
19:50 dukeleto NotFound: #ps is a bit late-ish today
19:50 NotFound This weekend we switched to dst, I'm a bit disoriented.
19:50 nine I somehow thought it was at 20:00 UTC not 19:30
19:51 whiteknight joined #parrotsketch
19:52 dukeleto whiteknight: are we late or early?
19:52 whiteknight i have no idea
19:52 NotFound We're here, then is the rigth time.
19:53 nine So dukeleto has been hacking on M0 a bit and released 4.2.0. Thanks for that!
19:56 nine DONE: * got threads to run reliably * finished chameneos.pir threading example implementation * achieved a performance increase of an order of magnitude for chameneos.pir compared to the initial version
19:56 nine PLAN: * slowdowns of single threaded loads have accumulated to 3.7 %. Trying to get some numbers on how much of that we can get back by using a flag instead of the new orig_interp PMC header field * I suspect one or two remaining GC related threading problems which only showed on the assertions I unfortunately lost from my git stash * finish my thesis!
19:57 dukeleto nine: if you need somewhere to run benchmarks, we can get you access to the gcc compile farm
19:57 dukeleto nine: there are machines with 64 cores and stuff like that
19:57 NotFound nine: What branch?
19:58 dukeleto nine: http://gcc.gnu.org/wiki/CompileFarm
19:58 dukeleto nine: instructions to get access are there. Just tell them you are part of Parrot and give them your ssh pub key
19:58 dukeleto nine: lost work in your stash? Have you tried "git reflog" ?
19:58 nine NotFound: threads. Though the second 3x performance increase is not there yet because I'm still playing around a little
19:59 NotFound nine: no problem, I just want to try using threads with winxed.
19:59 nine dukeleto: git reflog? Not yet, but looks like I might find them there. thanks!
19:59 whiteknight NotFound: Yes, I want to do the same
19:59 nine NotFound: please, go ahead!
19:59 nine And tell my how badly it breaks :)
20:00 dukeleto nine: the reflog keeps a reference to every HEAD, even if they aren't on a branch, fyi.
20:01 nine dukeleto: I stashed the stuff and then did a git reset HEAD^ which seemed to have kicked the stuff from the stash as well. But I'll have a look at the reflog if I can find it
20:02 NotFound nine: examples/threads ?
20:02 benabik git reset shouldn't do anything to the stash.
20:02 benabik git stash list should still show it.
20:03 nine NotFound: yes, that's where chameneos.pir is and the simpler moretasks.pir. If anything's unclear just ask
20:06 nine benabik: you're right! There they are! No idea how I overlooked them the first time. Must have been even more tired than I realized...
20:13 nine Just curious: how much slowdown of single threaded loads would actually be considered acceptable to gain threading support?
20:14 NotFound Ideally, 0 ;)
20:15 nine NotFound: of course...but that's almost impossible ;) Though I try to get as close as possible
20:17 NotFound Maybe we can duplicate sections of the core for single thread case, and switch the moment the first thread is created.
20:21 whiteknight nine: It would be very instructive to find out where and why the slowdown is occurring
20:22 whiteknight nine: When we pinpoint the differences, we will be able to make a more informed decision about whether we can fix it, or whether it's worth living with
20:22 nine I'm actually a little surprised that my latest optimization caused a 1.3 % slowdown. Though I now take a lock in get_new_pmc_header I only do it when more than one thread is running. So its actually just two additional if (interp->thread_data)
20:22 whiteknight get_new_pmc_header is called a hell of a lot
20:25 whiteknight I don't think that's where the issue is, not for two pointer tests causing a 1.3% slowdown
20:25 nine Well maybe we'll find a way to do it without this lock. bacek++ had some interesting thoughts on how we could structure threaded GC in the long term with local allocation and merging of pools to do m&s on the main thread.
20:26 whiteknight I think ultimately we're going to have to move to a concurrent algorithm for GC, instead of a single-threaded algorithm trying to be tolerant of threads
20:27 whiteknight do a google search for VCGC "Very Concurrent GC" for an idea of what I'm thinking
20:27 benabik +1
20:27 whiteknight but for now, we do the best with what we have
20:27 nine whiteknight: had a look at that. A very interesting read. But IIRC even this algorithm needs to stop the world. But only for a very very short time
20:28 benabik Here's a horrible idea: use a function pointer to switch between thread aware and thread-less allocations.
20:28 benabik Change the pointer before you start the 2nd thread.
20:28 nine benabik: well, since GCs are already pluggable, this wouldn't even be so horrible...
20:28 benabik Oh, yes, we already have that indirection.  Hm.
20:28 whiteknight our GC should be a lot less pluggable than it currently is. All the indirect sub calls are unnecessarily expensive
20:30 whiteknight In any case I have to go home now. I'll be back on later tonight
21:39 NotFound left #parrotsketch
22:02 benabik left #parrotsketch
22:18 whiteknight joined #parrotsketch

| Channels | #parrotsketch index | Today | | Search | Google Search | Plain-Text | summary