Monday, August 08, 2005

Adventures in Confusion

So I read all the information in my offer to play linebacker for Los Alamos National Lab, and it all sounds good. They have really good benefits options, and they're going to pay for me to move there, which is incredibly helpful because I hate manual labor and heavy lifting and I don't want to pay someone to do it for me. But if someone else is footing the bill, count me in!

I realized while I was thinking it over that I was unsure what I was being hired to do. After all, when I visited, they told me that due to their budgetary uncertainty, the job for which I had applied no longer existed. So I fired off a quick e-mail to my suitor, who replied quickly with the following:


Thanks. Excellent question. The answer is: the job you applied for.
Since the interview I talked with some line and program managers in CCN- and X-Division and the consensus is that we in CCN-8 have been asked to provide an I/O solution for the code teams, which I accepted. We also have the budgets to pay for this.

Rebecca, you have a unique combination of skills in computational and computer science and I am viewing you as a "strategic hire". That means that I think you have the ability to contribute in several areas of importance to the code teams, be it I/O or other performance related areas in computational science requiring a strong computer science background.

I hope this clarifies things. If not, you know how to reach me and ask more questions.

Hoping to get you on board soon.

With best regards, [Suitor Guy].

After I read this message aloud, my officemate Bill expressed pessimism about the idea of an "I/O solution" for massively parallel codes, with which I must agree. Basically it boils down to having one hard drive writing slowly, and trying to apportion that to thousands of processes, all needing to access it at the same time. I think the solution is not a solution, but rather a workaround, since it is nigh impossible to do anything about such a bottleneck. Instead one should redefine what must be placed in output, and what can be recomputed or passed in a different way. I am not much of an expert on this field, and I do worry that he will be vastly disappointed by my contributions (or lack thereof).

No comments: