Abstract
GPU accelerated applications including GPGPU ones are commonly seen in modern PCs. If many applications compete on the same GPU, the performance will decrease significantly. Some applications have a large impact on user experience. Therefore, for such applications, we have to limit GPU utilization by the other applications. It might be straightforward to modify applications to switch compute device dynamically for intelligent resources allocation. Unfortunately, we cannot do so due to software distribution policy or the other reasons. In this paper, we propose PACUE, which allows the end system to allocate compute devices arbitrary to applications. In addition, PACUE guesses optimal compute device for each application according to user preference. We implemented the dynamic compute device redirector of PACUE including OpenCL API hooking and device camouflaging features. We also implemented the frame of the resource manager of PACUE. We demonstrate PACUE achieves dynamic compute device redirecting on one out of two real applications and on all of 20 sample codes.
Chapter PDF
Similar content being viewed by others
References
DirectCompute & OpenCL Benchmark, http://www.ngohq.com/graphic-cards/16920-directcompute-and-opencl-benchmark.html (accessed on August 21, 2011)
OpenCL 1.1 Specification, http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf
Fixtars Corporation: OpenCL Introduction - Parallel Programming for Multicore CPUs and GPUs. Impress Japan (January 2010) (in Japanese)
AMD. ATI Stream Technology, http://www.amd.com/US/PRODUCTS/TECHNOLOGIES/STREAM-TECHNOLOGY/Pages/stream-technology.aspx (accessed on August 21, 2011)
Aoki, R., Oikawa, S., Tsuchiyama, R., Nakamura, T.: Hybrid opencl: Connecting different opencl implementations over network. In: Proc. IEEE CIT 2010, pp. 2729–2735 (2010)
Brodman, J.C., Fraguela, B.B., Garzarán, M.J., Padua, D.: New abstractions for data parallel programming. In: Proc. USENIX HotPar, p. 16 (2009)
Diamos, G.F., Yalamanchili, S.: Harmony: an execution model and runtime for heterogeneous many core systems. In: Proc. ACM HPDC, pp. 197–200 (2008)
Gupta, V., Schwan, K., Tolia, N., Talwar, V., Ranganathan, P.: Pegasus: Coordinated Scheduling for Virtualized Accelerator-based Systems. In: Proc. USENIX ATC, pp. 31–44 (2011)
Kato, S., Lakshmanan, K., Rajkumar, R., Ishikawa, Y.: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments. In: Proc. USENIX ATC, pp. 17–30 (2011)
Liu, W., Lewis, B., Zhou, X., Chen, H., Gao, Y., Yan, S., Luo, S., Saha, B.: A balanced programming model for emerging heterogeneous multicore systems. In: Proc. USENIX HotPar, p. 3 (2010)
Lucidlogix. Lucidlogix virtu, http://www.lucidlogix.com/product-virtu.html (accessed on August 21, 2011)
Microsoft. CreateRemoteThread Function (Windows), http://msdn.microsoft.com/en-us/library/ms682437.aspx (accessed on August 21, 2011)
Microsoft. SetWindowsHookEx Function (Windows), http://msdn.microsoft.com/en-us/library/ms644990.aspx (accessed on August 21, 2011)
Microsoft Research. Detours - microsoft research, http://research.microsoft.com/en-us/projects/detours/ (accessed on August 21, 2011)
SiSoftware. Sisoftware zone, http://www.sisoftware.net/ (accessed on August 21, 2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Horikawa, T., Honda, M., Nakazawa, J., Takashio, K., Tokuda, H. (2012). PACUE: Processor Allocator Considering User Experience. In: Alexander, M., et al. Euro-Par 2011: Parallel Processing Workshops. Euro-Par 2011. Lecture Notes in Computer Science, vol 7156. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-29740-3_38
Download citation
DOI: https://doi.org/10.1007/978-3-642-29740-3_38
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-29739-7
Online ISBN: 978-3-642-29740-3
eBook Packages: Computer ScienceComputer Science (R0)