Öztürk, ÖzcanKandemir, M.Pllana, SXhafa, F.2018-04-122018-04-1220179780470936900http://hdl.handle.net/11693/38249Chapter 19As applications become more and more complex, it is becoming extremely important to have sufficient compute power on the chip. Multicore and many-core systems have been introduced to address this problem. This chapter considers the multicore architecture that is a shared multiprocessor-based system, where a certain number of processors share the same memory address space. It uses a loop nest-based code parallelization strategy for executing array-based applications in this multicore architecture. The chapter focuses on array-based codes mainly because they appear very frequently in scientific computing domain and embedded image/video processing domain. It explores two different strategies for dividing the available processors between compression/decompression and application execution. In static strategy a fixed number of processors are allocated for performing compression/decompression activity, and this allocation is not changed during the course of execution. The main idea behind dynamic strategy is to eliminate the optimal processor selection problem of the static approach.EnglishData compressionLoop nest-based code parallelizationMany-core computing systemMulticore computing systemOn-chip memory managementOn-demand decompressionStatic strategyImproving multicore system performance through data compressionBook Chapter10.1002/9781119332015.ch1910.1002/97811193320159781119332015