©2019 by Dimitrios S. Nikolopoulos. Proudly created with Wix.com


John W. Hancock Professor of Engineering
Professor of Computer Science
Virginia Tech

Keyboard and Mouse


I am the John W. Hancock Professor of Engineering and Professor of Computer Science at Virginia Tech.  I do research in system software for large-scale computing and new computing paradigms. I am the recipient of a Royal Society Wolfson Research Merit Award, the NSF CAREER Award, the DOE CAREER Award, the IBM Faculty Award, the SFI-DEL Investigator Award and Best Paper Awards from some of the premier IEEE and ACM conferences in my area, including SC, PPoPP, and IPDPS. I have mentored 28 PhD students and 16 post-doctoral research fellows over my career. My research has been supported with extensive funding ($38.9m as Principal Investigator and $101.7m as a CoInvestigator) awarded competitively from NSF, DOE, EPSRC, SFI, NI DfE, Royal Academy of Engineering, Royal Society, the European Commission, IBM, SAP and Intel. I have taught courses in computer organization, computer architecture, parallel programming, operating systems and embedded systems in Higher Education since 2001. I am a  Distinguished Member of the ACM for outstanding scientific contributions to computing, Fellow of the Institute of Engineering Technology (FIET), Fellow of the British Computer Society (FBCS), and Senior Member of the IEEE. I earned PhD (2000), MSc (1997) and BEng (1996) degrees in Computer Engineering and Informatics from the University of Patras and I was trained as a postdoc at the University of Illinois at Urbana-Champaign.

My detailed Curriculum Vitae is available.



My research output is captured by Google Scholar and DBLP. I have published 220 papers in leading peer reviewed journals and conferences on experimental computing systems.

I am working with some outstanding students  at Virginia Tech and here they are!

  • Mostafa Kahla (PhD track, ECE) Theme: Light containers

  • Daniel Moyer (MSc track, CS) Theme: Serverless world

  • Sam Hentschel (MSc track, CS) Theme: SGX world


Concurrent data structures and their implementation for emerging storage systems and applications.


Mitigating performance interference and enabling performance isolation in  servers with heterogeneous processing elements.


Understanding and mitigating hardware errors in system software. Migration and fault tolerance in containers and virtual machines.



I am teaching CS2506: Computer Organization II  in Spring2020. Learning processor organization, memory systems, Assembly, C and more!


"The best way to predict the future is to create it"

Abraham Lincoln



2214 Knowledge Works II, 2202 Kraft Drive, Blacksburg VA 24060