Skip to content

Asynchronous implementation in Scala of a distributed stochastic gradient descent (SGD) used in Support Vector Machines (SVMs) based on Hogwild! algorithm

Notifications You must be signed in to change notification settings

aelamran/hogwild-scala

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hogwild-scala

Abstract

The goal of this project is to design, implement and experiment an asynchronous version in Scala of a distributed stochastic gradient descent (SGD) used in Support Vector Machines (SVMs). Our system exploits the multicore processing capability of modern servers by running the algorithm in multiple threads in parallel and uses unprotected shared memory to concurrently modify a common representation of the weights vector. The main reference for this project is the Hogwild! paper. The Hogwild! paper is an important paper in the Machine Learning and Parallel Computing community that shows that SGD can be implemented without any locking when the associated optimization problem is sparse. Additionally, our implementation is compared to the asynchronous version of last year's implementation in Python of the Hogwild! algorithm by EPFL students. This project is part of the CS-449 Systems for Data Science course taught at EPFL in the Spring semester of 2019.

About

Asynchronous implementation in Scala of a distributed stochastic gradient descent (SGD) used in Support Vector Machines (SVMs) based on Hogwild! algorithm

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scala 100.0%