 Today I'm going to talk about what I call the 10x hypothesis and it's about it's often easier to improve by 10x than to improve by 10% So my name is Arjan van der Ven, like Jim said, I lead a team at Intel whose charter is to push boundaries My job is to find the next 10x. My job is to and my team's job is to find how can we push computing 10x forward? It really is easier to do 10x than a 10% and today I'm going to talk to you through some examples of that And I'm hoping at the end of it you'll actually agree with me In my team we build a Linux distribution. Yes, Intel makes a Linux distribution All our customers have their own Linux distribution today and for us to be able to effectively work with our customers We need to know what's hard for them. We need to know what they're struggling through I mean to show them what what is possible with Linux on Intel architecture So this is sort of a backdrop of what my team does and this is where we build a lot of our innovations and 10x is on top of and Sort of the 10x ID started about in 2008 When at the Plumas conference, I stood up with Auker and we said hey We've shown that you can boot a Linux operating system to a full UI in five seconds And we actually had a machine there and we demoed it and we had to demo it ten times because it went too quick At the time Linux service booted in about two minutes, and then you had your UI up. We showed five seconds and That's a little bit more than 10x in that case People didn't believe it. So we had to show it ten times and we had to we talked all day about how we did that how we changed the rules and The key of how we did that was it is not about making things faster It's about making things fast The mindset we had in that project was we need to not go from two minutes to one minute thirty. We need to go to five five seconds I'm talking 10x so today if you look at our clear Linux we boot in about 400 milliseconds. There's another 10x on top of our 10x but it's a way of You need to think outside of the box to actually get to these kind of questions It's about make boot fast not faster Likewise and This was we talked about a 2012 plumberals again CI CD is hot. Everybody talks about CI CD. Everybody wants to deploy 100 times a second Deploying 100 times a second is fine As long as your deployment itself is efficient in the operating system space where we want to Deploy at least twice a day if not five times a day If your update mechanism is slow No, customer will update you can't actually do CI CD properly if you can't actually update fast and In the age of Docker people sort of ignore it a little bit But even Docker updates you want to be efficient your deployment needs to be efficient So we talked about in 2012 about okay, we're gonna do a half a second OS update not three minutes half a second And if you use your more apt or Sometimes those take a while We show that you can do half a second if you change the rules a little bit If you change if you go to an atomic update model if you go to slightly course a granularity of packages Today Ubuntu snappy Right at atomic. They're all doing the same paradigms But again, it's a 10x change to the existing paradigm to make deployment fast. No 10x Unfortunately not all our lives are 10x If everything was a 10x it was easy sometimes you need a lot of 10% to get a little bit of improvement and I'm not gonna say we don't ever work on 10x 10% because There's a lot of money made and a lot of people investing in a 10x improvements on little things Here we showed in our benchmark ours and the next foundation project There well, you can go a little faster if you do the compiler flags, right? And all the little 10x is 10% these things But you get great press with it and you get some nice quotes, but 10% is nice And you as Intel we do that so that at least people get the 10% improvement, but kind of boring So I asked the team to look at cafe machine deep learning We needed to figure out what is what is what makes machine learning expensive all makes it hard Can we do a 10x on cafe? So we sat down and we said, okay, we need to use AVX. So don't our nice Intel instructions They're supposedly eight times faster. We have multi course. That's for multi-threading And we had a team and they started digging in a in cafe and Pretty soon. It's okay. We're making some some nice improvements. We made that a baseline and Last Friday I asked them. Okay. I'm going on stage on Romans day. Where are we at cafe? 5x So I go to the guys like guys I'm gonna be on stage about 10x and we're at five. They said, yeah, but we only need to X more and Think how great that is if you're working on a 10% project and you tell your boss, I'm at 5% And the boss goes, yeah, but you need to do 2x more you get your ass handed to you and you could sort of walked out of the building My team tells me only need we only need to X more Yeah, okay You have an idea how to do it. Yeah, we have to reinvent how it's chain Neural networks together and we do some parallelism and we have to invent some new locking mechanisms. Okay, you're on your path, right? No worries So they asked me to put in that there's a work in progress because they were not done because I didn't want to be slammed on stage here, but It's a mindset of we only have to X to go. That's the mindset that we were working in my team And it's a mindset is an interesting challenge Don't settle for 10% right if you can say over at 5x we only need to X more Not a bad sport to be So I promised to kitty pictures in my bio. So I have to actually include some pick on cats One of the things that you will see in teams that don't think in 10x but think in 10% is admiring the problem Discussing for hours and hours of meetings. Oh, we have this problem. So we can't solve it We have this this is hard. This is impossible We can't actually get anywhere. We were just admiring the problem If you if you find yourself in meetings where people really spent a lot of time admiring the problems You find yourself in a 10% crew It's Sort of a telltale for me if you're really admiring the problem. It's a really bad space to be so You talked about the Linux OS. So let's talk about containers a little bit container con. We should talk about that And how we can do 10x there. So historically it always was Virtual meetings are expensive but containers have some security concerns. How do you balance that? In our team we looked at it and I went to my and I went to my balls in the ops review last year and said hey We want this kind of architecture where? You instead of the container running on your bare bare metal kernel you wrap a light virtual machine around it and At least you solve the security portion of it That was a guy in our in my peers said yeah, well I've done virtualization for 10 years and how do container stuff. This is not possible. You can't get this fast You can't get density up. It's just not gonna happen. It's impossible I said but well, but I want to do this in a minute seconds And I want to actually have almost no memory consumption like that's absolutely impossible Someone tells me it's impossible That's I think it was a challenge So we started working on this How do we how do we make this faster? We optimize we build some tools we measured where we were we fixed some of the really stupid things like virtual floppy The rise that takes two seconds to start up and we went through the whole process We picked the right we picked KVM tool as a hypervisor Six weeks in we're about 150 milliseconds start up time from start to having a container running Takes about 20 megabytes of memory density was fine. I go back to in the staff meeting and say look It's wasn't impossible. We have you know our memory and we have a startup time and the guy goes oh Well, oh But you can't do Docker Okay We all talker Every single customer. We talked to said the same thing. We need to integrate with Docker Okay, it wasn't even a challenge. Sorry. We just did it Which we have Docker running we've been here last year we talked about it our customers now say hey KVM Tool well if we Google it we see Linus hating it. So we want KVM you Know the strong argument, but customers customer. It's always right. Can we make you am you 10 times faster? You can we do the same thing. Can we make you am you a fast and no This was actually easy because we knew we could actually achieve the objective because we already shown it We just had to do it again in a different technology So yes, we make your time time. We made the same thing happen with Kiam you Anthony zoo. I'm not sure it's here actually spent three weeks and you am you was fast. It was about solving Stupid things removing doing something a thousand time thing instead of once those kind of automations If you think about 10% you'll never get there if you think about okay, we have to change the rules I don't know big deal. We know what can be done. Give me three weeks. Okay, so If you want to see how it works It's Docker, right? I was trying to make a video, but it you can't blink your eyes and then the result is there So I just made a screenshot If you want to see it live come to our booth upstairs But this is this is Docker where the backhand runs in a virtual machine at the density and the time where you would normally run a traditional Docker and The project is open source or in GitHub all that sort of good stuff. I don't have to tell his audience how that works So this was easy to contain it for easy. We only have to make VMs fast. No big deal easy Let's do something hard cloud Intel is pretty invested in OpenStack and OpenStack is complex OpenStack isn't fast So we said on a team last year Can we make open stack launch over VM faster because we can launch a VM in a hundred milliseconds or 150 milliseconds But if you measure open stack it takes 10 seconds to get there What point is it to make a VM start at 150 milliseconds if the decision to start it is 10 seconds So we should be able to get faster, right? Ten X is possible We think we build some tools we measure the baseline if we analyze the hack out of an open stack launch Make graphs all that stuff fix the whole bunch of things unfortunately Forex at that point and we started admiring the problem It's like we have to solve 5000 problems to go from 4x to 5x and each of them is a lot of work and almost no payoff and After admiring the problem for a few weeks those are not a good meetings Let me tell you that and not a good analysis things. It's like okay. We Impossible is nothing but miracles you that there are limits What we really realized is we didn't step back back far enough We set out of the box with the open stack from the outside optimized it We should have taken two boxes back and this is something we do regularly at Intel one of our founders had written whole books about this where Once in a while, there's a cultured Intel where you say let's step out of the room come back as if we were the new People and then decide what we would do as new people Quite often you do the same thing as the whole process everything is fine Sometimes you say we did something different, but it's kind of equal Keep going where you were going. Sometimes you have something coming out. It says this is different How about what we change what we do and incrementally go to the new direction? Especially an open source. It's new features. It's slightly new things and sometimes you come out and say look You just need to stop what we're doing and do something else We call this reinvention or reimagining We But sediment of people in the room. What if we build a private cloud today? What if we do open stack today? What would it look like? How do we get to a 10x improvement there? and The first thing we said is hey if you build a cloud today. It's about containers and Containers and VMs not one or the other. It's not about containers in VMs or VMs in containers It's about containers and VMs are equal A lot of customers love containers, but you have this this legacy app in a VM. Let's have to talk to each other VMs are not going to go away containers are the way to the future, but for the next decade they're going to beat our both We wanted to build it for scale Nobody has a five machine cluster anymore in the IT department. It's more like 100 or a thousand or maybe five thousand We're not going to go to Google scale, but four or five thousand is a nice sort of design point Updates we heard from lots of customers. Well open stack is great But updating means building a second data center and then just install it again Deployment same thing Updates and deployments are very related We need to we need to be able to start and deploy a whole new cluster in five minutes That's what I told my team and last week they were kind of scared because I said first of five Where's the five minutes? Well, we have this big document. Okay, go fix it Lot of our cloud guys say we're running in an hour. Well, I want to do it 10x five minutes This week they told me yeah, we'll get there give us a few more days And we're actually have a plan and we're executing to it Security needs to be there So when we work this on a whiteboard of these other things we want Like it's actually interesting. This is an interesting thing to have we figured out we can build this Made an architecture made a plan Let's build prototypes see what it looks like and I'm going to show you a video of that and The video folks you need to turn on the video Where this is the basic web UI we're going to launch 10,000 Docker containers on a 100 server cluster and Does it 10,000 containers are being started you can see every container gets our own IP address so that they can talk to The virtual machine that which has their own IP address. They're already 7,000 is running Let's add 5,000 VMs We picked Fedora VMs So on the same 100 node cluster we're now launching 5,000 additional VMs on top of that all on the same level to net share network Everybody has our own IP all containers can talk to the VMs and to each other the same network And you can see you can see the IP addresses you can see the MAC addresses. They're being scheduled And they're actually starting to run as well. You can see the number there So by the time the video is done we're about one minute in And then at one minute we've launched 10,000 containers and 5,000 VMs When we first showed this video to some to open stack summit that people said that's fake. Well, it's not we actually built that When we showed people live in the booth Where we did okay, how many VMs do you want and we launched that many VMs and people still didn't believe it Okay, then at some point, what do you do right? So we built this prototype and it works so well. That's where actually we continue development It's called Chao for cloud integrated advanced orchestrator You can it's on GitHub. It's The documentation is a little bit behind because when I asked the team, okay Do I want a five minute install? They said do you want to code or do you want the documentation? Well, let's do the code for us. So give us a week to polish up the documentation, but We are really at a place where We did a 10x on an open stack cell setup Just to quickly recap all my time is just about up. So Every time you go to a project try to think about what is my next 10x Can I do a 10x? Can I make it fast more faster? Can I really? Can it cannot change the rules? Or am I stuck in a admired a problem situation? I'm on a meeting where we just admire the problem and don't do anything else And if you're one of those meetings get out get out step out of the box look at yourself in the mirror And say are we in the right spot? We need to go to our good hub place Come to our booth to all of the things I showed here. We actually have demos upstairs And most of all when anybody tells you in a meeting that's impossible remember impossible is nothing Thank you