<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<font face="Times New Roman, Times, serif">Hello All,<br>
<br>
Although I am just getting started with bitvisor and also uefi
coding, I have been doing some initial research on a fundamental
question that I have as it relates to the bitvisor extension
project that I am doing.<br>
<br>
In my reading about uefi applications, the information seems to
suggest that there is not any real type of threading in the normal
sense that we use it in programming, but that the uefi application
typically uses only a single "core" for the application. Upon
further reading, it also seems that you can start up and use other
cores as well which made me wonder if bitvisor is all run on a
single core in a single thread?<br>
<br>
I ask, because if it is then I wonder what it might take to run
the networking (i.e. L2 vSwitch or L3 vRouter) on their own
independent core? <br>
<br>
The question stems from the recent ideas in network stacks that
are working towards zero-copy and kernel-bypass so that packet
processing can be significantly enhanced by taking control of the
network card and pushing the application interface into user
space. Some of this is starting to happen on servers with specific
hardware for it through things like DPDK (i.e. Demikernel from
Microsoft and others), but it made me wonder if bitvisor could
push a vRouter, for example, onto it own core and run the other
parts as normal in bitvisor. <br>
<br>
It kind of reminds me of building out Unikernels for networking
with frameworks like "IncludeOS" and others that seem to show huge
gains in network routers/switches when removed from the kernel and
given a dedicated system core.<br>
<br>
It's just a crazy thought and would require much more research to
get a good feel for it, but I just thought that I would ask on the
developers mailing list to see what types of thoughts and
discussions it might set into motion.<br>
<br>
Best Regards and have a great day,<br>
Lonnie<br>
</font>
</body>
</html>