Utilizing Tech - Season 7: AI Data Infrastructure Presented by Solidigm - 4x10: Pathfinding Cloud Architecture for CXL with Dan Ernst of Microsoft Azure

Episode Date: January 9, 2023

Cloud architects have long wished for more flexibility in how memory is provisioned in servers, and CXL is finally delivering on a decade of promises. In this episode of Utilizing Tech, Stephen Fosket...t and Craig Rodgers talk to Dan Ernst of Microsoft, who is deeply involved in bringing CXL-attached memory to fruition within Azure. Dan was previously involved in the Gen-Z effort, and feels that CXL picks up the baton and brings valuable real-world benefits to cloud server architecture. Memory has a bigger impact on overall IT platforms than many are aware, and is already the costliest component in large servers. Per Amdahl's Law, it makes sense to look for cost savings in memory. And this is doubly the case because DIMMs only come in certain sizes so memory is usually over-specified. CXL memory modules cost a bit more than a DIMM, but this is offset by efficient right-sizing, and CXL is already cheaper than 3D stacked DIMMs. Hosts:   Stephen Foskett: https://www.twitter.com/SFoskett Craig Rodgers: https://www.twitter.com/CraigRodgersms Guest Host:   Dan Ernst, Principal Architect working on Future Azure Cloud Systems, Microsoft Azure https://www.linkedin.com/in/danernst/ Follow Gestalt IT and Utilizing Tech Website: https://www.UtilizingTech.com/ Website: https://www.GestaltIT.com/ Twitter: https://www.twitter.com/GestaltIT LinkedIn: https://www.linkedin.com/company/1789 Tags: #CXL #DIMMs #Azure #UtilizingCXL @Microsoft @Azure

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome to Utilizing Tech, the podcast about emerging technology from Gestalt IT. This season of Utilizing Tech focuses on CXL, a new technology that promises to revolutionize enterprise computing. I'm your host, Stephen Foskett, organizer of Tech Field Day and publisher of Gestalt IT. Joining me today as my co-host is Craig Rogers. Hi, Stephen. I'm Craig Rogers. You can find me on Twitter at CraigRogersMS. So Craig and I, for every episode of Utilizing Tech, from the AIs to the CXL episodes now, we've always focused on practical applications of technology. And that's a little hard to do when you're talking
Starting point is 00:00:45 about things like machine learning and CXL, because a lot of this stuff is still in the future. It's hard to put yourself in the present and talk about real practical, real world use cases and so on, if you're mainly talking to vendors of the technology or people who are trying to push it in the future. You know, Craig, it's been a challenge for us sometimes to kind of pull that information out, though I do have to say that our guests have done a nice job of keeping it real. They have.
Starting point is 00:01:12 As with every new technology, defined process doesn't exist. And large companies that need to abide to processes are having to figure these processes out now and dip their toes into the CXL pool. And it can be hard too, because as we talked about, I mean, the first platform that supports CXL was just released in November, the AMD platform. Now we expect that there's going to be another platform released real soon now, but of course, we don't have any definitive word on that as of today, January 9th.
Starting point is 00:01:48 So we'll see where that goes. But we do have a guest today that maybe can shed some light on the sort of thought process that goes through the minds of an architect that's looking at implementing this technology in the real world. So joining us today for utilizing CXL is Dan Ernst from Microsoft Azure. Welcome Dan. Thanks Steven, happy to be here. So Dan, tell us a little bit about your role there at Azure and what you're doing relative to CXL.
Starting point is 00:02:19 Sure, at Azure I'm part of a team that is doing pathfinding for our future architectures for the Azure cloud, future hardware architectures. And as part of that, I lead a team that's focused really on memory technologies and architectures. So everything from different media to different new protocols like CXL, and then trying to figure out how to best apply them and where we might be able to use them in our fleet. So let's start at the beginning.
Starting point is 00:02:48 As a cloud architect, as somebody who's really interested in memory technologies and memory architectures, when you first heard of CXL, what was the first thing that kind of popped into your head to say, wow, this technology could be really useful, how? Well, what's interesting is some of the conversations about these use cases, these technologies, started even before CXL came about, right? There have been a number of initiatives over the last, let's call it six, seven years
Starting point is 00:03:18 to try and expand the definition of what the memory bus looks like on computers, right? For the longest time, decades now, everything from memory controller in was on the CPU. And so the memory controller has been a domain that system architects can't mess with, right? You get what you get from a memory perspective. And so there's been a lot of pushback in recent years in particular, to try and get more flexibility on that. So you can think about things like prior initiatives, like the Gen Z consortium was trying to do a
Starting point is 00:03:51 similar kind of thing. And really what CXL was able to do was to get the real, it was to build the right coalition of companies to really bring it to fruition and to reality, right? And starting at a place that was really trying to address this ability to move, you know, the memory control point off the CPU and into the hands of system architects and the rest of the ecosystem to give us more flexibility. So it's pretty exciting technology from that regard. It's interesting that you mentioned Gen Z. I also know from your LinkedIn that you are also involved in Gen Z and the the I think you hit the nail on the head there that CXL has got the right
Starting point is 00:04:41 coalition of companies working together and that may give it a bit more traction than what Gen Z ended up with. But Gen Z solved a lot of problems for companies that needed memory pooling at scale. What's your thought on CXL compared to, say, Gen Z? Do you think they're doing the same thing a different way? What are your thoughts on that? Yeah, I think Gen Z's role was to really highlight what could be done. It was really to bring out some of these use cases and show them, show one, that they could be done.
Starting point is 00:05:21 And two, to show that some of, you know, that sets of them have some value if we were able to do some decoupling. From that point, there's a long technical conversation about what pieces of that do we want to start from in actual implementation for a real at-scale production technology, right? And CXL really picked up that banner and said, okay, let's start with these first few things and we'll kind of build from there. But it's built very quickly, right? And in fact, there was the merger where the Gen Z consortium has now folded into the CXL consortium.
Starting point is 00:05:59 The IP is now within the CXL consortium and CXL now can pull upon that IP as we're, you know, progressing the spec forward to try and adopt some of those other use cases, some of those other technologies that were developed within that framework and apply it into the CXL protocol if we find good use for it. So in the end, it's all technology that is being brought forward, you know, into CXL. So we should see some of the benefits around the approach of an iterative process where we started with one thing, we make changes, do the next thing. CXL could be thrown in some ways. Yep. And you've seen that already with, yeah, with spec version one, 2, and 3 of CXL, right? It started quite simple. And now we're talking about fabrics, right? Which are not that simple, right? But it has been this iterative process of like, let's look at some, okay, let's see what other new use cases we can solve. Let's find the protocol, put the hooks in to do that, and then we keep moving forward.
Starting point is 00:07:06 I'm sure future Dan would be able to talk about all the CXL version 3 things going on, but right now, what are you looking at as an architect within the Azure hardware platform, if you will? Obviously, it's memory pooling related, but I imagine the impact for Microsoft on Azure with CXL could potentially be very large. Well, in a general sense, I mean, the impact statement, I think, is a useful one to start with, which is that memory technology, memory itself is a really big part of IT. It's a much bigger part that it's often given a lot of attention for, right?
Starting point is 00:07:47 I mean, we've reported in some of our publications that, you know, we anticipate in the next few years that memory cost could be half of our, you know, server cogs, roughly, right? Just by virtue of the amount of memory we need, the fact that memory scaling is, you know, not really advancing, especially in the terms of, you know, cost is not really going down. And yet CPUs continue to advance and we get more cores. And so as a percentage of the whole, we're having to really invest a lot in getting the memory system up to meet the capabilities of the rest of the server. So because of that, any of us who are familiar with Amdahl's law know that if you want to try and optimize a system, you want to attack the portion that's the largest piece of that.
Starting point is 00:08:40 And so memory is definitely a case where we could have a pretty big impact by trying to address how do we get either memory that's, you know, in a memory architecture that gives us something that's more affordable or memory architecture that is more efficient, right? That's really sort of the memory pooling case. So these are the kinds of things we're looking at. Right. How can we apply just this straightforward memory attached technology in CXL and apply it in a way that really can help us do something we couldn't do otherwise? That's the interesting aspect. And as you said, I think a lot of people may be surprised to hear that memory is, I think it's safe to say, memory is the single largest component of storage. Even if it's not half the cost of the system, it's the largest component cost. Now, obviously, a lot of other things cost a lot of money too, you know, CPUs and storage and networking.
Starting point is 00:09:44 But memory is certainly right there. And anyone who's built a large system is aware of this because it gets very costly very quickly. And then the other thing that you mentioned, I think that's really key here when it comes to CXL is that inflexibility. We've talked about this quite a lot before. In order to keep those cores, all those multi-core processors, in order to keep those cores fed, you need a lot of memory. You need a lot of low latency, high performance memory, which means that systems now are having more and more memory channels, which means you have to fill all those memory channels. And since DIMMs only come in certain fixed sizes, there becomes a point where a system architect is going to ask himself or herself the
Starting point is 00:10:26 hard question and say, do I want to put, you know, what size DIMMs am I going to specify here? Because obviously you can't put too little memory in. So you always have to put too much, but putting too much ends up being a really big stair step. Like, you know, it suddenly goes from this to huge, right? I'll tell you a story from past life, actually. Before I was at Microsoft, I spent 10 years at Cray and my merger at HPE for a couple of years, and I was working on high-performance computing systems. And those systems often have very high memory performance requirements,
Starting point is 00:11:04 but capacity requirements are not huge. And as we saw high memory performance requirements, but capacity requirements are not huge. And as we saw the memory channels expand, we saw exactly what you're talking about, which is, you know, our VP of sales would call me repeatedly, like, is there a way we can find smaller DIMMs, right? Just find me a way to get less memory because we were over to get to the right bandwidth to get to the right, uh, RAS capabilities. We were overbuying memory by at least a factor of two, right? Um, now we can be a little more efficient about that in, in, in a cloud world because the, the constraints are a little different, but, but the, the flexibility is a big thing, right? Um, you know, the, you really only operate in memory DIMMs in factors of two, and mixing is not really good from a performance standpoint.
Starting point is 00:11:50 So having CXL as a way to decouple that, I think, is going to be a big step in the direction we need to take. And that's one of the use cases we're looking at. Yeah, absolutely. And even if you get away, I mean, we're hearing, well, what they're calling, I don't love this term, but they're calling non-binary DIMMs, which essentially just means kind of a half size, a half step DIMM, which is a great idea. I love the idea. But even there, it's sort of a total, I mean, it's, I don't know what the right word is. You can't underbuy, so you have to overbuy, right? And if you, and if, and, and, and so you only have so many choices and it's nice to see that CXL can maybe try to fill in that gap somewhat. Are you also seeing that those CXL
Starting point is 00:12:40 memory cards, are they more or less expensive than DIMMs? I mean, what is that going to look like? So just in a generic sense, the way to think about it is a vast majority of the cost of a DIMM is the media itself, right? The other parts in the DIMM do cost money, but relative to the memory itself, it's effectively zero, right? It's very little. If you can apply the same thing to CXL device, right? In that the media cost is going to transfer, right? If you're taking DDR5 on a DIMM, and now you're saying we're going to put DDR5 on CXL, the media cost is going to transfer, right? The controller costs. So there's an additional controller with CXL, right? That's going to do the protocol conversion
Starting point is 00:13:31 between the CXL protocol and the DRAM protocol, for example. So that chip component is going to have some cost to it, right? And and so I would say there's if you're comparing an an rdim to a um a cxl call it a cxl dim right a cxl module um the cxl module with the same media the same capacity will be slightly more expensive and that's sort of how we've been modeling it right just by virtue of there being more components there, right? More bigger components there. It's a small amount, but it is more. Now, the interesting thing is,
Starting point is 00:14:14 okay, if I'm comparing to Ardium, it's slightly more expensive. However, if I need a server with, for example, a lot of memory, right? Large in-memory database servers, that kind of stuff, right? Those servers need so much memory that they have to use, for example, 3DS DIMMs, right? DIMMs that use stacked memory on them. They're very dense, and they are also extremely expensive. The technology takes a lot of extra space and effort to build those out. So you're talking about a multiplier of cost per bit.
Starting point is 00:14:50 If you compare 3DS DIMMs to CXL memory, the CXL memory is going to be significantly cheaper. And so if you could, for example, use CXL to get your server system to a capacity that you otherwise couldn't get to without 3DS DIMMs, suddenly you have a pretty big win, right? So these are the kinds of trade-offs we're trying to play with, right? Of how do I get to a certain capacity? And before, our choices were, which DIMM do you need? And that's the choice we had. Now it's how do we mix these technologies
Starting point is 00:15:26 in a way that is both performant and also cost optimal? And we're also working outside of the constraints then imposed on the number of DIMM slots you can put on a server system board. You know, there's obviously a limitation there in terms of real estate as to how many slots. Yeah, it is challenging. The infrastructure for this stuff is going to be interesting to see because you want simultaneously, you want this capability, you want it designed in. At the same time, you don't want to burden a standard platform that might not want to use it, right, all the time.
Starting point is 00:16:08 And so you have to have some tradeoff between modularity. The nice thing about CXL, one of the really slick things about the way it was designed was it borrowed all of the physicals from PCI Express. And so we can use existing expansion slots, for example, to take care of all of the sort of physical constraint and flexibility standpoint. We can treat it just like a flash drive in the instance of plugging in as many as you think you need. From that perspective, it was nice that they used something that was already there. Yeah. It was actually really exciting at the CXL Summit to see these solutions already in play, in work, granted engineering samples.
Starting point is 00:16:57 They might not have been ASIC. They might have been flip-chip PGA, but they were there. They were functioning. You couldn't even buy a server at that point that was CXL capable, but we had multiple companies showing their wares, if you will. It was good to see. Yeah, people are excited about it.
Starting point is 00:17:19 Like I mentioned before, system architects haven't had the ability to have this flexibility in a long time, right? Since the Northbridge went on to the CPU mini for those of a certain age, right? That's a long time ago. So it is interesting and people are excited about it. So tell me a little bit about, I don't know if you can specifically talk about what you're doing with Azure, but as somebody who's in this space, somebody who's really taking this technology and putting it to practice, what's the real deal? Is this really making an impact? And is this really allowing you to do something you wouldn't have been able to do before? Sure. I think there are definitely cases where CXL is going to have an impact. And I would balance that against,
Starting point is 00:18:06 there are places where people might blindly apply CXL that might not have the impact they would like, right? And so I think, I like to think of my job as not just thinking about what CXL could do, because CXL is a really very flexible spec. It's a really powerful specification. I think the key thing for me is to figure out what should be built. What cases are we actually going to get value out of it?
Starting point is 00:18:35 And what cases are interesting but don't really come through in that regard? So one example of this is some of the work we've published around memory pooling. We've been doing some projects investigating this with our compatriots in Microsoft research, looking at if we were going to use memory pooling in a public cloud, what's the sort of the problem statement for that? What is our goal for it? And then what are the things that have to happen from a system stack perspective for us to really leverage this into something beneficial, right? And I think this is a, you know, the key takeaway from a lot of that was if you're going to use something like memory pooling. So memory pooling, the idea is
Starting point is 00:19:22 you would have some memory attached to CXL, but that CXL memory would be attached to multiple servers. And so those servers could then fungibly take that memory and pull it into their servers, you know, not physically, right? Logically pull it into their servers for use when they had high load, for example, right? So you can sort of move memory between servers in a way that lets you perhaps deploy something a little less aggressive, right? So you talked about in DIMMs, you always have to overbuy, right? Well, maybe you underbuy your worst case, right? Where there's a peak workload that needs all this memory. Maybe you underbuy that use case, but the one that, you know, but you have enough memory for just about everything else.
Starting point is 00:20:08 And then you apply, you have a memory pool that you can use to serve that peak use case. So again, it helps you sort of have that flexibility against the harmonics, as we like to call them, the dim harmonics that you would normally be held to right um but you have to trade that up you really have to know what your workloads are doing right this is a really important piece of that if you don't know what is the memory footprint usage and
Starting point is 00:20:38 bandwidth needs of of my workloads right you know as a you as a, you know, if I'm a, an enterprise IT person trying to build up, you know, where am I going to apply this? You really have to know what's, what's running, what your utilization is, and if this is a match and then how does that match work relative to, to what the, the possible configurations are, right? So it's really challenging and it's fun from my perspective because it's a full stack problem, right? You have to know the applications, you got to know what middleware pieces are running to support the performance of the application.
Starting point is 00:21:16 And you have to know the hardware pieces of what's available and what's possible, right? To make that all come together to actually be beneficial. And that's long been the case of pooling for storage as well. That's my background. One of the things that people get from shared storage, which is the analogy of memory pooling, except on the storage side, is you basically get better features that can be shared more efficiently among multiple servers. So as opposed to having to buy,
Starting point is 00:21:50 I don't know, like, you know, X terabytes of high performance, high feature, high function storage in every server, you buy a much larger system and then you share it out to all of them and then they all can use it. And even if it's a little slower or it's a lot more flexible and it allows you to write size
Starting point is 00:22:10 and to sort of, you know, grow, do you think that that's what's going to happen with memory pooling as well, that there are going to be features that are going to be brought to bear that aren't just capacity? Yeah. And that's one of the benefits of, again, pulling the controller piece off of the CPU, right, is now you have some flexibility of what that piece of silicon might be able to do, right? There are options there that people have been exploring for a long time, but haven't had the ability to actually try and practice. I think the one, the one, the analogy to storage pooling is I think very, very good, right? That's a, that's a close analogy. The one thing place where I would be careful about that is that the performance requirements is different, right? And, and sort of the, what I would call the software layering of it is different, right? Storage pooling, you're dealing with a storage system.
Starting point is 00:23:08 You're talking to it through POSIX IO or whatever mechanism you're using. And you can hide an awful lot under that, right? You're hiding network transactions under that effectively, right? CXL is a very, very hardware tied at its memory related protocol. Right. And so anything that's happening on that remote piece of silicon is going to be probably hardware, not software. Right. Because if you're in software, you've blown the performance needs out of the water. Right. So, you know, there's a little bit of a difference there in terms of how you would add features. And I would add, because the performance requirements are a lot tighter for memory, the scope and scale of how much you're going to share or what distance you're going to share, right?
Starting point is 00:23:57 You know, you might be pooling storage amongst racks, right? You know, from our perspective, you're going to be pooling memory likely very locally, a few servers, right? You know, from our perspective, you're going to be pooling memory, likely very locally, a few servers, right? Not much more than a chassis, you know, a small sub-chassis size, just because you want to keep the latency low, right? You don't want all that overhead, right? But again, yeah, there's definitely, again, a lot of opportunities. CXL gives sort of control of those opportunities back to architects outside the CPU complex. And we've mentioned now a couple of things. I want to ask you if you have any, I don't know, experience with this. The performance profile, the performance characteristics of basically local CXL versus remote CXL.
Starting point is 00:24:43 And I know that some of this stuff is still in development. I know that maybe you can't talk about it much, but I think most people would assume that there's going to be a big performance hit to CXL memory. And we've recently heard from a number of different companies now, including now that AMD has launched their platform, that local CXL memory on the CXL bus within a server
Starting point is 00:25:03 doesn't perform any or noticeably different from, you know, remote NUMA memory. Is this anything that you can talk about? Can you contrast or give us any kind of sense of what's the real world? Yeah, we can talk a little bit about it. You know, in terms of real world measurements, we're still very early, right? As you mentioned, there are people with silicon, but it's engineering samples, everybody's still trying to tuning everything up, right? But the statement that Mahesh made from AMD about latency is pretty accurate, we found. That's always been the goal, right? We want this to look like, you know, far socket latency, right? In a two socket node, the latency of going to memory and the far socket
Starting point is 00:25:51 so far we're seeing that hold true that seems to be be pretty accurate and you know more so again from that point okay does that matter for what your applications are doing well it's going to depend heavily on your applications right there are certainly workloads where that's that's painful right and and will take your performance impact from that. But there are definitely workloads that are much less latency sensitive or not particularly memory intensive that will run just fine. It might be a couple percent degradation, but not something that is really going to overwhelm
Starting point is 00:26:18 what your benefits might be, right? So, so far in the performance angle, we've been pretty happy that it looks like things are going to land the way we thought. Now, remote CXO, which is if you were to, say, put a switch in and have CXO devices hanging off a switch, we see that as being, again, you're just going to tack latency on top of latency. Right. So if you can think of a far socket, latency is, you know, upper 100 nanoseconds, maybe just shy of 200. Right. You could think of every switch you put in the middle of that might add another 80 to 100. Right. Just ballpark in here. Right. You know, that's really sort of the limitations of switch of of, you know, edge crossings of silicon plus a little bit of switching, right? So, again, the usability of latencies that look like that, right, you know, 300 plus, you know, nanoseconds, people have investigated that, right?
Starting point is 00:27:18 That was actually not that far off from the quiet latency you might have seen with something like Intel Optane, right? But from a perspective of, you know, it goes back to if you know what your applications are doing, then you can make this tradeoff, right? You know, if I know my applications don't really care about that much latency, then I might be looking at that if I can find value in that architecture, right? We tend to think about our more general purpose fleet as being very broad based and we care about tail performance, right? Well, if we care about tail performance
Starting point is 00:27:56 and there are applications out there that are gonna hit, you know, 300 nanosecond memory, we're probably gonna be less enthusiastic about that as an example, right? But that's sort of a specific case, right? You have to make this trade-off call of how much do your applications care? How much benefit can you get from that architecture? And then, you know, try and find a way to resolve that based on the metrics that you care about. Can you shed a light on how, say, Windows servers or the custom hypervisor running the,
Starting point is 00:28:29 I know it used to be thousand node clusters in Azure. Can you talk about how those servers are addressing memory with other guests who have seen that it can be a shared system mode where it's virtually transparent or could be presented as a device. How is Windows going to see and interact with CXL attached memory? I guess the way I would put it is they're working on figuring that all out. Certainly the short version is there are going to be ways to just expose it as system memory, right? And if you want to use it as generic memory, you can do that. But, you know, if you look at what Linux has done,
Starting point is 00:29:11 for example, there's also ways to do, you know, designated as sort of special purpose memory or forget what their actual word is. You know, so you can have some a little more dedicated APIs to, you know, make sure you're an allocation to the right place. But the philosophy there is very similar. It's memory. We want to treat it differently than your regular local memory. Whether that's a MUMID delineation or a special purpose designation or whatever. But there are options there for sure that are investigated for for when we get this sort of into real production deployment.
Starting point is 00:29:51 Yeah, I didn't want to mention the L word there. All right. That's you know, but it seems obvious that that there have to be some type of support there, you know, from the from the CXL world, we want all this stuff to work, right? And I'll add, even on Azure, right? There's a lot of Linux that runs on Azure, right? For sure.
Starting point is 00:30:13 So we want that support to be broad-based. And we're really excited, by the way, in a lot of what's happening in the community around CXL, in the software space. You know, we're seeing people come up with all kinds of different ideas about how you can manage multiple levels of memory. Everybody's going to have different needs
Starting point is 00:30:33 around where that management should happen, should it be in a guest, should it be in a host, should it be in hardware. We want to have all those options out there because people's different use cases are going to have different needs, right? You know, we've seen presentations from VMware on their hypervisor work. We've seen presentations from Meta on what they're doing in user space with analysis and page placement, right? So that to me is also really super exciting, right?
Starting point is 00:31:04 To see the development of people learning how to take the software and take advantage of this well and make it as flexible as possible. on utilizing tech. We also had Memverge join us on utilizing tech and both of them talked a lot more about the software features there as well. And I think we can safely say that all of the major software vendors and software operating system projects are focusing on bringing this stuff to fruition. And I'm sure that Microsoft is as well. So Dan, I know that you're the memory guy, but looking forward, I always have to ask, is CXL relevant beyond memory? And
Starting point is 00:31:56 where do you see it going next? I think that's a great question. And the answer is the specification absolutely expands behind, you know, goes beyond memory, right? There are a lot of cache coherence mechanisms defined to out, okay, where are accelerators going to be? Where are they going to land in that space? I think it gets even more interesting now as you're looking at something, it basically, one of the things it exposes is, hey, you can use this physical interface to transport CXL. So if you wanted to put accelerators in your package in a design like that, it provides, you know, all the standards are there to make that happen quite simply. So that's a, you know, a step we think in the right direction and where in the longer term, I mean, dealing with cache coherence, dealing with memory on an external bus is not simple, but it's much simpler than dealing with cache coherence on an external bus.
Starting point is 00:33:18 And so I think the accelerator stuff is still catching up in that regard. They need to spend some time making sure they can get the use cases right and get the architectures right. But I think it is definitely a goal of CXL to serve those uses as well. Yeah, it's going to be really exciting to see where that all goes. And I know we're trying to keep it real here, but it is also kind of exciting to think, and for somebody like you who's doing this kind of cloud architecture, to think about how, if this all works, how it could change the shape of servers. You know, you already mentioned, you know, a chassis of servers that are having, you know, multiple servers sharing a pool of memory. You know, we talked about UCIE and how that can change the shape of the processors. I would not be at all surprised if a future Azure architecture looks incredibly different from the current architecture in terms of the shape of things and how things are specified and what tools you have as an architect to put these systems together. I agree with you, Stephen. I think that the direction we're heading is
Starting point is 00:34:25 making servers a lot more interesting, right? It's not, you know, the hyper-converged pizza box forever, right? I think we're starting to learn to treat the rack and the data center as a system, as opposed to just, you know, one server at a time. And when you do that, you start changing how you want wanna connect things. You start figuring out how to share things. Where are your data usage levels? What scope and scale? So yeah, I know it's a pretty exciting future
Starting point is 00:34:58 to look forward to. Computer architecture is certainly not boring in the system space these days. Yeah, absolutely. Well, I hope that our listeners found something here that they can look forward to and also found maybe some inspiration that this technology is good enough for Microsoft. Maybe it's good enough for you now that these things are real. And also, Dan, I would love to reconnect with you maybe later in the year or something when we are able to sort of see what this really did once it's all out there in production and use, you know, how it's really transforming things. So I look forward to future papers from Microsoft. Also, one thing I'll say, too, is I really, really sincerely appreciate Microsoft sharing their research on this and sharing these papers. We're going to link this to the paper that Dan mentioned here in the show notes.
Starting point is 00:35:51 It's so valuable that we can all benefit from their work. So kudos to you for that as well. Yeah, it's been good. It started a lot of really good conversations. And, you know, we're really interested in an ecosystem understanding the use cases here and starting to build things to serve them. So yeah, it's been good. Please check it out.
Starting point is 00:36:13 Excellent. And thank you so much for joining us. Dan, before we go, where can people connect with you? Do you have anything on the roadmap or anything you're proud of recently? Well, I think the big one is we've started publishing work and then people have taken notice. We've given some talks. I gave a talk at the OCP Memory Summit that I think a lot of people
Starting point is 00:36:36 saw as a, here is why memory pooling and what the basics are. So check you know, check that out. You know, coming up this spring, I think we'll be we'll be attending the, you know, a couple of conferences and talking more about this. So stay tuned. We definitely will be. Craig, anything to add here? No, it just it's really interesting to hear from a juggernaut such as Microsoft, you know, and obviously through Dan, but it's, you know, such a big player in the IT landscape, you know, they're gargantarian and they're here, Utilizing CXL. If you enjoyed this discussion, please do subscribe. We can be found in all of your favorite podcast applications, and we would love it if you gave us a rating or review. We've got quite a few subscribers, actually. We were pretty excited to see the listenership for this season. This podcast
Starting point is 00:37:40 is brought to you by gestaltit.com, your home for IT coverage from across the enterprise. But for show notes and more episodes, head over to utilizingtech.com or you can find us on Twitter at Utilizing Tech or on Mastodon. Just look for Utilizing Tech in there. Thanks for joining and we'll see you next week.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.