CIQ’s HPC Stack and How to Best Utilize webinar poster

CIQ’s HPC Stack and How to Best Utilize

Watch Now

This webinar will cover the CIQ stack for traditional HPC, made up of Rocky Linux, Apptainer, and Warewulf. We'll be discussing the integration of Apptainer and Warewulf into Fuzzball (HPC 2.0) and how they both run on Rocky Linux. We love hearing from you! Our experts will be answering questions live throughout the webinar.

Webinar Synopsis:

Speakers:


Note: This transcript was created using speech recognition software. While it has been reviewed by human transcribers, it may contain errors.

Full Webinar Transcript:

Zane Hamilton:

Good morning, good afternoon, good evening. Welcome back to another CIQ webinar. Today we're going to be talking about the CIQ HPC Stack and best utilization for it. And today we have Dave Godlove on with us.

Dave Godlove:

Hey, everybody.

Zane Hamilton:

Excellent. It's all working, Dave.

Dave Godlove:

Great.

Zane Hamilton:

So Dave, I think we've spent a lot of time over the last couple of months talking a lot about the individual projects and tools that CIQ works on and that we support and that we're building, but I don't know if we've ever actually tied them all together and told that story. So if you would help me go through this and let's talk about from the base up, what are we doing at CIQ from a foundational level up through an innovation level, and let's talk through our products as a whole.

CIQ's HPC Stack [00:52]

Dave Godlove:

To reverse what you said and start off at the top level. We're basically rebuilding high performance computing from the ground up at CIQ is the way that I see it. We are just sort of reinventing the way that high performance computing is done, and we're making sure, right now, I think that HPC it's a little bit different at every site, and part of the reason it's a little bit different at every site is because it's this collection of tools that people sort of pick and choose and grab this and that, and put together their own solution. Which is good in a way, but also it's piecemeal. And so what we're doing at CIQ is we're saying we can take all these pieces, we can take the entire stack from the bare-metal all the way up to the applications that the scientists are running, and we can put it all together in a coherent hole. And so that's what I really see that CIQ is doing.

Zane Hamilton:

So if we're going to go that direction, I don't care which direction we go. But I was saying at the bottom, starting with Rocky Linux and where we've come from with the end of life of CentOS and becoming CentOS Stream, now we have Rocky Linux, Rocky Linux Nine is now out. So that becomes the foundation of it. And I think everybody's pretty familiar with Rocky, and we've told that story a lot. But if you go up a level from that, from the CIQ perspective, we start talking about Warewulf and I know we've spent some time on it, but tell me a little bit about what Warewulf is and what problem it solves.

What is Warewulf? [02:23]

Dave Godlove:

Yeah, so Warewulf is obviously a provisioning system, which has been around for a fair amount of time at this point. I guess I missed 20 years at this point. But at the same time, even though it's been around and it's a mature product, it's also really very new because Warewulf four is a totally new take and a new rewrite of the old project and it's breathing some new life into the project as well. What most people are probably familiar with it as a provisioner. So a way that you can get your cluster up and going and make sure not only that it's provisioned properly to begin with, but continues to get appropriate updates out to all the nodes of the cluster.

But one of the things that is really great about Warewulf is the way in which it's tying together not just traditional on-prem, but also cloud resources, right? So it's not just you can provision not just your local on-prem HPC cluster with Warewulf, but you can also use it intelligently as we do to fast forward a little bit with fuzzball. You can also use it intelligently to provision your cloud resources. And so we're taking these two what would've traditionally been these two disparate ideas, these two different ways of doing things. And we're like wrapping our arms around both of 'em and pulling them back together and making them work in both instances.

Zane Hamilton:

That's great. I know the stateful versus stateless comes up quite a bit, Dave, and I know Warewulf 4 is a stateless provisioning system. Why is that something that is important or what benefit does that give a user to have it be stateless?

Stateless [04:30]

Dave Godlove:

Yeah, I mean I think that one of the things that it gives you is simplicity of your hardware and simplicity of just the way in which you provision. I myself have not spent a whole lot of time provisioning notes. I mean, I work on things at the opposite end of the spectrum. I'm more of a scientist sitting on top of the stack and trying to figure out things that I can do to break it and make the admins upset. So I do know that is a, I think it's a heartfelt topic that a lot of people really feel strongly about. But yeah, I know that if Greg were here, he would probably just sort of laugh and say that stateless is definitely the way to go. There's no need to worry. Stateless is a really great way to provision the nodes, and he'd have a hundred different reasons why. But I don't know the reasons off the top of my head.

Zane Hamilton:

Absolutely. And I think one of the things that we're running across quite a bit lately is people being concerned about being able to write things to local disk. And it's certainly something that you can still do, even in a stateless environment. You can still use local disc, you can still have those logs get written out so that if something happens, you can still go get 'em. And I think that's one of the things we're running across and having to do a little bit of that education is just because it's stateless doesn't mean that you can't still use a local disc. So we hear that a lot and there are a lot of ways that we can talk about that and discuss that. But one of the things that I know you're passionate about and you spent a lot of time with is Apptainer, and that's the next step up in the stack here. We talked about the ability to have it as a single file, it's easier to pass around and maintain the security aspects of it, but how does that really work in an HPC environment? Why does that make it a really solid and different way of doing things?

Security [06:24]

Dave Godlove:

From the security standpoint, so we've talked a lot about the SIF file format and what that enables from a security standpoint. How that allows you to be able to vet the sources of your container builds or just your containers that you run, how that allows you to run, if you happen to be in an untrusted environment, you don't necessarily want other users peeking in on what you're doing. But I think we used to talk about this a lot and I think we don't talk about it quite so much anymore because it's well understood, but the security of the container runtime itself is what's really key and what's really important to an HPC software stack.

I mean, we have to remember that the project that eventually became Apptainer Singularity, when Greg first started that there was really no other container run time that was designed to be run in a multi-tenant environment in the same way in which Singularity and then Apptainer was designed to be run in. And because of that, there was no way really to install other container run times on the environment or within the multi-tenant environments of HPC. So I've talked a little bit about it in the past, but I mean the whole idea of being the same user inside and also outside the container was really a very novel idea and still is a pretty different idea. And not only does that set up the basics for you to be able to provide security using the same kinds of tools that you would use on bare-metal within that environment, but it also has all these cool side effects. It allows you to interact with the files on the host system seamlessly and to write files out to the host system, without having any kinds of weird permission or ownership issues. It allows you to see all the things on the system that you would normally be able to see and to interact with all the things. So it's really a hand in glove fit for HPC, which is really designed by HPC experts for HPC experts.

Zane Hamilton:

I think it's a really important point in this is when you start talking about multi-tenancy, and most of the HPC systems, people that we talk to, they are doing multi-tenant. And again, whenever you have a container runtime environment, everything is running at a root, obviously you have some serious concerns, possible concerns there, and that's what makes Apptainer very different. But I think when you start laying everything out from a building a container standpoint, and whenever you start importing those things back in, if I want to share that container out, the process is a little bit different. And then if I am in one of the regular other container environments, I gotta go build that thing layer by layer every time I pull it anywhere. With Apptainer, it's just a file. So I'm just really shipping around a file. It makes it very simple, and that way I can pull it into a bunch of nodes at once, it's a lot faster. I don't have to rebuild it on every node. Correct me if I'm wrong.

File Management [09:47]

Dave Godlove:

And I think we should start thinking more about that. So that's something that I've been running into recently and I've been scratching my head about and thinking about. If you're using OCI images, which are great for the things that they are great for but you have to have some sort of management layer, right? you have to have some registry, you have to have some manifest to be able to take all these layers and put them together. And so because of that, people are just really, really used to the idea of having a registry and having a place where they push the containers and then interacting with that registry through this layer when they want to know what kinds of containers they have on the system and everything.

Now, obviously you don't have to do that with SIF images because they're just files. So whatever file management scheme you can come up with to manage any other type of files, you can use the same file management scheme with SIF. But the thing that I've been scratching my head about recently is I've been seeing recently that a lot of people are still locked into that idea of we need this management layer. And so because of that, for instance there's a really popular tool that Singularity and Apptainer have been able to leverage for quite some time, which is called Oras. And Oras is basically a way to take OCI images and it's a way actually to take arbitrary data and store it as first class data within an OCI docker style registry.

And so some time ago Apptainer started to leverage that in order to be able to store SIF images on Docker or OCI registries, and to be able to pull those down and use the interface to be able to interact with those images. Well, we're using those quite a bit, and that's great. But you don't necessarily have to set up any kind of registry to store your images anymore. I mean, and that's, that's a weird idea, I think to a lot of people. And I think a lot of people will be like, well, wait a minute, how are you going to store your images outside of a registry? And obviously you get a lot of benefits with a container registry. You get things like being able to tag your images and so I wouldn't want to just be suggesting that everybody just goes and gets an S3 bucket and just dumps all their images onto it and then starts downloading them. But I think that we as a community, we could probably think a little bit more creatively about how to utilize that feature of SIF.

Zane Hamilton:

Along that, if I'm in an HPC environment, or I mean even an enterprise environment where everything is air gap, then you can't get out to a registry and you may not have the skill, the desire, the resources, whatever it may be, to actually host a registry. That's a big benefit to be able just to drop a file somewhere and share it out. So that's pretty cool, pretty important.

Dave Godlove:

Yeah, absolutely.

Zane Hamilton:

So one of the things that I've been impressed with is when it comes to building a container, I mean, with some of the other ones, if you're building an OCI compliant container or for some of the other platforms, you've gotta build out that definition file and you've gotta build it and then test it and make sure that it works the way you think it's going to. And if it doesn't, you gotta go back and rebuild it. And that can be fine. I mean, it works, but on Apptainer, being able to actually have a container, pull it down and have it just create an image of the file system locally that you can treat as a file system, or you can actually treat it as a container and do things to it and write into it before you ever actually create your SIF is pretty unique. It's different. That's not the way that other other Apptainer platforms work, and that can be, in my opinion, a little easier to get all the things you need into it.

Best Practices [13:48]

Dave Godlove:

Just like with many tools. It's a very, very powerful tool. And with that power comes the ability to really be destructive, right? So it's funny because I think the last one of these that we were talking, I was sort of trashing the concept of best practices. But, so now I'm going to jump in and start preaching about best practices because I gotta contradict myself, right? But yeah, I mean, the ability to grab your container, to dump it out into a bare directory and then to just shell into it and start writing to it and doing all that stuff, it's really, really powerful. I think that the best use case for it is probably development of new containers, like in a very quick, efficient way. So the way that I would, I would normally develop new containers, complicated ones, and have really complicated installations in them is do pretty much exactly that.

Take a best guess at what I need to begin with putting a bunch of dependencies that I'm pretty sure I need into the container. And then starting the container up, dumping it out into a sandbox, which is just a bare directory, starting it up as that with writeable permissions. And then I would usually have two windows open, right? I would have the one window in which I was noodling around the container and then I would have the other window in which I was taking notes on what worked, and not really even notes, but just like recording actual commands. And then I would continue to do that until I broke the container. The list of actual commands that I had would become the next iteration of the definition file. And then I would just rinse and repeat and continue to do that. And it's a really quick way to iterate on and to build up what can be pretty complicated containers without having to completely rewrite a new Docker file every time. Maybe if you're lucky, maybe build that locally. But if you can't then have to push that up to a CICD environment, wait on it, download it again, look at it, see what's wrong with it, that takes a long time.

Zane Hamilton:

Absolutely. And I think we glossed over the fact that Warewulf being OCI compliant now as well is a really interesting and powerful thing. So being able to deploy, I mean, we start talking about actually doing containers with Apptainer, but we're also doing containers at an OS level, which is unique. There aren't a lot of other things out there that can do that. I mean, go find a Docker hub and make a couple changes to the container and deploy it out to a stainless bare-metal machine, it's different.

Warewulf [16:33]

Dave Godlove:

I'm still trying to wrap my mind around it. Warewulf in general, I'm fairly new to, but the whole idea that I can go to Docker hub and I can grab a container and then I can just install a kernel in it and make it bootable, and then boom, there's my image for my cluster. I mean, that's really, really cool.

Zane Hamilton:

That is really cool. It's certainly something I have never thought to even conceive the idea of how to do it. That's really cool.

Dave Godlove:

Well, I was just going to say like, Greg is really good about that. So I've worked with Greg for a fair amount of time now. I guess we're six or seven years we've been working together off and on, and I think that one of the things that Greg as a developer is really good at is taking ideas from one place and then seeing how they apply and seeing how you can just grab 'em and wrap 'em in and make them work in another place. I mean, if you look at the definition file that Apptainer uses to create containers, it's pretty similar to packaging. It's pretty similar to how you package things up. He got the idea I think of, I'll probably totally misquote him and mess all this stuff up, but I think he got the idea for having the single file format because he worked on a project a while ago that ended up being the thing that Live USBs ended up being based on.

And the whole idea of having like a single image that you can boot something from, he was like, well having a single file be a container. He's really good at cross pollinating and taking ideas from one project and saying, well, how do those work? How would those work in this different project? And so Warewulf is a really good example of that. He's been thinking about containers for so long that it's like, well these images, they're not so different from the images that we're using within Apptainer. Why don't we see how those two ideas play with each other and how they work together?

Zane Hamilton:

Yeah, that's very cool. And then if you take it up and another layer, we started talking about Fuzzball. So the product CIQ is changing the way HPC is done, and it builds upon all of these other layers. So tell me a little bit about how it's built on top of those layers and what role they play.

Fuzzball [19:02]

