WEBVTT

00:00.000 --> 00:13.840
Okay, hi, I'm Bruce Gain with a company called an analyst firm called Revcom.

00:13.840 --> 00:16.400
We are based on the U.S. Las Vegas.

00:16.400 --> 00:23.240
I'm physically based in France, I'm half French, believe it or not, despite my accent.

00:24.160 --> 00:25.520
That's good, they from say, you see?

00:25.520 --> 00:26.080
No.

00:26.080 --> 00:27.240
No.

00:27.240 --> 00:27.760
Cool.

00:30.760 --> 00:35.760
And so I'm, we've been looking at doing a lot of testing.

00:35.760 --> 00:38.640
That's what we do with Revcom mainly.

00:38.640 --> 00:45.520
And what I've been seeing a lot is with the, you know,

00:45.520 --> 00:49.600
extending observability for our benchmarking test results of software

00:49.600 --> 00:53.400
performance, looking at different ways to do that.

00:53.400 --> 00:56.920
And for observability as well, in my case.

00:56.920 --> 01:01.840
And we find, you know, we found that EBPF is an excellent way to do that.

01:01.840 --> 01:06.280
Everybody here knows how EBPF functions the basic functionality of it.

01:06.280 --> 01:08.240
I'm going to assume, right?

01:08.240 --> 01:09.240
Okay.

01:09.240 --> 01:13.880
So, in my case, we're looking at it more of the observability aspects of it.

01:13.880 --> 01:20.800
And, you know, as we progressed, we found that more recently, despite all the great work

01:20.800 --> 01:27.520
out there, EBPF is still, you know, working progress to extend everywhere, particularly

01:27.520 --> 01:29.520
for different software configurations.

01:29.520 --> 01:31.480
It's tied to the Linux kernel.

01:31.480 --> 01:34.240
I've been using Linux for 25 years.

01:34.240 --> 01:39.000
It's fine with me, but unfortunately, a lot of people have not seen the light.

01:39.000 --> 01:42.840
And are still using different other types of operating systems.

01:42.840 --> 01:48.240
And CPU, well, the CPU configurations are excellent.

01:48.240 --> 01:52.160
For example, a risk type of device and arm.

01:52.160 --> 01:59.160
But the operating system of, for example, Windows, we just recently, or they just recently

01:59.160 --> 02:08.000
made it so that EBPF could extend to Windows servers, for example, and that took a while

02:08.000 --> 02:10.000
and it's still, yeah, it's still in progress.

02:10.000 --> 02:18.320
Yeah, that was announced at QCon, Google it, it's, they claimed it works.

02:18.320 --> 02:20.720
I haven't tested it yet.

02:20.720 --> 02:27.640
So what we're doing now is looking at different CPU and processor configurations.

02:27.640 --> 02:37.760
And again, it originally given its adherence to the Linux kernel, EBPF has not yet extended

02:37.800 --> 02:46.400
there is just extending now to arm processors and specifically to Mac in three processors.

02:46.400 --> 02:54.360
That is working, okay, my demo is not great, but I got it started.

02:54.360 --> 03:02.800
And before I do look at that, I'm going to let you take over for that.

03:02.840 --> 03:09.240
So now extending or beginning to extend to risk or risk-fly specifically processors.

03:09.240 --> 03:20.040
And that is, I would argue that's a very necessary part of EBPF's functionality, because

03:20.040 --> 03:26.560
I really have, there's a lot of evidence out there that risk will serve as a viable option

03:26.560 --> 03:36.280
and replacement, and many cases for the classic CPU X86 types of processors in arm processors

03:36.280 --> 03:37.480
as well.

03:37.480 --> 03:41.280
So that is, who here's familiar with risk?

03:41.280 --> 03:42.280
Risk-fly, okay, cool.

03:42.280 --> 03:46.200
Yeah, there's a great article of wired magazine on it, it's going to great overview

03:46.200 --> 03:50.880
for those, like myself, like a year ago, I did not quite get that.

03:51.200 --> 04:04.480
So going to, you might part of the demo, is that arm 64 processors isn't really ready for

04:04.480 --> 04:05.840
prime time.

04:05.840 --> 04:13.640
Kind of, they say it is spoken with the folks at, for example, Grafana or Scyllium, the open-source

