For Christmas, my sisters gave Vinny a family membership to the Children's Museum of Oak Ridge. We went there for the first time this afternoon, and had a pretty good time.
They had a train room with lots of train toys (which he loved) and a lot of HO model train exhibits, which he also enjoyed looking at. There was a rainforest room, which was cute, and when he saw the monkeys in the trees he made his monkey sound. There was a kid-sized dollhouse, populated by screaming girls, which he did not go into because parents aren't allowed inside (except to retrieve their child) and he's not walking yet. But there was an interesting exhibit of old toys dating back to the turn of the previous century.
One thing we were looking for but did not find was a piano that my Ph.D. adviser and his wife (who lived in Oak Ridge for 15+ years) donated to the museum before they left town. We saw a piano but I don't think it was theirs. There was a music room in which they hold music classes, but we couldn't go into that room. Maybe that's where their piano is.
While we were there, we saw the next-door neighbor and her son-in-law and grandkids. She had bought a family membership for them, too, and apparently they go to the museum fairly often. It seems to be the happening hangout place for people with young kids.
The museum is housed in a former school building, and they've done a lot of interesting things to it. If Laura or Rachel come for a visit this year, they'll have to take him to the museum, to see what they paid for. :)
Sunday, January 27, 2008
Friday, January 25, 2008
The Latest Black History Month Choir News
I know you are all wondering about what's going on with the Black History Month choir. Well, on Wednesday we had our first real rehearsal. We're doing a gospel song called "Blessed," for which there is no sheet music, so the choir is having to learn their parts by ear, and I am making up a part for myself. The guy who's playing the keyboard is teaching everybody their parts, based on how he hears the song, which has turned out to be pretty interesting, because I hear some things differently than he does. But I'm following his lead and doing it the way he's doing it.
There's another violinist, a young postdoc from South Korea, and she and I are playing two spirituals together as a duet as a featured part of the Black History Month celebration. We're playing "Motherless Child" and (my favorite spiritual) "Go Down, Moses." I transcribed the melodies and made up the harmonies for the second violin part myself. I chose to harmonize them in such a way that they sound really plaintive. I think they will be beautiful.
We're also playing for about 15 minutes as people come in and sit down before the program begins. One woman borrowed a hymnal from her African-American church, and picked out a dozen or so spirituals for us to play. We're just going to play the top two parts, which should sound good. The only problem is that since these are traditional African-American hymns, I'm not familiar with them and therefore I'm not sure (in some cases) what the tempo is supposed to be. But I will ask her the next time we rehearse, which will be on Monday.
There's another violinist, a young postdoc from South Korea, and she and I are playing two spirituals together as a duet as a featured part of the Black History Month celebration. We're playing "Motherless Child" and (my favorite spiritual) "Go Down, Moses." I transcribed the melodies and made up the harmonies for the second violin part myself. I chose to harmonize them in such a way that they sound really plaintive. I think they will be beautiful.
We're also playing for about 15 minutes as people come in and sit down before the program begins. One woman borrowed a hymnal from her African-American church, and picked out a dozen or so spirituals for us to play. We're just going to play the top two parts, which should sound good. The only problem is that since these are traditional African-American hymns, I'm not familiar with them and therefore I'm not sure (in some cases) what the tempo is supposed to be. But I will ask her the next time we rehearse, which will be on Monday.
Thursday, January 24, 2008
Secret Message to Al Gore
Dear Al,
I once again want to kiss the top of your head, this time because of what you have to say about marriage equality. Would you mind coming for another tour of my workplace, so that I can at least bask in your glorious presence? Your last visit was before my time.
Maternal love forever,
-Rebecca
I once again want to kiss the top of your head, this time because of what you have to say about marriage equality. Would you mind coming for another tour of my workplace, so that I can at least bask in your glorious presence? Your last visit was before my time.
Maternal love forever,
-Rebecca
Sunday, January 20, 2008
More on Cars
I am extremely obsessed with figuring out how to get the best gas mileage out of the car I drive, for a variety of reasons.
First, I think about my contributions to global warming every single day as I make my trip to work. (If only they would make a solar-powered car capable of driving at least 15 miles on a trip, I would be all set.) Second, I am an amateur physicist and I want to understand the workings of the vehicle in which I spend more than five hours a week.
But most relevantly, I am a mathematician, and the idea of optimizing gas mileage as opposed to other possible variables in the equation of driving (such as time or number of miles traveled) sounds really fun and challenging to me, because in the car I drive, I can only ascertain this indirectly.
The car has a manual transmission, so I can control which gear it is in. It also has a crude tachometer, which I can read only to the nearest 125 RPM, a speedometer which I can read to the nearest half-mile per hour, and an odometer which measures distance traveled to the nearest tenth of a mile. Can I use only these tools to optimize my gas mileage on my daily commute?
This is what I've been trying to figure out, actually. I wish I had a good answer. The problem is that I am currently lacking a good intuitive understanding of the way the car works. I've been reading up on torque, horsepower, and RPM, and trying to put it all together. I'll let you know when I finally get there.
First, I think about my contributions to global warming every single day as I make my trip to work. (If only they would make a solar-powered car capable of driving at least 15 miles on a trip, I would be all set.) Second, I am an amateur physicist and I want to understand the workings of the vehicle in which I spend more than five hours a week.
But most relevantly, I am a mathematician, and the idea of optimizing gas mileage as opposed to other possible variables in the equation of driving (such as time or number of miles traveled) sounds really fun and challenging to me, because in the car I drive, I can only ascertain this indirectly.
The car has a manual transmission, so I can control which gear it is in. It also has a crude tachometer, which I can read only to the nearest 125 RPM, a speedometer which I can read to the nearest half-mile per hour, and an odometer which measures distance traveled to the nearest tenth of a mile. Can I use only these tools to optimize my gas mileage on my daily commute?
This is what I've been trying to figure out, actually. I wish I had a good answer. The problem is that I am currently lacking a good intuitive understanding of the way the car works. I've been reading up on torque, horsepower, and RPM, and trying to put it all together. I'll let you know when I finally get there.
Friday, January 18, 2008
Black History Month Choir Update
Yesterday, Violinny and I went to our second Black History Month choir practice. This time, my department secretary went with me, because she had decided to join the choir.
Unfortunately, lots of other people had backed out, and so the organizer of the choir was pretty discouraged. There were six people who showed up yesterday, and the pianist who she was planning on never showed up. So we had a discussion instead of a rehearsal, working out what we could do.
I think it's going to be a cool performance, even if it's not exactly what she had originally envisioned. I'm going to play a set of spirituals at the very beginning of the program. One of the women in the choir is going to provide me with copies of the sheet music from a hymnal. There's also another woman who plays the violin (but hadn't come to any of the rehearsals) who contacted me yesterday afternoon, so I think we're going to play at least some of these songs together as duets.
The chorus is going to sing one relatively simple song, and I'm going to play with them. And at the end, we're all going to do Lift Every Voice and Sing. I think it will be a lovely performance.
After we got back to our building, we recruited another colleague to join the choir too. And the secretary was talking about putting an announcement out to the whole department, in case somebody else wanted to join. In my plans for world domination, dominating the Black History Month choir is but the first step. ;)
In searching for some additional music to perform, I found a fascinating repository of Historic American Sheet Music. It is really interesting. I searched for "spiritual" and found about two dozen songs, including one of my favorite spirituals, Go Down, Moses, in just the right key to play it on the violin. I am definitely going to add it to my list.
Unfortunately, lots of other people had backed out, and so the organizer of the choir was pretty discouraged. There were six people who showed up yesterday, and the pianist who she was planning on never showed up. So we had a discussion instead of a rehearsal, working out what we could do.
I think it's going to be a cool performance, even if it's not exactly what she had originally envisioned. I'm going to play a set of spirituals at the very beginning of the program. One of the women in the choir is going to provide me with copies of the sheet music from a hymnal. There's also another woman who plays the violin (but hadn't come to any of the rehearsals) who contacted me yesterday afternoon, so I think we're going to play at least some of these songs together as duets.
The chorus is going to sing one relatively simple song, and I'm going to play with them. And at the end, we're all going to do Lift Every Voice and Sing. I think it will be a lovely performance.
After we got back to our building, we recruited another colleague to join the choir too. And the secretary was talking about putting an announcement out to the whole department, in case somebody else wanted to join. In my plans for world domination, dominating the Black History Month choir is but the first step. ;)
In searching for some additional music to perform, I found a fascinating repository of Historic American Sheet Music. It is really interesting. I searched for "spiritual" and found about two dozen songs, including one of my favorite spirituals, Go Down, Moses, in just the right key to play it on the violin. I am definitely going to add it to my list.
Thursday, January 17, 2008
With Apologies to Woody Guthrie
CHORUS:
This pain is my pain,
It's called a migraine,
It hurts from the surface,
Clear down to my brain,
From the nape of my neck,
To behind my eyeballs:
This pain is known as a migraine.
As I was walking
To the cafeteria,
I saw around me,
a familiar sparkle;
I saw that my eyes
would soon be blinded:
This pain is known as a migraine.
CHORUS
And so I sat at
My colleagues' table,
Just as quickly
As I was able,
Because I knew that
I'd never find them,
With pain that's known as a migraine.
CHORUS
I felt like puking,
I felt like barfing,
Instead of talking
or even arguing!*
Instead I sat there
In all the loudness,
with pain that's known as a migraine.
CHORUS
After half an hour,
My vision cleared,
Things weren't as bad
As I had feared,
But then the pain arrived,
And my mood nose-dived:
This pain is known as a migraine.
CHORUS
I spent the time
After lunch working
On a program
With a problem lurking,
But I soon discovered
The real cause of trouble:
The pain that's known as a migraine.
CHORUS
I had some meds once,
but they expired
(It's been a while
since they were required!),
But it doesn't matter,
Because they don't work
On the pain that's known as a migraine!
CHORUS
* There was a good political discussion about one of my hot-button topics, health insurance, and I could hardly participate!
This pain is my pain,
It's called a migraine,
It hurts from the surface,
Clear down to my brain,
From the nape of my neck,
To behind my eyeballs:
This pain is known as a migraine.
As I was walking
To the cafeteria,
I saw around me,
a familiar sparkle;
I saw that my eyes
would soon be blinded:
This pain is known as a migraine.
CHORUS
And so I sat at
My colleagues' table,
Just as quickly
As I was able,
Because I knew that
I'd never find them,
With pain that's known as a migraine.
CHORUS
I felt like puking,
I felt like barfing,
Instead of talking
or even arguing!*
Instead I sat there
In all the loudness,
with pain that's known as a migraine.
CHORUS
After half an hour,
My vision cleared,
Things weren't as bad
As I had feared,
But then the pain arrived,
And my mood nose-dived:
This pain is known as a migraine.
CHORUS
I spent the time
After lunch working
On a program
With a problem lurking,
But I soon discovered
The real cause of trouble:
The pain that's known as a migraine.
CHORUS
I had some meds once,
but they expired
(It's been a while
since they were required!),
But it doesn't matter,
Because they don't work
On the pain that's known as a migraine!
CHORUS
* There was a good political discussion about one of my hot-button topics, health insurance, and I could hardly participate!
Sunday, January 13, 2008
Fame and Feminism
I'm famous! My post, "What's in a Name?" has been included in the 51st Carnival of the Feminists at Philobiblon. It is a very interesting carnival, with articles on a variety of topics, and with a diversity of authors worldwide. I really enjoyed reading all the articles, and I encourage you to head on over there and check it out!
Friday, January 11, 2008
In Which I Request Fashion Advice from My Vast Readership
I am a regular offender in the eyes of the fashion police. I did not grow up in a family where personal appearance was highly valued. Intelligence and good behavior were paramount; personal appearance was insignificant. Consequently, I did not consider matching my socks with my outfit until I was well into high school, and did not learn how to apply makeup until the ripe old age of 27.
While I still think that my actions are more important than my appearance, I see that a nice appearance has its uses. It makes it easier for people to look at you long enough to consider your actions, for one. Secondly, it can help people to take you more seriously. This is why I tend to dress a little bit nicer than most of my (male) colleagues. I've noticed that the men I work with tend to wear jeans and t-shirts, while the women tend to dress in more business casual attire.
I got some money from Dad and Marvis for Christmas, to be spent on clothing. My question for you, my vast audience, is what to do with this money. I plan to buy some nice clothes for work, and I'd like to know what you all would recommend.
Let me tell you about my shape and my tastes. First, I am very tall, particularly from the waist up. So I think I will need to buy tall sizes in tops, but I can probably get away with normal sized pants. A colleague of mine, who has the opposite problem, told me that Eddie Bauer and The Gap carry tall sizes. Are there any other places I might try?
Second, I have only twenty more pounds to lose before I reach my pre-pregnancy weight. That weight is mostly lingering around my waistline. Do you have any suggestions for cuts or styles that might camouflage that bulge, or at least not draw attention to it?
Finally, I would prefer to invest in clothes that I will be able to wear for several years. I'd rather not buy the kinds of things where you look back at pictures of yourself from that era and think, "What was I thinking?" Also, I am supremely lazy, so anything involving dry cleaning or hand washing is right out. I don't mind hanging things to dry, and in fact I do that with most of the clothes I currently have. Mostly I wear solid colors: black pants, with tops in red, periwinkle, blue, green, yellow, etc. Does anyone have any ideas of things I should look for?
Oh, also: shoes. I am tall so I really don't need heels. (They're uncomfortable anyhow.) Does anyone have any suggestions for shoes with low heels and where I might buy them? I'm willing to pay for something nice, especially if they're both cute and comfortable.
While I still think that my actions are more important than my appearance, I see that a nice appearance has its uses. It makes it easier for people to look at you long enough to consider your actions, for one. Secondly, it can help people to take you more seriously. This is why I tend to dress a little bit nicer than most of my (male) colleagues. I've noticed that the men I work with tend to wear jeans and t-shirts, while the women tend to dress in more business casual attire.
I got some money from Dad and Marvis for Christmas, to be spent on clothing. My question for you, my vast audience, is what to do with this money. I plan to buy some nice clothes for work, and I'd like to know what you all would recommend.
Let me tell you about my shape and my tastes. First, I am very tall, particularly from the waist up. So I think I will need to buy tall sizes in tops, but I can probably get away with normal sized pants. A colleague of mine, who has the opposite problem, told me that Eddie Bauer and The Gap carry tall sizes. Are there any other places I might try?
Second, I have only twenty more pounds to lose before I reach my pre-pregnancy weight. That weight is mostly lingering around my waistline. Do you have any suggestions for cuts or styles that might camouflage that bulge, or at least not draw attention to it?
Finally, I would prefer to invest in clothes that I will be able to wear for several years. I'd rather not buy the kinds of things where you look back at pictures of yourself from that era and think, "What was I thinking?" Also, I am supremely lazy, so anything involving dry cleaning or hand washing is right out. I don't mind hanging things to dry, and in fact I do that with most of the clothes I currently have. Mostly I wear solid colors: black pants, with tops in red, periwinkle, blue, green, yellow, etc. Does anyone have any ideas of things I should look for?
Oh, also: shoes. I am tall so I really don't need heels. (They're uncomfortable anyhow.) Does anyone have any suggestions for shoes with low heels and where I might buy them? I'm willing to pay for something nice, especially if they're both cute and comfortable.
Thursday, January 10, 2008
Forgotten Women in Computer Science
I read this really interesting post over at Women in Science about World War II-era women whose contributions to computing were forgotten. It was particularly telling that historians, upon finding pictures of women with these large machines, interpreted the women's presence as decorative. I am not surprised that these women's contributions would have been forgotten. Anyhow, it's really interesting to read about this piece of forgotten computing history, and I would encourage you to read what Peggy has to say about it!
Sunday, January 06, 2008
Mrs. Doubtfire
Last night I watched the movie Mrs. Doubtfire on TV. I had never seen it before, but it turned out to be a really good movie.
The premise of the film is that Robin Williams plays a man who, during a bitter custody dispute with his wife, impersonates a sixty-year-old (female) nanny in order to spend more time with his three children. It has the obligatory manic comedic moments in the Robin Williams style, but there is a serious message underneath.
I enjoyed the movie, but I did feel some pain while watching it. I could see how much Robin Williams' character loved his kids, and how much it hurt for him to be forced apart from them. I think I would do just about anything to avoid being separated from Vinny like that. Also, the divorce drama reminded me of my own parents' divorce not six years ago. The root cause of breakdown of their relationship was very similar to what happened in my parents' case, I think. One spouse failed to communicate their feelings to the other, until the resentment had piled so high that it was too late.
That's why communication is key in a relationship. If you can't communicate with your partner in life, then you'd better figure out how to do so if you expect to stay together. Counseling can help, as long as you haven't yet reached that point of no return, where you're so hurt and angry that you no longer want to even try.
I thought the movie ended on a positive note for kids watching whose parents might have divorced. Although Mrs. Doubtfire does try to sabotage his ex-wife's new relationship, in the end they don't get back together, and the movie ends with Mrs. Doubtfire on her new show explaining that there are many different types of family arrangements, they're all okay, and that just because your parents may not get along anymore, it is not your fault. I liked the fact that it ended that way. As Jeff said, if they'd gotten back together at the end, the movie would have been a fantasy, not a comedy!
The premise of the film is that Robin Williams plays a man who, during a bitter custody dispute with his wife, impersonates a sixty-year-old (female) nanny in order to spend more time with his three children. It has the obligatory manic comedic moments in the Robin Williams style, but there is a serious message underneath.
I enjoyed the movie, but I did feel some pain while watching it. I could see how much Robin Williams' character loved his kids, and how much it hurt for him to be forced apart from them. I think I would do just about anything to avoid being separated from Vinny like that. Also, the divorce drama reminded me of my own parents' divorce not six years ago. The root cause of breakdown of their relationship was very similar to what happened in my parents' case, I think. One spouse failed to communicate their feelings to the other, until the resentment had piled so high that it was too late.
That's why communication is key in a relationship. If you can't communicate with your partner in life, then you'd better figure out how to do so if you expect to stay together. Counseling can help, as long as you haven't yet reached that point of no return, where you're so hurt and angry that you no longer want to even try.
I thought the movie ended on a positive note for kids watching whose parents might have divorced. Although Mrs. Doubtfire does try to sabotage his ex-wife's new relationship, in the end they don't get back together, and the movie ends with Mrs. Doubtfire on her new show explaining that there are many different types of family arrangements, they're all okay, and that just because your parents may not get along anymore, it is not your fault. I liked the fact that it ended that way. As Jeff said, if they'd gotten back together at the end, the movie would have been a fantasy, not a comedy!
Friday, January 04, 2008
In which My Trusty Violin and I Join the Black History Month Choir
A couple of months ago, I saw an announcement in our lab's online newsletter, that they were seeking singers and musicians for the Black History Month celebration. My new and improved elbow is hurting less and less, so I decided to volunteer to play the violin. It sounded like it could be a really fun way to get back into playing a little bit.
Yesterday was the first rehearsal. I took Violinny to work with me, so that I could take her with me to the rehearsal. The turnout for the first rehearsal was rather low, because a lot of people are not back from vacation yet. But there were four other volunteers there, all of whom were singers, and pasty white just like me.
We are performing two gospel songs and two secular jazz songs. We worked on the gospel songs at this rehearsal. The singers were surprised and apprehensive to learn that there was no sheet music to these songs and that they'd have to pick it up by ear. I was surprised, too, but unlike them, I have extensive experience learning music by ear.
The choir director was surprised by their surprise and apprehension about the lack of sheet music, and, observing their unfamiliarity with this type of music, tried to gauge their feelings and make sure everybody was okay with it. "Well," lamented one man. "It's not like singing Palestrina." But I think it will be good for them to think outside the box.
The challenge for me will be the fact that -- believe it or not -- there's no violin part in gospel songs, so I'm going to have to create one for myself! The choir director gave me a CD of the two gospel songs, and I've been listening to it in the car when I'm driving to and from work. I have a few preliminary ideas of what I can do. I need to try them out before the next rehearsal.
Also, I guess I'll know better at the next rehearsal, but I think that the "orchestra" is going to consist of me, a pianist, and a percussionist. That's kind of an interesting combination, especially for gospel music. All we need is a ukelele and a harmonica, and we should be all set.
Yesterday was the first rehearsal. I took Violinny to work with me, so that I could take her with me to the rehearsal. The turnout for the first rehearsal was rather low, because a lot of people are not back from vacation yet. But there were four other volunteers there, all of whom were singers, and pasty white just like me.
We are performing two gospel songs and two secular jazz songs. We worked on the gospel songs at this rehearsal. The singers were surprised and apprehensive to learn that there was no sheet music to these songs and that they'd have to pick it up by ear. I was surprised, too, but unlike them, I have extensive experience learning music by ear.
The choir director was surprised by their surprise and apprehension about the lack of sheet music, and, observing their unfamiliarity with this type of music, tried to gauge their feelings and make sure everybody was okay with it. "Well," lamented one man. "It's not like singing Palestrina." But I think it will be good for them to think outside the box.
The challenge for me will be the fact that -- believe it or not -- there's no violin part in gospel songs, so I'm going to have to create one for myself! The choir director gave me a CD of the two gospel songs, and I've been listening to it in the car when I'm driving to and from work. I have a few preliminary ideas of what I can do. I need to try them out before the next rehearsal.
Also, I guess I'll know better at the next rehearsal, but I think that the "orchestra" is going to consist of me, a pianist, and a percussionist. That's kind of an interesting combination, especially for gospel music. All we need is a ukelele and a harmonica, and we should be all set.
Winter Weather
After going from Illinois winters to Tennessee winters, I now understand how my Wisconsin-native parents felt about Kentucky winters. They're wimpy! It just doesn't get cold. The first two winters here, I kept wondering when winter would actually come. It felt more like a prolonged autumn.
I would laugh at my Tennessee-native friends and colleagues, who would bundle up at the first sign of the temperature dipping below 50. Those first two years, I would occasionally don thermal underwear, but I never got out my super heavy Illinois coat.
The past two days, however, have been remarkably cold for Tennessee. The temperature did not make it above freezing at all, and in the morning on my way to work, the temperature was in the teens. So I pulled out the Illinois coat and gloves, and felt pleasantly nostalgic. Okay, so the low temperature (14 degrees yesterday) was a temperature that would pass for a high in Illinois, but it felt good to don the accoutrements of cold weather, zip up that coat, and fumble with my keys through the thick gloves.
I would laugh at my Tennessee-native friends and colleagues, who would bundle up at the first sign of the temperature dipping below 50. Those first two years, I would occasionally don thermal underwear, but I never got out my super heavy Illinois coat.
The past two days, however, have been remarkably cold for Tennessee. The temperature did not make it above freezing at all, and in the morning on my way to work, the temperature was in the teens. So I pulled out the Illinois coat and gloves, and felt pleasantly nostalgic. Okay, so the low temperature (14 degrees yesterday) was a temperature that would pass for a high in Illinois, but it felt good to don the accoutrements of cold weather, zip up that coat, and fumble with my keys through the thick gloves.
Saturday, December 29, 2007
End-of-the-Year Meme
I've been tagged by Jane for this end-of-the-year meme. I am pretty bad about doing things when people have tagged me (I have at least two outstanding tags that I haven't done), but the timing is right this time, so here goes.
1. Will you be looking for a new job?
Nope. Not unless something unexpected happens. I just got a new job, I like my new boss and colleagues, and they like me too.
2. Will you be looking for a new relationship?
I'm always open to making new friends, but I'm not looking for a new relationship per se. Something I'd like to do is to further cultivate the friendships I have developed with some of my female colleagues.
3. New house?
No, thankfully. It would take a lot for me to move again. And if we ever do move again, as frustrating as movers are, they are less frustrating than doing it yourself.
4. What will you do differently in 08?
Now that I've found this martial arts club at work, and Jeff and I have found another enjoyable exercise activity (I may blog about it at some point), I think I will be able to "move more" (as they call exercise in Weight Watchers) and keep my body in better shape.
5. New Years resolution?
I like Jane's/Profgrrl's idea of a new years theme. I think I'd like to have a theme of "happy and healthy," highlighting the need for me to move more and to continue to eat right and spend quality time with my husband and son.
6. What will you not be doing in 08?
There are a lot of things, such as smoking, that I have never done and will continue to not do in 2008.
7. Any trips planned?
Yes. March is busy: I'll be going to a conference, going to a planning meeting for SC08, and going to my sister Laura's dissertation defense celebration. There are two more planning meetings and the actual conference to go to. Jeff and I are planning a fun getaway for the two of us this summer, in celebration of our tenth wedding anniversary. There's the annual family reunion, although I don't know if we'll have the energy to go to that too.
8. Wedding plans?
Been there, done that. I wouldn't mind attending a wedding, though :)
9. Major thing on your calendar?
There are lots of looming deadlines and so forth, but I'd say the biggest thing, the project I've never done before, is this conference committee work.
10. What can’t you wait for?
I'm pretty excited about a lot of things. I'm looking forward to my sister's dissertation celebration. I can't wait for Vinny to walk (he may get around to it just before New Year's). I can't wait for him to really start talking.
11. What would you like to see happen differently?
I'd like the political world around me to stop going to hell. Eight years ago, we were a respected world superpower with a strong military, known for our commitment to human rights. Today, anti-American sentiment is at an all-time high, the dollar is at its weakest level in my lifetime, our beleaguered military is stretched thin, and we use torture on our enemies and egregiously violate the rights of even our own citizens. These developments are entirely our fault, and I hope that the next president (who will be elected next year, although not yet in office) will be able to turn things around for us.
12. What about yourself will you be changing?
I'm always working on becoming more confident and this year will be no exception.
13. What happened in 07 that you didn’t think would ever happen?
I got a "real job."
14. Will you be nicer to the people you care about?
There is always room for improvement in my behavior towards my loved ones, and I definitely will continue to do my best to be aware of their needs and be considerate towards them.
15. Will you dress differently this year than you did in 07?
I hope to shed the last 20 lbs of maternity weight and be able to get back into the clothes I wore in 2005, and maybe some new clothes too.
16. Will you start or quit drinking?
I don't drink alcoholic beverages, and I don't plan to start. I do, however, need to drink more water during the day :)
17. Will you better your relationship with your family?
There's always room for improvement in my existing family relationships, and in my non-existing family relationships, for that matter! But I don't anticipate that the status of any of these relationships will change.
18. Will you do charity work?
That's one thing I really haven't made time for in the past. As Vinny grows older, I hope that we will introduce him to charity work and cultivate compassion in him.
19. Will you go to bars?
No, probably not.
20. Will you be nice to people you don’t know?
Of course. Even evil atheists know the golden rule :)
21. Do you expect 08 to be a good year for you?
Yes. I think it will be a good year both personally and professionally.
22. How much did you change from this time last year till now?
I changed a lot. I lost a lot of weight, the pregnancy hormones wore off, I felt like I was once again on top of things at work, I had elbow surgery (a funnybone-ectomy, as one of my colleagues called it), I got a new job, and I watched my little baby grow (which, as Jane says, really does change your life).
23. Do you plan on having a child?
I don't anticipate having another child in 2008, but we might make an addition to the family in 2009.
24. Will you still be friends with the same people you are friends with now?
Yes, I think so.
25. Major lifestyle changes?
Not that I know of.
26. Will you be moving?
Not if I can help it!
27. What will you make sure doesn’t happen in 08 that happened in 07?
I didn't publish any papers or present at any conferences in 2007 (although others did, and included my name as an author). I'm already signed up for a conference in March, and my former boss is currently reviewing a paper that I've prepared about our work, which we will submit to a journal.
28. What are your New Years Eve plans?
My dad and bonus mom are going to be here. I think we will ring in the new year with sparkling juice, like we did last year.
29. Will you have someone to kiss at midnight?
Yup. Jeff will be there.
30. One wish for 08?
That common sense may prevail throughout the world.
Now I have to tag people. I'm with Jane, I hate tagging people. So I'm going to tag people who love me in real life and will forgive me if they're unhappy with being tagged. My sisters Rachel and Laura are obvious first targets, as are my favorite sister-in-law in the entire blogosphere, Ginger, and my better half, Jeff. And my cousin Susie, who won't be overtaxed or sleep-deprived until sometime in January ;)
Anyone else who wants to play, consider yourself tagged!
1. Will you be looking for a new job?
Nope. Not unless something unexpected happens. I just got a new job, I like my new boss and colleagues, and they like me too.
2. Will you be looking for a new relationship?
I'm always open to making new friends, but I'm not looking for a new relationship per se. Something I'd like to do is to further cultivate the friendships I have developed with some of my female colleagues.
3. New house?
No, thankfully. It would take a lot for me to move again. And if we ever do move again, as frustrating as movers are, they are less frustrating than doing it yourself.
4. What will you do differently in 08?
Now that I've found this martial arts club at work, and Jeff and I have found another enjoyable exercise activity (I may blog about it at some point), I think I will be able to "move more" (as they call exercise in Weight Watchers) and keep my body in better shape.
5. New Years resolution?
I like Jane's/Profgrrl's idea of a new years theme. I think I'd like to have a theme of "happy and healthy," highlighting the need for me to move more and to continue to eat right and spend quality time with my husband and son.
6. What will you not be doing in 08?
There are a lot of things, such as smoking, that I have never done and will continue to not do in 2008.
7. Any trips planned?
Yes. March is busy: I'll be going to a conference, going to a planning meeting for SC08, and going to my sister Laura's dissertation defense celebration. There are two more planning meetings and the actual conference to go to. Jeff and I are planning a fun getaway for the two of us this summer, in celebration of our tenth wedding anniversary. There's the annual family reunion, although I don't know if we'll have the energy to go to that too.
8. Wedding plans?
Been there, done that. I wouldn't mind attending a wedding, though :)
9. Major thing on your calendar?
There are lots of looming deadlines and so forth, but I'd say the biggest thing, the project I've never done before, is this conference committee work.
10. What can’t you wait for?
I'm pretty excited about a lot of things. I'm looking forward to my sister's dissertation celebration. I can't wait for Vinny to walk (he may get around to it just before New Year's). I can't wait for him to really start talking.
11. What would you like to see happen differently?
I'd like the political world around me to stop going to hell. Eight years ago, we were a respected world superpower with a strong military, known for our commitment to human rights. Today, anti-American sentiment is at an all-time high, the dollar is at its weakest level in my lifetime, our beleaguered military is stretched thin, and we use torture on our enemies and egregiously violate the rights of even our own citizens. These developments are entirely our fault, and I hope that the next president (who will be elected next year, although not yet in office) will be able to turn things around for us.
12. What about yourself will you be changing?
I'm always working on becoming more confident and this year will be no exception.
13. What happened in 07 that you didn’t think would ever happen?
I got a "real job."
14. Will you be nicer to the people you care about?
There is always room for improvement in my behavior towards my loved ones, and I definitely will continue to do my best to be aware of their needs and be considerate towards them.
15. Will you dress differently this year than you did in 07?
I hope to shed the last 20 lbs of maternity weight and be able to get back into the clothes I wore in 2005, and maybe some new clothes too.
16. Will you start or quit drinking?
I don't drink alcoholic beverages, and I don't plan to start. I do, however, need to drink more water during the day :)
17. Will you better your relationship with your family?
There's always room for improvement in my existing family relationships, and in my non-existing family relationships, for that matter! But I don't anticipate that the status of any of these relationships will change.
18. Will you do charity work?
That's one thing I really haven't made time for in the past. As Vinny grows older, I hope that we will introduce him to charity work and cultivate compassion in him.
19. Will you go to bars?
No, probably not.
20. Will you be nice to people you don’t know?
Of course. Even evil atheists know the golden rule :)
21. Do you expect 08 to be a good year for you?
Yes. I think it will be a good year both personally and professionally.
22. How much did you change from this time last year till now?
I changed a lot. I lost a lot of weight, the pregnancy hormones wore off, I felt like I was once again on top of things at work, I had elbow surgery (a funnybone-ectomy, as one of my colleagues called it), I got a new job, and I watched my little baby grow (which, as Jane says, really does change your life).
23. Do you plan on having a child?
I don't anticipate having another child in 2008, but we might make an addition to the family in 2009.
24. Will you still be friends with the same people you are friends with now?
Yes, I think so.
25. Major lifestyle changes?
Not that I know of.
26. Will you be moving?
Not if I can help it!
27. What will you make sure doesn’t happen in 08 that happened in 07?
I didn't publish any papers or present at any conferences in 2007 (although others did, and included my name as an author). I'm already signed up for a conference in March, and my former boss is currently reviewing a paper that I've prepared about our work, which we will submit to a journal.
28. What are your New Years Eve plans?
My dad and bonus mom are going to be here. I think we will ring in the new year with sparkling juice, like we did last year.
29. Will you have someone to kiss at midnight?
Yup. Jeff will be there.
30. One wish for 08?
That common sense may prevail throughout the world.
Now I have to tag people. I'm with Jane, I hate tagging people. So I'm going to tag people who love me in real life and will forgive me if they're unhappy with being tagged. My sisters Rachel and Laura are obvious first targets, as are my favorite sister-in-law in the entire blogosphere, Ginger, and my better half, Jeff. And my cousin Susie, who won't be overtaxed or sleep-deprived until sometime in January ;)
Anyone else who wants to play, consider yourself tagged!
Friday, December 28, 2007
Think Pink?
By some twist of fate, our beloved son has a significant number of sippy cups in hues generally associated with the female gender. He has three pink ones, and one lavender purple sippy.
The wavelength of the light reflected by the sippy cup doesn't bother him in the least. The liquid inside tastes just as good no matter what pigment is used to decorate the cup!
Sometimes I take him out in public with one of those cups. We get some looks, my camo-clad*, pink sippy-clutching lad and I. But I have to laugh, because one hundred years ago, pink was preferred for boys, because of its strong, masculine qualities. The author of the Bad Science blog quotes the fashion authorities of the time:
I felt a smile spread across my face when I read of someone else fighting against gender essentialism in a similar manner: Jeff from Feminist Allies carries a pink cell phone, and discusses the reactions his carrying of it elicits. I say, go Feminist Allies Jeff, go! It's a small thing but it makes people think about gender.
* Choices for 18-month-size boy's pants: forest camouflage (green), water camouflage (blue), desert camouflage (tan), khaki (usually cargo-style), jeans. My inner pacifist prefers the last two choices, however, I (not to mention my inner pacifist!) was not the one who purchased the majority of his clothes, and furthermore, there are more important things to worry about than the pattern on his pants. Plus, the contrast between the ultra-masculine camo and the ultra-feminine pink with purple accents sippy cup makes the act of being seen with both feel that much more subversive!
The wavelength of the light reflected by the sippy cup doesn't bother him in the least. The liquid inside tastes just as good no matter what pigment is used to decorate the cup!
Sometimes I take him out in public with one of those cups. We get some looks, my camo-clad*, pink sippy-clutching lad and I. But I have to laugh, because one hundred years ago, pink was preferred for boys, because of its strong, masculine qualities. The author of the Bad Science blog quotes the fashion authorities of the time:
“There has been a great diversity of opinion on the subject, but the generally accepted rule is pink for the boy and blue for the girl. The reason is that pink being a more decided and stronger color is more suitable for the boy, while blue, which is more delicate and dainty, is prettier for the girl.” (Ladies' Home Journal, 1918)and
“If you like the color note on the little one’s garments, use pink for the boy and blue for the girl, if you are a follower of convention.” (The Sunday Sentinel, 1914)Somehow these colors got reversed around the time of World War II.
I felt a smile spread across my face when I read of someone else fighting against gender essentialism in a similar manner: Jeff from Feminist Allies carries a pink cell phone, and discusses the reactions his carrying of it elicits. I say, go Feminist Allies Jeff, go! It's a small thing but it makes people think about gender.
* Choices for 18-month-size boy's pants: forest camouflage (green), water camouflage (blue), desert camouflage (tan), khaki (usually cargo-style), jeans. My inner pacifist prefers the last two choices, however, I (not to mention my inner pacifist!) was not the one who purchased the majority of his clothes, and furthermore, there are more important things to worry about than the pattern on his pants. Plus, the contrast between the ultra-masculine camo and the ultra-feminine pink with purple accents sippy cup makes the act of being seen with both feel that much more subversive!
Tuesday, December 25, 2007
Merry Christmas to All, and to All a Good Night!
Hopefully the little man in the red hat with the puckish grin brought you everything you wished for as you were sleeping last night. Best wishes to you and yours, and enjoy the day!--Rebecca et al.
Monday, December 24, 2007
Holiday Fun for All (Including the Godless)
Some people may be wondering how I, an atheist, can possibly enjoy the holiday season. After all, the alleged reason for the season is the birth of the founder of a religion in which I do not believe.
The short answer to that question is that I'm not a misanthrope. The Christmas holidays herald time off work to spend with family, holiday parties, delicious seasonal foods, beautiful seasonal music, and gift-giving and receiving. Belief in Jesus or any kind of higher power is not required in order to enjoy these holiday treats. Like every human being, I experience love and enjoy spending time with others, I savor the sensation of delicious foods on my tastebuds and beautiful music vibrating in my ears, and I feel good when I am generous and when others are generous to me.
You might be surprised to learn that I like Christmas music. Actually, if you knew my taste in music, it would be no surprise. I listen to a lot of Early Music (Medieval and Renaissance), 90% of which is religious in nature. This does not bother me in the least, because I am listening to the melody (or the polyphony!), not the words. They could be singing complete nonsense syllables for all I care.
I enjoy singing Christmas carols. The singing of carols reminds me of fond memories of childhood, times when we as a family would gather together and sing. So what if I disagree with what the lyrics are saying? I disagree with the lyrics of plenty of secular songs too: for example, I prefer red doors over black ones, but that doesn't stop me from enjoying the Rolling Stones' song Paint It Black.
In summary, I, along with plenty of other atheists, enjoy the holiday season. It doesn't make us hypocritical; we don't believe in any gods but we do believe in loving our fellow human beings and having a good time.
The short answer to that question is that I'm not a misanthrope. The Christmas holidays herald time off work to spend with family, holiday parties, delicious seasonal foods, beautiful seasonal music, and gift-giving and receiving. Belief in Jesus or any kind of higher power is not required in order to enjoy these holiday treats. Like every human being, I experience love and enjoy spending time with others, I savor the sensation of delicious foods on my tastebuds and beautiful music vibrating in my ears, and I feel good when I am generous and when others are generous to me.
You might be surprised to learn that I like Christmas music. Actually, if you knew my taste in music, it would be no surprise. I listen to a lot of Early Music (Medieval and Renaissance), 90% of which is religious in nature. This does not bother me in the least, because I am listening to the melody (or the polyphony!), not the words. They could be singing complete nonsense syllables for all I care.
I enjoy singing Christmas carols. The singing of carols reminds me of fond memories of childhood, times when we as a family would gather together and sing. So what if I disagree with what the lyrics are saying? I disagree with the lyrics of plenty of secular songs too: for example, I prefer red doors over black ones, but that doesn't stop me from enjoying the Rolling Stones' song Paint It Black.
In summary, I, along with plenty of other atheists, enjoy the holiday season. It doesn't make us hypocritical; we don't believe in any gods but we do believe in loving our fellow human beings and having a good time.
Happy Holidays!
I hope you are all having fantastic holidays. We are enjoying the time together as a family. On Saturday, Adam and Jody came over for the afternoon and evening, and we had a wonderful time together. Today, we had a turkey breast with potatoes, homemade rolls, and some gingerbread cake with lemon sauce for dessert. I'm planning to make some cinnamon rolls for Christmas morning, and we're going to use the leftover turkey to make some turkey tetrazzini for dinner.
Happy holidays to you all!
Happy holidays to you all!
Friday, December 21, 2007
Supercomputing Course: Example Performance Evaluation
I bet you thought I'd never post the final installments of the supercomputing course. It's been how long? Too long! Well, I didn't forget, I just had to wait until I had the right software to make just the right graph. Enjoy!
If you examine the graph you made in the performance evaluation, you may be unpleasantly surprised by your program's performance. Alternatively, you may be quite pleased with your program's performance, but your boss or your dissertation committee want to know how you got such good results. It may be unclear as to what exactly is going on. In order to clarify things, you will want to perform a least-squares fit of your data (performance timings) to an equation that models the performance of your code.
There are three main categories into which everything that your program does will fit: communication, computation, and idle/serial. These categories are mostly self-explanatory. When you are sending and receiving data, that falls into the communication category; when you are crunching numbers, that falls into the computation category; and when one processor is doing an inherently serial operation, or when a processor is waiting for others to finish, then these actions are in the idle/serial category. We can classify each major piece of the algorithm into one of the three categories, and use this information to develop an equation that models the performance of our parallel program.
Suppose we had written a program that finds the numerical integral of a program using Monte Carlo quadrature. The idea of Monte Carlo quadrature is that we can approximate the area under a curve (in 1-D) or the volume under a surface (in 2-D) or the hypervolume under a hypersurface (in n-D) as a function of the average value of the function sampled over the problem domain. In math notation, that's ∫V f(x) dV = V/P ∑i=1P f(xi). The accuracy of the integral is proportional to 1/√P, where P is the number of times we evaluate the function. In order to understand this example, all you really need to know is that we want to compute P different values of the function f(x), and at the end we're going to do something with them.
What follows this paragraph is some C-like pseudocode for this Monte Carlo quadrature program. When I write a program, I generally write out on a piece of paper* a basic algorithm in a code style that is similar to C but that may not be syntactically correct and that may have some commands missing (because I can't remember the exact syntax, or because I don't feel like writing them out). Notes in red are notes to the reader that I would not normally put in my pseudocode. (I also wouldn't put so many comments in my own pseudocode since I mostly know what I'm talking about already.) I recommend writing pseudocode before tackling anything but the simplest of programs.
#include <mpi.h>
#include <stdio.h>
int main(int argc, char **argv) {
// declaration of variables
int me, np;
long P; /* number of function evaluations */
double my_result;
MPI_Status status;
// initialization and environmental inquiry
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &me);
MPI_Comm_size(MPI_COMM_WORLD, &np);
if (me == 0) {
// manager process
// receive input from user as to accuracy we want
double tol;
// tol = input (this is not proper C syntax but I will find the right syntax later)
P = (long) 1./(tol*tol); (the (long) coerces the type, forcing it to go from type double to type long)
long Psend = P/np; // everybody does one npth of the work
for (int i = 1; i < np; i++) {
// send Psend to all worker processors
MPI_Send(&Psend, 1, MPI_LONG, i, me, MPI_COMM_WORLD);
}
// now, do my own Monte Carlo
my_result = monte_carlo(Psend);
double final_result = my_result/np;
for (int i = 1; i < np; i++) {
// receive results from worker processors
double tmp_result;
MPI_Recv(&tmp_result, 1, MPI_DOUBLE, i, i, MPI_COMM_WORLD, &status);
final_result += tmp_result;
}
printf("final result of quadrature, for tol=%g, integral=%g", tol, final_result);
} else {
// worker process
MPI_Recv(&P, 1, MPI_LONG, 0, 0, MPI_COMM_WORLD, &status);
my_result = monte_carlo(P);
my_result /= np;
MPI_Send(&my_result, 1, MPI_DOUBLE, me, me, MPI_COMM_WORLD);
}
return 0;
}
double monte_carlo(long P) {
double answer = 0;
for (long i = 0; i < P; i++) {
// evaluate function at pseudorandom point
// add it divided by P to answer (avoid overflow)
}
return answer;
}
Let's examine this code for the different classes of operations. We could make a table detailing what basic operations occur, which processor performs them, and how many of them take place.
The total walltime is the sum of the time spent computing, communicating, and in serial activities. So we could work out a formula that would approximate the performance of the algorithm. Let's start with the computation.
TNcomputation = TNmonte-carlo + TNsum.
We can break this down further, because the time it takes to do the Monte Carlo part of the computation is proportional to the total number of Monte Carlo points (P = 1/tol2) and inversely proportional to the number of processors (N). The amount of time required to perform the sum is insignificant, so we can treat it as a constant. So we have
TNcomputation = P/N tmonte-carlo + tsum
= 1/(N tol2) tmonte-carlo + tsum,
where tmonte-carlo is the amount of time for a single Monte Carlo point to be computed.
As for the communication, we do N sends and then N receives. They are all done sequentially, and it is reasonable to assume that they each take the same amount of time, so
TNcommunication = 2N tcommunication.
The cost of communication is equal to the startup cost plus the bandwidth cost. But since we are dealing with such small messages (a single long or double) we can neglect the bandwith cost, so tcommunication = tstartup.
Finally, the third category takes all remaining operations into consideration.
TNserial = Tinit/finalize + Tserial.
There's actually no way to distinguish between the tasks in this category in terms of time, since they do not vary with N. So our final equation looks like this:
TN = TNcomputation + TNcommunication + TNnon-parallel
= 1/(N tol2) tmonte-carlo + tsum + 2N tstartup + tserial.
We would want to do a strong scaling study to provide some data to which we can fit this equation. We would run the program on different numbers of processors (most conveniently, powers of two), running it at least three times and taking the average run time for each N. Suppose we got the following timings** from our strong scaling study, for tol = 10-4:
We could make a log-log plot of the results, and see that the algorithm scales pretty well. (You can see this without making a plot by looking at the numbers, and observing that 30.0 is close to one half of 58.6, 15.2 is close to one half of 30.0, etc.) We are not too far off from ideal. The big difference appears to be at the tail end, where the walltime doesn't halve when the processor count is doubled. Let's see how well we can fit these timings to our formula. We have to solve the non-negative least-squares problem

