  Fault-tolerant quantum error correction is essential for implementing quantum
algorithms of significant practical importance. In this work, we propose a
highly effective use of the surface-GKP code, i.e., the surface code consisting
of bosonic GKP qubits instead of bare two-dimensional qubits. In our proposal,
we use error-corrected two-qubit gates between GKP qubits and introduce a
maximum likelihood decoding strategy for correcting shift errors in the
two-GKP-qubit gates. Our proposed decoding reduces the total CNOT failure rate
of the GKP qubits, e.g., from $0.87\%$ to $0.36\%$ at a GKP squeezing of
$12$dB, compared to the case where the simple closest-integer decoding is used.
Then, by concatenating the GKP code with the surface code, we find that the
threshold GKP squeezing is given by $9.9$dB under the the assumption that
finite-squeezing of the GKP states is the dominant noise source. More
importantly, we show that a low logical failure rate $p_{L} < 10^{-7}$ can be
achieved with moderate hardware requirements, e.g., $291$ modes and $97$ qubits
at a GKP squeezing of $12$dB as opposed to $1457$ bare qubits for the standard
rotated surface code at an equivalent noise level (i.e., $p=0.36\%$). Such a
low failure rate of our surface-GKP code is possible through the use of
space-time correlated edges in the matching graphs of the surface code decoder.
Further, all edge weights in the matching graphs are computed dynamically based
on analog information from the GKP error correction using the full history of
all syndrome measurement rounds. We also show that a highly-squeezed GKP state
of GKP squeezing $\gtrsim 12$dB can be experimentally realized by using a
dissipative stabilization method, namely, the Big-small-Big method, with fairly
conservative experimental parameters. Lastly, we introduce a three-level
ancilla scheme to mitigate ancilla decay errors during a GKP state preparation.