04:13.640 --> 04:15.920
project, there's Bayla.

04:15.960 --> 04:20.320
They say it is, but it, I would argue, it still remains a bit thinnicky for those types

04:20.320 --> 04:25.600
of configurations, and are for running an arm, excuse me.

04:25.600 --> 04:32.640
And so I did a quick hit demo, just a test it on my Mac, and it appears, it took a while,

04:32.640 --> 04:39.440
but it appears to be functioning at least in part, and I'll show you.

04:39.440 --> 04:50.320
This is, again, this is just, yeah, yeah, yeah, suppose I had to put it in a VM container,

04:50.320 --> 04:53.840
and it was running, now it looks like it's what I'm supposed to be getting, and it's still

04:53.840 --> 04:55.680
running, continuing to run.

04:55.680 --> 05:02.960
So I got the EBBF extending to my M3 processor, but this is very hello world, but this

05:02.960 --> 05:08.760
took a while, and I'm still not convinced that it's working as 100% like it should, but that's

05:08.760 --> 05:10.240
where I am with that.

05:10.240 --> 05:14.560
So let me give it now to the risk, the good stuff, the risk stuff, and I'll give it to my

05:14.560 --> 05:15.560
52L.

05:15.560 --> 05:16.560
Okay.

05:16.560 --> 05:17.560
Ning.

05:17.560 --> 05:18.560
Yeah, I didn't introduce you, Ning.

05:18.560 --> 05:19.560
It's okay.

05:19.560 --> 05:26.600
I'm going to listen to the quick instruction, but I had to change that and thought we should

05:26.600 --> 05:51.260
follow.

05:51.260 --> 05:58.260
It just quickly went through that a very quick interaction.

05:58.260 --> 06:03.260
So just now introduce the BFI.

06:03.260 --> 06:05.260
I'm Wednesday tip computing.

06:05.260 --> 06:06.260
I'm founder of it.

06:06.260 --> 06:07.260
And then I'm a software guy.

06:07.260 --> 06:08.260
I'm VM guy.

06:08.260 --> 06:15.260
So if you know about EPPF, then you know it's just a VM.

06:15.260 --> 06:16.260
And I'm a software guy.

06:16.260 --> 06:18.260
Now I'm running a hardware company.

06:18.260 --> 06:19.260
We're making laptops.

06:19.260 --> 06:20.260
All the BFI laptops.

06:20.260 --> 06:23.260
This design is the most expensive one.

06:23.260 --> 06:25.260
$5,000.

06:25.260 --> 06:30.260
And that one is cheaper cheaper and cheaper.

06:30.260 --> 06:35.260
So and by the time I make two generations, I don't want to make my laptop many more.

06:35.260 --> 06:39.260
Start, focus on making motherboard, full-frame work.

06:39.260 --> 06:42.260
So they're framework-proof and despite both.

06:42.260 --> 06:44.260
And just along in the AWS building.

06:44.260 --> 06:48.260
So come along and see all the inventions, imaginations.

06:48.260 --> 06:53.260
So the reason we make all the risk-fight in the modular is because openness.

06:53.260 --> 06:55.260
It's a kind of open hardware.

06:55.260 --> 06:57.260
Together we open source.

06:57.260 --> 06:59.260
The same ideologies.

06:59.260 --> 07:02.260
So it's very good for European style.

07:02.260 --> 07:05.260
You know the culture, the IY and IK.

07:05.260 --> 07:08.260
And then and the pairable.

07:08.260 --> 07:13.260
So and you can see this is the first generation of our motherboard.

07:13.260 --> 07:17.260
And then this is the second generation of our motherboard.

07:17.260 --> 07:21.260
And it's a chip that was in first-by-spite chip that was in VAI.

07:21.260 --> 07:26.260
And before the DDR crisis money actually is not very expensive.

07:26.260 --> 07:28.260
The friend you wrote was something.

07:28.260 --> 07:32.260
Now it's probably gone up to 500 because of the DDR.

07:32.260 --> 07:35.260
So and now the third generation.

07:35.260 --> 07:37.260
So we will make this year.

07:37.260 --> 07:39.260
It's the most powerful one.

07:39.260 --> 07:43.260
So it's probably equivalent to arms high end,

07:43.260 --> 07:46.260
except the nanometers.

