When Dr. Timothy Jones finished his PhD and was looking to establish his career, one email to Arm changed everything. It led to new collaborators, invaluable industry insight and a high-level mentor – opportunities he has since passed on to the next generation…
“My research is all about computer architecture and compilers, and exploiting parallelism in all its forms. I moved to Cambridge university in 2011, with funding from the Royal Academy of Engineering. I’d finished my PhD at Edinburgh and was keen to establish myself elsewhere, and I was free to do literally whatever I wanted. Arm was the obvious place to go to find industry connections, so I emailed them. They ended up giving me a desk in their Research group.
It was a natural fit. I started looking at compiler research, and at how compiler optimizations affected the performance, reliability, and security of some of Arm’s cores.
Arm Research was very open: once I'd signed the relevant paperwork, I could access lots of information, people, and IP that were not public. I felt I was part of Arm, as well as part of the university. Arm Research gave me a clear sense of the timescales that industry works to. Plus I could see it was always thinking about what the purpose of the research was; what products it may affect; where it might go. As academics we want our work to be useful, but we are not worried about marketing it or anything. Those conversations certainly made me more conscious of what I need to do as an academic to get my work taken up by industry.
There were other clear benefits. As part of the Royal Academy of Engineering fellowship scheme, the organization lets me choose one of their fellows as a mentor. I did not want a university person – I wanted someone to whom I’d otherwise never get access. I asked for Warren East. To my surprise, he said yes. Even though at the time he was CEO of this major company, he was interested in me, some post-doc from the local university who happened to be working at Arm part time. They were not even paying me. Still, he took the time to find out what I was doing and support me.
A couple of years later, as I was approaching the end of my fellowship, I applied for funding from the Engineering and Physical Sciences Research Council. As part of its support for that application, Arm also committed to providing PhD studentships. That gave me a natural transition from doing my own research at Arm, to being a supervisor of students interacting closely with the company. Arm Research gave each student a mentor who would meet with the student and me every week or two. We would talk about the research we had done, and they would guide us whether it was likely to be relevant to industry, or whether our research efforts would be better focused elsewhere.
That access to industry-relevant information is always such a challenge for academics. Funding always helps too, and that is sometimes tricky to find for PhD students. Arm has sponsored quite a few of my students, and that has been really helpful. But the real key thing is that information about where industry is looking, what is acceptable to it, and all the know-how that we do not have in academia. Most companies are secretive about their IP. They do not want to give the competitors any advantage, so there is nothing for them to gain by telling us the intricate detail about each of their processors. But it does tend to mean that the field of computer architecture is disconnected from reality at times. You see papers published in the top conferences where many of the ideas are interesting but would never ever be implemented. Having the collaboration with Arm points us in the right direction, and means we have a better understanding of what is valuable and what is not.
My PhD students have worked on various things there. One student worked on automatic parallelization of application binaries; another on a form of vectorization, based on Arm's SVE architecture; a third started working on memory-level parallelism. This third student developed a new architecture for prefetching certain types of data structure that had not been done in this way before. Then he branched out and worked on reliability, looking at lowering the cost of safety-critical systems on Arm Cortex-R processors. He then did a similar thing with security.
We could have done this work without the support of Arm Research, but we would not have reached the same result. The mentors played a major role in guiding us: again, we wanted to come up with solutions that would be workable for industry. They were able to say if there was any reason a particular idea would never be implemented – an unacceptable overhead in terms of chip area or performance impact, for example, or something that would be a total nightmare to do in practice despite being feasible in theory. We would never have had that kind of insight if we were doing it alone.
We generated three patents based on the work of those students, and one of those students is working for Arm now. Meanwhile, I am putting together a project with Arm that is along similar lines to the vectorization work we did. The student who did the prefetching, reliability, and security work stayed on with me as a post-doc, then got his own lectureship in academia. During his post-doc, we continued to collaborate with Arm and to meet with his old mentor. It is a good relationship. He has found it valuable, as has Arm, with the patenting of the technology.
I still have visiting researcher status at Arm. Some of my work from eight or nine years ago is starting to influence things I am doing with Arm, together with a PhD student I have who is just starting now. If we are successful with funding, his work is going to become part of a larger project between Arm and the university, looking to exploit parallelism with architectural and compiler techniques. The aim is to use the compiler to identify where there is parallelism and bring that forward, with the goal of enabling significant performance gains.
I get a lot of satisfaction from seeing all this happens. I like the interactions I have with Arm: all the people I have got to know there are great, and I can go and have a lot of interesting conversations with people. Being an academic I enjoy helping the students in their careers, and for them to be doing work that is so industry-relevant is great for everyone involved.
The work we have done has had an impact within Arm, and looking forward, it would be fantastic to be able to pick up a device and say I helped develop some of the stuff inside it. Not many computer architecture academics can say that.”
Dr. Timothy Jones is a reader in Computer Architecture and Compilation at the University of Cambridge computer laboratory and a fellow of Gonville and Caius College.
How can Arm support your research?
Dr. Timothy Jones is a contributing author to our Introduction to Computer Architecture Education Kit, which helps teach your students the fundamental concepts of computer architecture and how these concepts are applied and implemented in modern processors. Find out more