Paperwork and learning about actors

Hello dear readers:

During the last months or so, I have been writing my doctoral thesis (now at version 2.0.0 !). Now it is on my director's desk. I hope he likes what I wrote. I edited my thesis to implement the changes he requested. I look forward for my initial deposit.

Aside from that, I formally applied for a postdoctoral appointment at Argonne National Laboratory (requisition #  321236 MCS). Indeed, I will start a postdoctoral appointment next year at Argonne National Laboratory. I am applying to get my own funding. I am submitting applications to these four programs (deadlines are in parentheses):

  • Fonds de recherche du Québec, Postdoctoral research scholarship (B3)   (2013-10-02),
  • Argonne National Laboratory Named Postdoctoral Fellowships (2013-10-15),
  • Banting Postdoctoral Fellowships (2013-10-23),
  • Canadian Institutes of Health Research Fellowship Awards (2013-11-15).
I made a page with the deadlines because I like lists and backlogs. As a matter of fact, I think I would be a good manager with all these management perks I developed.

Furthermore, my director delegated to me the task of preparing his application for the 2014 Compute Canada Resource Allocation call for proposals which is due on 2013-10-16. How wonderful !

I now have access to Titan (a Cray XK7). I will soon have access to Mira (a IBM Blue Gene/Q) too ! My tests on Titan are advancing well. I read a lot of papers lately to prepare adequately my proposals. I have learnt about the actor model, which was invented by Carl Hewitt, Peter Bishop, and Richard Steiger in 1973. Carl Hewitt explained actors in a video on Channel 9. In the end, the 1986 Ph.D. thesis of Gul Agha is probably the definite source of information for the actor model. Another good read is the 2003 Ph.D. thesis of Joe Amstrong who designed Erlang -- a concurrent functional language with actors. I bought the book Learn You Some Erlang for great good!. And also I wrote my first program in Erlang too !

I programmed a little bit lately, less than what I would prefer. I made a prototype framework that uses MPI and actors in C++. I was inspired by Padraig O Conbhui. However, in his implementation, the main loop in director.h iterates on every alive actors. From what I understand, an actor can only react when a message is received. It can not do anything otherwise. When receiving a message, an actor can (1) send messages, (2) spawn actors, or (3) change its behavior for the next message. I also added a -debug option to Ray, and fixed an issue (reported by to members of the Ray community) in the buggy Bloom filter. Finally, today I wrote a roadmap to modify Ray so that it uses the actor model.

But from now (2013-09-26) to Halloween (2013-10-31), I will basically postpone any task that is not related to paperwork (planning, writing, and editing) as I have too much paperwork on my back anyway.

I will end this post with a somehow funny fact. We have been working with Cray Inc. to test and run Ray on their Cray XE6 product. We published some results over the course of this project. Today, I found (I did not know it existed before today!) an Application Brief about Ray on the Cray XE6 that says "The Ray development team is led by Jacques Corbeil, a full professor in the molecular medicine department at the Faculty of Medicine at Université Laval." From my point of view, I think that I am the lead of the development team with my 2499 commits. But hey, I don't blame anyone for this sentence. I just think that the sentence is totally ill-written.



Torsten Seemann said...

You've learnt the lesson early in you're career that leader does not mean hardest or most important worker :-/

Sébastien Boisvert said...

I guess this is a good thing.

There was an error in this gadget