07:46.260 --> 07:50.260
So and do come along and see all this quick whosaf.

07:50.260 --> 07:53.260
Okay, back to the EBBF or the risk-fight.

07:53.260 --> 07:54.260
So you can see.

07:54.260 --> 07:58.260
And in general and in this kernel it has already had support the EBBF.

07:58.260 --> 08:04.260
So I think it's in this kernel control.

08:04.260 --> 08:06.260
I thought it too big support anyway.

08:06.260 --> 08:10.260
And then it's only now for our risk-fight 64-bit.

08:10.260 --> 08:15.260
And you can see all this chip, jika and power,

08:15.260 --> 08:18.260
and all this is less in both things.

08:18.260 --> 08:22.260
This is the current state of the risk-fight of the EBBF.

08:22.260 --> 08:25.260
And then what actually the performance improvements.

08:25.260 --> 08:30.260
I think the maintainer do some of the instructions and deliberations

08:30.260 --> 08:35.260
to the swap and all with all the specified risk-fight instructions

08:36.260 --> 08:39.260
to increase the EBBF with VM performance.

08:39.260 --> 08:42.260
And some of those are comparison instructions as well.

08:42.260 --> 08:44.260
So that's part of that.

08:44.260 --> 08:50.260
But in fact, what just now says that,

08:50.260 --> 08:52.260
so actually EBBF can do a lot of things.

08:52.260 --> 08:55.260
Most 90s on the security design.

08:55.260 --> 09:00.260
On the nines module to control all those assets.

09:00.260 --> 09:08.260
So you can see that in the old way for UBBF,

09:08.260 --> 09:10.260
it's just a VM.

09:10.260 --> 09:16.260
In the old way, software guys usually can ask the hardware guy

09:16.260 --> 09:18.260
to support its instructions.

09:18.260 --> 09:22.260
So if you look at the core of it, it's just a VM.

09:22.260 --> 09:26.260
And with them, by code, and all the definitions.

09:26.260 --> 09:31.260
And because risk-fight is such an open ISA,

09:31.260 --> 09:36.260
and now I can give people of where we're interested in the EBBF.

09:36.260 --> 09:38.260
You can think about that.

09:38.260 --> 09:42.260
We no longer need the VM in the kernel.

09:42.260 --> 09:46.260
And you no longer need the BICO or.

09:46.260 --> 09:53.260
And people can think about it as the risk-fight process to support.

09:53.260 --> 09:57.260
So core EBBF or BICO extension.

09:57.260 --> 10:02.260
So basically, the risk-fight instruction can implement

10:02.260 --> 10:04.260
whatever the BICO is.

10:04.260 --> 10:06.260
Then you don't need to check and power it anymore.

10:06.260 --> 10:09.260
So that would tell you the flexibility between,

10:09.260 --> 10:14.260
even within risk or risk-fight.

10:14.260 --> 10:18.260
You need to ask them for permission to do anything.

10:18.260 --> 10:20.260
But risk-fight is not.

10:20.260 --> 10:23.260
If you find a feature, you raise your hand.

10:23.260 --> 10:25.260
You go to risk-fight international.

10:25.260 --> 10:26.260
I'm going to do this span.

10:26.260 --> 10:31.260
Where we're doing making the CPU, they're interested in implement the span.

10:31.260 --> 10:34.260
For example, you say, this is a BBF span.

10:34.260 --> 10:37.260
Can you help me to implement all these instructions?

10:37.260 --> 10:40.260
And then I will get it one on the NINIS kernel.

10:40.260 --> 10:42.260
And straight away.

10:42.260 --> 10:49.260
And the best thing, even a university, you can make BBF.

10:49.260 --> 10:52.260
We aim machine in RIS-fight instructions.

10:52.260 --> 10:55.260
And then put in the FPGA.

10:55.260 --> 11:00.260
And then you have a standard RIS-fight associate.

11:00.260 --> 11:03.260
And then when they don't recognize that instruction,

11:03.260 --> 11:06.260
they get bunched to your FPGA.

11:06.260 --> 11:08.260
So that is the flexibility.

11:08.260 --> 11:12.260
I tell you guys, you can put more imaginations around that.

11:12.260 --> 11:14.260
In the old days, you can't.

11:14.260 --> 11:16.260
You can't ask Intel to do anything.

