Computer architecture, operating systems, distributed systems, reliable computing, high-performance computing, databases, and computer systems security.