Computer architecture, with an emphasis on multicore architectures, hardware-software interaction, and the application of machine learning to computer systems.