11:16.260 --> 11:19.260
Or you can do stuck with it.

11:19.260 --> 11:21.260
But now, this is fine.

11:21.260 --> 11:23.260
You can use all your imagination.

11:23.260 --> 11:25.260
Do whatever you like.

11:25.260 --> 11:27.260
And meet the best of it.

11:27.260 --> 11:36.260
So that's the RIS-fight laptop once BBF.

11:36.260 --> 11:39.260
And knocking what people do stuff.

11:39.260 --> 11:43.260
And I'm sure, you know, now it's software-based VM.

11:44.260 --> 11:49.260
And I guess you can think about making the hardware-based VM.

11:49.260 --> 11:52.260
And just now, how many years ago?

11:52.260 --> 11:56.260
20, 30 years ago, when is our come along?

11:56.260 --> 11:59.260
We do have a CPU one-stawa bike called straight away.

11:59.260 --> 12:05.260
And also, if you guys still have a Nokia feature phone,

12:05.260 --> 12:07.260
the old one.

12:07.260 --> 12:11.260
And that CPU runs the bike already.

12:11.260 --> 12:16.260
And I was winning the feature phone Java platform at the time for Nokia.

12:16.260 --> 12:19.260
So this is the same imagination for RIS-fight.

12:19.260 --> 12:20.260
Thank you.

12:20.260 --> 12:21.260
Please.

12:34.260 --> 12:37.260
Any questions?

12:38.260 --> 12:40.260
Actually, I just wanted to conclude that.

12:40.260 --> 12:41.260
Oh, so.

12:41.260 --> 12:42.260
Yes, I'm sorry.

12:42.260 --> 12:45.260
As you need, just said as well.

12:45.260 --> 12:46.260
You know, the arm.

12:46.260 --> 12:48.260
I'm, we're going to run it.

12:48.260 --> 12:50.260
We will get there eventually, of course.

12:50.260 --> 12:53.260
But we're still struggling with the benchmarks we do.

12:53.260 --> 12:55.260
Specifically, we're looking at, I use nix.

12:55.260 --> 12:57.260
We use, we use nixOS.

12:57.260 --> 13:02.260
And nix to run our benchmarks, you know, for the reproducibility of that.

13:02.260 --> 13:08.260
And, you know, I've really, eventually, we're going to use ebps for that.

13:08.260 --> 13:11.260
But right now, there's still, for the arm process,

13:11.260 --> 13:16.260
or specifically, we still need to run the VM with the kernel.

13:16.260 --> 13:19.260
So I'm sure it's possible.

13:19.260 --> 13:22.260
I've been told it's possible, but I haven't seen that yet.

13:22.260 --> 13:24.260
They run it directly on the arm processor yet.

13:24.260 --> 13:28.260
Whereas, as you need, just showed and articulated,

13:29.260 --> 13:33.260
we can run that now on risk.

13:33.260 --> 13:36.260
And that's mainly thanks to the open source aspect of it.

13:36.260 --> 13:38.260
And I'm going to arm you as you articulated.

13:38.260 --> 13:39.260
So that's it.

13:39.260 --> 13:41.260
Any questions?

13:42.260 --> 14:01.260
I'm curious what your experience is with respect to writing a BFF code,

14:01.260 --> 14:08.260
where the BFF binary is supposed to be portable between x86, arm,

14:09.260 --> 14:11.260
risk 5.

14:11.260 --> 14:18.260
So what support is there for, like, making BFF work across platforms,

14:18.260 --> 14:23.260
or assuring helper availability across platforms?

14:23.260 --> 14:24.260
Anything of that kind?

14:24.260 --> 14:26.260
That's what I'm looking for.

14:26.260 --> 14:28.260
But I'm trying to look at nix.

14:28.260 --> 14:31.260
I'm looking at nix right now, and using a nix packet.

14:31.260 --> 14:35.260
I'm looking at that for ebps, but I'm still haven't found that packet.

14:35.260 --> 14:40.260
Or to be able to do that directly without using when the VM route for arm processors.

14:40.260 --> 14:43.260
I'll let unique answer to that question.

14:43.260 --> 14:44.260
If you like.

14:44.260 --> 14:45.260
I think.

14:45.260 --> 14:46.260
I'll.

14:46.260 --> 14:48.260
I'll.