Dave Godlove:

I'm still fairly new to Fuzzball which is both a drawback because I can't talk in depth about a whole bunch of things, but it's also it's a cool position to be in to come and talk about it because things are so new to me, and I've got this perspective of a new user, which I think is cool to share. So yeah, fuzzball is taking together all those different building blocks that we talked about previously, Rocky Linux, Warewulf and Apptainer. And it's leveraging all of them together to basically redo or change the way that people do HPC. So essentially the way that Fuzzball works is that you've got a little management cluster sitting there waiting to accept requests.

And you put together a little yaml file, which describes what you want your workflow to be. And once you've got that workflow, you submit the workflow to fuzzball, and instead of just being like a scheduler and just saying, oh, well where can I get these resources to run this job? And where can I do that? It actually, like in the case of the cloud running on AWS or GCP or something, it actually says, let me build the appropriate cluster for you. Let me build the appropriate compute environment for you and spin all this up where I can take your workflow and then run it the way it ought to be run. And so that's really different. That's really cool.

And that's incorporating ideas from, you know, container orchestration and taking those container orchestration ideas and then applying those back into the world of HPC. And so it goes out and it spins up whatever resources it is that you need, it uses Warewulf to provision the resources and get 'em up and running and get everything put together the way it ought to. As far as I understand it. And so once it gets everything put together for you, it runs your workflow, and then it can go ahead and tear down that cluster for you so that you avoid costs that you would normally have by having all these nodes sitting there waiting for a workflow to run on them. That's how it works in the cloud. And it can also work on a traditional cluster alongside of another batch scheduling system or as a replacement. I think that there's lots of different ways that it can be used, but yeah, so it's kind of like the glue that it's taking all these different pieces and putting them all together and making HPC 2.0 based on all these different building blocks.

Zane Hamilton:

Absolutely. I see that we do have a question that is coming in. There we go. How does CIQ's HPC stack improve on existing HPC? I like having you on here, Dave, because I think you have a very unique and interesting perspective outside of just being an admin. You're actually a scientist and a user. So I think it's a good question for you to answer because you see it from both sides.

Cloud in HPC [22:31]

Dave Godlove:

Yeah, I think that one of the biggest ways, one of the biggest benefits right off the bat is we see lots of different places increasingly are trying to figure out where does cloud fit into the HPC world? And not only are we seeing a lot of like HPC admin teams and also scientists trying to figure out the answer to this question, but we're also seeing like top-down pressure from administrative bodies saying, hey, we need to stop building these huge clusters on-prem and start leveraging these resources which already exist a little bit better. And that's a hard move. It's a hard set of questions to ask. It's a hard thing to do. And I think that fuzzball is really going to help to ease that transition.

The entire CIQ HPC stack is going to help to ease that transition because it's built with both on-prem and also cloud in mind. And so, once again, as an end user, as a scientist, you can create these workflows and you can put 'em together and you can submit them and they will work just the same. You can either have multiple different contexts within fuzzball, so you can switch between like your on-prem or your cloud instance, or we have plans in the future to work on a method of federation in which Fuzzball will actually look at your workflow and try to figure out where it will best run given the current pressures and given what you're requesting with your workflow and so on.

So that's one of the biggest things that I can see right off the bat. Another thing is really pushing everything into containers. So we're already seeing a trend, not just on the side of the users in building and running and pulling their own containers and running their own workflows through containers and stuff. But we're also seeing a trend on the side of the admins, the support scientists where when they are getting requests to install new software, increasingly they're looking to containers to make that installation procedure easier. So that's another place in which fuzzball is really, and this whole stack is really helpful. It's very container centric, and it's going to start accelerating that push that we're already seeing. And getting more folks to move in that direction and also easing that transition and making it easier to go in that direction with containers.

Zane Hamilton:

Sorry, I don't mean to interrupt, but from your perspective, a lot of the conversations that I'm having now, it comes back to there are fewer and fewer admins, there are more and more research scientists, and in the past, it seems like the research scientists were also admins. They had to play both roles to some degree. But there's really becoming a split from the people that I'm talking to is there's a lot more admin work with less admins and a lot more scientists that don't want to be admins. They just want to do their science. They just don't have the time, and they're being pressured to do that. And I think something like this would help or helps in that type of environment where you can do more with less, you don't have to have as much knowledge of the system and containerization makes it easier to deploy all those things. Is that what you were seeing as a scientist as well?

Dave Godlove:

Yeah, absolutely. Yeah, that's a really great, great point. So my background is at the National Institutes of Health, the NIH, we didn't really do introductions at the beginning of this, but I'm sure you can go to another webinar if you want to see.

So my background is at the NIH and I was not at the NIH for very long. I was at the NIH basically on and off for about four years, four or five years. And even during the period of time that I was there as a support scientist, we supported the intramural NIH community actually on the campus in Bethesda. So you had to be like there working as an NIH scientist to use the cluster. And so even while I was there, I think the growth of users went from something like a quarter or a third of the scientists on campus were using the Beowulf cluster. So when I left, it was more like two thirds or three quarters that were using.

Zane Hamilton:

Wow.

Dave Godlove:

So, yeah. So I think that just many, many more scientists are getting into HPC just as a normal tool that you have to be able to use to analyze your data. And that topic of admins versus scientists is one that's really near to my heart because I think that's very, very important. I mean, you cannot and you should not expect a biologist or somebody who is involved deeply with their scientific discipline to put on pause what they're doing and learn this entire new set of stuff, which is just all about computers and is all about computer science, and which might require a normal person to get like a four year undergraduate degree in computer science in order to understand it's just not, I think a lot of times as when we're admining systems, we think to ourselves, ah, these users, why can't these users be smarter?

You know? And that's a really negative mindset I think. We want to compartmentalize, we want scientists to be able to focus all of their efforts, all of their energies on their science, and to not have to worry, to a large extent about how their compute needs are going to be taken care of. And so yeah, I do think that this type of product, simplifying things the way that our stack is doing, is really helpful for fostering that dichotomy between those two different specializations. and I think that we need more of it. I think we really need to continue with this mindset that scientists can just be scientists. They don't have to be computer scientists on top of that. And we can enable that. We can help them to do that.

Zane Hamilton:

I think it's one of the great things about Fuzzball is the fact that it's using what's become the industry standard for configuration and management now is YAML. So being able to do a fairly simplistic YAML, easy to read, and then building on top of that a gooey so that you can have templated YAML files out that you can actually visualize and you can drag and drop things between is going to enable a scientist to be faster to getting to what they need and easier from an administrative perspective of I don't need to teach you how to go do all these things, it's fairly simplistic.

Training Users [29:39]

Dave Godlove:

