Show simple item record

dc.identifier.urihttp://hdl.handle.net/11401/77241
dc.description.sponsorshipThis work is sponsored by the Stony Brook University Graduate School in compliance with the requirements for completion of degree.en_US
dc.formatMonograph
dc.format.mediumElectronic Resourceen_US
dc.language.isoen_US
dc.publisherThe Graduate School, Stony Brook University: Stony Brook, NY.
dc.typeDissertation
dcterms.abstractAs computers become faster and more parallel, the number of computations a process executes is becoming too simplistic a predictor of performance. In many circumstances, modern algorithmic research can no longer rely on the assumption that each computation roughly corresponds to a set amount of time. For example, large-scale computers may spend far more time moving data around than performing computation, in which case minimizing data transfers is the best way to improve wall-clock performance. Similarly, manufacturing plants may need to focus on minimizing maintenance costs. While they must still guarantee good throughput, the maintenance costs are what most impact their profits. Under such circumstances, algorithms must be analyzed using models that incorporate these new costs. This work focuses on using locality as a tool to improve performance across different models and objectives. We discuss three specific areas: scheduling, external memory, and high-performance computing. Our scheduling research deals with machines that need to be calibrated at large cost. Since jobs can only be scheduled on calibrated machines, we want to group jobs as much as possible—while retaining good throughput—to minimize the number of calibrations. We give algorithms and results for the offline setting (where jobs are known ahead of time), and the online setting (where jobs must be handled as they arrive). The external-memory model measures the number of hard disk accesses made by an algorithm. This model is applicable for I/O-bound algorithms (such as large-scale sorting) whose performance is limited by hard drive access time rather than computation time. In this work, we focus on the packed memory array, a data structure used as a building block for external-memory algorithms. We show that we can retain optimal packed memory array performance while also providing history independence, a security guarantee. Finally, we discuss a new type of memory, High-Bandwidth Memory, which has been proposed for the next generation of supercomputers. We modify the external-memory model to take this new kind of memory into account, and give theoretical analysis. We also give experimental results which show that this memory has the potential to significantly improve sorting performance.
dcterms.abstractAs computers become faster and more parallel, the number of computations a process executes is becoming too simplistic a predictor of performance. In many circumstances, modern algorithmic research can no longer rely on the assumption that each computation roughly corresponds to a set amount of time. For example, large-scale computers may spend far more time moving data around than performing computation, in which case minimizing data transfers is the best way to improve wall-clock performance. Similarly, manufacturing plants may need to focus on minimizing maintenance costs. While they must still guarantee good throughput, the maintenance costs are what most impact their profits. Under such circumstances, algorithms must be analyzed using models that incorporate these new costs. This work focuses on using locality as a tool to improve performance across different models and objectives. We discuss three specific areas: scheduling, external memory, and high-performance computing. Our scheduling research deals with machines that need to be calibrated at large cost. Since jobs can only be scheduled on calibrated machines, we want to group jobs as much as possible—while retaining good throughput—to minimize the number of calibrations. We give algorithms and results for the offline setting (where jobs are known ahead of time), and the online setting (where jobs must be handled as they arrive). The external-memory model measures the number of hard disk accesses made by an algorithm. This model is applicable for I/O-bound algorithms (such as large-scale sorting) whose performance is limited by hard drive access time rather than computation time. In this work, we focus on the packed memory array, a data structure used as a building block for external-memory algorithms. We show that we can retain optimal packed memory array performance while also providing history independence, a security guarantee. Finally, we discuss a new type of memory, High-Bandwidth Memory, which has been proposed for the next generation of supercomputers. We modify the external-memory model to take this new kind of memory into account, and give theoretical analysis. We also give experimental results which show that this memory has the potential to significantly improve sorting performance.
dcterms.available2017-09-20T16:52:15Z
dcterms.contributorChen, Jingen_US
dcterms.contributorBender, Michael Aen_US
dcterms.contributorJohnson, Roben_US
dcterms.contributorFineman, Jeremy.en_US
dcterms.creatorMcCauley, Samuel
dcterms.dateAccepted2017-09-20T16:52:15Z
dcterms.dateSubmitted2017-09-20T16:52:15Z
dcterms.descriptionDepartment of Computer Scienceen_US
dcterms.extent79 pg.en_US
dcterms.formatMonograph
dcterms.formatApplication/PDFen_US
dcterms.identifierhttp://hdl.handle.net/11401/77241
dcterms.issued2016-12-01
dcterms.languageen_US
dcterms.provenanceMade available in DSpace on 2017-09-20T16:52:15Z (GMT). No. of bitstreams: 1 McCauley_grad.sunysb_0771E_13055.pdf: 509550 bytes, checksum: 4eb93ffd832d6bc2dbf9a2a761b129b6 (MD5) Previous issue date: 1en
dcterms.publisherThe Graduate School, Stony Brook University: Stony Brook, NY.
dcterms.subjectalgorithms, external-memory, locality, packed memory array, scheduling
dcterms.subjectComputer science
dcterms.titleUsing Locality to Tackle Modern Algorithmic Challenges
dcterms.typeDissertation


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record