  The current framework of network utility maximization for distributed rate
allocation assumes fixed channel code rates. However, by adapting the physical
layer channel coding, different rate-reliability tradeoffs can be achieved on
each link and for each end user. Consider a network where each user has a
utility function that depends on both signal quality and data rate, and each
link may provide a `fatter' (`thinner') information `pipe' by allowing a higher
(lower) decoding error probability. We propose two distributed, pricing-based
algorithms to attain optimal rate-reliability tradeoff, with an interpretation
that each user provides its willingness to pay for reliability to the network
and the network feeds back congestion prices to users. The proposed algorithms
converge to a tradeoff point between rate and reliability, which is proved to
be globally optimal for codes with sufficiently large codeword lengths and user
utilities with sufficiently negative curvatures.