Absolutely. Another thing too is when all of this containerization started to hit HPC, I think many of us had this idea that, oh man, this is just going to be for power users and they're going to get a lot out of it, but it's going to be tough because we're going to have to train all these users to build their own containers, which means, in a way, we're going to have to train them on how to be Linux admins, or at least experts in package managers and experts on how to compile code and stuff like that doing things like that in their containers. And then I think that many of us were surprised, at least me, it took me longer than I should have to see what was in front of me, is that most of the users didn't need to build their own containers.

Once that ecosystem really started rolling, and once scientific containers became really widespread, users just started to pull their containers down, right? And it's just like, I don't need to build my own container. I need an old version of Python, a Python 2.7 or something. I'll just go up and grab it. I need tensor flow. And a lot of scientists are like, I don't really care that this thing is not compiled with AVX instructions and it's not going to run. I just throw a little bit more compute at it and I'll get my job done and I'll be able to publish my paper. And so they just go up and grab this thing and pull it down and run it. And that's something that I didn't anticipate. And I think a lot of people didn't anticipate is that no, it wasn't that everybody who used containers was going to have to become some sort of a Linux expert or an application installation expert or anything like that. And actually the opposite actually empowered all these users to do just exactly what we're talking about, to focus on their science and not have to worry so much about how they're getting their analysis and their compute and stuff done.

Zane Hamilton:

Did you see as a part of the way the enterprise had gone and with containerization especially, and being able to do CI/CD type things, and that drove a lot of the containerization platforms out there as being able to integrate easily into CI/CD. Are you seeing CI/CD being pulled into the scientific realm, or was it already there? We just don't talk about it as much?

CIQ's Maturity [32:04]

Dave Godlove:

That's a good question. I don't think that CI/CD is mature within the scientific realm as it is like outside with the enterprise and the development environments that are out there. Scientists, for instance, I think have adopted to a great extent. I mean, I was in science, I started in science maybe around 2007, 2008. And they were much slower. I think the scientific community was much slower to adopt. Even things like versioning tools like GitHub and things of that nature and if you think about what versioning enables you to do and what's great about it, and then you think about what a scientist is doing, you can see why it took them a while to adopt those types of tools.

So one of the great things about GitHub is it allows you to collaborate. I mean, that's like GitHub and version software is all about collaboration, right? A lot of times scientists aren't collaborating very much. They're very small teams of people, maybe even just one or two individuals who are writing code and trying to get analysis done and the software packages that they're creating are not things that are going ultimately to be widely used by a large number of people. So so going back to the CI/CD question, it's the same kind of thing, you know, it it's useful to a scientist if the scientist has a lot of different environments that they're working on or if they are part of, some disciplines in science are more collaborative than others, obviously, or if they're part of a big collaborative team where lots of them are working together, but a lot of times it's just a few scientists working on something and so that might render the whole CI/CD kinds of workflows a little less useful than they would be in other cases.

Zane Hamilton:

More of a hindrance than a help.

Dave Godlove:

Could be. Yeah. It all depends.

Zane Hamilton:

Okay. That makes sense. And I think we have a couple more questions that have come in. This is always fun. Is Fuzzball a scheduler, a workflow tool or something else altogether?

Workflows [34:27]

Dave Godlove:

Good question. So it's not just, I guess maybe part of it is the something else answer to that question, right? It's not like just a scheduler, just a workflow tool because I talked about before how it actually intelligently provisions resources for you, right? depending on the environment that you're running in. So it's even a provisioner on top of it being these other things. But yeah, I mean, it can work as a scheduler. It can work as a workflow tool as well. So one of the great things about Fuzzball, it's really designed from the beginning for you to be able to run, I guess DAG's, directed acyclic graphs, basically jobs that depend on one another. It might depend on one another in scurry ways, but not in circles. So Fuzzball is designed to be very simple for producing workflows. Even really complicated workflows. And that's just part of the way that the YAML is put together and the way that you put your jobs together when you write the YAML. So I guess the answer would be it's a little bit of all these things and something else in addition to that.

Zane Hamilton:

I think one of the other things I know that you've been playing with a little bit lately is VDI. So being able to do some sort of VDI with Fuzzball, and it's a little bit different than what we traditionally think about from being able to get a desktop environment or some sort of gooey inside of it. You're not doing SSH and just forwarding X back, it's different.

Dave Godlove:

Yeah, that's another thing that I had been working on. I'm trying to perfect a little bit. But yeah, I mean there's ways just with traditional cloud or traditional HPC, I think it's a little easier, but there are ways to just forward reports back from the compute nodes that you're running on and be able to connect to those using Jupyter Notebooks. There are ways to visualize, to get a full on desktop if you want within a compute environment. And then to be able to provision out more nodes from there if you want to just work on there and develop so you're developing in the same environment that you're ultimately going to be running in. Yeah, there's lots and lots of different things. It's a very, very full featured tool with a great deal of potential.

Zane Hamilton:

Thank you. So next question from Mark. Does Fuzzball require Rocky Warewulf and Apptainer? It's an interesting question we get quite often, especially when it comes to the operating system. And to answer the operating system perspective, no, it doesn't require Rocky. It's just the one that we prefer because it's our product, but it will run on other variants of Linux out there, it should actually run on any newer one. I'm not going to say any, because someone will ask a question about something that's significantly older and it needs a more modern kernel, but Warewulf and Apptainer. Cloud based, I don't think it requires Warewulf in the cloud because you can actually just do API calls directly out to the AWS provisioner or the Google Provisioner. So I don't think it requires it, Apptainer on the other hand, Dave, want to dive into that one?

Dave Godlove:

Well, it requires something that we refer to as substrate and substrate is the thing underneath of it, which is providing the container runtime environment for everything to run. But it's not like you would go and install a bunch of dependencies and then you would go and install Fuzzball on top of that. Fuzzball comes as a pre-packaged entity that you just install that has with it substrate and all the other bits and pieces that it needs to run. So, no, the technical answer is no, but I mean, the actual gist, the real answer is it's going to need a container environment because everything runs in containers on Fuzzball. But that's not like a separate install. That's something that just comes with the package.

Zane Hamilton:

Perfect. Thank you. Yeah, that's kind of all the questions I had today. I don't know if there's anything else you want to add to, I mean, the stack is very interesting. It's very exciting. Every time I talk to people, there's a lot of excitement around it and the ease that it's going to bring, and then being able to do that real hybrid environment in HPC. I think one of the things we didn't touch on, Dave, that I'm getting a lot of people talking about is the ability to utilize cloud resources for things that they may not have. So an older HPC environment where they don't have some of the newest, latest and greatest hardware, mainly GPUs, but they're available in the cloud, they can still execute that job and be able to go get the GPU resource that they're looking for or want, but still have the traditional HPC environment. Is that something that you're seeing as well?

Dave Godlove:

Yeah, absolutely. I mean, having access to all this, all these different resources is just putting more power at the disposal of the end user. Anytime you give the end user more power, they're going to come up with different and interesting ways to use it.

Zane Hamilton:

