Parallel stochastic gradient descent on multicore architectures
buir.advisor | Özdal, M. Mustafa | |
dc.contributor.author | Gülcan, Selçuk | |
dc.date.accessioned | 2020-09-21T07:20:32Z | |
dc.date.available | 2020-09-21T07:20:32Z | |
dc.date.copyright | 2020-09 | |
dc.date.issued | 2020-09 | |
dc.date.submitted | 2020-09-18 | |
dc.description | Cataloged from PDF version of article. | en_US |
dc.description | Thesis (M.S.): Bilkent University, Department of Computer Engineering, İhsan Doğramacı Bilkent University, 2020. | en_US |
dc.description | Includes bibliographical references (leaves 65-68). | en_US |
dc.description.abstract | The focus of the thesis is efficient parallelization of the Stochastic Gradient Descent (SGD) algorithm for matrix completion problems on multicore architectures. Asynchronous methods and block-based methods utilizing 2D grid partitioning for task-to-thread assignment are commonly used approaches for sharedmemory parallelization. However, asynchronous methods can have performance issues due to their memory access patterns, whereas grid-based methods can suffer from load imbalance especially when data sets are skewed and sparse. In this thesis, we first analyze parallel performance bottlenecks of the existing SGD algorithms in detail. Then, we propose new algorithms to alleviate these performance bottlenecks. Specifically, we propose bin-packing-based algorithms to balance thread loads under 2D partitioning. We also propose a grid-based asynchronous parallel SGD algorithm that improves cache utilization by changing the entry update order without affecting the factor update order and rearranging the memory layouts of the latent factor matrices. Our experiments show that the proposed methods perform significantly better than the existing approaches on shared-memory multi-core systems. | en_US |
dc.description.provenance | Submitted by Betül Özen (ozen@bilkent.edu.tr) on 2020-09-21T07:20:32Z No. of bitstreams: 1 THESIS.pdf: 2502325 bytes, checksum: c7bdde0e88107c573495f7f8597ce401 (MD5) | en |
dc.description.provenance | Made available in DSpace on 2020-09-21T07:20:32Z (GMT). No. of bitstreams: 1 THESIS.pdf: 2502325 bytes, checksum: c7bdde0e88107c573495f7f8597ce401 (MD5) Previous issue date: 2020-09 | en |
dc.description.statementofresponsibility | by Selçuk Gülcan | en_US |
dc.embargo.release | 2021-03-18 | |
dc.format.extent | x, 68 leaves : charts (some color) ; 30 cm. | en_US |
dc.identifier.itemid | B160499 | |
dc.identifier.uri | http://hdl.handle.net/11693/54056 | |
dc.language.iso | English | en_US |
dc.rights | info:eu-repo/semantics/openAccess | en_US |
dc.subject | Stochastic gradient descent | en_US |
dc.subject | Parallel shared memory system | en_US |
dc.subject | Matrix completion | en_US |
dc.subject | Performance analysis | en_US |
dc.subject | Load balancing | en_US |
dc.title | Parallel stochastic gradient descent on multicore architectures | en_US |
dc.title.alternative | Çok çekirdekli sistemlerde paralel olasılıksal gradyan alçalma | en_US |
dc.type | Thesis | en_US |
thesis.degree.discipline | Computer Engineering | |
thesis.degree.grantor | Bilkent University | |
thesis.degree.level | Master's | |
thesis.degree.name | MS (Master of Science) |