Distributed Gradient Descent Optimization