 So we're here at the Lenaro connect and who are you my name is Grant likely I am a fellow at Lenaro I was and I'm also the Linux Foundation tab chairperson That's the technical advisory board at the Linux Foundation. So what does it mean to be a fellow at Lenaro? I have just been promoted to that position. So For fellowship it means that I have I'm recognized as a technical expert within Lenaro and I have the ability to pay attention to all the things that are going on in the company and Give technical expertise and advice and try to help develop the strategy or what? Lenaro is trying to do as a whole and you also did not Linux Foundation, right? What do you do? That's right. I I've it was last August I was elected to the Linux Foundation technical advisory board and the technical advisory board Represents Linux kernel developers to the Linux Foundation. So when the Linux Foundation has questions about how they should respond what Linux Developers care about They'll often talk to the tab and the tab will give them good advice So I was elected to the to the tab and then the tab elected me as their chairperson first meeting so You've been at Lenaro since the beginning of the narrow pretty close to the beginning. That's right So what is there? Oh, what's been going on since the beginning? so Lenaro has been a big part of making sure that that the Linux ecosystem works well to begin with we started with mobile a Lot of it was getting the arm SOC vendors helping them get their Linux BSP is up and running making sure that things run Well optimizing power management and working on common frameworks since then we've split off into some other areas such as server and networking equipment and also Home and the home group So with each of the groups that we've been working on it's been a different aspect at the market Mobile of course is phones, but enterprise is something else with enterprise the set of problems are different with mobile with phones we've got a Linux kernel and piece of hardware and the vendor builds the whole thing and they make sure that it all works together Enterprise has a different set of constraints, which is the operating system vendor and the hardware vendor are two different companies So in order for that to work There's a bunch of effort that needs to be put in to make sure that those that the hardware and the software are all interoperable so then a big part of what Lenaro has been doing is Making sure that those pieces are in place figuring out what we need to do figuring out what firmware needs to look like Defining that helping to choose the standards make the standards work and Helping companies to then deploy their their equipment. So a big part of what Lenaro ends up doing is defining what? the Platform for ARM software is defining how software and hardware work together so that The software to make the software portable robust and work well together So that means the narrow has a cool important role to play with enterprise Thus, yes, it's been a big part of enterprise. We're just now seeing hardware arriving on the market 64-bit ARM hardware that is suitable for putting into data centers and The whole reason that works is because of all the companies working together And we've driven a lot of that from within Lenaro and in ours also been doing a lot of big little stuff, right? Yes, that's right. That's that's been a big part of our strategy of being able to handle power manage the The very diverse power management concerns where you want to have really good high performance, but at the same time Very low power low battery usage so that you know your mobile phone stays You know it'll last more than a couple of days on a battery and big little has been a big part of that Big little is a neat solution because you've able to have the high power core as well as the energy efficient core But it also adds a lot of significant challenges because scheduling on two different processors that have different performance Characteristics is a hard problem. So Lenaro has been involved along with with ARM in figuring out how to make good use of this equipment The first stage of that has been was the Big little task switcher where we were able to move Processing from we were able to pair up big cores the energy efficient cores in the Powerful cores to one virtual CPU and switch back and forth between them. That was the easy solution the more sophisticated solution is then the energy aware scheduling where all the cores are available to Linux and Linux is able to make good decisions. So this is has been a big project that's between ARM engineers and Lenaro engineers to figure out how To solve the problem and also make the make the solutions that we come up with acceptable to the upstream Linux kernel So it's been going on for like two three years already. Yes, and so there's been a few 32-bit big little products, but it seems in 64 bit There's lots of people very happy with the solution like there's lots of them lined up coming out big little stuff That's correct. Yes, and this is a phones and this is this is consumer stuff also. Yes. Yes, and I I Can't comment a whole lot on the actual products that are coming out because I'm not familiar with the with our members Plans as well as I'd like to be But yes, there is More big little stuff and you can watch as you'll be able to see more big little stuff coming out in the future So what is all this talk about ACPI UEFI? So and what are you what are you doing with that and what what are people doing with that around here and then our right, so firmware architecture has been Has been a big topic of Lenaro right from the beginning because that defines how we get the kernel onto the board and Traditionally on especially on our embedded platforms firmware has required a lot of effort For distributions, it was painful because they would have to They'd have to do different the different support for each and every board that was created They would have to have a custom script to install on a beagle bone versus installing on say the snowball board with Embedded that was somewhat acceptable But when we got into when we started looking at enterprise it really pushed that we had to be thinking about platforms We had to be thinking about how do we abstract and define a common interface so that An operating system vendor or distribution vendor like Debian or Red Hat Would be able to work with any of the hardware vendors without having to do special stuff It means that both the hardware vendors and the software vendors are working to the same specification And that's really where UEFI and ACPI came in UEFI defines the interface for how to get the kernel booted onto the board and ACPI is one of the methods that's one method that can be used to describe the hardware to the operating system But ACPI was actually quite controversial because in the arm world We had already chosen the device tree method of describing hardware And I'm actually the device tree maintainer for the Linux kernel the reason it was the reason it was controversial is device tree and ACPI have Have slightly different models Device tree is based on the model of you describe everything about the hardware as much as possible and you let the kernel figure it out So the assumption is is that if you've got new hardware or slightly different hardware that can't be described Or that the kernel doesn't understand that you'll change the kernel or modify the kernel to make it work And that works well and embedded because the hardware vendor and the software vendor are the same company With the enterprise market the hardware vendor needs to have some ability to abstract and to implement some of the behavior in the firm in the platform firmware and the reason they need to do that is when they Ship a new product they need to work with existing releases of the operating system So ACPI differs from device tree because it provides a level of abstraction and it does that with With a bytecode interpreter The reason is controversial is that take some of the control of how the platform works out of the kernel and Gives it to the platform and as is kernel engineers for the control freaks that we are we don't like the loss of control but the reality of the market of what's needed to actually support products that are out there is We can't do that. We can't have control over everything and it's already been proven in In the x86 market, which has a huge variety of hardware That there has to be some level of abstraction and we have to share control over how the platform works With the hardware vendors, it's not something that can purely be done in the operating system if we're going to support separate operating system and hardware vendors so that means the red hat and the canonicals and all that stuff is just Going to be like a release just going to work with a whole bunch of Different hardware and future proof backwards compatible all that stuff and this is already working. This is already working There are UEFI support is already in mainline for the Linus kernel on 64-bit and 32-bit ACP is patches are on the linus kernel mailing list and they've Been been well reviewed And we are getting close to being able to merge them. There's no guarantees on when it's actually going to be merged But we're hoping to To have it merged in the near future So that's a pretty big deal. No, so that means that means the arm servers can kick kick off like take take the whole market now Or is it ready? I will not make any predictions on the market But I think we're going to see very very interesting products coming out With arm servers the nice thing what's very exciting about arm servers is That the SOC vendors have quite a lot of flexibility in adding accelerators and interesting hardware to the side of the CPU all on the same die and Doing interesting products with that. So there's going to you're going to see interesting networking products that come out of that You're going to see interesting products for For web serving or for hyperscale And the amount of flexibility That vendors have that the hardware vendors have by able by being able to choose different Silicon vendors means we're going to see just a More interesting variety of equipment that's available But with 14 16 nanometer all these crazy new smaller CPUs There's more and more space for all kinds of crazy stuff on the on the die, right? But isn't that the problem? Isn't that like how can this release of Ubuntu? Just work if you have all these crazy new stuff. Okay, so that's the trick You still have to customize it. Well, the trick is is you make the boring stuff boring the boring stuff is Can I boot my operating system? Can I get into user space? Can I start running regular applications? That stuff is born. There's there's nothing special about that and extra crazy stuff on the silicon Doesn't affect that. So we want to have a common boot interface We want someone with a red hat or a red hat and prize Linux or a new bun to disk or a Debbie and Installer to be able to get it up and running without any extra effort That should be easy then all of the extra accelerators or any of the extra hardware becomes Additional device drivers and that's easy to support once you've got the operating system up and running For someone to make use of that There's not they don't have to do a huge amount of extra work to add a device driver for an accelerator Or to expose an accelerator to user space so that an application can make use of it So it's drivers that can automatically get installed or something that is drivers that are either made there Ideally those drivers will be put into mainline Linux and immediately available to the Because the distribution will build them in but you know for a released versions of Linux we already have a method of Distributing source for a for a device driver that gets built by the distribution when it gets installed so that a vendor can provide new hardware with new accelerators and If they sell the driver for the accelerator isn't in the operating system There's still a way to get it in so we see awesome thunder eggs with 48 cores We see a 16 core Huawei today high silicon is all these things are awesome and you talk about accelerate What is an accelerator? An accelerator is when we talk about cores. We're talking about the core CP But that's not the only thing that goes into these silicon. So if we were for example to talk about a networking device There is a lot of acceleration that can be put into the silicon for handling say TCP off-load or Doing a CSC calculations. There's By putting that into hardware It means that there's less load on the CPU and it also means that some of that processing can be done with lower latency and lower jitter So anytime we're talking about accelerators. We're talking about common compute intensive operations That the silicon can take care of before it even touches the kernel if we're talking about a network network equipment one of the examples would be If you're building a router you would want to have packets coming in Processed by the hardware and sent out with the seat without the CPU touching them at all when you can do that It means you can get much greater data rate Without loading down the application processor. So it's super optimized hardware for specific use cases and it can be Is it DSPs? What is it GPUs? What what kind of accelerators talking about? It's not arm processors Whatever the silicon vendor wants is all kinds of different things that can do that kind of stuff, right? But they just look like peripherals to Linux so any accelerator hardware when Linux comes up it will see that as a peripheral peripheral it'll load a driver to use it and Then that driver will know what to do with it whether it's setting up traffic flows so that the application never sees it or Working in concert with the application. So if it was a graphics processor, you know very similar to open GL The graphics processor handles a lot of the processing of getting pixels out to the screen so that the CPU doesn't have to do it It's the same concept All right, so when it's one last question I'll trust so there's all these distros and the bloatware is not gonna be there, right? it's gonna be super optimized stuff and The way it's this whole architecture that you're talking about it's just gonna be smooth and ultra-optimized and then more features is Does that make sense when I'm asked? I think this goes back to the Answer that I was making year-of-year. We want the boring stuff boring and the exciting stuff exciting the boring stuff is all of the regular things to get in a distribution going and that is a reasonably optimized distribution so that we can run open stack on on a server so that we can run all of the Applications that are a user expects on an x86 machine then the exciting stuff is Taking that base using that as a base and then optimizing on top of that and that is adding an optimized library so that you can offload part of your TCO offload is a good example It it means that the optimization doesn't have to be done on the whole system But the optimization can be done on the specific area that there's that there's a bottleneck and That optimization is done with hardware or software a combination of both of the two so one more last question So all these engineers here in the Leonardo is there is it are you able to get everything done? what what's who's who's should contribute and How's it going right now the industry is are you thinking that maybe there's not enough manpower or is there enough or is it getting organized? Well, I mean depending on if you talk to project managers. We always need more manpower. I Think overall we are we're doing very well. We've got some incredible engineers working in Leonardo We have a lot of maintainers of upstream projects who are employees or assignees to Leonardo So I'm just thrilled with the team that I get to work with here. The progress is really smooth The progress is really good I think we've had some incredible success in mobile in helping to define some of the Some of the technologies that our silicon vendors really care about leg has been a When when legs started to an Almost two and a half years ago That was a big test for us on getting into a new area and that's been incredibly successful We're just on the verge of seeing products on the markets That could be deployed at large scale So I I think we're doing Doing very well and the proof is in the the quality of software that's available on the arm architecture now I mean now we're getting we've got another of the projects that we've been working on has been in the long networking group on open data plane and open data plane has really been pushing some of the some of the accelerated interfaces that we need to do high-speed networking with our processors, but In doing that we've discovered that a lot of the stuff that we're working on is Equally applicable to the other architectures. So now ODP is very much looking at Divine there the spec is being defined in a way that will work for any architecture, but we're driving it on arm Which is really excited to see to be in a place where arm is driving the new technology