Live data from Hacker News

Frances Allen has died

ibm.com

81–90 of 110 posts

Re: Frances Allen has died

#81
post #77
post #62

Earlier quoted context omitted.

The Single Static Assignment form was only created in 1988, which is apparently so late that compilers are still discovering it (and the optimizations it enables) as some novelty today. (Never even mind the Single Static Information form.) I wonder if part of the reason SSA is not implemented from the start by many compilers, is precisely because it came too late to be included in seminal works like A Catalogue of Op…

I think SSA is not implemented from the start by many compilers is because many compilers are 30+ years old. More seriously, my recollection (having been about 20 years since I last took a compilers course) is that it took a while for even researchers to be convinced of the advantages of SSA, as the transformation causes a quadratic blowup in code size for the worst case (but it turns out to be less in real-world cas…

A 30-year-old compiler would still have come out in 1990, well after SSA-based optimizations were discovered. But maybe I'm expecting too much in thinking that the author of a flagship optimizing compiler should be up-to-date on CS research in compiler optimization, before deciding the architecture of their compiler.

(Also, plenty of the compilers and/or JITs that I'm talking about are far newer. The first attempt to get a JVM to use SSA optimization during JIT — within SafeTSA — only occurred in 2000. Such an approach was copied by pretty much every JVM implementation by 2005, suggesting that a legacy of incompatible architecture was never the problem, but rather that JVM implementors just didn't think it was a worthwhile technique until they saw it demonstrated for their particular workloads.)

CPS is closely theoretically related to SSA (it carries equivalent information across lexical boundaries) but CPS isn't a basis for optimization transforms in the same way that SSA is. You can't hoist loop invariants using CPS... as far as I know, at least.

Re: Frances Allen has died

#82
post #79

Earlier quoted context omitted.

They've now added the black bar and substantive comments about her work are finally at the top of the discussion (instead of my relatively vacuous remark). I'm happy to see her getting a proper send off appropriate to her level of contributions to the field. I think this isn't really the time or place to get into gender issues and the field of Computer Science, especially not for me. I see things very different from…

> I think this isn't really the time or place to get into gender issues and the field of Computer Science It's worth noting that, according to the article, Frances Allen actually spent some time focusing on exactly that. As important as distinguishing her work in the world of computing and programming, Fran was also committed to her team by embracing their ideas and synergies and, in particular, supporting women. She…

The elephant in the room is that I'm probably the highest ranked woman on HN. This is likely a large part of why my relatively vacuous remark was the top comment for some hours. I know from past public remarks and private emails that some people here look to me for guidance on gender issues.

I've given my guidance for this issue today: We are here to honor the life and work of Frances Allen. Everyone please, kindly, focus on that and don't be offended that I'm trying to step away from the discussion at this point.

Re: Frances Allen has died

#83

Earlier quoted context omitted.

Did the concept of SIMD even exist in 1971?

I can’t think of any noteworthy idea in computing that didn’t exist in 1971.

VLIWs[0] and trace scheduling[1] were both from the early 1980s.

Dependence analysis, automatic vectorization, and automatic parallelization were invented after 1971.

Fast algorithms for computing dominators[2] were late-70s.

Graph coloring register allocators were introduced in the early 1980s.

[0] https://en.m.wikipedia.org/wiki/Very_long_instruction_word

[1] https://en.m.wikipedia.org/wiki/Trace_scheduling

[2] https://en.m.wikipedia.org/wiki/Dominator_(graph_theory)

Re: Frances Allen has died

#84
post #15
post #10

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. She was in her 30s when she wrote it.

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.…

I agree with most of your comment but I don't agree that compilers was a mature field by 1970. That was before SSA, graph coloring register allocation, and even linear scan, all three of which were pretty revolutionary.

I saw her 2007 Turing Award speech. I have tremendous respect for Fran and like your idea to name a codegen after her :-)

Re: Frances Allen has died

#85
post #81
post #77

Earlier quoted context omitted.

I think SSA is not implemented from the start by many compilers is because many compilers are 30+ years old. More seriously, my recollection (having been about 20 years since I last took a compilers course) is that it took a while for even researchers to be convinced of the advantages of SSA, as the transformation causes a quadratic blowup in code size for the worst case (but it turns out to be less in real-world cas…

A 30-year-old compiler would still have come out in 1990, well after SSA-based optimizations were discovered. But maybe I'm expecting too much in thinking that the author of a flagship optimizing compiler should be up-to-date on CS research in compiler optimization, before deciding the architecture of their compiler. (Also, plenty of the compilers and/or JITs that I'm talking about are far newer. The first attempt to…

> But maybe I'm expecting too much in thinking that the author of a flagship optimizing compiler should be up-to-date on CS research in compiler optimization, before deciding the architecture of their compiler.

In 1990 I don't think SSA was broadly considered to be the basis of a good optimizing compiler the way it is today. So the "author of a flagship optimizing compiler" would be gambling on an unknown that looked good in a couple new papers. The Cytron paper on how to efficiently compute it came out in 1991. So SSA was still a WIP.

It wasn't really until the late 1990s IMO, that SSA became widespread and into the 2000s when it became the standard.

Re: Frances Allen has died

#86
post #14
post #13

Earlier quoted context omitted.

It was more that C hindered optimization research. The interview was awesome as you said.

C and Unix hindered a whole lot. It was the PHP of its day.

I am struggling to understand your analogy here?

Re: Frances Allen has died

#87

First female IBM fellow. 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.

> 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 ha…

There's a weird gap in that lineup in that practically every person on that list is pretty old (born in the 30s-40s) and their achievements usually date from around the 70s.

Is this just because achievements are usually recognized in retrospect, or is this because the 50s to 70s were the most influential portion of computer science (since all groundbreaking things were discovered in the beginning), or is this because women were pushed out more and more by the 70s?

Re: Frances Allen has died

#88
post #81
post #77

Earlier quoted context omitted.

I think SSA is not implemented from the start by many compilers is because many compilers are 30+ years old. More seriously, my recollection (having been about 20 years since I last took a compilers course) is that it took a while for even researchers to be convinced of the advantages of SSA, as the transformation causes a quadratic blowup in code size for the worst case (but it turns out to be less in real-world cas…

A 30-year-old compiler would still have come out in 1990, well after SSA-based optimizations were discovered. But maybe I'm expecting too much in thinking that the author of a flagship optimizing compiler should be up-to-date on CS research in compiler optimization, before deciding the architecture of their compiler. (Also, plenty of the compilers and/or JITs that I'm talking about are far newer. The first attempt to…

Someone else already replied to your first paragraph, so I'll reply to your second:

The safe TSA papers from 2000-2001 were the papers that showed that SSA was practical in a JIT environment. The fact that this approach was adopted less than 5 years after those papers come out suggest that compiler authors are in fact reading research papers.

Rearchitecting a production JIT to use a different IR for theoretical gains when nobody's demonstrated those gains on a toy JIT is high risk and demonstrating those gains on a toy JIT is research, not development.

Re: Frances Allen has died

#89

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.

How did C have negative effects on compiler dev? Did everyone else get a lobotomy, and forget how to do what they already knew?

Re: Frances Allen has died

#90
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.

Post reply on HN