Numerical techniques for large cosmological N-body simulations