Ruslan Nikolaev

Ph.D., Research Assistant Professor, Virginia Tech

Email: rnikola {AT} vt.edu

I am a Research Assistant Professor with the Department of Electrical and Computer Engineering at Virginia Tech and work in the Systems Software Research Group, led by Prof. Binoy Ravindran. Prior to that, I worked as a Senior Software Engineer with Pure Storage, Inc. and as a Software Engineer with Microsoft Corporation. I completed my Ph.D. in Computer Science at Virginia Tech in 2013. My Ph.D. advisor was Prof. Godmar Back.

Research interests: Operating systems, concurrency, algorithms, virtualization, file systems, storage, networking.

Contact: 1991 Kraft Dr SW, Phone: (540) 231-1418

Selected Publications

Universal Wait-Free Memory Reclamation. Ruslan Nikolaev and Binoy Ravindran. To appear in Proceedings of the 25th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP'20). San Diego, CA, USA.

A Scalable, Portable, and Memory-Efficient Lock-Free FIFO Queue. Ruslan Nikolaev. In Proceedings of the 33rd International Symposium on Distributed Computing (DISC'19). Budapest, Hungary. Paper and Source Code

Brief Announcement: Hyaline: Fast and Transparent Lock-Free Memory Reclamation. Ruslan Nikolaev and Binoy Ravindran. In Proceedings of the 38th ACM Symposium on Principles of Distributed Computing (PODC'19). Toronto, ON, Canada. Paper, Full (arXiv) Paper, and Source Code

VirtuOS: An Operating System with Kernel Virtualization. Ruslan Nikolaev and Godmar Back. In Proceedings of the 24th ACM Symposium on Operating Systems Principles (SOSP'13), pp.116-132. Farmington, PA, USA. Paper, Slides, Video, Poster, Source Code, and Original Website

Perfctr-Xen: a framework for performance counter virtualization. Ruslan Nikolaev and Godmar Back. In Proceedings of the 7th ACM SIGPLAN/SIGOPS international conference on Virtual Execution Environments (VEE'11), pp.15-26. Newport Beach, CA, USA. Paper, Slides, Poster, Source Code, and Original Website

Side Projects

Native UEFI shim, a fork of Red Hat's UEFI shim. The fork is completely standalone and does not use gnu-efi with ELF wrappers. Instead, it uses native UEFI compilation with the PE/COFF output format. Due to much better linking, it also drastically reduces executable image sizes.

Past Projects

VirtuOS, a prototype OS based on the Linux kernel and Xen hypervisor which exploits virtualization to isolate and protect vertical slices of existing OS kernels in separate service domains. VirtuOS's user library dispatches system calls directly to service domains using an exceptionless system call model, avoiding the cost of a system call trap in many cases.

Perfctr-Xen, a universal framework allowing virtualization of hardware counters, so that performance analysis toolkits can operate properly in Xen. Perfctr-Xen is very efficient and can work in both HVM and paravirtualized modes. A wide range of toolkits such as PAPI, HPCToolkit, and TAU PerfExplorer are supported.

Open Source Activity

Over the years, I contributed code to various open-source projects. Some examples where the code ended up in the mainline are: LLVM/clang compiler, Info-ZIP (ubiquitous zip/unzip archiver), RHash (tool with numerous hash-sum functions), GNU GRUB 2 bootloader, and Syllable OS.

Past Work Experience

Pure Storage, Senior Software Engineer, 2014-2017
Microsoft, Software Engineer, 2014
VMware, Software Engineer (Intern), Summer 2012
Microsoft, Software Engineer (Intern), Summer 2011
ABBYY, Software Engineer, 2007

Disclaimer: Any information presented on this web page in part or in whole cannot be redistributed without a written permission of the author. Any paper, source code or other outside material are distributed under their corresponding copyright and licensing terms. Any views, opinions and positions of the author do not necessarily represent views, opinions and positions of any past or present employers, an affiliated person or companies.