首页 > 最新文献

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

英文 中文
Integrating segmentation and paging protection for safe, efficient and transparent software extensions 集成分段和分页保护安全,高效和透明的软件扩展
Pub Date : 1999-12-12 DOI: 10.1145/319151.319161
T. Chiueh, G. Venkitachalam, P. Pradhan
The trend towards extensible software architectures and component-based software development demands safe, efficient, and easy-to-use extension mechanisms to enforce protection boundaries among software modules residing in the same address space. This paper describes the design, implementation, and evaluation of a novel intra-address space protection mechanism called Palladium, which exploits the segmentation and paging hardware in the Intel X86 architecture and efficiently supports safe kernel-level and user-level extensions in a way that is largely transparent to programmers and existing programming tools. Based on the considerations on ease of extension programming and systems implementation complexity, Palladium uses different approaches to support user-level and kernel-level extension mechanisms. To demonstrate the effectiveness of the Palladium architecture, we built a Web server that exploits the user-level extension mechanism to invoke CGI scripts as local function calls in a safe way, and we constructed a compiled network packet filter that exploits the kernel-level extension mechanism to run packet-filtering binaries safely inside the kernel at native speed. The current Palladium prototype implementation demonstrates that a protected procedure call and return costs 142 CPU cycles on a Pentium 200MHz machine running Linux.
可扩展软件体系结构和基于组件的软件开发的趋势需要安全、高效和易于使用的扩展机制,以在驻留在相同地址空间中的软件模块之间强制执行保护边界。本文描述了一种名为Palladium的新型内部地址空间保护机制的设计、实现和评估,该机制利用了Intel X86架构中的分段和分页硬件,并以一种对程序员和现有编程工具基本透明的方式有效地支持安全的内核级和用户级扩展。基于对扩展编程的易用性和系统实现复杂性的考虑,Palladium使用不同的方法来支持用户级和内核级扩展机制。为了演示Palladium体系结构的有效性,我们构建了一个Web服务器,该服务器利用用户级扩展机制以安全的方式将CGI脚本作为本地函数调用调用,并且构建了一个编译的网络包过滤器,该网络包过滤器利用内核级扩展机制以本机速度在内核中安全地运行包过滤二进制文件。当前的Palladium原型实现表明,在运行Linux的Pentium 200MHz机器上,一个受保护的过程调用和返回需要142个CPU周期。
{"title":"Integrating segmentation and paging protection for safe, efficient and transparent software extensions","authors":"T. Chiueh, G. Venkitachalam, P. Pradhan","doi":"10.1145/319151.319161","DOIUrl":"https://doi.org/10.1145/319151.319161","url":null,"abstract":"The trend towards extensible software architectures and component-based software development demands safe, efficient, and easy-to-use extension mechanisms to enforce protection boundaries among software modules residing in the same address space. This paper describes the design, implementation, and evaluation of a novel intra-address space protection mechanism called Palladium, which exploits the segmentation and paging hardware in the Intel X86 architecture and efficiently supports safe kernel-level and user-level extensions in a way that is largely transparent to programmers and existing programming tools. Based on the considerations on ease of extension programming and systems implementation complexity, Palladium uses different approaches to support user-level and kernel-level extension mechanisms. To demonstrate the effectiveness of the Palladium architecture, we built a Web server that exploits the user-level extension mechanism to invoke CGI scripts as local function calls in a safe way, and we constructed a compiled network packet filter that exploits the kernel-level extension mechanism to run packet-filtering binaries safely inside the kernel at native speed. The current Palladium prototype implementation demonstrates that a protected procedure call and return costs 142 CPU cycles on a Pentium 200MHz machine running Linux.","PeriodicalId":200853,"journal":{"name":"Proceedings of the seventeenth ACM symposium on Operating systems principles","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125953935","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}
引用次数: 63
Borrowed-virtual-time (BVT) scheduling: supporting latency-sensitive threads in a general-purpose scheduler 借用虚拟时间(BVT)调度:在通用调度程序中支持对延迟敏感的线程
Pub Date : 1999-12-12 DOI: 10.1145/319151.319169
Kenneth J. Duda, D. Cheriton
Systems need to run a larger and more diverse set of applications, from real-time to interactive to batch, on uniprocessor and multiprocessor platforms. However, most schedulers either do not address latency requirements or are specialized to complex real-time paradigms, limiting their applicability to general-purpose systems.In this paper, we present Borrowed-Virtual-Time (BVT) Scheduling, showing that it provides low-latency for real-time and interactive applications yet weighted sharing of the CPU across applications according to system policy, even with thread failure at the real-time level, all with a low-overhead implementation on multiprocessors as well as uniprocessors. It makes minimal demands on application developers, and can be used with a reservation or admission control module for hard real-time applications.
系统需要在单处理器和多处理器平台上运行更大、更多样化的应用程序集,从实时到交互式再到批处理。然而,大多数调度器要么不满足延迟需求,要么专门用于复杂的实时范例,这限制了它们对通用系统的适用性。在本文中,我们提出了借用虚拟时间(BVT)调度,表明它为实时和交互式应用程序提供了低延迟,并且根据系统策略在应用程序之间加权共享CPU,即使在实时级别上存在线程故障,所有这些都是在多处理器和单处理器上实现的低开销。它对应用程序开发人员的要求最低,并且可以与硬实时应用程序的保留或许可控制模块一起使用。
{"title":"Borrowed-virtual-time (BVT) scheduling: supporting latency-sensitive threads in a general-purpose scheduler","authors":"Kenneth J. Duda, D. Cheriton","doi":"10.1145/319151.319169","DOIUrl":"https://doi.org/10.1145/319151.319169","url":null,"abstract":"Systems need to run a larger and more diverse set of applications, from real-time to interactive to batch, on uniprocessor and multiprocessor platforms. However, most schedulers either do not address latency requirements or are specialized to complex real-time paradigms, limiting their applicability to general-purpose systems.In this paper, we present Borrowed-Virtual-Time (BVT) Scheduling, showing that it provides low-latency for real-time and interactive applications yet weighted sharing of the CPU across applications according to system policy, even with thread failure at the real-time level, all with a low-overhead implementation on multiprocessors as well as uniprocessors. It makes minimal demands on application developers, and can be used with a reservation or admission control module for hard real-time applications.","PeriodicalId":200853,"journal":{"name":"Proceedings of the seventeenth ACM symposium on Operating systems principles","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126826513","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}
引用次数: 289
Soft timers: efficient microsecond software timer support for network processing 软定时器:有效的微秒软件定时器支持网络处理
Pub Date : 1999-12-12 DOI: 10.1145/319151.319167
M. Aron, P. Druschel
This paper proposes and evaluates soft timers, a new operating system facility that allows the efficient scheduling of software events at a granularity down to tens of microseconds. Soft timers can be used to avoid interrupts and reduce context switches associated with network processing without sacrificing low communication delays.More specifically, soft timers enable transport protocols like TCP to efficiently perform rate-based clocking of packet transmissions. Experiments show that rate-based clocking can improve HTTP response time over connections with high bandwidth-delay products by up to 89% and that soft timers allow a server to employ rate-based clocking with little CPU overhead (2-6%) at high aggregate bandwidths.Soft timers can also be used to perform network polling, which eliminates network interrupts and increases the memory access locality of the network subsystem without sacrificing delay. Experiments show that this technique can improve the throughput of a Web server by up to 25%.
本文提出并评估了软定时器,这是一种新的操作系统工具,它允许以几十微秒的粒度有效地调度软件事件。软计时器可用于避免中断和减少与网络处理相关的上下文切换,而不会牺牲低通信延迟。更具体地说,软定时器使TCP等传输协议能够有效地执行基于速率的数据包传输时钟。实验表明,基于速率的时钟可以将具有高带宽延迟产品的连接上的HTTP响应时间提高89%,而软定时器允许服务器在高聚合带宽下使用基于速率的时钟,CPU开销很小(2-6%)。软计时器还可以用于执行网络轮询,这可以消除网络中断,并在不牺牲延迟的情况下增加网络子系统的内存访问局部性。实验表明,该技术可以将Web服务器的吞吐量提高25%。
{"title":"Soft timers: efficient microsecond software timer support for network processing","authors":"M. Aron, P. Druschel","doi":"10.1145/319151.319167","DOIUrl":"https://doi.org/10.1145/319151.319167","url":null,"abstract":"This paper proposes and evaluates soft timers, a new operating system facility that allows the efficient scheduling of software events at a granularity down to tens of microseconds. Soft timers can be used to avoid interrupts and reduce context switches associated with network processing without sacrificing low communication delays.More specifically, soft timers enable transport protocols like TCP to efficiently perform rate-based clocking of packet transmissions. Experiments show that rate-based clocking can improve HTTP response time over connections with high bandwidth-delay products by up to 89% and that soft timers allow a server to employ rate-based clocking with little CPU overhead (2-6%) at high aggregate bandwidths.Soft timers can also be used to perform network polling, which eliminates network interrupts and increases the memory access locality of the network subsystem without sacrificing delay. Experiments show that this technique can improve the throughput of a Web server by up to 25%.","PeriodicalId":200853,"journal":{"name":"Proceedings of the seventeenth ACM symposium on Operating systems principles","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124683506","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}
引用次数: 98
Cellular Disco: resource management using virtual clusters on shared-memory multiprocessors 蜂窝迪斯科:在共享内存多处理器上使用虚拟集群进行资源管理
Pub Date : 1999-12-12 DOI: 10.1145/319151.319162
Kinshuk Govil, D. Teodosiu, Yongqiang Huang, M. Rosenblum
Despite the fact that large-scale shared-memory multiprocessors have been commercially available for several years, system software that fully utilizes all their features is still not available, mostly due to the complexity and cost of making the required changes to the operating system. A recently proposed approach, called Disco, substantially reduces this development cost by using a virtual machine monitor that leverages the existing operating system technology.In this paper we present a system called Cellular Disco that extends the Disco work to provide all the advantages of the hardware partitioning and scalable operating system approaches. We argue that Cellular Disco can achieve these benefits at only a small fraction of the development cost of modifying the operating system. Cellular Disco effectively turns a large-scale shared-memory multiprocessor into a virtual cluster that supports fault containment and heterogeneity, while avoiding operating system scalability bottle-necks. Yet at the same time, Cellular Disco preserves the benefits of a shared-memory multiprocessor by implementing dynamic, fine-grained resource sharing, and by allowing users to overcommit resources such as processors and memory. This hybrid approach requires a scalable resource manager that makes local decisions with limited information while still providing good global performance and fault containment.In this paper we describe our experience with a Cellular Disco prototype on a 32-processor SGI Origin 2000 system. We show that the execution time penalty for this approach is low, typically within 10% of the best available commercial operating system for most workloads, and that it can manage the CPU and memory resources of the machine significantly better than the hardware partitioning approach.
尽管大规模共享内存多处理器已经在商业上可用了好几年,但充分利用其所有特性的系统软件仍然不可用,这主要是由于对操作系统进行所需更改的复杂性和成本。最近提出的一种称为Disco的方法,通过使用利用现有操作系统技术的虚拟机监视器,大大降低了这种开发成本。在本文中,我们提出了一个称为蜂窝Disco的系统,它扩展了Disco的工作,以提供硬件分区和可伸缩操作系统方法的所有优点。我们认为,蜂窝迪斯科可以实现这些好处,而只需修改操作系统的一小部分开发成本。Cellular Disco有效地将大型共享内存多处理器转变为支持故障遏制和异构的虚拟集群,同时避免了操作系统可伸缩性瓶颈。但与此同时,Cellular Disco通过实现动态的、细粒度的资源共享,并允许用户超额提交处理器和内存等资源,保留了共享内存多处理器的优点。这种混合方法需要一个可伸缩的资源管理器,它可以使用有限的信息做出本地决策,同时仍然提供良好的全局性能和故障控制。在本文中,我们描述了我们在32处理器的SGI Origin 2000系统上使用蜂窝Disco原型的经验。我们表明,这种方法的执行时间损失很低,通常在大多数工作负载的最佳可用商业操作系统的10%以内,并且它可以比硬件分区方法更好地管理机器的CPU和内存资源。
{"title":"Cellular Disco: resource management using virtual clusters on shared-memory multiprocessors","authors":"Kinshuk Govil, D. Teodosiu, Yongqiang Huang, M. Rosenblum","doi":"10.1145/319151.319162","DOIUrl":"https://doi.org/10.1145/319151.319162","url":null,"abstract":"Despite the fact that large-scale shared-memory multiprocessors have been commercially available for several years, system software that fully utilizes all their features is still not available, mostly due to the complexity and cost of making the required changes to the operating system. A recently proposed approach, called Disco, substantially reduces this development cost by using a virtual machine monitor that leverages the existing operating system technology.In this paper we present a system called Cellular Disco that extends the Disco work to provide all the advantages of the hardware partitioning and scalable operating system approaches. We argue that Cellular Disco can achieve these benefits at only a small fraction of the development cost of modifying the operating system. Cellular Disco effectively turns a large-scale shared-memory multiprocessor into a virtual cluster that supports fault containment and heterogeneity, while avoiding operating system scalability bottle-necks. Yet at the same time, Cellular Disco preserves the benefits of a shared-memory multiprocessor by implementing dynamic, fine-grained resource sharing, and by allowing users to overcommit resources such as processors and memory. This hybrid approach requires a scalable resource manager that makes local decisions with limited information while still providing good global performance and fault containment.In this paper we describe our experience with a Cellular Disco prototype on a 32-processor SGI Origin 2000 system. We show that the execution time penalty for this approach is low, typically within 10% of the best available commercial operating system for most workloads, and that it can manage the CPU and memory resources of the machine significantly better than the hardware partitioning approach.","PeriodicalId":200853,"journal":{"name":"Proceedings of the seventeenth ACM symposium on Operating systems principles","volume":"81 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131179713","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}
引用次数: 32
Active network vision and reality: lessions from a capsule-based system 主动网络视觉和现实:来自胶囊系统的经验教训
Pub Date : 1999-12-12 DOI: 10.1145/319151.319156
D. Wetherall
Although active networks have generated much debate in the research community, on the whole there has been little hard evidence to inform this debate. This paper aims to redress the situation by reporting what we have learned by designing, implementing and using the ANTS active network toolkit over the past two years. At this early stage, active networks remain an open research area. However, we believe that we have made substantial progress towards providing a more flexible network layer while at the same time addressing the performance and security concerns raised by the presence of mobile code in the network. In this paper, we argue our progress towards the original vision and the difficulties that we have not yet resolved in three areas that characterize a "pure" active network: the capsule model of programmability; the accessibility of that model to all users; and the applications that can be constructed in practice.
尽管活跃网络在研究界引起了很多争论,但总的来说,几乎没有确凿的证据来支持这场辩论。本文旨在通过报告我们在过去两年中通过设计、实现和使用ANTS主动网络工具包所学到的知识来纠正这种情况。在这个早期阶段,主动网络仍然是一个开放的研究领域。然而,我们相信我们已经在提供更灵活的网络层方面取得了实质性的进展,同时解决了网络中移动代码所带来的性能和安全问题。在本文中,我们讨论了我们在“纯”主动网络特征的三个领域中实现最初愿景的进展和尚未解决的困难:可编程性的胶囊模型;该模型对所有用户的可访问性;以及在实践中可以构建的应用。
{"title":"Active network vision and reality: lessions from a capsule-based system","authors":"D. Wetherall","doi":"10.1145/319151.319156","DOIUrl":"https://doi.org/10.1145/319151.319156","url":null,"abstract":"Although active networks have generated much debate in the research community, on the whole there has been little hard evidence to inform this debate. This paper aims to redress the situation by reporting what we have learned by designing, implementing and using the ANTS active network toolkit over the past two years. At this early stage, active networks remain an open research area. However, we believe that we have made substantial progress towards providing a more flexible network layer while at the same time addressing the performance and security concerns raised by the presence of mobile code in the network. In this paper, we argue our progress towards the original vision and the difficulties that we have not yet resolved in three areas that characterize a \"pure\" active network: the capsule model of programmability; the accessibility of that model to all users; and the applications that can be constructed in practice.","PeriodicalId":200853,"journal":{"name":"Proceedings of the seventeenth ACM symposium on Operating systems principles","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117285794","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}
引用次数: 166
EROS: a fast capability system EROS:快速能力系统
Pub Date : 1999-12-12 DOI: 10.1145/319151.319163
J. Shapiro, Jonathan M. Smith, D. Farber
EROS is a capability-based operating system for commodity processors which uses a single level storage model. The single level store's persistence is transparent to applications. The performance consequences of support for transparent persistence and capability-based architectures are generally believed to be negative. Surprisingly, the basic operations of EROS (such as IPC) are generally comparable in cost to similar operations in conventional systems. This is demonstrated with a set of microbenchmark measurements of semantically similar operations in Linux.The EROS system achieves its performance by coupling well-chosen abstract objects with caching techniques for those objects. The objects (processes, nodes, and pages) are well-supported by conventional hardware, reducing the overhead of capabilities. Software-managed caching techniques for these objects reduce the cost of persistence. The resulting performance suggests that composing protected subsystems may be less costly than commonly believed.
EROS是一种基于能力的操作系统,用于商品处理器,它使用单级存储模型。单级存储的持久性对应用程序是透明的。通常认为,支持透明持久性和基于功能的体系结构对性能的影响是负面的。令人惊讶的是,EROS的基本操作(如IPC)在成本上通常与传统系统中的类似操作相当。通过对Linux中语义相似操作的一组微基准测试来演示这一点。EROS系统通过将精心选择的抽象对象与这些对象的缓存技术相结合来实现其性能。对象(进程、节点和页面)得到传统硬件的良好支持,从而减少了功能开销。针对这些对象的软件管理缓存技术降低了持久性的成本。由此产生的性能表明,组合受保护的子系统的成本可能比通常认为的要低。
{"title":"EROS: a fast capability system","authors":"J. Shapiro, Jonathan M. Smith, D. Farber","doi":"10.1145/319151.319163","DOIUrl":"https://doi.org/10.1145/319151.319163","url":null,"abstract":"EROS is a capability-based operating system for commodity processors which uses a single level storage model. The single level store's persistence is transparent to applications. The performance consequences of support for transparent persistence and capability-based architectures are generally believed to be negative. Surprisingly, the basic operations of EROS (such as IPC) are generally comparable in cost to similar operations in conventional systems. This is demonstrated with a set of microbenchmark measurements of semantically similar operations in Linux.The EROS system achieves its performance by coupling well-chosen abstract objects with caching techniques for those objects. The objects (processes, nodes, and pages) are well-supported by conventional hardware, reducing the overhead of capabilities. Software-managed caching techniques for these objects reduce the cost of persistence. The resulting performance suggests that composing protected subsystems may be less costly than commonly believed.","PeriodicalId":200853,"journal":{"name":"Proceedings of the seventeenth ACM symposium on Operating systems principles","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117289238","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}
引用次数: 379
The Click modular router Click模块化路由器
Pub Date : 1999-12-12 DOI: 10.1145/319151.319166
E. Kohler
Click is a new software architecture for building flexible and configurable routers. A Click router is assembled from packet processing modules called elements. Individual elements implement simple router functions like packet classification, queueing, scheduling, and interfacing with network devices. Complete configurations are built by connecting elements into a graph; packets flow along the graph's edges. Several features make individual elements more powerful and complex configurations easier to write, including pull processing, which models packet flow driven by transmitting interfaces, and flow-based router context, which helps an element locate other interesting elements.We demonstrate several working configurations, including an IP router and an Ethernet bridge. These configurations are modular---the IP router has 16 elements on the forwarding path---and easy to extend by adding additional elements, which we demonstrate with augmented configurations. On commodity PC hardware running Linux, the Click IP router can forward 64-byte packets at 73,000 packets per second, just 10% slower than Linux alone.
Click是一种新的软件架构,用于构建灵活的可配置路由器。点击路由器是由被称为单元的包处理模块组装而成的。单个元素实现简单的路由器功能,如数据包分类、排队、调度和与网络设备的接口。通过将元素连接到图中来构建完整的配置;数据包沿着图的边缘流动。有几个特性使单个元素更强大,复杂的配置更容易编写,包括拉处理(它对传输接口驱动的数据包流进行建模)和基于流的路由器上下文(它帮助元素定位其他感兴趣的元素)。我们演示了几种工作配置,包括IP路由器和以太网桥接器。这些配置是模块化的——IP路由器在转发路径上有16个元素——并且很容易通过添加额外的元素来扩展,我们用增强配置来演示。在运行Linux的商用PC硬件上,Click IP路由器可以以每秒73,000个数据包的速度转发64字节的数据包,仅比Linux慢10%。
{"title":"The Click modular router","authors":"E. Kohler","doi":"10.1145/319151.319166","DOIUrl":"https://doi.org/10.1145/319151.319166","url":null,"abstract":"Click is a new software architecture for building flexible and configurable routers. A Click router is assembled from packet processing modules called elements. Individual elements implement simple router functions like packet classification, queueing, scheduling, and interfacing with network devices. Complete configurations are built by connecting elements into a graph; packets flow along the graph's edges. Several features make individual elements more powerful and complex configurations easier to write, including pull processing, which models packet flow driven by transmitting interfaces, and flow-based router context, which helps an element locate other interesting elements.We demonstrate several working configurations, including an IP router and an Ethernet bridge. These configurations are modular---the IP router has 16 elements on the forwarding path---and easy to extend by adding additional elements, which we demonstrate with augmented configurations. On commodity PC hardware running Linux, the Click IP router can forward 64-byte packets at 73,000 packets per second, just 10% slower than Linux alone.","PeriodicalId":200853,"journal":{"name":"Proceedings of the seventeenth ACM symposium on Operating systems principles","volume":"224 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121089537","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}
引用次数: 2143
Deciding when to forget in the Elephant file system 决定何时在Elephant文件系统中忘记
Pub Date : 1999-12-12 DOI: 10.1145/319151.319159
Douglas S. Santry, M. Feeley, N. Hutchinson, Alistair C. Veitch, R. Carton, Jacob Ofir
Modern file systems associate the deletion of a file with the immediate release of storage, and file writes with the irrevocable change of file contents. We argue that this behavior is a relic of the past, when disk storage was a scarce resource. Today, large cheap disks make it possible for the file system to protect valuable data from accidental delete or overwrite.This paper describes the design, implementation, and performance of the Elephant file system, which automatically retains all important versions of user files. Users name previous file versions by combining a traditional pathname with a time when the desired version of a file or directory existed. Storage in Elephant is managed by the system using file-grain user-specified retention policies. This approach contrasts with checkpointing file systems such as Plan-9, AFS, and WAFL that periodically generate efficient checkpoints of entire file systems and thus restrict retention to be guided by a single policy for all files within that file system.Elephant is implemented as a new Virtual File System in the FreeBSD kernel.
现代文件系统将文件的删除与存储空间的立即释放联系在一起,将文件的写入与文件内容的不可撤销更改联系在一起。我们认为,这种行为是过去的遗物,当时磁盘存储是一种稀缺资源。如今,大而便宜的磁盘使文件系统能够保护有价值的数据不被意外删除或覆盖。本文描述了Elephant文件系统的设计、实现和性能,该系统可以自动保留所有重要版本的用户文件。用户通过将传统的路径名与文件或目录存在所需版本的时间相结合来命名以前的文件版本。Elephant中的存储由系统使用文件粒度用户指定的保留策略进行管理。这种方法与检查点文件系统(如Plan-9、AFS和WAFL)形成对比,后者定期为整个文件系统生成有效的检查点,从而将保留限制在该文件系统中所有文件的单一策略指导下。Elephant是在FreeBSD内核中作为一个新的虚拟文件系统实现的。
{"title":"Deciding when to forget in the Elephant file system","authors":"Douglas S. Santry, M. Feeley, N. Hutchinson, Alistair C. Veitch, R. Carton, Jacob Ofir","doi":"10.1145/319151.319159","DOIUrl":"https://doi.org/10.1145/319151.319159","url":null,"abstract":"Modern file systems associate the deletion of a file with the immediate release of storage, and file writes with the irrevocable change of file contents. We argue that this behavior is a relic of the past, when disk storage was a scarce resource. Today, large cheap disks make it possible for the file system to protect valuable data from accidental delete or overwrite.This paper describes the design, implementation, and performance of the Elephant file system, which automatically retains all important versions of user files. Users name previous file versions by combining a traditional pathname with a time when the desired version of a file or directory existed. Storage in Elephant is managed by the system using file-grain user-specified retention policies. This approach contrasts with checkpointing file systems such as Plan-9, AFS, and WAFL that periodically generate efficient checkpoints of entire file systems and thus restrict retention to be guided by a single policy for all files within that file system.Elephant is implemented as a new Virtual File System in the FreeBSD kernel.","PeriodicalId":200853,"journal":{"name":"Proceedings of the seventeenth ACM symposium on Operating systems principles","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130407810","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}
引用次数: 332
Energy-aware adaptation for mobile applications 针对移动应用的能量感知适应
Pub Date : 1999-12-12 DOI: 10.1145/319151.319155
J. Flinn, M. Satyanarayanan
In this paper, we demonstrate that a collaborative relationship between the operating system and applications can be used to meet user-specified goals for battery duration. We first show how applications can dynamically modify their behavior to conserve energy. We then show how the Linux operating system can guide such adaptation to yield a battery-life of desired duration. By monitoring energy supply and demand, it is able to select the correct tradeoff between energy conservation and application quality. Our evaluation shows that this approach can meet goals that extend battery life by as much as 30%.
在本文中,我们证明了操作系统和应用程序之间的协作关系可以用来满足用户指定的电池持续时间目标。我们首先展示应用程序如何动态修改其行为以节省能源。然后,我们将展示Linux操作系统如何引导这种适应,从而获得所需的电池寿命。通过监测能源供应和需求,它能够在节能和应用质量之间做出正确的权衡。我们的评估表明,这种方法可以达到将电池寿命延长30%的目标。
{"title":"Energy-aware adaptation for mobile applications","authors":"J. Flinn, M. Satyanarayanan","doi":"10.1145/319151.319155","DOIUrl":"https://doi.org/10.1145/319151.319155","url":null,"abstract":"In this paper, we demonstrate that a collaborative relationship between the operating system and applications can be used to meet user-specified goals for battery duration. We first show how applications can dynamically modify their behavior to conserve energy. We then show how the Linux operating system can guide such adaptation to yield a battery-life of desired duration. By monitoring energy supply and demand, it is able to select the correct tradeoff between energy conservation and application quality. Our evaluation shows that this approach can meet goals that extend battery life by as much as 30%.","PeriodicalId":200853,"journal":{"name":"Proceedings of the seventeenth ACM symposium on Operating systems principles","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134337973","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}
引用次数: 181
On the scale and performance of cooperative Web proxy caching 协同Web代理缓存的规模和性能研究
Pub Date : 1999-12-12 DOI: 10.1145/319151.319153
A. Wolman, G. Voelker, Nitin Sharma, N. Cardwell, Anna R. Karlin, H. Levy
While algorithms for cooperative proxy caching have been widely studied, little is understood about cooperative-caching performance in the large-scale World Wide Web environment. This paper uses both trace-based analysis and analytic modelling to show the potential advantages and drawbacks of inter-proxy cooperation. With our traces, we evaluate quantitatively the performance-improvement potential of cooperation between 200 small-organization proxies within a university environment, and between two large-organization proxies handling 23,000 and 60,000 clients, respectively. With our model, we extend beyond these populations to project cooperative caching behavior in regions with millions of clients. Overall, we demonstrate that cooperative caching has performance benefits only within limited population bounds. We also use our model to examine the implications of future trends in Web-access behavior and traffic.
虽然协作代理缓存算法已经被广泛研究,但对大规模万维网环境下的协作缓存性能了解甚少。本文使用基于跟踪的分析和分析模型来展示代理间合作的潜在优点和缺点。通过我们的跟踪,我们定量地评估了大学环境中200个小型组织代理之间以及两个分别处理23,000和60,000个客户的大型组织代理之间合作的性能改进潜力。通过我们的模型,我们将这些人群扩展到具有数百万客户机的区域中的协作缓存行为。总的来说,我们证明了协作缓存仅在有限的人口范围内具有性能优势。我们还使用我们的模型来检验网络访问行为和流量的未来趋势的含义。
{"title":"On the scale and performance of cooperative Web proxy caching","authors":"A. Wolman, G. Voelker, Nitin Sharma, N. Cardwell, Anna R. Karlin, H. Levy","doi":"10.1145/319151.319153","DOIUrl":"https://doi.org/10.1145/319151.319153","url":null,"abstract":"While algorithms for cooperative proxy caching have been widely studied, little is understood about cooperative-caching performance in the large-scale World Wide Web environment. This paper uses both trace-based analysis and analytic modelling to show the potential advantages and drawbacks of inter-proxy cooperation. With our traces, we evaluate quantitatively the performance-improvement potential of cooperation between 200 small-organization proxies within a university environment, and between two large-organization proxies handling 23,000 and 60,000 clients, respectively. With our model, we extend beyond these populations to project cooperative caching behavior in regions with millions of clients. Overall, we demonstrate that cooperative caching has performance benefits only within limited population bounds. We also use our model to examine the implications of future trends in Web-access behavior and traffic.","PeriodicalId":200853,"journal":{"name":"Proceedings of the seventeenth ACM symposium on Operating systems principles","volume":"204 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114575777","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}
引用次数: 163
期刊
Proceedings of the seventeenth 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