
Frances Allen has died - ntumlin
https://www.ibm.com/blogs/research/2020/08/remembering-frances-allen/
======
sanxiyn
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.

~~~
sanxiyn
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.

~~~
mpweiher
Maybe I should call the backend for Objective-S Fran :-)

> graph coloring register allocation

I knew some people working on linear optimization, at the time one of the most
performance-intensive applications around (with real money/competitiveness in
many industries riding on it). The compiler that produced the best code, by
quite a bit, was the IBM FORTRAN compiler (3090 was the preferred target at
the time), which also didn't do graph coloring. It just allocated the
registers by loops from innermost to outermost.

¯\\_(ツ)_/¯\

For a simple compiler, we should also look at Wirth's works, and Wirth's rule:
an optimization has to pay for itself, that is, the compiler compiling itself
with the optimization both in the executable and in the source code has to be
faster than without it in both places.

~~~
scott_s
> For a simple compiler, we should also look at Wirth's works, and Wirth's
> rule: an optimization has to pay for itself, that is, the compiler compiling
> itself with the optimization both in the executable and in the source code
> has to be faster than without it in both places.

That will result in a compiler best at optimizing programs that behave like
compilers. Which may be fine for simple compilers, but it's worth keeping in
mind that will not be a good compiler for domains where the programs don't
behave like compilers (such as scientific computing, or even ML these days)
that also want high performance.

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

------
graycat
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_.

~~~
jameshart
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?

~~~
tkeeler
Why is there an assumption that graycat is male? Was there an indication of
gender?

~~~
LukeShu
Not who you're responding to, but: My assumption was that the user is _the_
greycat, which is the well-known alias of the programmer Greg Wooledge.

Now that you call it out, I realize that it's probably a mistaken assumption,
because Greg spells it "greycat" not "graycat". But it wasn't an unreasonable
assumption for HN.

------
sitkack
:(

Optimizing Compilers for Parallel Computers, lecture by Frances E. Allen
[https://www.youtube.com/watch?v=Qv-
wXcUxrmE](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](https://www.youtube.com/watch?v=NjoU-MjCws4)

~~~
musicale
She also spoke at the acm turing100 symposium in 2012.

[https://www.youtube.com/watch?v=xLTUvFboveM](https://www.youtube.com/watch?v=xLTUvFboveM)

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

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

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

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

~~~
martinlaz
Nice analogy. Although it's very unlikely that PHP will ever be as highly
regarded as are C and Unix today.

~~~
tomsmeding
I wanted to say that C is not really very highly regarded nowadays, but that
only adds extra php-directed snark to your post, which is not wholly a bad
thing.

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

~~~
mumblemumble
> 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/](https://www.hillelwayne.com/important-women-in-cs/)

~~~
pmiller2
Yeah. If anything, I would say it means they're not a "real computer
scientist," whatever that means.

Just to put the second part of your comment in perspective, there have only
been 3 female winners of the Turing award, total, by my count.

~~~
dspillett
_> a "real computer scientist," whatever that means_

At university we would say that computer science was the art, where
programming was the craft[1]. It is probably fairer to state that programming
is an application of the science.

[1] Though with less of a sneery tone than used when people said "mathematics
is the art where computer science is the craft"

~~~
mumblemumble
I think that this might be exploring the analogy's breaking point.

It can be quite easy to draw a clean line between theoreticians and
implementors in other fields. Biologists and veterinarians, physicists and
engineers, etc. But who was the last major computer science theoretician who
wasn't also a skilled programmer or system architect (or both)? Alonzo Church?

~~~
segfaultbuserr
After looking through all the Turing Award winners, my answer is Stephen Cook
- a CS mathematician who did nothing on engineering, discovered the concept of
NP-completeness.

------
tombert
This is absolutely worthy of a black bar.

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

------
jolux
Wish we could get the black bar up.

------
finphil
RIP

------
relaunched
I'd love to see a black banner / bar in her honor.

~~~
anotherevan
As an aside, when there is a black bar, I would also love it to link to the
reason it is there.

~~~
paublyrne
That's a nice idea, like how Google doodles link to some background
information.

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

~~~
dang
It was mentioned in this article:
[https://news.ycombinator.com/item?id=24059231](https://news.ycombinator.com/item?id=24059231),
but not in an obvious way.

------
filereaper
@dang can we get a black bar in her honor?

~~~
LargoLasskhyfv
signed.

------
jzig
Why doesn't the black bar link to the related submission?

~~~
RankingMember
That's a great idea

------
brian_herman__
I'm glad we got a black bar for her.

------
abegnoche
My brain read the title as "France Had Aliens" which I was really curious to
read. Thanks brain.