I solved it using Matlab's lsqnonneg function (non-negative least squares), and obtained
We can graph all these results and see how the algorithm performed and how well our function fits the results. The figure shows a log-log plot of number of processors versus walltime. The solid blue line with the blue dots shows the actual performance data. The dashed red line shows our least-squares fit, and the turquoise dotted line shows ideal scaling.

As the number of processors grows, the computation time is not quite halved. We would expect this because the amount of communication is proportional to the number of processors, so doubling the number of processors doubles the amount of communication required. So as the number of processors grows, the amount of work per processor shrinks and the amount of communication per processor grows, and time spent in communication begins to dominate the wall time.
*pre-arm trouble. Nowadays I either minimally sketch it on a piece of paper, or I type pseudocode into a Word document on my laptop and print it out before coding the real thing on my desktop Linux box.
** These numbers were pulled from my posterior. Yes, I totally made them up. Trust me, gubmint auditors, I did not waste valuable computing resources on a blog entry!
Next topic: More on scalability
If you examine the graph you made in the performance evaluation, you may be unpleasantly surprised by your program's performance. Alternatively, you may be quite pleased with your program's performance, but your boss or your dissertation committee want to know how you got such good results. It may be unclear as to what exactly is going on. In order to clarify things, you will want to perform a least-squares fit of your data (performance timings) to an equation that models the performance of your code.
There are three main categories into which everything that your program does will fit: communication, computation, and idle/serial. These categories are mostly self-explanatory. When you are sending and receiving data, that falls into the communication category; when you are crunching numbers, that falls into the computation category; and when one processor is doing an inherently serial operation, or when a processor is waiting for others to finish, then these actions are in the idle/serial category. We can classify each major piece of the algorithm into one of the three categories, and use this information to develop an equation that models the performance of our parallel program.
Suppose we had written a program that finds the numerical integral of a program using Monte Carlo quadrature. The idea of Monte Carlo quadrature is that we can approximate the area under a curve (in 1-D) or the volume under a surface (in 2-D) or the hypervolume under a hypersurface (in n-D) as a function of the average value of the function sampled over the problem domain. In math notation, that's ∫V f(x) dV = V/P ∑i=1P f(xi). The accuracy of the integral is proportional to 1/√P, where P is the number of times we evaluate the function. In order to understand this example, all you really need to know is that we want to compute P different values of the function f(x), and at the end we're going to do something with them.
What follows this paragraph is some C-like pseudocode for this Monte Carlo quadrature program. When I write a program, I generally write out on a piece of paper* a basic algorithm in a code style that is similar to C but that may not be syntactically correct and that may have some commands missing (because I can't remember the exact syntax, or because I don't feel like writing them out). Notes in red are notes to the reader that I would not normally put in my pseudocode. (I also wouldn't put so many comments in my own pseudocode since I mostly know what I'm talking about already.) I recommend writing pseudocode before tackling anything but the simplest of programs.
#include <mpi.h>
#include <stdio.h>
int main(int argc, char **argv) {
// declaration of variables
int me, np;
long P; /* number of function evaluations */
double my_result;
MPI_Status status;
// initialization and environmental inquiry
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &me);
MPI_Comm_size(MPI_COMM_WORLD, &np);
if (me == 0) {
// manager process
// receive input from user as to accuracy we want
double tol;
// tol = input (this is not proper C syntax but I will find the right syntax later)
P = (long) 1./(tol*tol); (the (long) coerces the type, forcing it to go from type double to type long)
long Psend = P/np; // everybody does one npth of the work
for (int i = 1; i < np; i++) {
// send Psend to all worker processors
MPI_Send(&Psend, 1, MPI_LONG, i, me, MPI_COMM_WORLD);
}
// now, do my own Monte Carlo
my_result = monte_carlo(Psend);
double final_result = my_result/np;
for (int i = 1; i < np; i++) {
// receive results from worker processors
double tmp_result;
MPI_Recv(&tmp_result, 1, MPI_DOUBLE, i, i, MPI_COMM_WORLD, &status);
final_result += tmp_result;
}
printf("final result of quadrature, for tol=%g, integral=%g", tol, final_result);
} else {
// worker process
MPI_Recv(&P, 1, MPI_LONG, 0, 0, MPI_COMM_WORLD, &status);
my_result = monte_carlo(P);
my_result /= np;
MPI_Send(&my_result, 1, MPI_DOUBLE, me, me, MPI_COMM_WORLD);
}
return 0;
}
double monte_carlo(long P) {
double answer = 0;
for (long i = 0; i < P; i++) {
// evaluate function at pseudorandom point
// add it divided by P to answer (avoid overflow)
}
return answer;
}
Let's examine this code for the different classes of operations. We could make a table detailing what basic operations occur, which processor performs them, and how many of them take place.
| Compu- tation | Communi- cation | Initialization/ Serial/Idle | Which Processor? (how many times) |
|---|---|---|---|
| MPI_Init, MPI_Comm_rank, MPI_Comm_size | All (1) | ||
| Receive input, compute how much work each processor does | Manager (1) | ||
| MPI_Send | Manager (N) | ||
| MPI_Recv | Workers (1 each) | ||
| monte_carlo | All (1) | ||
| MPI_Send | Workers (1 each) | ||
| MPI_Recv | Manager (N) | ||
| Compute integral (sum results from all processors) | Manager (1) | ||
| MPI_Finalize | All (1) |
The total walltime is the sum of the time spent computing, communicating, and in serial activities. So we could work out a formula that would approximate the performance of the algorithm. Let's start with the computation.
TNcomputation = TNmonte-carlo + TNsum.
We can break this down further, because the time it takes to do the Monte Carlo part of the computation is proportional to the total number of Monte Carlo points (P = 1/tol2) and inversely proportional to the number of processors (N). The amount of time required to perform the sum is insignificant, so we can treat it as a constant. So we have
TNcomputation = P/N tmonte-carlo + tsum
= 1/(N tol2) tmonte-carlo + tsum,
where tmonte-carlo is the amount of time for a single Monte Carlo point to be computed.
As for the communication, we do N sends and then N receives. They are all done sequentially, and it is reasonable to assume that they each take the same amount of time, so
TNcommunication = 2N tcommunication.
The cost of communication is equal to the startup cost plus the bandwidth cost. But since we are dealing with such small messages (a single long or double) we can neglect the bandwith cost, so tcommunication = tstartup.
Finally, the third category takes all remaining operations into consideration.
TNserial = Tinit/finalize + Tserial.
There's actually no way to distinguish between the tasks in this category in terms of time, since they do not vary with N. So our final equation looks like this:
TN = TNcomputation + TNcommunication + TNnon-parallel
= 1/(N tol2) tmonte-carlo + tsum + 2N tstartup + tserial.
We would want to do a strong scaling study to provide some data to which we can fit this equation. We would run the program on different numbers of processors (most conveniently, powers of two), running it at least three times and taking the average run time for each N. Suppose we got the following timings** from our strong scaling study, for tol = 10-4:
| N | Average Wall Time (s) |
|---|---|
| 4 | 30.0 |
| 16 | 15.2 |
| 32 | 7.7 |
| 64 | 3.9 |
| 128 | 2.1 |
We could make a log-log plot of the results, and see that the algorithm scales pretty well. (You can see this without making a plot by looking at the numbers, and observing that 30.0 is close to one half of 58.6, 15.2 is close to one half of 30.0, etc.) We are not too far off from ideal. The big difference appears to be at the tail end, where the walltime doesn't halve when the processor count is doubled. Let's see how well we can fit these timings to our formula. We have to solve the non-negative least-squares problem