That's great. So you had nothing to add, Dave, I'm going to go ahead and wrap it up. I just want to say that I really appreciate you guys watching today. If you have any questions or if you're interested in any of these pieces individually or the entire stack, please reach out to us and let us know. All great projects if you want to get involved, each one of them has their own website. We'll have links to them below, get involved, contribute back, ask questions. We'd love to talk to you, love to help you where we can. We really appreciate the time.

Dave Godlove:

Yeah, nice talking to you, Zane.

Zane Hamilton:

Absolutely. Thank you, Dave.

Transcript

good morning good afternoon good evening welcome back to another ciq webinar today we're going to be talking about the ciq hpc stack and kind of best utilization for it and today we have dave godlev on with us dave hey everybody excellent it's all working dave great so dave i think we've spent a lot of time over the last couple of months talking a lot about the individual projects and tools that ciq works on and that we support and that we're building but i don't know if we've ever actually kind of tied them all together and and told that story so if you would help me

kind of go through this and let's talk about from the base up what are we doing at ciq from a foundational level up through kind of an innovational level and let's talk through our products as a whole right yeah it's uh so um to kind of reverse what you said and start off at the uh the top level okay um you know we're we're basically rebuilding um high performance computing from the ground up at ciq is the way that i see it um we are just sort of reinventing the way that high performance computing is done and we're making sure you know right now i

think that hpc it's a little bit different at every site and part of the reason it's a little bit different in every site is because it's um it's this kind of collection of tools that people sort of pick and choose and grab this and that and kind of put together their own solution um you know which is good in a way but uh also it's it's kind of it's kind of piecemeal and so what we're doing at ciq is we're saying you know we can take all these pieces we can take the entire stack from the bare metal all the way up to the applications

that the scientists are running and we can um you know put it all together in a coherent hole and so that's what i really see that uh that uh ciq is doing all right so if we're gonna go that direction i don't care which direction we go but i was saying at the bottom starting with rocky linux and kind of where we've come from with the end of life of centos and becoming sent stream now we have rocky linux rocky linux 9 is now out so that kind of becomes the foundation of it and i think everybody's pretty familiar with rocky and we told that

View full transcriptHide full transcript

story a lot but if you go up a level from that from the ciq perspective we start talking about werewolf and i know we spent some time on it but tell me a little bit about what werewolf is and what what problem it solves so werewolf is um obviously a provisioning system which has been around for uh you know a fair amount of time at this point i guess i missed 20 years at this point but it's it's at the same time even though it's it's kind of been around it's a mature product it's also really very new because werewolf four is a totally new

take and a new um you know it's it's it's a kind of a rewrite of the uh the old project and uh um you know it's breathing some new life into the project as well um but yeah i mean what most people are probably familiar with it as a provisioner so a way that you can kind of get your uh uh get your cluster up and going and make sure not only that it's it's provisioned properly to begin with but continues to get appropriate updates out to all the uh the nodes of the cluster but one of the things that is really great about werewolf

is the way in which it's tying together not just traditional on-prem but also cloud resources right so it's it's not just you know you can provision not just uh your your your local on-prem hpc cluster with werewolf but you you can also um you know use it intelligently as we do to kind of fast forward a little bit with fuzzball you can also use it intelligently to provision your cloud resources and so we're taking these two um kind of would have traditionally been these kind of two disparate ideas these two different ways of doing things and we're kind of like wrapping our arms around both

of them pulling them back together and making them work in both instances that's great i know the state full over state list comes up quite a bit dave and i know where wolf 4 is a stateless provisioning system why is that something that that is important or what benefit does that give a user to have it be stateless yeah i mean um i think that uh one of the things that it gives you is simplicity you know simplicity uh of your hardware and simplicity of um you know just the the way in which you provision um you know i uh i myself have not spent

a whole lot of time provisioning nodes i mean i i kind of work on things at the opposite end of the spectrum i'm more of a scientist kind of sitting on top of the stack and trying to figure out things that i can do to break it and make the admins upset um so i i do know that that is a um i think it's a heartfelt topic that a lot of people really feel strongly about but um yeah i i know that uh uh you know if greg were here he would probably just sort of laugh and say that stateless is definitely the way

to go there's no there's no need to worry stateless is a is a really great way to provision the nodes and he'd have 100 different reasons why but i i i don't know the reasons off the top of my head absolutely i think one of the things that we're running across quite a bit lately is people being concerned about being able to write things to local disk and it's certainly something that you can still do even in a stateless environment you can still use local disk you can still have those logs get written out so that if something happens you can still get them and

i think that's one of the things we're running across and kind of having to do a little bit of that education is just because it's stateless doesn't mean that you can't still use a local disk so we hear that a lot uh and there are a lot of ways that we can talk about that and discuss that but one of the things that i know you're passionate about you spend a lot of time with is apptaner and that's kind of the next step up in the stack here we talked about it the ability to have it as a single file it's easier to pass around

and maintain the security aspects of it but how does that really work in an hbc environment why does that make it a really solid and different way of doing things yeah um well i mean from the security standpoint so we've talked a lot about um kind of the the uh cif file format and what that enables from a security standpoint how that allows you to be able to vet the sources of your container builds or just your containers that you run um how that allows you to run if you happen to be in an untrusted environment you know you don't don't necessarily want other users

kind of peeking in on what you're doing but i think um you know we used to talk about this a lot and i think i think we don't talk about it quite so much anymore because it's kind of like it's it's well understood but the security of the container runtime itself is what's really key and what's really important to um you know to an hpc software stack i mean we have to remember that uh you know the the project that eventually became obtainer singularity when it first when greg first started that there was really no other container runtime that was designed to be run in

a multi-tenant environment um in the same way in which singularity you know and then apptaner was designed to be run in um and because of that there was just there was no uh there was no way really to install you know other container runtimes on the environment or within the multi-tenant environments of hpc so you know i've talked a little bit about it in the past but i mean the whole idea of being the same user inside and also outside the container uh was really a very novel idea and still is you know a pretty different idea and not only does that set up the

just the basics for you to be able to provide security using the same kinds of tools that you would use um you know on bare metal within that environment but it also has all these cool side effects you know it allows you to interact with the files on the host system seamlessly and to write files out to the homes the host system without having any kinds of weird permission or ownership issues um you know it allows you to see all the things on the system that you would normally be able to see and to interact with all the things so it's it's really um you

know it's a hand and glove uh fit for hpc which is really designed you know by hpc experts for hp hpc experts i think it's a really important point of this is when you start talking about multi-tenancy and most of the hpc systems people that we talk to they are doing multi-tenant and again whenever you have a container runtime environment everything is running as a route obviously you have some some serious concerns possible concerns there and that's what makes that painter very different but i think when you start laying everything out from a a building a container standpoint and whenever you start importing those things

