首页 > 最新文献

Proceedings of the eighteenth ACM symposium on Operating systems principles最新文献

英文 中文
Information and control in gray-box systems 灰盒系统中的信息和控制
Pub Date : 2001-10-21 DOI: 10.1145/502034.502040
A. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau
In modern systems, developers are often unable to modify the underlying operating system. To build services in such an environment, we advocate the use of gray-box techniques. When treating the operating system as a gray-box, one recognizes that not changing the OS restricts, but does not completely obviate, both the information one can acquire about the internal state of the OS and the control one can impose on the OS. In this paper, we develop and investigate three gray-box Information and Control Layers (ICLs) for determining the contents of the file-cache, controlling the layout of files across local disk, and limiting process execution based on available memory. A gray-box ICL sits between a client and the OS and uses a combination of algorithmic knowledge, observations, and inferences to garner information about or control the behavior of a gray-box system. We summarize a set of techniques that are helpful in building gray-box ICLs and have begun to organize a "gray toolbox" to ease the construction of ICLs. Through our case studies, we demonstrate the utility of gray-box techniques, by implementing three useful "OS-like" services without the modification of a single line of OS source code.
在现代系统中,开发人员通常无法修改底层操作系统。为了在这样的环境中构建服务,我们提倡使用灰盒技术。当将操作系统视为灰盒时,人们认识到不更改操作系统会限制(但不能完全消除)人们可以获得的关于操作系统内部状态的信息以及可以对操作系统施加的控制。在本文中,我们开发和研究了三个灰盒信息和控制层(ICLs),用于确定文件缓存的内容,控制跨本地磁盘的文件布局,以及基于可用内存限制进程执行。灰盒ICL位于客户机和操作系统之间,它结合使用算法知识、观察和推断来获取有关灰盒系统行为的信息或控制灰盒系统的行为。我们总结了一组有助于构建灰盒icl的技术,并开始组织一个“灰色工具箱”来简化icl的构建。通过案例研究,我们演示了灰盒技术的实用性,实现了三个有用的“类操作系统”服务,而无需修改任何一行操作系统源代码。
{"title":"Information and control in gray-box systems","authors":"A. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau","doi":"10.1145/502034.502040","DOIUrl":"https://doi.org/10.1145/502034.502040","url":null,"abstract":"In modern systems, developers are often unable to modify the underlying operating system. To build services in such an environment, we advocate the use of gray-box techniques. When treating the operating system as a gray-box, one recognizes that not changing the OS restricts, but does not completely obviate, both the information one can acquire about the internal state of the OS and the control one can impose on the OS. In this paper, we develop and investigate three gray-box Information and Control Layers (ICLs) for determining the contents of the file-cache, controlling the layout of files across local disk, and limiting process execution based on available memory. A gray-box ICL sits between a client and the OS and uses a combination of algorithmic knowledge, observations, and inferences to garner information about or control the behavior of a gray-box system. We summarize a set of techniques that are helpful in building gray-box ICLs and have begun to organize a \"gray toolbox\" to ease the construction of ICLs. Through our case studies, we demonstrate the utility of gray-box techniques, by implementing three useful \"OS-like\" services without the modification of a single line of OS source code.","PeriodicalId":263344,"journal":{"name":"Proceedings of the eighteenth ACM symposium on Operating systems principles","volume":"356 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123107697","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 176
Building efficient wireless sensor networks with low-level naming 用低级命名构建高效的无线传感器网络
Pub Date : 2001-10-21 DOI: 10.1145/502034.502049
J. Heidemann, Fabio Silva, C. Intanagonwiwat, R. Govindan, D. Estrin, Deepak Ganesan
In most distributed systems, naming of nodes for low-level communication leverages topological location (such as node addresses) and is independent of any application. In this paper, we investigate an emerging class of distributed systems where low-level communication does not rely on network topological location. Rather, low-level communication is based on attributes that are external to the network topology and relevant to the application. When combined with dense deployment of nodes, this kind of named data enables in-network processing for data aggregation, collaborative signal processing, and similar problems. These approaches are essential for emerging applications such as sensor networks where resources such as bandwidth and energy are limited. This paper is the first description of the software architecture that supports named data and in-network processing in an operational, multi-application sensor-network. We show that approaches such as in-network aggregation and nested queries can significantly affect network traffic. In one experiment aggregation reduces traffic by up to 42% and nested queries reduce loss rates by 30%. Although aggregation has been previously studied in simulation, this paper demonstrates nested queries as another form of in-network processing, and it presents the first evaluation of these approaches over an operational testbed.
在大多数分布式系统中,低级通信的节点命名利用拓扑位置(如节点地址),并且独立于任何应用程序。在本文中,我们研究了一类新兴的分布式系统,其中低级通信不依赖于网络拓扑位置。更确切地说,低级通信是基于网络拓扑外部的、与应用程序相关的属性。当与密集的节点部署相结合时,这种命名数据可以在网络内处理数据聚合、协作信号处理和类似问题。这些方法对于诸如带宽和能源等资源有限的传感器网络等新兴应用至关重要。本文首次描述了在可操作的多应用传感器网络中支持命名数据和网络内处理的软件体系结构。我们展示了网络内聚合和嵌套查询等方法可以显著影响网络流量。在一个实验中,聚合减少了42%的流量,嵌套查询减少了30%的丢失率。虽然聚合之前已经在模拟中进行了研究,但本文将嵌套查询作为网络内处理的另一种形式进行了演示,并在操作测试平台上对这些方法进行了首次评估。
{"title":"Building efficient wireless sensor networks with low-level naming","authors":"J. Heidemann, Fabio Silva, C. Intanagonwiwat, R. Govindan, D. Estrin, Deepak Ganesan","doi":"10.1145/502034.502049","DOIUrl":"https://doi.org/10.1145/502034.502049","url":null,"abstract":"In most distributed systems, naming of nodes for low-level communication leverages topological location (such as node addresses) and is independent of any application. In this paper, we investigate an emerging class of distributed systems where low-level communication does not rely on network topological location. Rather, low-level communication is based on attributes that are external to the network topology and relevant to the application. When combined with dense deployment of nodes, this kind of named data enables in-network processing for data aggregation, collaborative signal processing, and similar problems. These approaches are essential for emerging applications such as sensor networks where resources such as bandwidth and energy are limited. This paper is the first description of the software architecture that supports named data and in-network processing in an operational, multi-application sensor-network. We show that approaches such as in-network aggregation and nested queries can significantly affect network traffic. In one experiment aggregation reduces traffic by up to 42% and nested queries reduce loss rates by 30%. Although aggregation has been previously studied in simulation, this paper demonstrates nested queries as another form of in-network processing, and it presents the first evaluation of these approaches over an operational testbed.","PeriodicalId":263344,"journal":{"name":"Proceedings of the eighteenth ACM symposium on Operating systems principles","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125399639","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 758
Resilient overlay networks 弹性覆盖网络
Pub Date : 2001-10-21 DOI: 10.1145/502034.502048
D. Andersen, H. Balakrishnan, F. Kaashoek, R. Morris
A Resilient Overlay Network (RON) is an architecture that allows distributed Internet applications to detect and recover from path outages and periods of degraded performance within several seconds, improving over today's wide-area routing protocols that take at least several minutes to recover. A RON is an application-layer overlay on top of the existing Internet routing substrate. The RON nodes monitor the functioning and quality of the Internet paths among themselves, and use this information to decide whether to route packets directly over the Internet or by way of other RON nodes, optimizing application-specific routing metrics.Results from two sets of measurements of a working RON deployed at sites scattered across the Internet demonstrate the benefits of our architecture. For instance, over a 64-hour sampling period in March 2001 across a twelve-node RON, there were 32 significant outages, each lasting over thirty minutes, over the 132 measured paths. RON's routing mechanism was able to detect, recover, and route around all of them, in less than twenty seconds on average, showing that its methods for fault detection and recovery work well at discovering alternate paths in the Internet. Furthermore, RON was able to improve the loss rate, latency, or throughput perceived by data transfers; for example, about 5% of the transfers doubled their TCP throughput and 5% of our transfers saw their loss probability reduced by 0.05. We found that forwarding packets via at most one intermediate RON node is sufficient to overcome faults and improve performance in most cases. These improvements, particularly in the area of fault detection and recovery, demonstrate the benefits of moving some of the control over routing into the hands of end-systems.
弹性覆盖网络(RON)是一种体系结构,它允许分布式互联网应用程序在几秒钟内检测并从路径中断和性能下降期间恢复,改进了目前需要至少几分钟才能恢复的广域路由协议。RON是现有Internet路由基板之上的应用层覆盖层。RON节点监视它们之间Internet路径的功能和质量,并使用这些信息来决定是直接通过Internet路由数据包,还是通过其他RON节点路由数据包,从而优化特定于应用程序的路由指标。部署在分散在Internet上的站点上的工作RON的两组测量结果演示了我们的体系结构的好处。例如,2001年3月,在一个12个节点的RON上进行了64小时的采样,在132条测量路径上出现了32次严重的中断,每次持续时间超过30分钟。RON的路由机制能够在平均不到20秒的时间内检测、恢复并绕过所有这些故障,这表明它的故障检测和恢复方法在发现Internet中的备用路径方面工作得很好。此外,RON能够提高数据传输的损失率、延迟或吞吐量;例如,大约5%的传输将TCP吞吐量提高了一倍,5%的传输的丢失概率降低了0.05。我们发现,在大多数情况下,通过最多一个中间RON节点转发数据包足以克服故障并提高性能。这些改进,特别是在故障检测和恢复领域,证明了将对路由的一些控制转移到终端系统手中的好处。
{"title":"Resilient overlay networks","authors":"D. Andersen, H. Balakrishnan, F. Kaashoek, R. Morris","doi":"10.1145/502034.502048","DOIUrl":"https://doi.org/10.1145/502034.502048","url":null,"abstract":"A Resilient Overlay Network (RON) is an architecture that allows distributed Internet applications to detect and recover from path outages and periods of degraded performance within several seconds, improving over today's wide-area routing protocols that take at least several minutes to recover. A RON is an application-layer overlay on top of the existing Internet routing substrate. The RON nodes monitor the functioning and quality of the Internet paths among themselves, and use this information to decide whether to route packets directly over the Internet or by way of other RON nodes, optimizing application-specific routing metrics.Results from two sets of measurements of a working RON deployed at sites scattered across the Internet demonstrate the benefits of our architecture. For instance, over a 64-hour sampling period in March 2001 across a twelve-node RON, there were 32 significant outages, each lasting over thirty minutes, over the 132 measured paths. RON's routing mechanism was able to detect, recover, and route around all of them, in less than twenty seconds on average, showing that its methods for fault detection and recovery work well at discovering alternate paths in the Internet. Furthermore, RON was able to improve the loss rate, latency, or throughput perceived by data transfers; for example, about 5% of the transfers doubled their TCP throughput and 5% of our transfers saw their loss probability reduced by 0.05. We found that forwarding packets via at most one intermediate RON node is sufficient to overcome faults and improve performance in most cases. These improvements, particularly in the area of fault detection and recovery, demonstrate the benefits of moving some of the control over routing into the hands of end-systems.","PeriodicalId":263344,"journal":{"name":"Proceedings of the eighteenth ACM symposium on Operating systems principles","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129119392","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 409
An empirical study of operating systems errors 操作系统错误的实证研究
Pub Date : 2001-10-21 DOI: 10.1145/502034.502042
Andy Chou, Junfeng Yang, B. Chelf, Seth Hallem, D. Engler
We present a study of operating system errors found by automatic, static, compiler analysis applied to the Linux and OpenBSD kernels. Our approach differs from previous studies that consider errors found by manual inspection of logs, testing, and surveys because static analysis is applied uniformly to the entire kernel source, though our approach necessarily considers a less comprehensive variety of errors than previous studies. In addition, automation allows us to track errors over multiple versions of the kernel source to estimate how long errors remain in the system before they are fixed.We found that device drivers have error rates up to three to seven times higher than the rest of the kernel. We found that the largest quartile of functions have error rates two to six times higher than the smallest quartile. We found that the newest quartile of files have error rates up to twice that of the oldest quartile, which provides evidence that code "hardens" over time. Finally, we found that bugs remain in the Linux kernel an average of 1.8 years before being fixed.
我们提出了一项研究的操作系统错误发现的自动,静态,编译器分析应用于Linux和OpenBSD内核。我们的方法与以前的研究不同,以前的研究考虑通过手工检查日志、测试和调查发现的错误,因为静态分析统一应用于整个内核源,尽管我们的方法必须考虑比以前的研究更不全面的各种错误。此外,自动化允许我们跟踪多个版本内核源的错误,以估计错误在修复之前在系统中保留多长时间。我们发现设备驱动程序的错误率比内核的其他部分高出三到七倍。我们发现,函数中最大的四分位数的错误率比最小的四分位数高两到六倍。我们发现,最新的四分位数文件的错误率是最老的四分位数的两倍,这提供了代码随着时间“变硬”的证据。最后,我们发现Linux内核中的bug在被修复之前平均存在1.8年。
{"title":"An empirical study of operating systems errors","authors":"Andy Chou, Junfeng Yang, B. Chelf, Seth Hallem, D. Engler","doi":"10.1145/502034.502042","DOIUrl":"https://doi.org/10.1145/502034.502042","url":null,"abstract":"We present a study of operating system errors found by automatic, static, compiler analysis applied to the Linux and OpenBSD kernels. Our approach differs from previous studies that consider errors found by manual inspection of logs, testing, and surveys because static analysis is applied uniformly to the entire kernel source, though our approach necessarily considers a less comprehensive variety of errors than previous studies. In addition, automation allows us to track errors over multiple versions of the kernel source to estimate how long errors remain in the system before they are fixed.We found that device drivers have error rates up to three to seven times higher than the rest of the kernel. We found that the largest quartile of functions have error rates two to six times higher than the smallest quartile. We found that the newest quartile of files have error rates up to twice that of the oldest quartile, which provides evidence that code \"hardens\" over time. Finally, we found that bugs remain in the Linux kernel an average of 1.8 years before being fixed.","PeriodicalId":263344,"journal":{"name":"Proceedings of the eighteenth ACM symposium on Operating systems principles","volume":"67 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116375887","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 784
A low-bandwidth network file system 低带宽网络文件系统
Pub Date : 2001-10-21 DOI: 10.1145/502034.502052
Athicha Muthitacharoen, Benjie Chen, David Mazières
Users rarely consider running network file systems over slow or wide-area networks, as the performance would be unacceptable and the bandwidth consumption too high. Nonetheless, efficient remote file access would often be desirable over such networks---particularly when high latency makes remote login sessions unresponsive. Rather than run interactive programs such as editors remotely, users could run the programs locally and manipulate remote files through the file system. To do so, however, would require a network file system that consumes less bandwidth than most current file systems.This paper presents LBFS, a network file system designed for low-bandwidth networks. LBFS exploits similarities between files or versions of the same file to save bandwidth. It avoids sending data over the network when the same data can already be found in the server's file system or the client's cache. Using this technique in conjunction with conventional compression and caching, LBFS consumes over an order of magnitude less bandwidth than traditional network file systems on common workloads.
用户很少考虑在慢网或广域网上运行网络文件系统,因为这样的性能将是不可接受的,而且带宽消耗太高。尽管如此,在这样的网络上通常需要有效的远程文件访问——特别是当高延迟使远程登录会话无响应时。用户可以在本地运行程序,并通过文件系统操作远程文件,而不是远程运行诸如编辑器之类的交互式程序。然而,要做到这一点,需要一个比大多数当前文件系统消耗更少带宽的网络文件系统。本文介绍了一种针对低带宽网络设计的网络文件系统LBFS。LBFS利用文件之间的相似性或相同文件的版本来节省带宽。当相同的数据已经可以在服务器的文件系统或客户端的缓存中找到时,它避免通过网络发送数据。将此技术与传统的压缩和缓存结合使用,在普通工作负载上,LBFS消耗的带宽比传统网络文件系统少一个数量级。
{"title":"A low-bandwidth network file system","authors":"Athicha Muthitacharoen, Benjie Chen, David Mazières","doi":"10.1145/502034.502052","DOIUrl":"https://doi.org/10.1145/502034.502052","url":null,"abstract":"Users rarely consider running network file systems over slow or wide-area networks, as the performance would be unacceptable and the bandwidth consumption too high. Nonetheless, efficient remote file access would often be desirable over such networks---particularly when high latency makes remote login sessions unresponsive. Rather than run interactive programs such as editors remotely, users could run the programs locally and manipulate remote files through the file system. To do so, however, would require a network file system that consumes less bandwidth than most current file systems.This paper presents LBFS, a network file system designed for low-bandwidth networks. LBFS exploits similarities between files or versions of the same file to save bandwidth. It avoids sending data over the network when the same data can already be found in the server's file system or the client's cache. Using this technique in conjunction with conventional compression and caching, LBFS consumes over an order of magnitude less bandwidth than traditional network file systems on common workloads.","PeriodicalId":263344,"journal":{"name":"Proceedings of the eighteenth ACM symposium on Operating systems principles","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125452750","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 308
Mesh-based content routing using XML 使用XML的基于网格的内容路由
Pub Date : 2001-10-21 DOI: 10.1145/502034.502050
A. Snoeren, Kenneth Conley, D. Gifford
We have developed a new approach for reliably multicasting time-critical data to heterogeneous clients over mesh-based overlay networks. To facilitate intelligent content pruning, data streams are comprised of a sequence of XML packets and forwarded by application-level XML routers. XML routers perform content-based routing of individual XML packets to other routers or clients based upon queries that describe the information needs of downstream nodes. Our PC-based XML router prototype can route an 18 Mbit per second XML stream.Our routers use a novel Diversity Control Protocol (DCP) for router-to-router and router-to-client communication. DCP reassembles a received stream of packets from one or more senders using the first copy of a packet to arrive from any sender. When each node is connected to n parents, the resulting network is resilient to (n − 1) router or independent link failures without repair. Associated mesh algorithms permit the system to recover to (n − 1) resilience after node and/or link failure. We have deployed a distributed network of XML routers that streams real-time air traffic control data. Experimental results show multiple senders improve reliability and latency when compared to tree-based networks.
我们开发了一种新的方法,可以在基于网格的覆盖网络上可靠地将时间关键型数据多播到异构客户端。为了方便智能内容修剪,数据流由一系列XML数据包组成,并由应用程序级XML路由器转发。XML路由器根据描述下游节点信息需求的查询,对单个XML数据包执行基于内容的路由,将其发送到其他路由器或客户机。我们基于pc的XML路由器原型可以路由每秒18mbit的XML流。我们的路由器使用新颖的分集控制协议(DCP)进行路由器到路由器和路由器到客户端通信。DCP使用从任何发送方到达的数据包的第一个副本,重新组装从一个或多个发送方收到的数据包流。当每个节点连接到n个父节点时,所形成的网络对(n−1)个路由器或独立链路故障具有弹性,无需修复。相关的网格算法允许系统在节点和/或链路故障后恢复到(n−1)弹性。我们已经部署了一个分布式的XML路由器网络,用于传输实时空中交通管制数据。实验结果表明,与基于树的网络相比,多发送者提高了可靠性和延迟。
{"title":"Mesh-based content routing using XML","authors":"A. Snoeren, Kenneth Conley, D. Gifford","doi":"10.1145/502034.502050","DOIUrl":"https://doi.org/10.1145/502034.502050","url":null,"abstract":"We have developed a new approach for reliably multicasting time-critical data to heterogeneous clients over mesh-based overlay networks. To facilitate intelligent content pruning, data streams are comprised of a sequence of XML packets and forwarded by application-level XML routers. XML routers perform content-based routing of individual XML packets to other routers or clients based upon queries that describe the information needs of downstream nodes. Our PC-based XML router prototype can route an 18 Mbit per second XML stream.Our routers use a novel Diversity Control Protocol (DCP) for router-to-router and router-to-client communication. DCP reassembles a received stream of packets from one or more senders using the first copy of a packet to arrive from any sender. When each node is connected to n parents, the resulting network is resilient to (n − 1) router or independent link failures without repair. Associated mesh algorithms permit the system to recover to (n − 1) resilience after node and/or link failure. We have deployed a distributed network of XML routers that streams real-time air traffic control data. Experimental results show multiple senders improve reliability and latency when compared to tree-based networks.","PeriodicalId":263344,"journal":{"name":"Proceedings of the eighteenth ACM symposium on Operating systems principles","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132700135","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 249
Managing energy and server resources in hosting centers 管理托管中心的能源和服务器资源
Pub Date : 2001-10-21 DOI: 10.1145/502034.502045
J. Chase, Darrell C. Anderson, P. N. Thakar, Amin Vahdat, Ronald P. Doyle
Internet hosting centers serve multiple service sites from a common hardware base. This paper presents the design and implementation of an architecture for resource management in a hosting center operating system, with an emphasis on energy as a driving resource management issue for large server clusters. The goals are to provision server resources for co-hosted services in a way that automatically adapts to offered load, improve the energy efficiency of server clusters by dynamically resizing the active server set, and respond to power supply disruptions or thermal events by degrading service in accordance with negotiated Service Level Agreements (SLAs).Our system is based on an economic approach to managing shared server resources, in which services "bid" for resources as a function of delivered performance. The system continuously monitors load and plans resource allotments by estimating the value of their effects on service performance. A greedy resource allocation algorithm adjusts resource prices to balance supply and demand, allocating resources to their most efficient use. A reconfigurable server switching infrastructure directs request traffic to the servers assigned to each service. Experimental results from a prototype confirm that the system adapts to offered load and resource availability, and can reduce server energy usage by 29% or more for a typical Web workload.
Internet托管中心通过一个公共硬件基础为多个服务站点提供服务。本文介绍了托管中心操作系统中资源管理体系结构的设计和实现,重点介绍了大型服务器集群的能源驱动资源管理问题。目标是以一种自动适应所提供负载的方式为共同托管服务提供服务器资源,通过动态调整活动服务器集的大小来提高服务器集群的能源效率,并根据协商的服务水平协议(sla)降级服务来响应电源中断或热事件。我们的系统基于一种管理共享服务器资源的经济方法,在这种方法中,服务作为交付性能的一个功能来“竞标”资源。系统通过评估负载对服务性能的影响,持续监控负载并计划资源分配。贪婪资源分配算法通过调整资源价格来平衡供需,将资源分配到最有效的用途。可重新配置的服务器交换基础结构将请求流量定向到分配给每个服务的服务器。来自原型的实验结果证实,该系统可以适应所提供的负载和资源可用性,并且对于典型的Web工作负载,可以将服务器能源使用减少29%或更多。
{"title":"Managing energy and server resources in hosting centers","authors":"J. Chase, Darrell C. Anderson, P. N. Thakar, Amin Vahdat, Ronald P. Doyle","doi":"10.1145/502034.502045","DOIUrl":"https://doi.org/10.1145/502034.502045","url":null,"abstract":"Internet hosting centers serve multiple service sites from a common hardware base. This paper presents the design and implementation of an architecture for resource management in a hosting center operating system, with an emphasis on energy as a driving resource management issue for large server clusters. The goals are to provision server resources for co-hosted services in a way that automatically adapts to offered load, improve the energy efficiency of server clusters by dynamically resizing the active server set, and respond to power supply disruptions or thermal events by degrading service in accordance with negotiated Service Level Agreements (SLAs).Our system is based on an economic approach to managing shared server resources, in which services \"bid\" for resources as a function of delivered performance. The system continuously monitors load and plans resource allotments by estimating the value of their effects on service performance. A greedy resource allocation algorithm adjusts resource prices to balance supply and demand, allocating resources to their most efficient use. A reconfigurable server switching infrastructure directs request traffic to the servers assigned to each service. Experimental results from a prototype confirm that the system adapts to offered load and resource availability, and can reduce server energy usage by 29% or more for a typical Web workload.","PeriodicalId":263344,"journal":{"name":"Proceedings of the eighteenth ACM symposium on Operating systems principles","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133189704","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1496
The costs and limits of availability for replicated services 复制服务的成本和可用性限制
Pub Date : 2001-10-21 DOI: 10.1145/502034.502038
Haifeng Yu, Amin Vahdat
As raw system and network performance continues to improve at exponential rates, the utility of many services is increasingly limited by availability rather than performance. A key approach to improving availability involves replicating the service across multiple, wide-area sites. However, replication introduces well-known tradeoffs between service consistency and availability. Thus, this paper explores the benefits of dynamically trading consistency for availability using a continuous consistency model. In this model, applications specify a maximum deviation from strong consistency on a per-replica basis. In this paper, we: i) evaluate availability of a prototype replication system running across the Internet as a function of consistency level, consistency protocol, and failure characteristics, ii) demonstrate that simple optimizations to existing consistency protocols result in significant availability improvements (more than an order of magnitude in some scenarios), iii) use our experience with these optimizations to prove tight upper bounds on the availability of services, and iv) show that maximizing availability typically entails remaining as close to strong consistency as possible during times of good connectivity, resulting in a communication versus availability trade-off.
随着原始系统和网络性能继续以指数速度提高,许多服务的效用越来越受到可用性而不是性能的限制。提高可用性的一个关键方法包括跨多个广域站点复制服务。然而,复制引入了众所周知的服务一致性和可用性之间的权衡。因此,本文探讨了使用连续一致性模型动态交换一致性以获得可用性的好处。在这个模型中,应用程序在每个副本的基础上指定与强一致性的最大偏差。在本文中,我们:i)评估在互联网上运行的原型复制系统的可用性,作为一致性级别、一致性协议和故障特征的函数;ii)证明对现有一致性协议的简单优化会显著提高可用性(在某些情况下超过一个数量级);iii)利用我们在这些优化方面的经验来证明服务可用性的严格上限。iv)表明最大化可用性通常需要在良好连接期间保持尽可能接近强一致性,从而导致通信与可用性之间的权衡。
{"title":"The costs and limits of availability for replicated services","authors":"Haifeng Yu, Amin Vahdat","doi":"10.1145/502034.502038","DOIUrl":"https://doi.org/10.1145/502034.502038","url":null,"abstract":"As raw system and network performance continues to improve at exponential rates, the utility of many services is increasingly limited by availability rather than performance. A key approach to improving availability involves replicating the service across multiple, wide-area sites. However, replication introduces well-known tradeoffs between service consistency and availability. Thus, this paper explores the benefits of dynamically trading consistency for availability using a continuous consistency model. In this model, applications specify a maximum deviation from strong consistency on a per-replica basis. In this paper, we: i) evaluate availability of a prototype replication system running across the Internet as a function of consistency level, consistency protocol, and failure characteristics, ii) demonstrate that simple optimizations to existing consistency protocols result in significant availability improvements (more than an order of magnitude in some scenarios), iii) use our experience with these optimizations to prove tight upper bounds on the availability of services, and iv) show that maximizing availability typically entails remaining as close to strong consistency as possible during times of good connectivity, resulting in a communication versus availability trade-off.","PeriodicalId":263344,"journal":{"name":"Proceedings of the eighteenth ACM symposium on Operating systems principles","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125362200","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 21
Bugs as deviant behavior: a general approach to inferring errors in systems code 作为异常行为的bug:一种推断系统代码错误的通用方法
Pub Date : 2001-10-21 DOI: 10.1145/502034.502041
D. Engler, D. Y. Chen, Andy Chou
A major obstacle to finding program errors in a real system is knowing what correctness rules the system must obey. These rules are often undocumented or specified in an ad hoc manner. This paper demonstrates techniques that automatically extract such checking information from the source code itself, rather than the programmer, thereby avoiding the need for a priori knowledge of system rules.The cornerstone of our approach is inferring programmer "beliefs" that we then cross-check for contradictions. Beliefs are facts implied by code: a dereference of a pointer, p, implies a belief that p is non-null, a call to "unlock(1)" implies that 1 was locked, etc. For beliefs we know the programmer must hold, such as the pointer dereference above, we immediately flag contradictions as errors. For beliefs that the programmer may hold, we can assume these beliefs hold and use a statistical analysis to rank the resulting errors from most to least likely. For example, a call to "spin_lock" followed once by a call to "spin_unlock" implies that the programmer may have paired these calls by coincidence. If the pairing happens 999 out of 1000 times, though, then it is probably a valid belief and the sole deviation a probable error. The key feature of this approach is that it requires no a priori knowledge of truth: if two beliefs contradict, we know that one is an error without knowing what the correct belief is.Conceptually, our checkers extract beliefs by tailoring rule "templates" to a system --- for example, finding all functions that fit the rule template "a must be paired with b." We have developed six checkers that follow this conceptual framework. They find hundreds of bugs in real systems such as Linux and OpenBSD. From our experience, they give a dramatic reduction in the manual effort needed to check a large system. Compared to our previous work [9], these template checkers find ten to one hundred times more rule instances and derive properties we found impractical to specify manually.
在实际系统中发现程序错误的一个主要障碍是知道系统必须遵守哪些正确性规则。这些规则通常没有文档记录,或者以特别的方式指定。本文演示了从源代码本身而不是从程序员那里自动提取这种检查信息的技术,从而避免了对系统规则先验知识的需要。我们方法的基础是推断程序员的“信念”,然后交叉检查是否存在矛盾。信念是代码所暗示的事实:对指针p的解引用意味着相信p是非空的,调用“unlock(1)”意味着1被锁定,等等。对于我们知道程序员必须持有的信念,例如上面的指针解引用,我们立即将矛盾标记为错误。对于程序员可能持有的信念,我们可以假设这些信念成立,并使用统计分析将产生的错误从最可能到最不可能进行排序。例如,对“spin_lock”的调用之后又对“spin_unlock”的调用意味着程序员可能碰巧将这些调用配对了。但是,如果配对发生999 / 1000次,那么它可能是一个有效的信念,唯一的偏差可能是一个错误。这种方法的关键特点是,它不需要先验的真理知识:如果两个信念相互矛盾,我们知道其中一个是错误的,而不知道正确的信念是什么。从概念上讲,我们的检查器通过为系统裁剪规则“模板”来提取信念——例如,找到符合规则模板“a必须与b配对”的所有函数。我们已经开发了六个遵循这个概念框架的检查器。他们在Linux和OpenBSD等实际系统中发现了数百个bug。根据我们的经验,它们大大减少了检查大型系统所需的人工工作量。与我们以前的工作[9]相比,这些模板检查器发现了十到一百倍的规则实例,并派生出我们认为手工指定不现实的属性。
{"title":"Bugs as deviant behavior: a general approach to inferring errors in systems code","authors":"D. Engler, D. Y. Chen, Andy Chou","doi":"10.1145/502034.502041","DOIUrl":"https://doi.org/10.1145/502034.502041","url":null,"abstract":"A major obstacle to finding program errors in a real system is knowing what correctness rules the system must obey. These rules are often undocumented or specified in an ad hoc manner. This paper demonstrates techniques that automatically extract such checking information from the source code itself, rather than the programmer, thereby avoiding the need for a priori knowledge of system rules.The cornerstone of our approach is inferring programmer \"beliefs\" that we then cross-check for contradictions. Beliefs are facts implied by code: a dereference of a pointer, p, implies a belief that p is non-null, a call to \"unlock(1)\" implies that 1 was locked, etc. For beliefs we know the programmer must hold, such as the pointer dereference above, we immediately flag contradictions as errors. For beliefs that the programmer may hold, we can assume these beliefs hold and use a statistical analysis to rank the resulting errors from most to least likely. For example, a call to \"spin_lock\" followed once by a call to \"spin_unlock\" implies that the programmer may have paired these calls by coincidence. If the pairing happens 999 out of 1000 times, though, then it is probably a valid belief and the sole deviation a probable error. The key feature of this approach is that it requires no a priori knowledge of truth: if two beliefs contradict, we know that one is an error without knowing what the correct belief is.Conceptually, our checkers extract beliefs by tailoring rule \"templates\" to a system --- for example, finding all functions that fit the rule template \"a must be paired with b.\" We have developed six checkers that follow this conceptual framework. They find hundreds of bugs in real systems such as Linux and OpenBSD. From our experience, they give a dramatic reduction in the manual effort needed to check a large system. Compared to our previous work [9], these template checkers find ten to one hundred times more rule instances and derive properties we found impractical to specify manually.","PeriodicalId":263344,"journal":{"name":"Proceedings of the eighteenth ACM symposium on Operating systems principles","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131084807","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 794
Building a robust software-based router using network processors 使用网络处理器构建一个健壮的基于软件的路由器
Pub Date : 2001-10-21 DOI: 10.1145/502034.502056
Tammo Spalink, S. Karlin, L. Peterson, Y. Gottlieb
Recent efforts to add new services to the Internet have increased interest in software-based routers that are easy to extend and evolve. This paper describes our experiences using emerging network processors---in particular, the Intel IXP1200---to implement a router. We show it is possible to combine an IXP1200 development board and a PC to build an inexpensive router that forwards minimum-sized packets at a rate of 3.47Mpps. This is nearly an order of magnitude faster than existing pure PC-based routers, and sufficient to support 1.77Gbps of aggregate link bandwidth. At lesser aggregate line speeds, our design also allows the excess resources available on the IXP1200 to be used robustly for extra packet processing. For example, with 8 × 100Mbps links, 240 register operations and 96 bytes of state storage are available for each 64-byte packet. Using a hierarchical architecture we can guarantee line-speed forwarding rates for simple packets with the IXP1200, and still have extra capacity to process exceptional packets with the Pentium. Up to 310Kpps of the traffic can be routed through the Pentium to receive 1510 cycles of extra per-packet processing.
最近向互联网添加新服务的努力增加了人们对易于扩展和发展的基于软件的路由器的兴趣。本文描述了我们使用新兴网络处理器(特别是Intel IXP1200)实现路由器的经验。我们展示了可以将IXP1200开发板和PC结合起来构建一个廉价的路由器,以3.47Mpps的速率转发最小尺寸的数据包。这几乎比现有的纯pc路由器快一个数量级,足以支持1.77Gbps的聚合链路带宽。在较低的总线路速度下,我们的设计还允许IXP1200上可用的多余资源可靠地用于额外的数据包处理。例如,对于8 × 100Mbps的链路,240个寄存器操作和96个字节的状态存储可用于每个64字节的数据包。使用分层架构,我们可以保证IXP1200的简单数据包的线速转发速率,并且仍然有额外的能力来处理Pentium的异常数据包。最多310Kpps的流量可以通过Pentium路由,以接收1510个额外的每包处理周期。
{"title":"Building a robust software-based router using network processors","authors":"Tammo Spalink, S. Karlin, L. Peterson, Y. Gottlieb","doi":"10.1145/502034.502056","DOIUrl":"https://doi.org/10.1145/502034.502056","url":null,"abstract":"Recent efforts to add new services to the Internet have increased interest in software-based routers that are easy to extend and evolve. This paper describes our experiences using emerging network processors---in particular, the Intel IXP1200---to implement a router. We show it is possible to combine an IXP1200 development board and a PC to build an inexpensive router that forwards minimum-sized packets at a rate of 3.47Mpps. This is nearly an order of magnitude faster than existing pure PC-based routers, and sufficient to support 1.77Gbps of aggregate link bandwidth. At lesser aggregate line speeds, our design also allows the excess resources available on the IXP1200 to be used robustly for extra packet processing. For example, with 8 × 100Mbps links, 240 register operations and 96 bytes of state storage are available for each 64-byte packet. Using a hierarchical architecture we can guarantee line-speed forwarding rates for simple packets with the IXP1200, and still have extra capacity to process exceptional packets with the Pentium. Up to 310Kpps of the traffic can be routed through the Pentium to receive 1510 cycles of extra per-packet processing.","PeriodicalId":263344,"journal":{"name":"Proceedings of the eighteenth ACM symposium on Operating systems principles","volume":"15 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121180065","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 171
期刊
Proceedings of the eighteenth ACM symposium on Operating systems principles
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1