
TL;DR
This paper explores the feasibility of developing a network card driver for the Intel 82599 in C#, aiming to assess performance, security, and development simplicity compared to traditional languages.
Contribution
It demonstrates the development of a NIC driver in C#, evaluating its feasibility, performance, and identifying gaps in C# for driver development.
Findings
C# driver development is feasible for NICs.
Performance of C# driver is comparable to traditional implementations.
Using C# can reduce bugs and improve security in driver code.
Abstract
Drivers have a special status among the developer community that sees them as mysterious and inaccessible. We think their extensive communication with the hardware and their need of high performance are the cause of this bad reputation. According to a widely held view, these two requirements cannot be met using high level languages. However high level languages' compilers and runtimes made great progress these past years to enhance the performance of programs. The use of these languages can also reduce by a significant amount the number of bugs and security issues introduced by the programmers by taking care of some error-prone parts like memory allocation and accesses. We also think that using high level languages can help to demystify the drivers' development. With this project, we try to develop a driver for a network card, the Intel 82599, in C\#. Our goal is to find out the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputability, Logic, AI Algorithms · Scientific Computing and Data Management · Advanced Malware Detection Techniques