back in if i want to share that container out the process is a little bit different in that if i am in one of the regular other container environments i got to go build that thing layer by layer every time i pull it anywhere with apptaner it's just a file so i'm just really shipping around a file it makes it very simple and that way that's right pull it into a bunch of nodes at once it's a lot faster i don't have to rebuild it on every node it's correct yeah no yeah um and i think we should start thinking more about that so that's

something that i've kind of i've been running into recently and i've been kind of scratching my head about and thinking about um so if you don't if you're not if you're using like oci images which are you know great for the things that they are great for um but you you have to have some sort of like management layer right um you have to have some registry you have to have some you know manifest to be able to take all these layers and put them together and so because that people are just really really used to the idea of having a registry and having you

know a place where they push the containers and then interacting with that registry you know through this layer when they want to know what kinds of containers they have on the system and everything now obviously you don't have to do that with um with with stiff can with sif images because they're just files so whatever file management scheme you can come up with to manage any other type of files you can use the same file management scheme with sif but the thing that i've been kind of scratching my head about recently is i'm seeing um i've been seeing recently that a lot of people are

still locked into that idea of we need this management layer and so because of that you know i mean for instance uh there's a really popular tool uh that the singularity and that painter have been able to leverage for quite some time which is called oraz and oraz is basically a way to take oci images and well it's it's a way actually to take arbitrary data and store it um as like a as first class data within uh an oci you know docker style registry and so some time ago apptaner started to leverage that in order to be able to store sif images on uh

docker or oci registries and to be able to pull those down and and you know use use the uh use use the interface to be able to interact with those images well we're using those quite a bit and that's great um but it's you know i you don't necessarily have to set up any kind of registry to store your images anymore i mean and that's that's a weird idea i think to a lot of people and i think a lot of people will be like wait a minute you know how are you going to store your images outside of a registry and you know obviously

you get a lot of benefits with a container registry you get things like being able to tag your images and um you know so i i wouldn't want to just be suggesting that everybody just goes and you know gets an s3 bucket and just dumps all their images onto it and then starts downloading them but you know i think that we as a community we could probably think a little bit more creatively about how to utilize that feature you know of sif so that mean along that if if i'm in an hpc environment or i mean maybe an enterprise environment where everything is air gap

then you can't get out to a registry and you may not have the skill to desire the resources whatever it may be to actually host a registry that's a big benefit to be able to drop a file somewhere and share it out so it's pretty pretty cool pretty important yeah yeah absolutely so one of the things that that i've been impressed with when it comes to building a container i mean with some of the other ones if you're building an oci compliant container or for some of the other platforms you've got to build out that definition file and you've got to build it and then

test it and make sure that it works the way you think it's going to and if it doesn't you've got to go back and rebuild it and that can be fine i mean it works but on adtainer being able to actually have a container pull it down and have it just create an image of the file system locally that you can treat as a file system or you can actually treat it as a container and do things to it and write into it before you ever actually create your sif is pretty unique it's different that's not the way that other other container platforms work and

that that can be in my opinion a little easier to get all the things you need into it just like with many tools um it's a very very powerful tool and uh you know with that power comes the ability to really be destructive right so it's funny because i think the last one of these that i was that we were talking i was sort of trashing um the concept of best practices uh but so now i'm gonna jump in and start preaching about best practices because you know i got to contradict myself right but yeah i mean the ability to grab your container to dump

it out into a bare directory and then to just shell into it and start writing to it and doing all that stuff it's really really powerful um i think that the best use case for it is probably development of new containers like in a very quick um efficient kind of way so the way that i would i would normally develop new containers complicated ones that have really complicated installations in them um is do pretty much exactly that take it take a best guess at what i need to begin with you know putting a bunch of dependencies that i'm pretty sure i need into the container

and then starting the container up uh you know dumping it out into a a sandbox which is just a bear directory um starting it up as that with writable permissions and then i would usually have two windows open right i would have the one window in which i was noodling around the container and then i would have the other window in which i was taking notes on what worked and not really even notes but just like recording actual commands and then i would continue to do that until i broke the container um the list of actual commands that i had would become you know the

next iteration iteration of the definition file uh and then i would just rinse and repeat and continue to do that and it's a really quick way to iterate on and to you know build up what can be pretty complicated you know containers um without having to like you know like completely rewrite a new docker file every time you know maybe if if you're lucky maybe you know build that locally but if you can't then have to push that up to a ci cd kind of environment wait on it download it again look at it see what's wrong with it you know that that that that

takes kind of a long time absolutely i think we kind of glossed over the fact that werewolf being oci compliant now as well is a really interesting and powerful thing so being able to deploy i mean we start talking about actually doing containers of that taner but we're also doing containers at an os level which is unique there are a lot of other things out there that can do that and take go find a docker hub and make a couple changes to the container and deploy it out to a stateless bare metal machine is it's different yeah it's a totally i'm still trying to wrap

my mind around it um you know it's uh werewolf in general i'm fairly new to but the whole idea that i can go to docker hub and i can grab a container and then i can just install a kernel in it and make it bootable and then boom there's my image for my cluster i mean that's really really cool that is really cool it's certainly something i haven't i have never thought to even like to conceive the idea of how to do it that's really cool but once you take this i was just going to say like greg is really good about that so i've

worked with greg for you know a fair amount of time now i you know i guess for six or seven years we've been kind of working together off and on and you know i i think that one of the things that greg is a developer is really good at is he taking ideas you know from one place and then seeing how they apply and seeing how you can just kind of grab them and wrap them in and make them work in another place i mean if you look at um the the definition file that apptaner uses to create containers it's really uh it's pretty similar

to packaging it's pretty similar to you know how you package things up um and then if i know that uh he was so he he he got the idea i think of and i'll probably like totally misquote him and you know mess all this stuff up but i think he got the idea for having the single file format because he worked on a project you know a while ago that ended up um being the the thing that live usbs ended up being based on and the whole idea of having like a single image that you can boot something from he was like well you know

that that having a single file be a container you know he's really good at like cross pollinating and taking ideas from from one project and saying how do those how would those work in this different project and so werewolf is a really good example of that he's been thinking about containers for so long that you know it's like well you know these these images they they're not so different from the images that we're using within apptaner you know why don't we see how those two uh ideas play with each other and how they work together yeah it's very cool and then if you take it

up in another layer we start start talking about fuzzball so the product ciq is changing the way hpc is done and it builds upon all of these other layers so tell me a little bit about how it's built on top of those layers and what what role they play right so um i'll give you my you know i'm still fairly new to fuzzball which is both kind of a drawback because i can't talk in depth about a whole bunch of things but it's also kind of it's it's a it's a cool position to be in uh to come and talk about it because you know

things are so new to me and i've got this perspective of kind of a new user which i think is cool to share um so yeah fuzzball is is taking together uh all those different building blocks that we talked about previously rocky linux werewolf and apptaner and it's leveraging all of them together um to make uh to basically redo or change the way that people do hpc so um essentially uh the way that fuzzball works is that you've got a little little management cluster sitting there waiting to accept requests and um you know you put together uh you put together a you know a little