14:48.260 --> 14:50.260
I'll make some sense.

14:50.260 --> 14:51.260
Thank you.

14:51.260 --> 14:52.260
I want to ask.

14:52.260 --> 14:53.260
I did.

14:53.260 --> 14:54.260
I did.

14:54.260 --> 14:55.260
So my.

14:55.260 --> 14:59.260
I think that's why I think BFF code is not.

14:59.260 --> 15:00.260
Why.

15:00.260 --> 15:01.260
Why.

15:01.260 --> 15:14.260
If you get.

15:14.260 --> 15:15.260
If you get.

15:15.260 --> 15:18.260
If you get.

15:18.260 --> 15:19.260
If you get.

15:19.260 --> 15:38.940
stage.

15:38.940 --> 15:39.600
Okay and basically your question

15:39.600 --> 15:45.000
in some is the how-supportability was across different

15:45.000 --> 15:50.000
And that's the one of the principal origin of all PPF.

15:50.000 --> 15:52.000
It's saying that I need the VM.

15:52.000 --> 15:55.000
I need to standardize a bicole.

15:55.000 --> 16:00.000
So that the bicole can run on any of the architecture.

16:00.000 --> 16:04.000
And then when it runs, it's shipped to the simple jit.

16:04.000 --> 16:07.000
I can remember the jit name as a jit pakao wherever.

16:07.000 --> 16:12.000
And it's shipped to the corresponding architectures.

16:12.000 --> 16:15.000
So the jit is very simple.

16:15.000 --> 16:20.000
And EVPPF, the app code is very simple.

16:20.000 --> 16:26.000
It's very similar to back in the old day, the Java app app.

16:26.000 --> 16:30.000
Or mobile phones, we couldn't meet that.

16:30.000 --> 16:32.000
Very simple.

16:32.000 --> 16:34.000
And that's the purpose of it.

16:34.000 --> 16:36.000
When you have a VM, you have a jit.

16:36.000 --> 16:41.000
That means your EVPPF application is portable.

16:42.000 --> 16:55.000
But by the time, the reason why I have a jit and the jit needs to maintain.

16:55.000 --> 16:58.000
And that's part of the painful things.

16:58.000 --> 17:05.000
And especially, I am still evolving from our V-A, V-N-I,

17:06.000 --> 17:12.000
V-T-N, and V-V-V-V-V-N, you know, and all those things.

17:12.000 --> 17:19.000
And I would think that, in terms of that, I would think,

17:19.000 --> 17:26.000
this file probably more appropriate,

17:26.000 --> 17:34.000
because, and you can just rest in for this EVPPF customize instruction.

17:34.000 --> 17:40.000
According to SPAC, they never change according to the main CPU SPAC.

17:40.000 --> 17:45.000
It doesn't really care about your main CPU instruction anymore.

17:45.000 --> 17:50.000
That is one thing, if you have a hardware VM.

17:50.000 --> 17:55.000
The hardware, actually, co-processor, deal with all the very instructions.

17:55.000 --> 18:03.000
It's far easier than you maintain a VM and jit and measure that the old correctly implemented.

18:04.000 --> 18:14.000
Back in the old day, when we do a VM, we had to 110,000 test cases to verify the VM's correct.

18:14.000 --> 18:20.000
But now, probably, I don't think EVPF more than a thousand cases.

18:20.000 --> 18:27.000
So, you had no idea whether the VM works or not correctly across different architectures.

18:27.000 --> 18:34.000
I, 20 years ago, when I started doing development, I put PowerPC MAPS.

18:34.000 --> 18:41.000
At the time, we won me to a mid-A1, you know, and then not even call that code.

18:41.000 --> 18:46.000
That, we had to make sure the VM is actually properly tested.

18:46.000 --> 18:50.000
But I don't think EVPF is there yet.

18:50.000 --> 18:54.000
So, portability is, I think, maintenance and nothing but anyway.

18:54.000 --> 19:03.000
Now, if AI, so, probably the AI can be right at the VM every night.

19:03.000 --> 19:04.000
That's all?

19:04.000 --> 19:11.000
Okay.

19:11.000 --> 19:13.000
Thank you.

19:13.000 --> 19:14.000
You're free to go.

19:14.000 --> 19:15.000
Thank you.

19:15.000 --> 19:16.000
Thank you.

