Distribution of load in heterogeneous computer systems

Abstract

V diplomskem delu opisujemo zasnovo in izvedbo aplikacije, ki na heterogenem računalniškem sistemu razdeli, izračuna in združi vzporeden računski problem. Za izračun aplikacija izrabi vse računske naprave, ki so ji dosegljive. Naš cilj v delu je ugotoviti, kako najbolje razdeliti računski problem med naprave tako, da je izkoriščenost sistema čim večja. Predstavimo možne načine delitve problema, njihove prednosti in slabosti. Rešitve so testirane in med seboj primerjane. Testiranje je opravljeno z računanjem Mandelbrotove množice. Za dostop do naprav na sistemu aplikacija uporablja ogrodje OpenCL. Ugotovili smo, kako najbolje dodeljevati delo procesnim enotam in kako nastaviti velikosti delovnih skupin za čim boljši izkoristek naprav.The thesis explores the formulation and implementation of an application that divides, computes and merges a parallel computing problem on a heterogeneous system. The application uses all available compute devices. The goal is to determine how to divide a computing problem between devices to maximise the system\u27s utilisation. The thesis presents possible solutions to the problem, their strengths, and weaknesses. Some of the solutions are benchmarked and compared. For benchmarking the Mandelbrot set was generated. Processing units are accessed and managed using the OpenCL framework. We found out how best to divide and allocate work, and how to set the size of work groups to imporve device utilisation

    Similar works