um yaml file which describes what you want your workflow to be and you know once you've once you've got that workflow you submit the workflow to fuzzball and instead of just being like a scheduler and just saying oh well you know where can i get these resources to run this job and where can i do that it actually like in the case of the cloud running on aws or gcp or something it actually says let me build the appropriate cluster for you let me build the appropriate compute environment for you and spin all this up where i can take your workflow and then run it

the way it ought to be run and so that's pretty that's you know really different that's really cool that's incorporating ideas from uh like you know uh container orchestration and taking those container orchestration ideas and then applying those into back into the world of hpc and so you know it goes out and it it spins up this you know whatever resources it is that you need it uses werewolf you know to provision the resources and get them up and running and get everything you know put together the way it ought to um as far as i understand it um and uh you know so once

it once it gets everything put together for you it runs your workflow and then it can it can go ahead and tear down that cluster for you so that you avoid uh you know costs that you would normally have by having all these nodes sitting there waiting for a workflow to run on them and it it you know that's how it works in the cloud it can also work on a traditional cluster um you know alongside of of you know another batch scheduling system or as a replacement um i think that there's lots of different you know ways that it can be used but yeah

so it's it's kind of like the glue that's taking all these different pieces and putting them all together and making uh uh hpc 2.0 you know based on all these different building blocks absolutely i see we do have a question that is coming in there we go how does ciq's hpc stack improve on existing hpc so i i like having you on here dave because i think you have a very unique and interesting perspective outside of just being an admin you're actually a scientist and a user so i think it's a good question for you to answer because you see it from both sides yeah

i think that one of the biggest ways one of the biggest benefits right off the bat is we see lots of different places um increasingly are trying to figure out where does cloud fit in to the hpc you know world and not only are we seeing a lot of like uh um hpc admin teams and also scientists trying to figure out the answer to this question but we're also seeing like top-down pressure uh from folk from you know administrative bodies saying hey we need to stop building these huge clusters on-prem and start leveraging these resources which already exist a little bit uh better and you

know that's a hard that's a hard move it's a heart it's a hard set of questions to ask it's a hard thing to do and i think that um fuzzball is really going to help to ease that transition and the entire you know ciq hpc stack is going to help to use that transition because it's built with both on-prem and also cloud in mind and so once again you can as a as a end-user as a scientist you can create these workflows and you can put them together and you can submit them and they will work just the same you can either uh you know

have multiple different contexts within fuzzball so you can switch between like your on-prem or your cloud instance or we have plans in the future uh to work on um you know a method of federation in which fuzzball will actually look at your workflow and try to figure out where it will best run you know given the current pressures and given what you're what you're requesting with your workflow and so on so that's one of the biggest things that i can see right off the bat um another thing is you know really pushing everything into containers so we're already seeing kind of a trend not just

on the on the side of the users you know in building and running and pulling their own containers and running their own workflows through containers and stuff but we're also seeing a trend on the side of the admins the support scientists where when they are are getting requests um to install new software increasingly they're looking to containers to make that installation procedure easier um so that's another place in which uh you know fuzzball is is really and this whole stack is really helpful it's very container centric and it's going to start accelerating that push that we're already seeing and um you know getting more folks

to move in that direction and also easing that transition and making it easier to go in that direction with containers that's a good question for you david sorry i don't mean to interrupt but i from a from your perspective a lot of the conversations that i'm having now it comes back to there there are fewer and fewer admins there are more and more research scientists and in the past it seems like the research scientists were also kind of admins they kind of had to play both roles to some degree but there's really becoming a split from the people that i'm talking to is there's a

lot more admin work with less admins and a lot more scientists that don't want to be admins they just want to do their science they just don't have time and they're being pressured to do that i think something like this would help or helps in that era or that that type of environment where you can do more with less you don't have to have as much knowledge of the system and you know containerization makes it easier to deploy all those things is that kind of what you were seeing as a scientist as well yeah absolutely um yeah that's a really that's a really great point

so my background is at the national institutes of health the nih you know we didn't really do introductions at the beginning of this but uh you can there's i'm sure you can see another you can go to another webinar no that's cool um so my background is at the the nih and um even during the so i was not at the nih for very long i i was at the nih uh from basically on and off for um about four years four or five years and even during the period of time that i was there as a support scientist um so we supported the intramural

nih community actually on the campus in bethesda so you had to be like there working as an nih scientist to use the the cluster and so even while i was there i think the growth of users went from something like a quarter or a third of the scientists on campus were using the biowulf cluster to when i left it was more like two-thirds or three-quarters that were used oh wow so yeah so i i think that just much you know many many more scientists are getting into hpc just as as a normal this is a normal tool that you have to be able to use

to analyze your data um and that topic of you know admins versus scientists is one that's really kind of near to my heart because i i think that that's very very important i mean like you you cannot and you should not expect you know a biologist or um you know somebody who is involved deeply with with their scientific discipline to kind of put on pause what they're doing and learn this entire new set of stuff which is just all about computers and it's all about computer science and which might require a normal person to get like a four-year undergraduate degree in computer science in order

to understand you know it's just it's it's not you know i think a lot of times as when we're admining systems we kind of think to ourselves ah these users why can't these users be smarter you know and that's that's a really negative um that's a really negative mindset i think um we we want to compartmentalize we want scientists to be able to focus all of their efforts all of their energies on their science and to not have to worry to a large extent about you know how their compute needs are going to be taken care of and so you know yeah i do think

that that this type of product simplifying things you know the way that our stack is doing um is really helpful for uh fostering that kind of dichotomy between those two different specializations and and i think that we need more of it i think we really need to you know continue with this mindset that scientists can just be scientists they don't have to be computer scientists on top of that and we can we can enable that we can help them to do that i think it's one of the great things about fuzzball is the fact that it's using what's kind of become the industry standard for

configuration and management now is yaml so being able to do a fairly simplistic gamble easy to read and then building on top of that a gui so that you can have templated yaml files out that you can actually visualize and you can drag and drop things between is going to enable a scientist to be faster to getting to what they need and easier from an administrative perspective of i don't have to teach you how to do all this it's fairly simplistic absolutely and and you know another thing too is when all this containerization started to hit hpc i think many of us um had this

idea that oh man this is just going to be for power users and they're going to get a lot out of it but it's going to be it's going to be tough because we're going to have to train all these users to build their own containers which means in a way we're going to have to train them on how to be linux admins or at least experts in you know package managers and experts on you know how to compile code and stuff like that doing doing things like that in their containers and then i think that many of us were surprised and it kind of

it kind of at least me it kind of took me longer than i should have to see what was in front of me is that most of the users didn't need to build their own containers you know once once that ecosystem really started rolling and once um scientific containers became really widespread users just started to pull their containers down right and it's just like i don't need to build my own container i need an old version of python some python 2.7 or something i just go up and grab it you know i need i need tensorflow and you know a lot of scientists are like

