  A "pulsar timing array" (PTA), in which observations of a large sample of
pulsars spread across the celestial sphere are combined, allows investigation
of "global" phenomena such as a background of gravitational waves or
instabilities in atomic timescales that produce correlated timing residuals in
the pulsars of the array. The Parkes Pulsar Timing Array (PPTA) is an
implementation of the PTA concept based on observations with the Parkes 64-m
radio telescope. A sample of 20 millisecond pulsars is being observed at three
radio-frequency bands, 50cm (~700 MHz), 20cm (~1400 MHz) and 10cm (~3100 MHz),
with observations at intervals of 2 - 3 weeks. Regular observations commenced
in early 2005. This paper describes the systems used for the PPTA observations
and data processing, including calibration and timing analysis. The strategy
behind the choice of pulsars, observing parameters and analysis methods is
discussed. Results are presented for PPTA data in the three bands taken between
2005 March and 2011 March. For ten of the 20 pulsars, rms timing residuals are
less than 1 microsec for the best band after fitting for pulse frequency and
its first time derivative. Significant "red" timing noise is detected in about
half of the sample. We discuss the implications of these results on future
projects including the International Pulsar Timing Array (IPTA) and a PTA based
on the Square Kilometre Array. We also present an "extended PPTA" data set that
combines PPTA data with earlier Parkes timing data for these pulsars.
