Priority for this week: Close Trac tickets | Post closed tickets in your report. | Note: This channel is for our Tuesday status meetings (at 20:30 UTC); you probably want #parrot instead. | irclog: irclog.perlgeek.de/
Set by moderator on 26 April 2011.
00:52 whiteknight left 01:10 bluescreen joined 03:37 ShaneC left 05:17 cotto_work left 05:36 lucian__ joined 05:39 lucian left 05:56 lucian joined 06:00 lucian__ left 06:23 particle1 left 08:35 bluescreen left 08:57 contingencyplan left 09:06 lucian left 09:08 lucian joined 09:13 lucian_ joined 09:17 lucian left 10:23 particle joined 10:38 lucian joined 10:43 lucian_ left 13:44 lucian_ joined 13:47 lucian left 13:48 lucian_ is now known as lucian 14:02 bluescreen joined 14:09 cotto_work joined 15:02 lucian left 15:35 mikehh joined 15:40 contingencyplan joined 18:06 atrodo joined 18:42 benabik joined 18:44 ShaneC joined 19:23 Coke__ left, Coke joined 19:31 Coke left, Coke joined 19:38 Coke left, Coke joined 19:46 Coke left, Coke joined 19:53 Coke left, Coke joined 19:56 bubaflub joined
cotto_work *did: 19:56
- LinuxFestNW
-- good turnout for my State of Parrot talk: 25-30 people at a general interest conference
--- I now have lots of ways to improve the talk for OS Bridge and YAPC::NA in June
-- moved M0 forward: reparrot.blogspot.com/2011/05/m0vin...rward.html
- M0 progress:
-- started on the final prototype (i.e. we'll throw this one away but keep the tests)
-- dukeleto is writing an M0 assembler in Perl 5
-- I'm writing an M0 interp in Perl 5
-- all work is based on the spec (and whatever changes we need to make as we run into holes)
--- currently have tests to generate simplistic (but probably valid) M0 bytecode ("m0b") 19:57
-- code lives in t/m0 and src/m0 in the m0-prototype branch
- GSoC progress:
-- found out that parrot-instrument won't be a good foundation for soh_cah_toa's project
*will do:
- M0 interp hacking
- M0 spec cleanup
- figure out a workable plan for soh_cah_toa's debugger
- schedule another meeting with allison, chromatic and dukeleto, probably 1-2 months out
-- our understand will eventually be a blocker, though I want to get the prototypes as far as they'll go first
*eor
19:58 whiteknight joined
benabik Currently blocked on school. My GSoC work begins around 5/21 (day after finals). EOR 20:01
20:02 plobsing joined
whiteknight WHAT I DID 20:05
* Debugging on Parrot-Instrument with plobsing++. Good news: We have a better idea of what's broke. Bad news: It's staying broke.
* Blogging about concurrency issues, trying to put together a concrete plan and help inform some decisions at the Lorito-level
* Reshuffling priorities. 6model is coming up next. I'm doing some research and planning on it.
* Reading 6model code like a madman.
* jnthn is starting to migrate Rakudo to 6model which might necessitate some code changes. Am going to delay writing codes until he's further along.
* Starting to look at performance issues. Parrot slowed down noticibly between 3.0 and 3.1 and never climbed back (even after GMS merge). There was also a slowdown between 3.2 and 3.3 which is smaller but still needs reconciliation.
WHAT I WILL DO
* Would like to have a draft of a plan for 6model adoption ready for first review this week or next.
* Trying to have a brainstorming session about 6model on Sunday.
* Looking to start putting together a team to help with the planning and coding. Tene has volunteered already. Looking for more.
* Also, want to start soliciting feedback, wishlists for the new MOP, lists of problems with the current MOP, etc. If we're going to do this, let's do it right.
EOR
tcurtis *did: blog post; read part of "Efficient Translators for LR(k)..."; Will do: more blogging, more reading. 20:06
bubaflub ETOOMANYFINALS - will do: blog about my GSoC project, learn about 6model
Util # Done: 20:07
* Passed my "Avoid Tornados" saving throw (@ Alabama, USA)
* Fixed Trac ticket report {6} - All Tickets By Milestone (Including closed) - per dukeleto++
* No Parrot coding; worked on Rakudo Star binary for OS X.
# Plan to do:
* No Parrot work until R* binary is complete. Later this week? Then ticket backlog.
curl -s 'trac.parrot.org/parrot/timeline?day...ticket=on' | perl -wlne '/<em[^>]+\\(([^"]+)\\)">/ or next; $h{$1}++; END {printf "%7d\\t%s\\n", $h{$_}, $_ for sort keys %h}'
# 7-day ticket report:
3 closed: fixed
3 closed: invalid
1 closed: worksforme
2 new
.end
plobsing What I Did: * complete tt1931 removals * debug tt1931-nci-parameters-deprecation 20:08
What I Plan: * complete tt1931-nci-parameters-deprecation merge * investigate thread-safety issues revealed by zeromq
EOR
dukeleto has to go to his accountant. Will send an update to parrot-dev later today. 20:15
mikehh What I did since my last report: 20:16
* building and testing parrot on amd64/i386, with gcc/g++
* some fixes
What I intend to do in the next week:
* testing and fixing
.eor
of course nowhere near as much as I intended
20:16 NotFound joined
atrodo .done 20:20
* Got a crazy ops => lasm hack up and started
* A YAPC::NA BOF and Hackathon has been scheduled. Be there!
.todo
* More ops => lasm hacking
* isparrotfastyet really needs love
.eor
NotFound What I did (last three weeks): 20:25
-parrot
* Some testing
-winxed
* Minor fixes and refactors
* Updated several examples
What I will do:
No plan, putting myself up to date.
EOR
20:25 rohitnsit joined
rohitnsit DONE 20:25
*Studied WorkFlow of "cafe" compiler
*Studied nodejs api.
*rohitnsit08.blogspot.com/2011/05/ca...start.html
*rohitnsit08.blogspot.com/2011/04/ca...ments.html
WILL DO
*Start modifying cafe for PIR generation
20:26 rohitnsit left, rohit_nsit08 joined
cotto_work hello 20:28
rohit_nsit08 cotto_work: hello
mikehh hi there
20:28 luben joined
NotFound Hola 20:28
benabik yo
20:28 whiteknight left, davidfetter joined, soh_cah_toa joined
cotto_work The previous week's goal seems to have been to schedule a BoF at YAPC::NA. 20:29
20:29 moritz joined, pmichaud joined
atrodo Howdy 20:29
cotto_work atrodo++ did a good job of that
pmichaud hello, #parrotsketchers 20:30
cotto_work hi pmichaud
rohit_nsit08 pmichaud: hello
mikehh pmichaud: hello
bubaflub hello
moritz \\o
pmichaud just wanted to quickly point out my latest benchmark results at lists.parrot.org/pipermail/parrot-d...05822.html in case it comes up for discussion today 20:31
(email just sent to parrot-dev)
cotto_work pmichaud: thank you for sending that.
pmichaud can't really stay for #ps today -- have errands to run here :( 20:32
soh_cah_toa WEEKLY REPORT:
* submitted patch for TT #1589
* began (re)considering language for gsoc project
* submitted smoke tests on fedora and freebsd 20:33
TODO
tcurtis hi
soh_cah_toa * decide langauge by end of the week
* meet w/ mentor
EOR
rohit_nsit08 DONE 20:34
*Studied WorkFlow of "cafe" compiler
*Studied nodejs api.
*rohitnsit08.blogspot.com/2011/05/ca...start.html
*rohitnsit08.blogspot.com/2011/04/ca...ments.html
cotto_work My understanding is that there's at least one major slowdown between 3.0 and 3.1. Does someone have the tuits to dig in and find out what the problem is?
whiteknight mentioned three changes in #parrot that looked suspicious. 20:35
<whiteknight> "Exception PMCs are now subclassable from PIR"
<whiteknight> "Improved GC performance on low-memory systems"
<whiteknight> "Improved GC latency"
<whiteknight> those things all raise red flags for me
20:36 kid51 joined
kid51 will be on vacation thru next Tuesday 20:37
NotFound Changes in Exception are suspicious. 20:38
cotto_work NotFound: I'd look at that one first.
Rakudo uses those a lot.
NotFound Any change in Exception and ExceptionHandler can have big impact in nqp and rakudo. 20:39
mikehh kid51: is that vacation away or vacation can seriously work on parrot :-}
cotto_work no volunteers, though I suspect that whiteknight will be looking at it. I'll try to find some time in the next day or two if nobody beats me to it. 20:41
kid51 vacation away; The PDS was originally scheduled for this past weekend, so I scheduled my vacation for the weeks thereafter
soh_cah_toa oh right, pds. has that date been set yet? 20:42
cotto_work kid51: thanks for mentioning PDS. I sent out the doodle but got caught up in the lfnw talk and didn't set a firm date.
any volunteers to look at the doodle, pick a date and send out an announcement? 20:45
mikehh I'll run some tests to see if I can find some culprits 20:46
that's with rakudo slowdowns
20:47 ShaneC left
cotto_work quiet day today 20:47
any questions? 20:50
plobsing q2q
cotto_work plobsing: go ahead
plobsing First question - there exists a number of existing frameworks for analysing C code. IIUC, analysis of full C code is a sticking point for our JIT work. 20:51
Would we be open to a 3rd party library for this? 20:52
mikehh what do you have in mind?
cotto_work plobsing: bacek unblocked himself by hard-coding the macros that ops use.
plobsing examples include: sparse (handles C89/GNUC, implemented in C), CIL (handles C89/GNUC/MSVC, implement in OCaml), Coccinelle (handles C89/GNUC, implemented in OCaml) 20:53
cotto_work: that isn't an acceptable long-term solution and is only possible with hand-holding 20:54
a good, deeply-tracing JIT will need access to nearly everything. That includes system headers.
anything short of fully automatic analysis is going to require a huge amount of work getting that level of information 20:56
cotto_work plobsing: we don't want that to be a hard prerequisite for parrot, but I can see it being an optional feature 20:57
perhaps something like maintainer mode, where those tools are only required if you're hacking on the jit 20:58
plobsing cotto_work: I envision it being a bootstrapped stage, with generated files checked into the repo
cotto_work: yeah, somethign like that
cotto_work plobsing: I can get behind that. 20:59
I just don't want to say that ocaml or sparse is required for the build to work.
20:59 kid51 left
plobsing ocaml is a bigger problem. sparse we could conceivably bundle (but it is less general) 21:00
I'm satisfied with that level of answer. I may or may not pursue this idea in the comming weeks.
cotto_work ok
mikehh it is fine to use various tools as long as it does not compromise the build 21:01
cotto_work plobsing: you had another question?
plobsing Second question: Is this an appropriate time and place to discuss concurrency? 21:02
cotto_work plobsing: whiteknight had some extensive thoughts on that. It'd be better to find a time when he's around.
mikehh was just typing that :-} 21:03
plobsing I had hoped he would be here for this meeting. We really need to start talking about this soon.
mikehh but I think it would help to put some ideas on the table 21:04
plobsing My concerns aren't so much about how we expose concurrency to HLLs, but rather how it affects embedders and extenders.
mikehh would looking at the perl5 core modules threads and threads-shared help at all? 21:05
cotto_work plobsing: you're welcome to list your concerns here. I just think it'd be more productive to have you and whiteknight bounce ideas off each other. 21:06
plobsing mikehh: I doubt they would help much. Our internal architecture is significantly different from Perl 5, so thread-safety strategies (as opposed to thread interface strategies) likely do not cary over. 21:07
mikehh I have been looking at some papers recently that have serious concerns about threads as a concurrwency mechanism
concurrency
plobsing mikehh: that again is interface 21:08
21:08 darbelo joined
plobsing as a platform we can only use the tools given to us. the platforms we are building on provide concurrency primitives that are threads and locks. 21:08
so at some level, we must use those 21:09
mikehh or some form of messagee passing interface
plobsing For example, erlang uses threads and locks in the sense I am describing
21:09 darbelo left 21:10 darbelo joined
mikehh erlang is very robust, especially in embedded 21:10
plobsing erlang is also frequently used as an example of how message passing concurrency can work effectively. however, that is simply the abstraction it chooses to expose. 21:12
mikehh so essentially you are looking at the underlying mechanism, rather that the interface 21:13
cotto_work plobsing: what are your specific concerns?
plobsing how this ties in to concurrency plans. 21:14
mikehh our concurrency system is pretty broken (i.e it don't work properly)
plobsing mikehh: I think some of the designs are serviceable
mikehh in concept yes 21:15
plobsing as a concrete example, our message-passing isn't thread-safe because it requires calls into the allocator, which is single-threaded.
mikehh the implementation leaves much to be desired 21:16
plobsing A quick patch to put a lock around the allocator would likely fix the issues I'm seeing on parrot-zeromq, but I'm not sure that's the approach we want to follow.
mikehh we really need to make as much of parrot thread-safe as possible
bubaflub plobsing: would that be a Global Interpreter Lock? 21:17
plobsing bubaflub: to a limited extent, yes. 21:18
bubaflub plobsing: ok, just curious. carry on.
plobsing alternately, we could try to make the allocator multi-threaded in other ways
or we could try to make the message passing system allocation-free 21:19
those both sound enticing, but they have their own draw-backs
mikehh we really need to try more than one approach to see how thay will work 21:20
especially in lite of recent problems with rakudo slowdowns 21:21
cotto_work We shouldn't act on the Rakudo slowdowns until we're reasonably sure what caused them. 21:22
plobsing agreed. our reactions to that seem rather knee-jerk 21:23
mikehh sure, but we don't need to introduce new problems until we have tried some alternatives
cotto_work Introducing something new is great as long as we're aware of how it affects performance. There's no reason not to parallelize new features and finding out what happened between 3.0 and 3.1. 21:25
mikehh we really need a reasonable benchmark suite that we can run against parrot to see where we are improving or otherwise
plobsing aren't there language-shootout benchmark implementations in Perl 6? 21:26
mikehh probably, but perl6 takes ages to build and the test suite takes much longer 21:27
plobsing I'll send a message to the list detailing my concerns about the previously mentioned aspects of concurrency 21:28
cotto_work plobsing: thanks
NotFound An nqp benchmark program might be useful for some features, like exception handling speed. 21:30
mikehh NotFound: to what extent can we implement some of that in winxed 21:31
I think we can test in winxed much faster than perl6 (in terms of build speed etc.) 21:32
NotFound mikehh: winxed does not use control exceptions.
mikehh at the moment :-} 21:33
I was really thinking of general benchmarks to test speed/memory usage in parrot 21:34
NotFound Well, I suppose we can write some test throwing and catching them, but I'm not sure how realistic will be.
mikehh so we can sort of bisect and get some results in less than an hour or so 21:35
benabik Benchmarks tend not to be realistic, but can be good at determining what portions of a language/machine are fast and what aren't.
21:37 darbelo_ joined
NotFound I can write a simple test, to see it its speed matches the pattern observed with rakudo in the same parrot versions. 21:37
mikehh benabik: I was just thinking of comparisons of different commit states of parrot
plobsing ohm-eta uses control exceptions after a fashion
and is an existing winxed program
cotto_work Let's move this discussion to #parrot. 21:38
mikehh 'k
plobsing any other discussions queued? 21:39
cotto_work I don't think so, but that discussion was moving away from general planning. 21:40
Are there any other questions?
mikehh How is M0 design progressing, I noticed quite a few commits 21:41
cotto_work The short version of my blog post in reparrot is that dukeleto and I are hacking on what we expect to be the final prototype.
21:42 darbelo left
cotto_work It'll probably need one more face-to-face meeting with allison and/or chromatic to get CPS nailed down, but it appears to be largely complete in most other aspects. 21:42
21:43 davidfetter left
mikehh Goals? 21:50
cotto_work GOAL 1: Schedule the PDS
GOAL 2: Figure out the Rakudo slowdown between Parrot 3.0 and 3.1
mikehh and GSoC 21:51
cotto_work What goal would you suggest?
mikehh dunno, just making sure we keep on top of it 21:52
cotto_work It's up to individual mentors at this point. 21:53
mikehh :-} 21:54
cotto_work any other questions? 21:57
Let's call it a wrap. 22:01
22:03 luben left, plobsing left 22:16 NotFound left 22:17 bubaflub left 22:33 bluescreen left 22:47 whiteknight joined
moderator Priority for this week: Schedule PDS, Find Rakudo slowdown, GSoC Mentoring | Post closed tickets in your report. | Note: This channel is for our Tuesday status meetings (at 20:30 UTC); you probably want #parrot instead. | irclog: irclog.perlgeek.de/ 22:52
23:04 soh_cah_toa left 23:16 darbelo_ left 23:17 darbelo joined 23:30 darbelo left 23:34 benabik left