Affiliation:
1. ETH Zurich, Zurich, Switzerland
Abstract
This paper presents Poli-C, a language extension, runtime library, and system daemon enabling fine-grained, language-level, hierarchical resource management policies. Poli-C is suitable for use in applications that compose parallel libraries, frameworks, and programs. In particular, we have added a powerful new statement to C for expressing resource limits and guarantees in such a way that programmers can set resource management policies even when the source code of parallel libraries and frameworks is not available. Poli-C enables application programmers to manage any resource exposed by the underlying OS, for example cores or IO bandwidth. Additionally, we have developed a domain-specific language for defining high-level resource management policies, and a facility for extending the kinds of resources that can be managed with our language extension. Finally, through a number of useful variations, our design offers a high degree of composability. We evaluate Poli-C by way of three case-studies: a scientific application, an image processing webserver, and a pair of parallel database join implementations. We found that using Poli-C yields efficiency gains that require the addition of only a few lines of code to applications.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference41 articles.
1. The go programming language Oct. 2011. http://golang.org/. The go programming language Oct. 2011. http://golang.org/.
2. lxc: Linux containers Sept. 2011. http://lxc.sf.net/. lxc: Linux containers Sept. 2011. http://lxc.sf.net/.
3. System administration guide: Oracle solaris containers-resource management and oracle solaris zones Sept. 2011. http://docs.sun.com/app/docs/doc/817--1592. System administration guide: Oracle solaris containers-resource management and oracle solaris zones Sept. 2011. http://docs.sun.com/app/docs/doc/817--1592.
4. Apache HTTP server project Apr. 2012. http://httpd.apache.org/. Apache HTTP server project Apr. 2012. http://httpd.apache.org/.
5. cgic: an ANSI C library for CGI programming Apr. 2012. http://www.boutell.com/cgic/. cgic: an ANSI C library for CGI programming Apr. 2012. http://www.boutell.com/cgic/.
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献