Frances Allen wrote "A Catalogue of Optimizing Transformations" in 1971. 50 years(!!!) later, they are still the backbone of optimizing compilers. I think the only major thing missing is autovectorization.
I think you should read it if you work on compilers, even now. But the reason is a bit different.
It was the survey of the state of the art at the time, but obviously it is not the state of the art now. Then why should you read it? Because it is written in two layers.
The first layer goes, we tried many optimization ideas, but only these were effective in practice: inlining, register allocation, etc. Others were not. Surprisingly, this layer is still mostly true today! This is both happy and sad depending on your view. Personally I think it testifies that compiler is a mature field, and it matured by 1970. (And that Frances Allen did lion's share of work maturing it.)
The second layer is, so here is how you should do inlining, register allocation, etc. While this layer is also full of gems, it is necessarily badly outdated. The paper predates graph coloring register allocation, for example. On the other hand, ironically, the state of the art 1970s algorithms are often a good choice today when you want an algorithm that is fast and low memory. (Ironic, because they were slow and high memory at the time!) This doesn't apply when there is an important new concern, for example cache locality, but happily it mostly doesn't affect compiler.
I think there should be a project to write the-state-of-the-art-in-1970s compiler. It would be a great simple and minimal alternative to GCC and LLVM, and it would also work great as a JIT code generator. We probably should name it Fran.
I worked at IBM research from 1997 until 2007, after finishing my PhD in compilers and programming languages.
About two weeks after I started working there, she showed up in my office, and introduced herself. She'd heard about a new PL person joining, and she'd gone and gotten my dissertation and read it, so that she could come talk to me about it. Not that my dissertation was anything special: that's just the way that Fran was.
She was an amazing person. Brilliant, and kind, and generous. The world needs more people like her.
Fran and I were on the same floor at IBM's Watson lab. I was in an AI project doing applied math, e.g., some optimization, and mathematical statistics (for the AI work we were doing, system monitoring, i.e., anomaly detection, better than our AI work!). She was regarded as a major expert in compiling and numerical codes for scientific computing.
I heard that she was working on a software product that among many other things would do fast matrix multiplication using some parallelism.
So, just for the heck of it, I wrote and ran a little routine in PL/I that used PL/I's feature of multi-tasking to get some parallelism and showed my code to her. She was a little surprised I'd written the code, had a smile, and explained why her work closer to some hardware features (I don't recall the details) would be faster!
I wasn't surprised or disappointed that my little PL/I tasking code would be slower than what she was doing, but at least I got her to explain the hardware she was using and how she was exploiting it!
As I recall, she was married to Jack Schwartz at Courant Institute of NYU and as in
Nelson Dunford and
Jacob T. Schwartz,
Linear Operators.
Hey, I just wanted to thank you for your reply covering the two semesters of stochastics in a condensed reply nearly 11 months ago in a different thread. I got too distracted reading up on it I forgot to reply. I cant tell you how much that helped with putting it all together conceptually. Given there is no way to reply to it now or dm you I figured this was the next best thing. Also anyway to get in contact with you with any future questions outside of here? especially since you mentioned you were previously working on an AI project. Any thoughts on High-Dimensional Statistics: A Non-Asymptotic Viewpoint by A. Martin Wainwright? It's currently what I'm trudging along through. You wouldn't happen to have a graycatmathhelp@email would you? thanks again
I’m sure you are just trying to share a memory of interacting with an illustrious colleague here - and my sympathies go to you as it’s always a shock to learn of the passing of someone you worked with.
But I think you maybe need to work on how you present this anecdote - as it is, it reads like you tried to mansplain her own research to a Turing Award winner. I hope you approached with more humility than this telling suggests?
Also, you should be aware that contextualizing professional women in terms of who their husband is or what his credentials are has long been used to underplay women’s individual achievements. Again, I don’t think that’s your intent, but you could consider whether, in the case of talking about Jacob Schwartz, you would have been moved to drop in the detail of who he was married to?
Fran gave a talk when I interned at TJ Watson one summer. Her stories of the early days of compilers were beyond fascinating and made it clear how much we all now were just building on ideas they established decades ago.
Later, my wife was the first to receive the IBM PhD fellowship established in Fran's honor. Fran awarded it to her at a conference (Grace Hopper I think) and of course was gracious, offering to help as your career moved forward. Thankful for that investment in our future.
I'd recommend reading her interview in Coders At Work. I never realized that compilers were already a flourishing field by the time C came around, and that C actually ended up having some negative effects in compiler dev.
Sadly, this is the first I've heard of her. Hopefully all that means is I'm not a real programmer.
Edit: To be clear, I really meant "I hope other people here are familiar with her work, even though I am not because I'm not a real programmer." I'm happy to see that some people are, in fact, familiar with her and her work.
> Hopefully all that means is I'm not a real programmer.
Sadly, no, it's not just that. Most my immediate colleagues, for example, don't know of her or her work, either. It's one heck of a field.
She had expressed some dismay, in interviews, at being the first woman to win the Turing Award. Not the Turing Award part, of course, the "first woman" part. She was far from being the first deserving candidate who didn't happen to be a dude. So I hope she wouldn't mind linking this here, even today: https://www.hillelwayne.com/important-women-in-cs/
I create programs professionally and I know very few winner of the Turing Award by name. If someone said "who was the first native-English speaking Turing Award winner" I would not be able to answer unless I went through each winner and manually checked. I suspect quite few programmers in the world (and people on HN) are familiar enough with Turing Award winners that they can answer questions like that.
I would guess that people who work on building compilers and compiler optimization are more likely to know her name than programmers.
Interesting. If you search for "died" on HN in the last month, say, you'll find many examples. Most have 0 or 1 comments, many have around the same as this has now, but none are about it being sad to not have heard about that person. Any idea why this one in particular made you feel that way?
I read one of Frances’ papers on compiler optimization, and while some of it went over my head, it was still valuable information; the world is a sadder place without her.
My dad should have married her. Same story except Spartans instead of Wolverines and he went into Defense instead of IBM, and he’s older and still rockin’ Siri on his AppleWatch.
Going on a tangent, I think most of us missed Bill English's passing a few days ago since I think because people only noticed it on the weekend when there are less HN users active.
sanxiyn|5 years ago
She was in her 30s when she wrote it.
sanxiyn|5 years ago
It was the survey of the state of the art at the time, but obviously it is not the state of the art now. Then why should you read it? Because it is written in two layers.
The first layer goes, we tried many optimization ideas, but only these were effective in practice: inlining, register allocation, etc. Others were not. Surprisingly, this layer is still mostly true today! This is both happy and sad depending on your view. Personally I think it testifies that compiler is a mature field, and it matured by 1970. (And that Frances Allen did lion's share of work maturing it.)
The second layer is, so here is how you should do inlining, register allocation, etc. While this layer is also full of gems, it is necessarily badly outdated. The paper predates graph coloring register allocation, for example. On the other hand, ironically, the state of the art 1970s algorithms are often a good choice today when you want an algorithm that is fast and low memory. (Ironic, because they were slow and high memory at the time!) This doesn't apply when there is an important new concern, for example cache locality, but happily it mostly doesn't affect compiler.
I think there should be a project to write the-state-of-the-art-in-1970s compiler. It would be a great simple and minimal alternative to GCC and LLVM, and it would also work great as a JIT code generator. We probably should name it Fran.
rudedogg|5 years ago
raverbashing|5 years ago
MarkCC|5 years ago
About two weeks after I started working there, she showed up in my office, and introduced herself. She'd heard about a new PL person joining, and she'd gone and gotten my dissertation and read it, so that she could come talk to me about it. Not that my dissertation was anything special: that's just the way that Fran was.
She was an amazing person. Brilliant, and kind, and generous. The world needs more people like her.
graycat|5 years ago
I heard that she was working on a software product that among many other things would do fast matrix multiplication using some parallelism.
So, just for the heck of it, I wrote and ran a little routine in PL/I that used PL/I's feature of multi-tasking to get some parallelism and showed my code to her. She was a little surprised I'd written the code, had a smile, and explained why her work closer to some hardware features (I don't recall the details) would be faster!
I wasn't surprised or disappointed that my little PL/I tasking code would be slower than what she was doing, but at least I got her to explain the hardware she was using and how she was exploiting it!
As I recall, she was married to Jack Schwartz at Courant Institute of NYU and as in
Nelson Dunford and Jacob T. Schwartz, Linear Operators.
ricv|5 years ago
flippinburgers|5 years ago
jameshart|5 years ago
But I think you maybe need to work on how you present this anecdote - as it is, it reads like you tried to mansplain her own research to a Turing Award winner. I hope you approached with more humility than this telling suggests?
Also, you should be aware that contextualizing professional women in terms of who their husband is or what his credentials are has long been used to underplay women’s individual achievements. Again, I don’t think that’s your intent, but you could consider whether, in the case of talking about Jacob Schwartz, you would have been moved to drop in the detail of who he was married to?
sitkack|5 years ago
Optimizing Compilers for Parallel Computers, lecture by Frances E. Allen https://www.youtube.com/watch?v=Qv-wXcUxrmE
Frances Allen, 2006, ACM A.M. Turing Award Lecture, "Compiling for Performance: A Personal Tour" https://www.youtube.com/watch?v=NjoU-MjCws4
musicale|5 years ago
https://www.youtube.com/watch?v=xLTUvFboveM
nthomas|5 years ago
Later, my wife was the first to receive the IBM PhD fellowship established in Fran's honor. Fran awarded it to her at a conference (Grace Hopper I think) and of course was gracious, offering to help as your career moved forward. Thankful for that investment in our future.
hardwaregeek|5 years ago
wglb|5 years ago
gavreh|5 years ago
AnimalMuppet|5 years ago
DoreenMichele|5 years ago
First female winner of the Turing Award.
Lots of other notable stuff.
Sadly, this is the first I've heard of her. Hopefully all that means is I'm not a real programmer.
Edit: To be clear, I really meant "I hope other people here are familiar with her work, even though I am not because I'm not a real programmer." I'm happy to see that some people are, in fact, familiar with her and her work.
mumblemumble|5 years ago
Sadly, no, it's not just that. Most my immediate colleagues, for example, don't know of her or her work, either. It's one heck of a field.
She had expressed some dismay, in interviews, at being the first woman to win the Turing Award. Not the Turing Award part, of course, the "first woman" part. She was far from being the first deserving candidate who didn't happen to be a dude. So I hope she wouldn't mind linking this here, even today: https://www.hillelwayne.com/important-women-in-cs/
belorn|5 years ago
I would guess that people who work on building compilers and compiler optimization are more likely to know her name than programmers.
CarbyAu|5 years ago
Many worthwhile people in the world. Not all of them are famous to the people who would love to know them.
At least we can both get to know her more starting now.
globular-toast|5 years ago
grappler|5 years ago
tombert|5 years ago
I read one of Frances’ papers on compiler optimization, and while some of it went over my head, it was still valuable information; the world is a sadder place without her.
vaxman|5 years ago
jolux|5 years ago
finphil|5 years ago
relaunched|5 years ago
hardwaregeek|5 years ago
fb03|5 years ago
anotherevan|5 years ago
chaostheory|5 years ago
dang|5 years ago
filereaper|5 years ago
LargoLasskhyfv|5 years ago
jzig|5 years ago
RankingMember|5 years ago
tus88|5 years ago
brian_herman__|5 years ago
abegnoche|5 years ago