There are anywhere between 30 and 45 million software developers in the world. Within this vast network Arm is uniquely placed, as the breadth and depth of the Arm software ecosystem means it can support developers at every touchpoint in the developer process across a wide range of technology sectors, from consumer tech and IoT to infrastructure and automotive. This is becoming even more important as the vast tech landscape prepares for a ‘software defined future.’
In this Arm Viewpoints episode, Mark Hambleton, VP of Open Source Software at Arm, talks with host Geof Wheelwright to explain what software defined is and what it means for developers, consumers and wider tech industry. Mark also provides a special sneak-peak to Arm DevSummit 2022 (taking place on October 26th) and his keynote speech, why software developers need to get involved in the virtual event, and some highlights from the 100s of workshops, masterclasses and talks taking place.
Also in the episode, roast dinner-loving Mark outlines the top challenges and innovations in software development and how he got into technology, from his teenage years as a mischievous young programmer to leading the system software teams at Arm.
Craig: It’s great to be back with another Armed Viewpoints podcast. Today we have a topic that’s near and dear to my heart, and one that I’ve been passionate about for more than 40 years. The power of software. Over the past four decades, software has gone from being a very limited set of tools and applications used on mainframes, mini computers and PCs, to being something that powers our everyday lives from the morning alArm clocks on our smartphones, to the software that controls our heating and lighting systems, to the safety systems that help us stay safe and on track in our cars.
Joining me today to talk about all this is Mark Hambleton, Vice President of Open Source Software at Arm. We’ll talk about the software-defined future, Arm’s role in building that future and the latest exciting developments in the world of software. We’ll also talk about the upcoming Arm DevSummit event and why it’s a must attend for the world’s software developers.
So let me get things started by introducing Mark. Mark is an open source software industry veteran with more than two decades of experience in open source. He’s been with Arm since 2014 and shortly after that took over leading the open source software group. He leads the system software that drives leadership.
In open source. He’s also responsible for the software engineering relationship with Linaro. Prior to joining Arm, Mark was member of the Linaro Technical Steering Committee representing Broadcom. And prior to Broadcom, Mark was the head of core systems and a distinguished architect at Nokia in their smart devices group.
We’re lucky to have him here today. Welcome, Mark.
Mark: Thanks, Jeff. Good to meet you.
Craig: So let’s get started by getting to know you a little bit more. Mark, I have a few quick questions to help us do. So let’s start by having you name one technology you couldn’t live
That’s a really interesting one. For me it’s gotta be streaming tv.
That’s I’ve got a a small family. I’ve got the 10 year old daughter. And for us streaming TV just gives you what you want to watch when you want to watch it. It’s an essential gap filler. So yeah, that’s the essential one for me. .
Now we’re gonna turn to what happens when you’re having lunch, dinner, breakfast, whatever it is.
I’m gonna ask you to fill in the blank. I’m happiest when I’ve
Mark: I’d say it’s the roast dinner on a Sunday evening. The whole family’s sitting down and doing that traditional thing, not at lunchtime in the evening. Everybody likes it. It’s a, an occasion. We make a bit of a fuss about it.
So for me, that’s the thing that we all look forward to each week.
Craig: So if you won the lottery and price was no object, what would you like to buy?
Mark: That’s a really good question. To be honest, I don’t really know. It’s not something, I’m not really driven by purchases these days.
I probably retire and. Spend my time traveling and scuba diving. But there isn’t really one of those purchases that’s actually available yet. If you fast forward about five years, what I’d really like is a fully road legal, fully autonomous car with no steering wheel. Something that I never have to drive.
I just get in it and it takes me where I need to go and I can do whatever I want rather than having to drive. I used to love driving, but there are too many cars on the road with too many people doing crazy things. Autonomous cars cannot come soon enough for me. You just can’t bite one today. So if I won the lottery, I wouldn’t spend the money.
I’d wait until one of these things exists and I’d buy. One of those, and that would make me happy. Very happy.
Craig: So tell me about your history with technology. Why and how did you first get into technology?
Mark: I guess back in the mid 1980s my family had a Commodore VIC-20 as our first computer, which was relatively quickly upgraded to the BBC model B.
Where we spent I’m gonna say we spent a lot of our time writing software for the BBC Model B because we were model citizens, but we did what everybody else did, playing elite BMX on the moon frack and all that sort of stuff, right? Games on computers was really the first thing with technology.
My brother and I won a a competition to get a teletext adapter. A prestel modem, so we could actually get online in a, in very early incarnations of the internet and muck about with things online. So that was that was the. Computers grabbing your attention, but then also sucking you into the wider world where computers were connected to each other.
And I think that’s what really drove my, I’m going to go into electronics. And then, after the degree I figured out that software was way easier than hardware. So that’s where I was gonna go.
Craig: So you did, you have that experience of typing in long games listing? And being, being frustrated with okay, you’ve spent an hour typing it in and just one line doesn’t work.
Mark: We didn’t really do very much of that, or I didn’t what we were doing was hardware designs for things like speech synthesis units, and then programming that to say things that your mother wouldn’t approve of , and then blaming it on the computer, right? Because they, she didn’t know that it was us telling the computer what to say.
So it was, for me, it was more it was always low level plumbing that got me going to start off with rather than typing something that somebody else had written. , that seemed like something that floppy discs had been invented for, not printed media.
Craig: So what do you love most about technology?
Mark: There are some things that I dislike about it much more passionately than I would say I love about it. Technology’s quite invasive into every part of our life, in every part of our lives and I find that there are some, there are irritating pieces of technology that I can’t remove from my life easily.
But then there are some really cool bits of technology that come along and just make your life so much easier. This is gonna sound a little bit weird, but one of my favorite devices at the moment is an automatic lawn robot that goes and mows the grass in the yard. And that, it has its problems.
It gets tripped over by apples that fall off the apple tree and the foxes in the garden dig holes that it falls into. So it’s a bit of a game, but it saves me. A lot of time cause I don’t have to go and load the lawn. So I love that piece of technology a lot. And then of course there’s the smartphone.
I worked at Noia and Symbian for eight years before coming to Arm. And just seeing how the smartphone has progressed since those early days, with Symbian OS and just how much it enables in our daily life. You don’t need to take your wallet with you anymore because you can use your phone to pay.
That’s a really, that’s a really great innovation, which, I can even see rooted back in the days of Nokia, the whole NFC technology that’s used was being developed by those guys. 15, 16 years ago, my memory serves me. So there’s a bunch, there’s a bunch of things, but it’s it’s a, there’s a love hate technology relationship for me because, just because it’s everywhere now and it’s become complex, so not everybody can understand how to use it.
So if you’ve got. A small amount of understanding. You suddenly have everybody asking you to fix their computer because you’re a software person.
Craig: What about Arm specifically what do you love most about Arm?
Mark: That’s a really easy one to answer. The breadth of technology that Arm is embedded in and Arm is the foundation for.
it’s not matched by anywhere else in the industry. That my role is great because there are software engineers in part of the team that I lead that are working in every technology sector that you can imagine. And so we are thinking about basically everything where compute happens.
And I can’t think of another company on the planet where you can say that, where you can say you have a hand in anything where compute happens.
Craig: Given that maybe we can just switch to talk a little bit about Arm and tell me about what’s the big thing you and your team are working on at the moment?
Mark: One, so I guess the thing that’s up front of mind at the moment is there’s a lot of new innovations happening. In the Arm architecture to support machine learning, ai, computer vision, all that sort of stuff. Basically new extensions to the instruction set to enable scientific mathematics in support of those things that you want to do.
But the biggest challenge that software developers have got is that they. Don’t want to know about the low level mechanics of the instruction set. They want to just be able to make use of a common set of APIs and underneath those APIs, they just use the most appropriate piece of hardware to perform the function that they want.
That you know that they’re calling. And so my team at the moment is basically trying to figure out all of the places. Application developer, sorry, all of the libraries that application developers use for scientific maths, and then to figure out if those libraries have actually got the right architecture support in them for.
Existing ip that’s so existing instruction set extensions that are in the market like neon and sv, the scalable vector extensions, and then new extensions that we’re working on, where do we have to surgically enhance those libraries, and then how do we make the application developer aware that we’ve done that so they can go and pick up the changes that we’ve got and get optimal performance out of the hardware that we’re running.
Craig: That sounds like a cue to talk about a place where a whole bunch of developers could get together and talk about ideas and ways of working better together. So I wanna switch gears and talk about the upcoming Arm DevSummit, which sounds like something no self-respecting developer will wanna miss.
Tell us what it is and why you think it’s important.
Mark: So DevSummits are our annual developer conference. It’s a very broad set of workshops, master classes, presentations. There’s about, there’s over 150 different ones in various different tracks that talk about, basically they that talk to the entire breadth of the Arm ecosystem and software that’s developed by that ecosystem.
So there’s there’s also. A few keynotes where we can explain where Arm is going, where Arm’s positions, up and coming, things that people need to be aware of, but it’s. The, It’s one of those events where there’s something for everyone. Not everything that’s on the ticket will be immediately applicable for every developer because developers have a certain set of interests.
But there’ll be topics that are of particular interest to a certain type of developer across the entire spectrum where Arm enables compute.
Craig: So maybe we can talk a bit more about some of the tracks that people will see on the list on the Agenda for DevSummit. Maybe you can tell me a bit about what you think are the highlights and also why those were selected.
Mark: Yeah, so why actually was looking at the the list of sessions just before just before we we recorded this. And I I’ve run the open source software team. So I’m gonna say something part way through this where you’ll probably say, Hang on a minute, you said open source, but there were three that really stood out to me.
First one I’m gonna plug an Arm session because that’s what we should be doing. Introducing system Ready IR by John Thompson from Arm. System ready IR is actually really important a really important component of the whole software-defined world that we are gonna be talking about at DevSummit.
And I think John will give us a really good introduction into what that what that system ready profile actually enables. But then my second one was creating and debugging your first Windows on Arm applic. . And it’s it’s a talk by Marcus Perryman from Microsoft. , this isn’t just about open source. DevSummit covers all of the operating systems. All of the software franchises that work on Arm and Windows. An Arm is actually a really important software ecosystem for us. I’m talking to you today using a Windows on Arm laptop, which I use as my primary device. So that’s gonna be interesting for a bunch of people that weren’t aware that it’s becoming a big thing.
And, will help people understand what they need to do to port applications that are pro originally designed for different architectures. And then the My, my answer to the what I would buy question in five years time, I want the fully autonomous vehicle. Jack Hancock from Siemens is talking about safety Islands in a mixed safety-critical heterogeneous architecture, that there’s gonna be a change in the style of computing and autonomous car.
And there’s a number of, there are a number of talks at DevSummit around the changes that we are gonna go through. And I just picked that one out because. I think that’s gonna be an interesting one that I can’t wait to see.
Craig: Wow, that’s interesting. I was looking at the schedule myself and I thought you were gonna pick on the software-defined vehicle for autonomous driving.
And Casper Ornstein Mecklenburgs talk. Yeah. Along with some of the partners because that really looks really exciting to me and gets you to, to what you were saying that you would buy if money was no object.
Mark: Yeah, absolutely. That whole autonomous software-defined vehicle track, I think is gonna be really interesting with a ton of good good content, some thought provoking stuff happening.
Craig: Yeah, the other one that caught my eye was the session on Ray Tracing and more on the Immortalis G-715. We talked about that in a recent episode, but I think that’s really exciting cuz I think, that’s an area where there’s been a lot of development over the last number of years.
But, going back to your early experience with hardware development, sometimes the hardware hasn’t kept pace with software and Immortalis looks to me like there’s something that could really be if you’ll forgive, pun a game
Mark: changer. Yeah, the I think it’s the first road tracing implementation in in, designed specifically for mobile devices within the power budget that you need in a handset. So that really could be a game changer in the in the mobile space around for SOCs that are based on the Immortalis GPUs. So that looks really interesting, as you say. Yeah.
Craig: And there’s this guy, Mark Hamilton, that’s doing a keynote. And he’s gonna be talking about software-defined future. Now I know you don’t wanna give too much away, but maybe you can just tell – it’s just us. Maybe you can just give us a little bit of a preview of what you might wanna say and also what software-defined means to you.
Mark: Yeah, happy to. I can actually tell you a little bit of a story on this one as well. Cuz I, it would be about seven years ago that I sat down with a couple of my colleagues.
In Arm. And we wrote a really weird slide deck where we were just trying to vision cast for the future. And we said wouldn’t it be great if you can decide that there’s a problem to solve? Figure out how you’re gonna solve it. Write some software. Choose the operating system that you think you’re gonna need to write that on, figure out what the requirements are for the hardware, put all of it together and it will just work. And it was that was our imagining the future. And then it was what do we need to do to get us to the point where we can just do that? Where rather than somebody picks a hardware platform and you then try and shoehorn the software into it to do something, you start from the problem work down, and then the hardware and software and how they come together is the smaller part of the problem. It’s actually solving the problem in the first place that takes the majority of your time. And so for me, software-defined is all about. Hardware platforms supporting standard operating systems that export standard middleware frameworks so that you can actually write your, , the application that solves your problem on a pc, right? Whether it’s Arm based or not, shouldn’t matter. You can test it to make sure that it generally does what you want and you can then pick a form factor of hardware. Best suits your the needs of the application that you’re writing, deploy it and it’ll just work. And so software-defined is all about breaking that hard coupling between the software application that you’re writing and a piece of hardware that’s designed specifically for it so that you end up with a much wider choice of hardware platforms from the breadth of the Arm partner because the Arm partnership builds hardware of all different shape sizes, power, performance, thermal envelopes needing being able to choose at a later point in the design cycle exactly what you need, once you know what the requirements are from the software, rather than having constraints imposed on you from the hardware.
Craig: So let’s pull the lens back a little bit and talk a bit more broadly about the world developers are working in right now. And I’m gonna start this discussion off by giving you another pick three question. In your opinion, give us the three biggest pain points or challenges that software developers face right now.
Mark: That’s a really, that’s a really interesting one. And it really depends what type of software developer you are. Right there, there are, when people talk about software developers, you immediately think of application developers writing something that goes into an app store, whether it’s whether it’s something for iOS, whether it’s something for Android, whether it’s something for Windows.
And there are an awful lot of software developers out there that work in that kind of environment. So one of the pain points for those folks is a lot of the applications that are written today have to work across multiple operating systems, across multiple architectures. And so how does that software developer get optimal performance outta the hardware platform that their app is going to be running on without knowing what that hardware platform is going to be?
Because the apps are portable between architectures, between operating systems, so that’s one.
bring up of new hardware is always a pain point, right? We’ve got a, there are a lot of software developers out there that are working on firmware and drivers for operating systems like Linux, where. , their work is staying in house where, and they’re spending a lot of time maintaining the software that they’ve written rather than pushing the software that they’ve written upstream so that it’s maintained with the upstreams.
So they’re maintaining old versions of software so that they can do security and feature updates rather than working with the latest and greatest software because there isn’t this focus on getting software support for the hardware that they’re building into the upstreams. So that was two and then three, IoT scale-out, right?
So in the world of IoT, it’s actually quite easy to build an IoT device. One of the problems, one of the biggest problems then is actually how you take that IoT device to market and maintain that device for the lifetime of that product, because people expect technology. To be constantly updated, the features to evolve for the lifetime of that product.
So you, when you build or bolt a smart camera onto the side of your house, you expect it to work for at least 10 years. The warranty may only be two or three, but you expect the thing to be there for 10 years, and you expect the application experience on your smartphone to evolve so that it doesn’t look like it’s a 10 year old thing.
And so in the world of IoT is how do you go from product, design and implementation to actually scale out a maintenance in a cost effective and maintainable way?
Craig: Yeah. I think those are three really good challenges. And it looks like the part of one of those challenges is making that choice between having portability and not falling into the lowest common denominator trap so that you’re gonna make the most of the hardware that’s available to you while also having something that’s portable and that, that’s scalable.
Mark: Yes, absolutely. And there’s a bunch of There’s a bunch of talks at DevSummit around IoT DevOps and how you can use virtual hardware as part of your CI/CD pipelines as part of your development and validation flows. So it’s, so if you’re in the IoT space, that’s worth looking at.
But yeah it’s a big problem. It goes back to what we said right at the beginning about bits of technology that I’m not over the moon with, and it’s the thing that you buy that has bugs in it where the and the bugs are never fixed because there’s no update associated with it. If you buy something and there are problems, you report the problems and the problems get fixed, like you would see with a, a smartphone.
That smartphone model where the experience continually evolves. It’s not an irritant, it gets fixed, okay, that’s not a problem anymore. But but if it’s just a thing that’s connected, that’s performing a function that’s not working particularly well. You’re not gonna keep that very long and you’re probably not gonna go back to where you bought that. You’ll buy something else.
Craig: So those three challenges you outlined how is Arm addressing those or how will Arm address those?
Mark: So we’ve got we’ve got a project running inside of Arm at the moment, actually looking at exactly that, mostly focusing on scientific maths. So how do we upgrade the libraries that developers are actually using so that it selects the right piece of hardware on the particular device that it’s running on?
That’ll be showing results in the coming months. And quarters, and it’s something that we’ll probably be talking about more at upcoming events, actually where app developers are hanging out. So there’ll be more on that one going forward. The the update ability of IoT devices.
There’s a bunch of of work going on in inside Arm, around Arm virtual hardware, but there’s also a bunch of work that we’re doing on standardization around of APIs that you use on IoT devices and actually providing common firmware in some of the the common IoT distributions. There’s more available from the upstream in the IoT space so that there’s less code that the developer actually has to write. So we are pro trying to provide more software in a way that can be updated regularly to fix problems and security holes so that people that are building devices.
Can actually spend more time on devices and updating the software that’s running on those devices. I’ve done this in a different order. The third one working in the upstream, that’s something that we are working really closely with our partners at Linaro about. For many years they’ve been helping technology companies switch from the mode where everything is kept in house to the mode where you start to work upstream, you start to un-branch yourself and get onto the latest versions of the kernels So it’s not just an Arm only thing there. It’s Linaro and Linaro members. There’s a bunch of cool stuff that they’re doing either in the the membership working groups or through the services group that they’ve got.
Craig: There’s a lot going on clearly. But what, in your opinion, are the most innovative things happening in the software development space? Has there been anything recently or any set of things that’s caught your attention and made you go, Wow.
Mark: So for me it’s the it’s the increasing use of machine learning everywhere. We, when I started my career nearly three decades ago it was a the artificial intelligence thing was a thing of the future. It was a wow thing. Research groups were working on it, but, the the ability to use some of these machine learning frameworks to, to do, image analysis or pattern detection, I think is really Creating new strands of technology, which are really moving things forward at a pace that I wouldn’t have imagined 30 years ago when I was looking at starting out in this business.
Craig: And maybe can you tell me a bit about how Arm is doing work in AI to support that, the kind of innovation you’re talking about?
Mark: There are many things that, that we are doing, but I think the the bit that, that I’m most interested in is that we are providing support for the Arm instruction set in a number of the key frameworks that support machine learning, right?
So actually landing things like TensorFlow on Arm hardware, so it’s making optimal use of the capabilities of the hardware. And so it’s, we are not really doing the things up the stack, we’re not creating the applications for it. What we are really doing is the plumbing to ensure that the machine learning frameworks can make optimal use of our hardware and then we get outta the way. Let the people that are building applications with this stuff do their magic with the tools that we’ve provided for them.
Craig: We’ll, we’ll wrap up with a one Arm specific question and then one Mark-specific question. So the Arm question is, what excites you most about software and Arm’s role in the, in software? And anything that you want to call out in terms of what’s exciting. That’s that’s coming up?
Mark: And it goes back to the breadth of where we, where Arm is. That’s the bit that really excites me. , my role is actually quite challenging because I’m expected to know a small amount about a very wide space, and so for me, when somebody comes up with the new buzzword that I don’t know that I have to Google to figure out what it is, and then being able to quickly figure out what the attributes of that thing actually are. Right? That’s an intellectual challenge that many people in Arm have to deal with on a daily, if not hourly basis. Basically, because Arm technology is used everywhere where compute happens these days. And so there’s going to be a software engineer. Trying to do something that we’ve never heard of that created a, a new sub segment that we’ve never heard of.
It comes up, what capabilities do they need from the architecture? Can we support it with what we do today? Does it need extensions? How do we deal with it? So that’s the thing that I think really excites me because the pace and breadth of technology. These days, the Arm is getting involved in is just mind blowing.
Craig: I really appreciate all of your insights today, and I’m now recapturing the feeling I had when I first fired up my Apple 2E back in 1981 and played my first game on it and thought, ‘Wow, software can do that? So I look forward to the future you’ve described and speaking of the more immediate future, we look forward to bringing you further glimpses of it soon in the next episode of Arm Viewpoints. Thanks for listening.