Demystifying Latency and Throughput in System Design