-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathexp.tex
42 lines (34 loc) · 3.89 KB
/
exp.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
\section[Experience]{\faBriefcase~~Experience}
\begin{experience}{Dolphin Interconnect Solutions}{
\position{Scientific R\&D Manager}{2023}{\phantom{0000}}
\position{Software Architect}{2019}{2023}
\position{Senior Software Engineer}{2018}{2019}
}
\item{Technical lead of a new SmartIO R\&D team, focusing on research and development of the SmartIO device sharing solution and integrating ideas and prototypes from my PhD into Dolphin's standard product line.}
\item{Implemented an NVMe device driver and block device interface on top of SmartIO, allowing multiple hosts in a PCIe cluster to share and simultaneously access NVMe devices over native PCIe and without requiring virtualization. Also published a workshop paper about this.} % Also designed and implemented several memory locality optimizations for this distributed NVMe driver to minimize traffic over the PCIe fabric.}
\item{Developed multiple shared-memory and RDMA-based tools for benchmarking the performance of data transfers in Dolphin PCIe clusters.}
\item{Contributed to two research papers on PCIe P2P and offloading a DPDK network card driver onto an FPGA and a GPU, respectively.}
\end{experience}
\begin{experience}{Simula Research Laboratory}{
\position{External PhD Student}{2018}{2022}
\position{PhD Student}{2015}{2018}
}
%\item{Was a full-time PhD student until my scholarship ran out, and then completed the PhD on my own time while I worked for Dolphin.}
\item{Co-invented the SmartIO solution for enabling a composable \& disaggregated infrastructure in Dolphin PCIe-based shared-memory clusters, allowing host~machines in such clusters to disaggregate and share their internal host~memory and PCIe devices (such as GPUs, NVMes, FPGAs, etc.). %
SmartIO facilitates efficient and flexible resource sharing with extremely low overhead, without requiring changes to existing device drivers or application software, as hosts can use remote resources over native PCIe as if they were locally installed.}
%As hosts can use remote resources over native PCIe as if they were locally installed, SmartIO facilitates efficient and flexible resource sharing with extremely low overhead and without requiring changes to existing device drivers or application software.}
\item{Extended SmartIO to support assigning physical devices to VMs running on remote hosts in a Dolphin cluster, by adding support for the Linux KVM hypervisor using the VFIO mediated device driver API.}
\item{Developed a CUDA/C++ library with GPUDirect support for interfacing with the low-level functionality of SmartIO, and, as proof of concept, implemented a userspace NVMe driver using this API that enable GPUs to initiate reading and writing from storage independently of CPUs and moving data directly into GPU memory (driver offloaded onto GPU).}
%\item{Performed extensive experimentation to identify performance bottlenecks and implemented several optimizations that reduced the latency overhead of remote memory access to near-zero (\textless 50~ns).}
\item{Published 5 academic papers about SmartIO, including a paper in ACM TOCS, a flagship journal on distributed computer systems.}
\end{experience}
\begin{experience}{Bridgetech}{\position{Software Developer (C++)}{2014}{2015}}
\item{Contributed to a solution using libpcap for live capturing OTT/IPTV traffic and parsing out MPEG transport streams sent over RTP.}
\item{Implemented a parser for MPEG video streams to extract and validate closed captioning data and provide real-time event notifications in case of missing or corrupted data.}
\end{experience}
\shortexperience{Fotoware}{
\position{Software Development Engineer (C++/Python)}{2013}{2014}
\position{Front-end Web Developer}{2011}{2013}
}
\shortexperience[last]{Redimi}{\position{Java Programmer (part-time)}{2010}{2011}}
%\shortexperience[last]{University of Oslo}{\position{Teaching Assistant}{2009}{2011}}