Red Hat is continually innovating and part of that innovation includes researching and striving to solve the problems our customers face. That innovation is driven through the Office of the CTO and includes OpenShift, OpenShift Container Storage and use cases such as the hybrid cloud, privacy concerns in AI, and data caching. We recently interviewed Hugh Brock, research director for the office of the CTO, here at Red Hat about these very topics.
Let's start with what you do and what your role entails.
Sure. I am the Research Director for the Office of the CTO. So, I lead our engineering relationships with universities, worldwide. What that means is that I and my staff make contacts with researchers at universities — the universities that we work already work with and sometimes new ones, look at the work that they're doing, and try to determine if any of it is interesting to Red Hat.
If it is, then we figure out ways to help further that work, and ideally get the results of it into an open source project.
How do you go about that?
We have a couple of different ways of doing that.
One of the most useful ways is to find a Red Hat engineer who is willing to help with the project. There are lots of ways that we can help. Sometimes it's just advice on practical ways of doing things, of writing the code to support a project. Sometimes it is actually writing the code to backup the concept that a researcher is working on, and getting that code submitted upstream.
And sometimes it's financial support. I have, you know, not a huge, but reasonable budget that I can use to support PhD students, for example, or I can find partners who are interested in helping.
Can you give us an idea of where this is happening now?
We're primarily active in Boston, where I am. But also in Tel Aviv and also in our Brno, Czech Republic office. I am making more contacts now in places like the University Wisconsin, Baylor University, Berkeley, and a bunch of a number of other schools in Europe as well. Things kind of keep rolling along and getting bigger.
The way we work with the universities has changed somewhat during the pandemic, but it hasn't diminished at all. In the US, most of our university partners will be remote this fall, so where we're teaching or working with them on research we're doing that remotely.
In Europe, by contrast, a lot of the universities are planning a normal class schedule for the fall. We are trying to work out now how we will safely teach at our partner schools in Brno (for example) -- answers still forthcoming on that. But the research projects are continuing as you would expect.
How many universities are you working with currently?
Gosh. Ten or maybe a few more in the US, and then an equivalent number in Europe, and then an additional four or five in Israel.
How important is what's coming from students or Ph.D. candidates to Red Hat's efforts?
It does two things. First of all, sometimes we actually get interesting work out of it, that really does go upstream. But we don't expect that to happen with every project we do, or it wouldn't be research, right?
The other thing that it does for us, though, is it gets us interactions with universities, where we can then attract interns to work for us. And, that is a large and growing part of the way we recruit people to work for Red Hat — the way we enable our whole growth as a company.
The other thing it does is, ideally, it improves our reputation. We would like our customers and our partners to think of us not as a company that's following what other people are doing, but as a company that is leading in some ways. The research program definitely helps build our credibility on that front.
What areas does the research focus on?
Three primary areas right now. Everybody thinks about Red Hat primarily as an operating systems vendor. One of the interesting things about my job right now is that suddenly, after many years of operating systems being kind of ho-hum, all of a sudden they're getting very interesting again.
So we have a lot of research going on different aspects of the OS, and the tools that we use to build the OS, and build software on top, and all this kind of crunchy platform stuff. There's work exploding in those areas now, for a number of reasons, but mainly because of the declining rate of processor speed growth. The whole Moore's Law thing, which is really Dennard scaling if you want to be nerdy about it.
Yes, let's absolutely be nerdy about it.
Basically it means processors aren't getting faster as quickly as they used to. And so all of a sudden, hardware is getting more interesting again,. and that means to us it's more interesting.
We have a number of projects going on. Everything from research into making a Linux unikernel, to research around technical field programmable gate arrays, FPGA's to create open source tools, to enable using those to their best potential. Lots of interesting stuff like that.
The other area that I'm spending a lot of time on is privacy. Particularly cryptography around privacy-preserving artificial intelligence. And what that means is that we would like to be able to build AI and use AI in a way that doesn't compromise people's personal information.
That's actually really hard, because a lot of the data sets out there include personal information. Just anonymizing the data isn't sufficient, because there's often enough correlating information that you can pick up from public sources, that if you have a data record, even the name is redacted, you can still figure out who you're talking about.
So there are lots of interesting cryptographic and privacy techniques that enable us to build AI and do research on private data sets without compromising the people who were part of the data set. And that's a major focus of the research that we're doing.
How do you focus on a project?
We try to focus on projects where we have Red Hatters who are already interested in the work. That keeps it grounded and related to our corporate interest.
Can you talk a little about how the hybrid cloud enters into these areas?
Well, you could for sure say, for example, the work we're doing with unit kernels and FPGA, both of those things, make it possible to run to speed workloads on multiple platforms. If you want to talk about the hybrid part of hybrid cloud, we need to be doing that kind of work, so that you can take your workload and run it on legacy machines in your private data center, and faster machines in a in a cluster somewhere in the public cloud, in the growing number of different architectures that are going to be out there. In order to be portable across architectures, you need this kind of stuff, right?
Same thing goes with privacy-preserving stuff. If you want to be able to move data around safely and securely, you need privacy-preserving AI. And moving data is a key part of hybrid cloud. You have to be able to move things from one place to another.
We have some storage research that is directly related to that as well — ways to cache data sets that you're working on local to the compute, so that if you're trying to move a workload from one place to another, you don't have to drag all the data along with it.
Since you're working with multiple universities, there must be pretty big collaborative aspects to what you do. I don't know how you end up dividing the research and how it's done. Can you speak to that a bit?
Yeah. I have small teams of program managers, here in Boston, in Brno and also in Tel Aviv. It's their job to make sure that the research projects we have underway all have reasonable goals, that they're progressing, and that we're not putting resources, time and energy — and in some cases money — into areas that aren't moving forward. All of that takes some level of management and, you know, you can't exactly manage academics. They're not super manageable. But you can at least monitor.
So that's one of the key things that we do. I spend a lot of time trying to get our researchers, in Brno let's say, to talk with the researchers in Boston, when they're working on related topics. And vice versa.
Of course, sometimes that works, sometimes it doesn't. It's hard to get researchers to collaborate. It's not in their nature. But, sometimes really interesting things come out of it. I only have three or four really technical people on my staff. Most of the staff are technical enough, but they're really about coordinating the work.
And: community. We spend a lot of time writing about what we do. Blogging. We have a magazine that we print every quarter, lots of things like that.
You said research does not always mean that every project is going to come to fruition. How do you manage that? What's the percentage of projects that do end up making it, to those that don't? What are the challenges involved with that?
It's a good question. I can point to some successes for sure, and I can point to some things that haven't worked. I guess I figure if one is three projects that we sponsor actually winds up with code in an upstream project, I think we're doing pretty good. If everything we're doing is going upstream, then we're not doing research, we're doing engineering. And I'm not. It's not my mandate. We've got lots of other people doing that work.
What is the value of working with universities and the students? Is it that they are on the cutting edge? How would you describe their thinking and ability to research?
It's new ideas, right? Where else are you going to go to find someone who's willing to devote four or five years of their life to chasing an idea that might turn out to be a dry hole? Who might wind up writing a paper that says, "this doesn't work." That's really valuable. We get a lot of value out of out of the freshness of the ideas and the energy of a university program.
But, because open source, in so many cases, is new to universities, they also really get a lot of value out of working with us.
Many professors aren't necessarily comfortable with just opening everything, because they're rightfully worried that their students won't get credit for their ideas. But they are increasingly realizing, I think, that they have to be in the open source game. Open source moves so fast, that if you're a grad student, and you're working with a thesis, and you're not in tune with whatever the community is doing in that area, it's highly likely that someone will develop your idea — if it's a good idea in an upstream project — before you have the chance to get a paper out of it.
In that case, if the idea is not novel, then your paper isn't good, no matter how well researched it is. So, definitely, they get as much from us as we give we get from that.
How does that work? If that grad student decides to share his or her idea, do they get credit for it? Or is that something that you have to set aside, that you would want to get credit for your idea?
We have to be careful with this, because we want the students we work with to be successful.
We have the Unikernel project going right now. We've got people in the company who were looking at this and saying, "Well, we want to implement this. Like, we can actually build this." We're trying to make space for the guy who's doing the research. We'd like him to get his paper published before we start pushing stuff into the actual upstream community, so that he gets some credit. It's important for us that we be responsible about that, and it's important for the people we work with.
Are many other companies working with universities in the ways Red Hat is? Or is that something unique to you?
Not that I'm aware of. Lots of companies work with universities on a much grander scale than we do. But I think we're the only ones who can credibly say, "We want to work with you and get your idea into an upstream project." We're not interested in buying IP or taking IP or doing a bunch of research that we lock up in a proprietary product. That's not what we do.
I'm pretty sure we're the only company, the only sizable company that can say that, which is kind of weird, really.