i don't really care that this thing is not combined compiled with avx instructions and it's not going to run like i just throw a little bit more compute at it and i'll get my job done i'll be able to publish my paper and so they just go up and grab this thing and pull it down and run it and that that's something that i didn't anticipate and i think a lot of people didn't anticipate is that you know no it wasn't that like everybody who used containers was going to have to become some sort of a a linux expert or a you know an application

installation expert or anything like that and actually what the ops and actually empowered all these users to do just exactly what we're talking about to focus on their science and not have to worry so much about you know how they're how they're getting their analysis and their computing stuff done do you see as a part of kind of the way the enterprise had gone and and with containerization especially and being able to do ci cd type things and that kind of drove a lot of the containerization platforms out there is being able to integrate easily into ci cd are you seeing ci cd being pulled

into the scientific realm or was it already there we just don't talk about it as much oh that's a good question i don't think that cicd is as mature within the scientific realm as it is uh like outside um with the uh with the the enterprise and the kind of the development environments that are out there um yeah so uh scientists for instance i think have been uh they they have adopted to a great extent i mean i i was in science i started in science maybe around 2007 2008 and um you know they were much slower i think the scientific community was much slower

to adopt even things like versioning tools like like github and and things of that nature you know and if you kind of think about what uh versioning enables you to do and what what you know what's great about it and you think about what a scientist is doing you can see why it took them a while to um excuse me to adopt those types of tools so one of the great things about github it allows you to collaborate i mean that's like you know git and github and version software is all about collaboration right um a lot of times scientists aren't collaborating very much they're

very small um teams of people maybe even you know just one or two individuals who are writing code and trying to get analysis done and and the the software packages that they're creating are not things that are you know going ultimately to be widely used by a large number of people so um so going back to the ci cd question it's the same kind of thing you know uh it it's it's useful to a scientist if like scientists has a lot of different environments they're working on or if they are part of a big collect like some some disciplines in science are more collaborative than

others obviously or if they're part of a big collaborative team that's you know lots of them are working together but a lot of times it's just a few scientists working on something and so that that might render the whole um cicd kinds of workflows uh a little less useful than they would be in other cases more of a hindrance than a help could be yeah okay it all kind of depends okay no that makes sense and i think we have a couple more questions that have come in uh this is always fun is fuzzball a scheduler a workflow tool or something else all together good

question um so it's not so it's not just i guess maybe part of it is the something else answer to that question right um it's not like just a scheduler just a workflow tool because i kind of talked about before how it actually intelligently provisions resources for you right uh depending on the environment that you're running in so it's it's even a provisioner on top of it being um these other things but yeah i mean it it uh it can work um as a scheduler uh it can work as a workflow tool as well so one of the great things about fuzzball it's really designed

from the beginning for you to be able to run i guess dags and directed acyclic graphs basically jobs that depend on one another it might depend on one another in screwy ways but not in circles [Laughter] so so fuzzball is really uh it's designed to be you know very simple for producing workflows um even really complicated workflows and um that's just part of the the way that the ammo is put together and the way that you uh you know put your jobs together when you write the animal so i guess it's the answer would be it's a little bit of all these things and something

else in addition to that i think one of the other things i know that you've been playing with a little bit lately is vdi so being able to do some sort of vdi with fuzzball and it's a little bit different than what we traditionally think about from being able to get a desktop environment or some sort of gui inside of it you're not doing ssh you're just forwarding x back it's different right yeah so yeah that's another thing that i have been working on i'm trying to uh perfect a little bit um but yeah i mean there's there's ways just with like uh you know

with with traditional cloud or traditional hpc it's a little i think it's a little easier but there are ways to just you know forward ports back from you know the compute nodes that you're running on and be able to connect to those using uh you know jupiter notebooks um there are ways to visualize you know to get a full-on desktop if you want uh within a compute environment and then to be able to um you know provision out more nodes from there if you want to um you know just work on there and kind of develop so you're developing in the same environment that you're

ultimately going to be running in yeah there's lots and lots of different things it's a very very full-featured um tool with a great deal of potential thank you so next question for mark does fuzzball require rocky werewolf enabtainer it's an interesting question we get quite often especially when it comes to the operating system and to answer the operating system perspective no it doesn't require rocky it's just the one that we prefer because it's our product but it will run on other variants of linux out there should actually run on any newer one i'm not going to say any because someone will ask a question about

something that's significantly older and it needs a more modern kernel the werewolf entertainer cloud-based i don't think it requires werewolf in the cloud because you can actually just do api calls directly out to the aws provisioner or the google provisioners i don't think it requires it attainer on the other hand right into that one um well it requires uh it requires something that we refer to as substrate and substrate is the uh the the thing underneath of it which is providing the container runtime environment for everything to run um and but you know when you it's not like you would go and install a bunch

of dependencies and then you would go and install fuzzball on top of that you know fuzzball comes as a prepackaged entity that you just install that that has with it substrate and you know all the other bits and pieces that it needs to run so now the the technical answer is no but i mean the the actual um the gist the real answer is it's going to need a container environment because everything you know runs in containers on fuzzball but that's not like a separate install that's something that just comes with the with the package perfect thank you so that's kind of all the questions

i had today i don't know if there's anything else you want to add to i mean the stack is very interesting it's very uh exciting every time i talk to people there's a lot of excitement around it and the ease that it's going to bring and then being able to do that real hybrid environment and in hpc i think one of the things we didn't touch on dave that i'm getting a lot of people talking about is the ability to utilize cloud resources for things that they may not have so an older hpc environment where they don't have some of the newest latest and greatest

hardware mainly gpus but they're available in the cloud they can still execute that job and be able to go get the gpu resource that they're they're looking for or want but still have the traditional hpc environment is that something that that you're seeing as well yeah absolutely yeah i mean having access to all this all these different resources is just putting you know more power uh you know at the disposal of the end user and anytime you give the end user more power i mean they're gonna they're gonna come up with different and and interesting ways to use it that's great so you have nothing

to add dave i'm gonna go ahead and wrap it up i just want to say that i really appreciate you guys watching today if you have any questions or if you're interested in any of these pieces individually or the entire stack please reach out to us and let us know um all great projects if you want to get involved each one of them has their own website we'll have links to them below get involved contribute back ask questions we'd love to talk to you love to help you where we can really appreciate the time yeah nice talking to you zane absolutely thank you dave you

Built for scale. Chosen by the world’s best.

2.75M+

Rocky Linux instances

Being used world wide

90%

Of fortune 100 companies

Use CIQ supported technologies

250k

Avg. monthly downloads

Rocky Linux

Have questions about your infrastructure?

Talk to a CIQ engineer about Rocky Linux, HPC, and AI infrastructure.

Talk to an Expert