I solved it using Matlab's lsqnonneg function (non-negative least squares), and obtained

We can graph all these results and see how the algorithm performed and how well our function fits the results. The figure shows a log-log plot of number of processors versus walltime. The solid blue line with the blue dots shows the actual performance data. The dashed red line shows our least-squares fit, and the turquoise dotted line shows ideal scaling.

As the number of processors grows, the computation time is not quite halved. We would expect this because the amount of communication is proportional to the number of processors, so doubling the number of processors doubles the amount of communication required. So as the number of processors grows, the amount of work per processor shrinks and the amount of communication per processor grows, and time spent in communication begins to dominate the wall time.
*pre-arm trouble. Nowadays I either minimally sketch it on a piece of paper, or I type pseudocode into a Word document on my laptop and print it out before coding the real thing on my desktop Linux box.
** These numbers were pulled from my posterior. Yes, I totally made them up. Trust me, gubmint auditors, I did not waste valuable computing resources on a blog entry!
Next topic: More on scalability
Just What I've Been Missing
The thing I miss the most about Illinois is my karate class.* As a child, I'd always harbored a secret desire to study the martial arts, and I was able to fulfill my dream by taking shito-ryu karate through the park district. I was a very slow learner, but I was determined, and by the end of my three-year tenure, not only did I have a brown belt, but I was teaching children's karate and even giving belt tests. Not bad for a person who used to trip over her own shadow!
One of the most disappointing things about moving down here was that I really couldn't find a replacement for that class. Nobody taught anything that resembled shito-ryu, so if I took a class I would essentially have to start over completely. But then, life got in the way (baby, elbow surgery) and I gave up my quest for the perfect martial arts class.
On Monday, I looked in my workplace's weekly newsletter, and saw that there was going to be a women's self-defense class offered by the Other Division Martial Arts Club (where Other Division is the name of another division in the lab). Why had I never heard of this club in the 2+ years I've been here? And, I saw that the instructor for said self-defense class was a man with many martial arts credentials, including a 4th-degree black belt in shito-ryu karate! I thought I was going to die of excitement!
So I emailed the instructor for the class, introduced myself and my martial arts background, and inquired about the martial arts club (in particular, was it open to people outside that division?). He replied that it was open to everyone at the lab and he invited me to come to one of their classes, which was held at noon yesterday, where he was to be teaching muay thai.
So I went. I don't think I've had that much fun in a long time! It's not that blocking, punching, and kicking are a barrel of monkeys, exactly; it's just that moving my body in predefined sets of offensive and defensive moves is something that has been missing in my life for over two years. As the endorphins rushed through my body, I felt a certain bliss that I had nearly forgotten existed.
They meet on other days and at other times, and some of the other members teach different martial arts at those times, including kung fu and some flavor of karate. So I definitely plan to go back again, and sample some of those other classes, and maybe pick two that are my favorites and go with them.
* A close second is missing my aunt and uncle and their kids, but this is lessened by the fact that we have Vinny's godparents in town, who may as well be family.
One of the most disappointing things about moving down here was that I really couldn't find a replacement for that class. Nobody taught anything that resembled shito-ryu, so if I took a class I would essentially have to start over completely. But then, life got in the way (baby, elbow surgery) and I gave up my quest for the perfect martial arts class.
On Monday, I looked in my workplace's weekly newsletter, and saw that there was going to be a women's self-defense class offered by the Other Division Martial Arts Club (where Other Division is the name of another division in the lab). Why had I never heard of this club in the 2+ years I've been here? And, I saw that the instructor for said self-defense class was a man with many martial arts credentials, including a 4th-degree black belt in shito-ryu karate! I thought I was going to die of excitement!
So I emailed the instructor for the class, introduced myself and my martial arts background, and inquired about the martial arts club (in particular, was it open to people outside that division?). He replied that it was open to everyone at the lab and he invited me to come to one of their classes, which was held at noon yesterday, where he was to be teaching muay thai.
So I went. I don't think I've had that much fun in a long time! It's not that blocking, punching, and kicking are a barrel of monkeys, exactly; it's just that moving my body in predefined sets of offensive and defensive moves is something that has been missing in my life for over two years. As the endorphins rushed through my body, I felt a certain bliss that I had nearly forgotten existed.
They meet on other days and at other times, and some of the other members teach different martial arts at those times, including kung fu and some flavor of karate. So I definitely plan to go back again, and sample some of those other classes, and maybe pick two that are my favorites and go with them.
* A close second is missing my aunt and uncle and their kids, but this is lessened by the fact that we have Vinny's godparents in town, who may as well be family.
Thursday, December 20, 2007
Fun with Granny and Granddad
This past weekend, Jeff's parents came down for a whirlwind visit. They were bringing Christmas presents for their favorite baby grandson (and a few for his parents, too!). They arrived late Friday night, and returned home on Sunday, so really we had only one full day with them.
Jeff and I cooked them a delicious breakfast that morning (I had to get those pancakes in there somehow). There were various activities throughout the day. We had them open their Christmas presents from us. They were thrilled by the fleece blanket with a picture of Vinny on it (for Granny) and the tie with one-inch pictures of Vinny on it (for Granddad). Jeff and his dad went to pick out a Christmas tree for us. They brought home a very nice Frasier fir. Meanwhile, Vinny and his Granny played a lot together. Granny also fed Vinny his lunch.
That evening, we went out to dinner at a restaurant by the river. The view was great, the food was delicious, and the company was fantastic. It was a good ending to a great day.
When Granny and Granddad left the next day, Vinny was distraught. He cried for about ten minutes because he was so sad that they had left. This is a new development for him. He cries when Jeff or I leave the room, but he's never cried for anyone other than us. But I can definitely understand why he did, because his grandparents are just crazy about him and showed him a lot of attention while they were here.
Jeff and I cooked them a delicious breakfast that morning (I had to get those pancakes in there somehow). There were various activities throughout the day. We had them open their Christmas presents from us. They were thrilled by the fleece blanket with a picture of Vinny on it (for Granny) and the tie with one-inch pictures of Vinny on it (for Granddad). Jeff and his dad went to pick out a Christmas tree for us. They brought home a very nice Frasier fir. Meanwhile, Vinny and his Granny played a lot together. Granny also fed Vinny his lunch.
That evening, we went out to dinner at a restaurant by the river. The view was great, the food was delicious, and the company was fantastic. It was a good ending to a great day.
When Granny and Granddad left the next day, Vinny was distraught. He cried for about ten minutes because he was so sad that they had left. This is a new development for him. He cries when Jeff or I leave the room, but he's never cried for anyone other than us. But I can definitely understand why he did, because his grandparents are just crazy about him and showed him a lot of attention while they were here.
Subscribe to:
Posts (Atom)