Programming Distributed Computing Systems: A Foundational Approach
Distributed Algorithms for Message-Passing Systems
Distributed Computing Through Combinatorial Topology
Performance Modeling and Design of Computer Systems: Queueing Theory in Action
Types and programming languages
Java 8 For the Really Impatient
Read a few years ago, but I want to re-read it Software Performance and Scalability: A Quantitative Approach