Value noise is much cheaper; but lower quality; than Perlin. If you are a lazy programmer like me, you may consider using it instead of multithreading your terrain generation.
To compute value noise, we attribute a pseudorandom integer for every point on our plane.
Fractional positions are gathered by bilinear interpolation.