Ph.D. Brown University
M.S. University of São Paulo; Brown University
B.S. University of Brasília
My teaching spans the computer science curriculum, and regularly covers introductory and systems courses. I believe that computer science education has strong potential to engage student creativity when it incorporates research questions (inside or outside the discipline) into practical, diverse, and often multidisciplinary projects.
My research addresses fault-tolerant, efficient computing coordination under both theoretical and practical perspectives. I work on concurrency and synchronization protocols, distributed computability, large-scale data processing, and fault-tolerant protocol design. In the theoretical side of my research, I am particularly interested in fault-tolerant algorithms for Byzantine systems, and in using tools borrowed from combinatorial topology and geometry to address research questions. In the more practical side, I focus on scalable, concurrent data structures for multicores, relying on non-blocking hardware primitives, and transactional memory. I also work on concurrent protocols for non-volatile memory systems.