ABSTRACT
The constant race for faster and more powerful CPUs is drawing to a close. No longer is it feasible to significantly increase the speed of the CPU without paying a crushing penalty in power consumption and production costs. Instead of increasing single thread performance, the industry is turning to multiple CPU threads or cores (such as SMT and CMP) and heterogeneous CPU architectures (such as the Cell Broadband Engine). While this is a step in the right direction, in every modern PC there is a wealth of untapped compute resources. The NIC has a CPU; the disk controller is programmable; some high-end graphics adaptersare already more powerful than host CPUs. Some of these CPUs can perform some functions more efficiently than the host CPUs. Our operating systems and programming abstractions should be expanded to let applications tap into these computational resources and make the best use of them.
Therefore, we propose the HYDRA framework, which lets application developers use the combined power of every compute resource in a coherent way. HYDRA is a programming model and a runtime support layer which enables utilization of host processors as well as various programmable peripheral devices' processors. We present the frameworkand its application for a demonstrative use-case, as well as provide a thorough evaluation of its capabilities. Using HYDRA we were able to cut down the development cost of a system that uses multiple heterogenous compute resources significantly.
Supplemental Material
Available for Download
Supplemental material for Tapping into the fountain of CPUs: on operating system support for programmable devices
- N. L. Binkert, A. G. Saidi, and S. K. Reinhardt. Integrated network interfaces for high-bandwidth TCP/IP. In ASPLOS-XII: Proc. of the 12th intl. conf. on arch. support for programming languages and operating systems, pages 315--324, New York, NY, 2006. ACM Press. Google Scholar
Digital Library
- E. Christensen, F. Curbera, G. Meredith, and S. Weerawarana. Web Service Definition Language (WSDL). http://www.w3.org/TR/wsdl.Google Scholar
- A. Currid. TCP offload to the rescue. Queue, 2(3):58--65, 2004. Google Scholar
Digital Library
- M. E. Fiuczynski, R. P. Martin, T. Owa, and B. N. Bershad. Spine: a safe programmable and integrated network environment. In EW 8, 1998. Google Scholar
Digital Library
- A. P. Foong, T. R. Huff, H. H. Hum, J. R. Patwardhan, and G. J. Regnier. TCP performance re-visited. In ISPASS '03: Proc. of the 2003 IEEE intl. symp. on perf. analysis of systems and software, pages 70--79, Washington, DC, 2003. IEEE Computer Society. Google Scholar
Digital Library
- O. Holder, I. Ben-Shaul, and H. Gazit. Dynamic layout of distributed applications in FarGo. In ICSE '99: Proceedings of the 21st international conference on software engineering, pages 163--173, Los Alamitos, CA, 1999. IEEE Computer Society Press. Google Scholar
Digital Library
- J. C. Mogul. TCP offload is a dumb idea whose time has come. In HOTOS' 03: Proceedings of the 9th conference on Hot Topics in Operating Systems, pages 25--30, Berkeley, CA, 2003. USENIX Association. Google Scholar
Digital Library
- S. J. Muir. Piglet: an operating system for network appliances. PhD thesis, 2001. Supervisor: Jonathan M. Smith. Google Scholar
Digital Library
- G. Regnier, S. Makineni, R. Illikkal, R. Iyer, D. Minturn, R. Huggahalli, D. Newell, L. Cline, and A. Foong. TCP onloading for data center servers. Computer, 37(11):48--58, 2004. Google Scholar
Digital Library
- E. Riedel, G. A. Gibson, and C. Faloutsos. Active storage for largescale data mining and multimedia. In Proc. 24th Int. Conf. Very Large Data Bases, VLDB, pages 62--73, 1998. Google Scholar
Digital Library
- P. Shivam, P. Wyckoff, and D. Panda. EMP: zero-copy OS-bypass NIC-driven gigabit ethernet message passing. In SC'01, Nov. 2001. Google Scholar
Digital Library
- TiVo Inc homepage. Available at site: http://www.tivo.com.Google Scholar
- D. Tsafrir, Y. Etsion, D. G. Feitelson, and S. Kirkpatrick. System noise, OS clock ticks, and fine-grained parallel applications. In ICS '05: Proc. of the 19th annual intl. conf. on supercomputing, pages 303--312, New York, NY, 2005. ACM Press. Google Scholar
Digital Library
- T. von Eicken, D. E. Culler, S. C. Goldstein, and K. E. Schauser. Active messages: A mechanism for integrated communication and computation. In 19th International Symposium on Computer Architecture, pages 256--266, Gold Coast, Australia, 1992. Google Scholar
Digital Library
- R. O. Weber. Information technology---SCSI object-based storage device commands -2 (OSD-2). Technical Report T10/1731-D, INCITS Technical Committee T10, Oct. 2004.Google Scholar
- Y. Weinsberg. An Operating System Specification for Dynamic Code Offloading to Programmable Devices. PhD thesis, The Hebrew University Of Jerusalem, October 2007.Google Scholar
- Y. Weinsberg and I. Ben-Shaul. A programming model and system support for disconnected-aware applications on resource-constrained devices. In ICSE '02: Proc. of the 24th intl. conf. on software engineering, pages 374--384, New York, NY, 2002. ACM Press. Google Scholar
Digital Library
Index Terms
Tapping into the fountain of CPUs: on operating system support for programmable devices
Recommendations
Tapping into the fountain of CPUs: on operating system support for programmable devices
ASPLOS '08The constant race for faster and more powerful CPUs is drawing to a close. No longer is it feasible to significantly increase the speed of the CPU without paying a crushing penalty in power consumption and production costs. Instead of increasing single ...
Tapping into the fountain of CPUs: on operating system support for programmable devices
ASPLOS '08The constant race for faster and more powerful CPUs is drawing to a close. No longer is it feasible to significantly increase the speed of the CPU without paying a crushing penalty in power consumption and production costs. Instead of increasing single ...
Tapping into the fountain of CPUs: on operating system support for programmable devices
ASPLOS '08The constant race for faster and more powerful CPUs is drawing to a close. No longer is it feasible to significantly increase the speed of the CPU without paying a crushing penalty in power consumption and production costs. Instead of increasing single ...











Comments