Skip to content

News

An Interview with Eric Saunders

Jun 18, 2012

This week’s interview is with Eric Saunders.

Jessica Barton: What is your job title?
Eric Saunders: Software engineer.

JB: What does your work at LCOGT involve?
ES: I work on the scheduler for our robotic telescope network. It’s a pretty unusual software job - it’s very abstract and crosses the line into research. We don’t know exactly how to do what we want to do, so it’s constantly evolving and changing. I have also been involved with the weather visualization project, and currently, the visualization of some of the scheduler’s many aspects.
 



JB: Could you tell us a little bit about yourself - your education, interests, past work experiences.
ES: I’m English, originally from London. I’ve spent most of my adult life at university and have three degrees as a result - a combined undergraduate and masters degree in physics, another masters in high performance computing where I learned how to write code for supercomputers, and then my PhD in astronomy.

JB: So is the cluster we have here at LCOGT considered a supercomputer?
ES: It could be used in that way, but most of what we do with it is not really supercomputing. The difference is in the nature of the processes you run. For example, if you have a to-do list with five jobs on it, if you could ask five friends to each take one of the jobs, you could potentially get the list finished five times faster than if you did one task after another by yourself. The friends split up, and go and run their errands. That’s the kind of computing that tends to get done on the cluster. Astronomers will often have multiple instances of a program running on several different CPUs, but each one is dealing with a different data set or set of initial conditions, and don’t need to communicate. This is called “trivial parallelism,” or “task farming”.

Real supercomputing is when the tasks can’t be done independently because they depend on one other. For example, when you’re modeling something like the weather, you might have a map of a certain area and divide it into a grid. You can run calculations on each square of the grid, but the edges of the grid squares influence each other (clouds don’t know about your grid!), so it’s a lot more complicated than task farming, because each process must communicate with others, running on other CPUs, all the time, to stay in sync and access the data they need.

We may eventually use the cluster to solve computationally-intensive aspects of the scheduling problem that would otherwise be intractable, but so far, that hasn’t been necessary.

JB: What led you to the career or job you are doing now?
ES: A great deal of luck! Although I have been interested in astronomy since I was young. We had a fascinating book lying around the house, “The Atlas of the Universe”, by Patrick Moore, which made a huge impression on me. Recently, on a trip back in England, I was looking at a piece of work from when I was seven years old. I had written a story about a boy flying to a globular cluster on a rocketship. So I guess I’ve been interested in astronomy for a long time...

At university, I decided to study physics after reading about Einstein and Feynman, and digesting too many popular science books. In my final year I worked on data from a project that was modeling dark matter evolution with supercomputers, which was cool. Inspired by that, I was very lucky, and secured a scholarship to go to Edinburgh to study high performance computing. After that, I decided I wanted to do research in artificial intelligence at PhD level. While researching options, I found a PhD opening on the eStar project, which involved both AI and controlling robotic telescopes. My background in both physics and computing served me well, and I got the position.

Two years into my PhD I gave a talk at a conference about my dissertation topic, which in a nutshell was about all the clever things one could achieve with networked robotic telescopes. I had prototyped some of my ideas, but a lot of it was theoretical at that time. However, a few people from LCOGT were in attendance, and afterwards they suggested I might be a good fit for LCOGT. And now here I am! I feel extremely lucky because my dissertation work was an incredibly niche topic, yet I have the opportunity to build on some of the ideas from my work, and make it happen. LCOGT’s network is a once-in-a-lifetime project, and it’s a real privilege to be able to make this stuff real.

JB: So what can the scheduler do now?
ES: Right now it’s still in the prototype phase. One way to imagine it is like an onion, with a kernel at the core, and many layers wrapped around that. The various kinds of astronomical requests come in at the surface of the onion, are combined with what we understand about the state of the network, and then are translated and successively refined, until they can be expressed in the language of the scheduler, and reach the kernel. The kernel operates in an abstract mathematical space. It takes the requests, and decides how to arrange them to construct a solution. Then we translate back from our computer science problem into the real world, and use the solution to produce a real schedule, with observations to be placed at different telescopes.

There are many different kinds of requests, from simple one-time observations to complex time-series requests, such as the observation of a target to be made five times, with three hours between each observation. The scheduler has to take into account when and from where each object is visible, where the observing conditions are met, and then figure out the best way to schedule the observations. In addition, each request has a priority given to it by the Time Allocation Committee (TAC), which influences our decisions. And all of this needs to be recalculated, often, because conditions are always changing, and things don’t go as expected. In a way, you could say the job of the scheduler is to choose who loses, because somebody always will!

JB: What is a typical day at work like?
ES: I spend some time keeping up on software team issues and discussions, often trying to clarify what we are doing. I also check in on the other projects I am involved in. When not in meetings, I spend the rest of the time writing and testing code, and lying on the floor thinking (a bad habit I picked up from my PhD supervisor, Tim Naylor).

JB: What advice would you offer people wanting to go into the type of work you do?
ES: Don’t go into it unless you find it fascinating because it’s really hard! You could make more money doing something else. But if you truly find it interesting, it’s a great way to make a unique contribution to the world.

You will never be able to stop learning. Understand how much you don’t know, and learn some more! People often think what you’re doing is a kind of black magic. Don’t expect external appreciation. You need internal motivation to find a career like this fulfilling.

JB: What do you do in your spare time?
ES: Excitingly, I actually do some programming in my spare time! Right now I’m learning an unusual programming language called Haskell. I like to challenge myself and push the boundaries of what’s possible. I also like to play piano, ride my bike, read a lot, and have drunken conversations about philosophy. I’m reading a lot about anatomy at the moment, which is fascinating.

I also play a lot of board games, many pretty obscure, but including chess and go. Anyone want a game?

JB: Thanks Eric!