首页 > 最新文献

Proceedings of the Eleventh European Conference on Computer Systems最新文献

英文 中文
Prefetching mobile ads: can advertising systems afford it? 预装移动广告:广告系统能负担得起吗?
Pub Date : 2013-04-15 DOI: 10.1145/2465351.2465378
Prashanth Mohan, Suman Nath, Oriana Riva
Mobile app marketplaces are dominated by free apps that rely on advertising for their revenue. These apps place increased demands on the already limited battery lifetime of modern phones. For example, in the top 15 free Windows Phone apps, we found in-app advertising contributes to 65% of the app's total communication energy (or 23% of the app's total energy). Despite their small size, downloading ads each time an app is started and at regular refresh intervals forces the network radio to be continuously woken up, thus leading to a high energy overhead, so-called 'tail energy' problem. A straightforward mechanism to lower this overhead is to prefetch ads in bulk and serve them locally. However, the prefetching of ads is at odds with the real-time nature of modern advertising systems wherein ads are sold through real-time auctions each time the client can display an ad. This paper addresses the challenge of supporting ad prefetching with minimal changes to the existing advertising architecture. We build client models predicting how many ad slots are likely to be available in the future. Based on this (unreliable) estimate, ad servers make client ad slots available in the ad exchange auctions even before they can be displayed. In order to display the ads within a short deadline, ads are probabilistically replicated across clients, using an overbooking model designed to ensure that ads are shown before their deadline expires (SLA violation rate) and are shown no more than required (revenue loss). With traces of over 1,700 iPhone and Windows Phone users, we show that our approach can reduce the ad energy overhead by over 50% with a negligible revenue loss and SLA violation rate.
手机应用市场主要是依靠广告收入的免费应用。这些应用程序对现代手机本已有限的电池寿命提出了更高的要求。例如,在排名前15的免费Windows Phone应用中,我们发现应用内广告贡献了应用总传播能量的65%(或占应用总能量的23%)。尽管它们的体积很小,但每次应用程序启动和定期刷新间隔时下载广告都会迫使网络广播不断被唤醒,从而导致高能量开销,即所谓的“尾能量”问题。降低此开销的一种直接机制是批量预取广告并在本地提供它们。然而,预先获取广告与现代广告系统的实时性不一致,在现代广告系统中,每次客户可以展示广告时,广告都是通过实时拍卖出售的。本文解决了在对现有广告架构进行最小更改的情况下支持广告预取的挑战。我们建立客户模型,预测未来可能有多少广告位可用。基于这种(不可靠的)估计,广告服务器使客户端广告位在广告交换拍卖中可用,甚至在它们可以显示之前。为了在较短的期限内显示广告,广告可能会在客户之间复制,使用超额预订模型来确保广告在截止日期之前显示(SLA违规率),并且显示的时间不超过要求(收入损失)。通过对1700多名iPhone和Windows Phone用户的追踪,我们发现我们的方法可以减少50%以上的广告开销,而收入损失和SLA违规率可以忽略不计。
{"title":"Prefetching mobile ads: can advertising systems afford it?","authors":"Prashanth Mohan, Suman Nath, Oriana Riva","doi":"10.1145/2465351.2465378","DOIUrl":"https://doi.org/10.1145/2465351.2465378","url":null,"abstract":"Mobile app marketplaces are dominated by free apps that rely on advertising for their revenue. These apps place increased demands on the already limited battery lifetime of modern phones. For example, in the top 15 free Windows Phone apps, we found in-app advertising contributes to 65% of the app's total communication energy (or 23% of the app's total energy). Despite their small size, downloading ads each time an app is started and at regular refresh intervals forces the network radio to be continuously woken up, thus leading to a high energy overhead, so-called 'tail energy' problem. A straightforward mechanism to lower this overhead is to prefetch ads in bulk and serve them locally. However, the prefetching of ads is at odds with the real-time nature of modern advertising systems wherein ads are sold through real-time auctions each time the client can display an ad.\u0000 This paper addresses the challenge of supporting ad prefetching with minimal changes to the existing advertising architecture. We build client models predicting how many ad slots are likely to be available in the future. Based on this (unreliable) estimate, ad servers make client ad slots available in the ad exchange auctions even before they can be displayed. In order to display the ads within a short deadline, ads are probabilistically replicated across clients, using an overbooking model designed to ensure that ads are shown before their deadline expires (SLA violation rate) and are shown no more than required (revenue loss). With traces of over 1,700 iPhone and Windows Phone users, we show that our approach can reduce the ad energy overhead by over 50% with a negligible revenue loss and SLA violation rate.","PeriodicalId":20737,"journal":{"name":"Proceedings of the Eleventh European Conference on Computer Systems","volume":"73 1","pages":"267-280"},"PeriodicalIF":0.0,"publicationDate":"2013-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86359866","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}
引用次数: 67
Mizan: a system for dynamic load balancing in large-scale graph processing Mizan:一个用于大规模图形处理的动态负载平衡系统
Pub Date : 2013-04-15 DOI: 10.1145/2465351.2465369
Zuhair Khayyat, Karim Awara, Amani Alonazi, H. Jamjoom, Dan Williams, Panos Kalnis
Pregel [23] was recently introduced as a scalable graph mining system that can provide significant performance improvements over traditional MapReduce implementations. Existing implementations focus primarily on graph partitioning as a preprocessing step to balance computation across compute nodes. In this paper, we examine the runtime characteristics of a Pregel system. We show that graph partitioning alone is insufficient for minimizing end-to-end computation. Especially where data is very large or the runtime behavior of the algorithm is unknown, an adaptive approach is needed. To this end, we introduce Mizan, a Pregel system that achieves efficient load balancing to better adapt to changes in computing needs. Unlike known implementations of Pregel, Mizan does not assume any a priori knowledge of the structure of the graph or behavior of the algorithm. Instead, it monitors the runtime characteristics of the system. Mizan then performs efficient fine-grained vertex migration to balance computation and communication. We have fully implemented Mizan; using extensive evaluation we show that---especially for highly-dynamic workloads---Mizan provides up to 84% improvement over techniques leveraging static graph pre-partitioning.
Pregel[23]最近作为一种可扩展的图挖掘系统被引入,它比传统的MapReduce实现提供了显著的性能改进。现有的实现主要侧重于将图分区作为一个预处理步骤,以平衡计算节点之间的计算。在本文中,我们研究了一个Pregel系统的运行特性。我们表明,图划分本身不足以最小化端到端计算。特别是当数据非常大或算法的运行时行为未知时,需要一种自适应方法。为此,我们介绍了Mizan,这是一个Pregel系统,它实现了有效的负载平衡,以更好地适应计算需求的变化。与已知的Pregel实现不同,Mizan不假设对图的结构或算法的行为有任何先验知识。相反,它监视系统的运行时特征。然后Mizan执行高效的细粒度顶点迁移来平衡计算和通信。我们已经全面实施了Mizan;通过广泛的评估,我们发现——特别是对于高度动态的工作负载——Mizan比利用静态图预分区的技术提供了高达84%的改进。
{"title":"Mizan: a system for dynamic load balancing in large-scale graph processing","authors":"Zuhair Khayyat, Karim Awara, Amani Alonazi, H. Jamjoom, Dan Williams, Panos Kalnis","doi":"10.1145/2465351.2465369","DOIUrl":"https://doi.org/10.1145/2465351.2465369","url":null,"abstract":"Pregel [23] was recently introduced as a scalable graph mining system that can provide significant performance improvements over traditional MapReduce implementations. Existing implementations focus primarily on graph partitioning as a preprocessing step to balance computation across compute nodes. In this paper, we examine the runtime characteristics of a Pregel system. We show that graph partitioning alone is insufficient for minimizing end-to-end computation. Especially where data is very large or the runtime behavior of the algorithm is unknown, an adaptive approach is needed. To this end, we introduce Mizan, a Pregel system that achieves efficient load balancing to better adapt to changes in computing needs. Unlike known implementations of Pregel, Mizan does not assume any a priori knowledge of the structure of the graph or behavior of the algorithm. Instead, it monitors the runtime characteristics of the system. Mizan then performs efficient fine-grained vertex migration to balance computation and communication. We have fully implemented Mizan; using extensive evaluation we show that---especially for highly-dynamic workloads---Mizan provides up to 84% improvement over techniques leveraging static graph pre-partitioning.","PeriodicalId":20737,"journal":{"name":"Proceedings of the Eleventh European Conference on Computer Systems","volume":"90 1","pages":"169-182"},"PeriodicalIF":0.0,"publicationDate":"2013-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81548309","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}
引用次数: 311
Optimus: a dynamic rewriting framework for data-parallel execution plans Optimus:一个数据并行执行计划的动态重写框架
Pub Date : 2013-04-15 DOI: 10.1145/2465351.2465354
Qifa Ke, M. Isard, Yuan Yu
In distributed data-parallel computing, a user program is compiled into an execution plan graph (EPG), typically a directed acyclic graph. This EPG is the core data structure used by modern distributed execution engines for task distribution, job management, and fault tolerance. Once submitted for execution, the EPG remains largely unchanged at runtime except for some limited modifications. This makes it difficult to employ dynamic optimization techniques that could substantially improve the distributed execution based on runtime information. This paper presents Optimus, a framework for dynamically rewriting an EPG at runtime. Optimus extends dynamic rewrite mechanisms present in systems such as Dryad and CIEL by integrating rewrite policy with a high-level data-parallel language, in this case DryadLINQ. This integration enables optimizations that require knowledge of the semantics of the computation, such as language customizations for domain-specific computations including matrix algebra. We describe the design and implementation of Optimus, outline its interfaces, and detail a number of rewriting techniques that address problems arising in distributed execution including data skew, dynamic data re-partitioning, handling unbounded iterative computations, and protecting important intermediate data for fault tolerance. We evaluate Optimus with real applications and data and show significant performance gains compared to manual optimization or customized systems. We demonstrate the versatility of dynamic EPG rewriting for data-parallel computing, and argue that it is an essential feature of any general-purpose distributed dataflow execution engine.
在分布式数据并行计算中,用户程序被编译成执行计划图(EPG),通常是有向无环图。这个EPG是现代分布式执行引擎用于任务分发、作业管理和容错的核心数据结构。一旦提交执行,除了一些有限的修改外,EPG在运行时基本保持不变。这使得很难采用动态优化技术,而动态优化技术可以基于运行时信息大幅改进分布式执行。本文介绍了Optimus,一个在运行时动态重写EPG的框架。通过将重写策略与高级数据并行语言(在本例中为DryadLINQ)集成,Optimus扩展了Dryad和CIEL等系统中的动态重写机制。这种集成支持需要了解计算语义的优化,例如针对特定领域计算(包括矩阵代数)的语言定制。我们描述了Optimus的设计和实现,概述了它的接口,并详细介绍了一些重写技术,这些技术可以解决分布式执行中出现的问题,包括数据倾斜、动态数据重新分区、处理无界迭代计算以及保护重要的中间数据以实现容错。我们用实际应用程序和数据对Optimus进行了评估,结果显示,与手动优化或定制系统相比,Optimus的性能有了显著提高。我们展示了动态EPG重写用于数据并行计算的多功能性,并认为这是任何通用分布式数据流执行引擎的基本特性。
{"title":"Optimus: a dynamic rewriting framework for data-parallel execution plans","authors":"Qifa Ke, M. Isard, Yuan Yu","doi":"10.1145/2465351.2465354","DOIUrl":"https://doi.org/10.1145/2465351.2465354","url":null,"abstract":"In distributed data-parallel computing, a user program is compiled into an execution plan graph (EPG), typically a directed acyclic graph. This EPG is the core data structure used by modern distributed execution engines for task distribution, job management, and fault tolerance. Once submitted for execution, the EPG remains largely unchanged at runtime except for some limited modifications. This makes it difficult to employ dynamic optimization techniques that could substantially improve the distributed execution based on runtime information.\u0000 This paper presents Optimus, a framework for dynamically rewriting an EPG at runtime. Optimus extends dynamic rewrite mechanisms present in systems such as Dryad and CIEL by integrating rewrite policy with a high-level data-parallel language, in this case DryadLINQ. This integration enables optimizations that require knowledge of the semantics of the computation, such as language customizations for domain-specific computations including matrix algebra. We describe the design and implementation of Optimus, outline its interfaces, and detail a number of rewriting techniques that address problems arising in distributed execution including data skew, dynamic data re-partitioning, handling unbounded iterative computations, and protecting important intermediate data for fault tolerance. We evaluate Optimus with real applications and data and show significant performance gains compared to manual optimization or customized systems. We demonstrate the versatility of dynamic EPG rewriting for data-parallel computing, and argue that it is an essential feature of any general-purpose distributed dataflow execution engine.","PeriodicalId":20737,"journal":{"name":"Proceedings of the Eleventh European Conference on Computer Systems","volume":"21 1","pages":"15-28"},"PeriodicalIF":0.0,"publicationDate":"2013-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73444475","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}
引用次数: 46
Adaptive parallelism for web search 自适应并行网络搜索
Pub Date : 2013-04-15 DOI: 10.1145/2465351.2465367
Myeongjae Jeon, Yuxiong He, S. Elnikety, A. Cox, S. Rixner
A web search query made to Microsoft Bing is currently parallelized by distributing the query processing across many servers. Within each of these servers, the query is, however, processed sequentially. Although each server may be processing multiple queries concurrently, with modern multicore servers, parallelizing the processing of an individual query within the server may nonetheless improve the user's experience by reducing the response time. In this paper, we describe the issues that make the parallelization of an individual query within a server challenging, and we present a parallelization approach that effectively addresses these challenges. Since each server may be processing multiple queries concurrently, we also present a adaptive resource management algorithm that chooses the degree of parallelism at run-time for each query, taking into account system load and parallelization efficiency. As a result, the servers now execute queries with a high degree of parallelism at low loads, gracefully reduce the degree of parallelism with increased load, and choose sequential execution under high load. We have implemented our parallelization approach and adaptive resource management algorithm in Bing servers and evaluated them experimentally with production workloads. The experimental results show that the mean and 95th-percentile response times for queries are reduced by more than 50% under light or moderate load. Moreover, under high load where parallelization adversely degrades the system performance, the response times are kept the same as when queries are executed sequentially. In all cases, we observe no degradation in the relevance of the search results.
对微软必应(Microsoft Bing)的网络搜索查询目前是通过将查询处理分布在许多服务器上来并行化的。然而,在这些服务器中,查询是按顺序处理的。尽管每个服务器可能并发地处理多个查询,但是使用现代多核服务器,在服务器内并行处理单个查询仍然可以通过减少响应时间来改善用户体验。在本文中,我们描述了使服务器内单个查询的并行化具有挑战性的问题,并提出了一种有效解决这些挑战的并行化方法。由于每个服务器可能并发地处理多个查询,因此我们还提出了一种自适应资源管理算法,该算法在考虑系统负载和并行化效率的情况下,在运行时为每个查询选择并行度。因此,服务器现在在低负载下以高并行度执行查询,在增加负载时优雅地降低并行度,并在高负载下选择顺序执行。我们已经在Bing服务器上实现了我们的并行化方法和自适应资源管理算法,并在生产工作负载上对它们进行了实验评估。实验结果表明,在轻负荷或中等负荷下,查询的平均和第95百分位响应时间减少了50%以上。此外,在并行化会降低系统性能的高负载下,响应时间与顺序执行查询时保持一致。在所有情况下,我们观察到搜索结果的相关性没有下降。
{"title":"Adaptive parallelism for web search","authors":"Myeongjae Jeon, Yuxiong He, S. Elnikety, A. Cox, S. Rixner","doi":"10.1145/2465351.2465367","DOIUrl":"https://doi.org/10.1145/2465351.2465367","url":null,"abstract":"A web search query made to Microsoft Bing is currently parallelized by distributing the query processing across many servers. Within each of these servers, the query is, however, processed sequentially. Although each server may be processing multiple queries concurrently, with modern multicore servers, parallelizing the processing of an individual query within the server may nonetheless improve the user's experience by reducing the response time. In this paper, we describe the issues that make the parallelization of an individual query within a server challenging, and we present a parallelization approach that effectively addresses these challenges. Since each server may be processing multiple queries concurrently, we also present a adaptive resource management algorithm that chooses the degree of parallelism at run-time for each query, taking into account system load and parallelization efficiency. As a result, the servers now execute queries with a high degree of parallelism at low loads, gracefully reduce the degree of parallelism with increased load, and choose sequential execution under high load. We have implemented our parallelization approach and adaptive resource management algorithm in Bing servers and evaluated them experimentally with production workloads. The experimental results show that the mean and 95th-percentile response times for queries are reduced by more than 50% under light or moderate load. Moreover, under high load where parallelization adversely degrades the system performance, the response times are kept the same as when queries are executed sequentially. In all cases, we observe no degradation in the relevance of the search results.","PeriodicalId":20737,"journal":{"name":"Proceedings of the Eleventh European Conference on Computer Systems","volume":"28 1","pages":"155-168"},"PeriodicalIF":0.0,"publicationDate":"2013-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83448893","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}
引用次数: 52
Choosy: max-min fair sharing for datacenter jobs with constraints 有约束的数据中心作业的最大最小公平共享
Pub Date : 2013-04-15 DOI: 10.1145/2465351.2465387
A. Ghodsi, M. Zaharia, S. Shenker, I. Stoica
Max-Min Fairness is a flexible resource allocation mechanism used in most datacenter schedulers. However, an increasing number of jobs have hard placement constraints, restricting the machines they can run on due to special hardware or software requirements. It is unclear how to define, and achieve, max-min fairness in the presence of such constraints. We propose Constrained Max-Min Fairness (CMMF), an extension to max-min fairness that supports placement constraints, and show that it is the only policy satisfying an important property that incentivizes users to pool resources. Optimally computing CMMF is challenging, but we show that a remarkably simple online scheduler, called Choosy, approximates the optimal scheduler well. Through experiments, analysis, and simulations, we show that Choosy on average differs 2% from the optimal CMMF allocation, and lets jobs achieve their fair share quickly.
Max-Min Fairness是大多数数据中心调度器中使用的一种灵活的资源分配机制。然而,越来越多的作业具有硬放置限制,由于特殊的硬件或软件要求,限制了它们可以运行的机器。在这样的约束条件下,如何定义和实现最大最小公平尚不清楚。我们提出了约束最大最小公平性(CMMF),这是支持放置约束的最大最小公平性的扩展,并表明它是唯一满足激励用户集中资源的重要属性的策略。优化计算CMMF具有挑战性,但是我们展示了一个非常简单的在线调度器Choosy,它很好地近似于最优调度器。通过实验、分析和模拟,我们发现Choosy与最优的CMMF分配平均相差2%,并使作业迅速获得公平的份额。
{"title":"Choosy: max-min fair sharing for datacenter jobs with constraints","authors":"A. Ghodsi, M. Zaharia, S. Shenker, I. Stoica","doi":"10.1145/2465351.2465387","DOIUrl":"https://doi.org/10.1145/2465351.2465387","url":null,"abstract":"Max-Min Fairness is a flexible resource allocation mechanism used in most datacenter schedulers. However, an increasing number of jobs have hard placement constraints, restricting the machines they can run on due to special hardware or software requirements. It is unclear how to define, and achieve, max-min fairness in the presence of such constraints. We propose Constrained Max-Min Fairness (CMMF), an extension to max-min fairness that supports placement constraints, and show that it is the only policy satisfying an important property that incentivizes users to pool resources. Optimally computing CMMF is challenging, but we show that a remarkably simple online scheduler, called Choosy, approximates the optimal scheduler well. Through experiments, analysis, and simulations, we show that Choosy on average differs 2% from the optimal CMMF allocation, and lets jobs achieve their fair share quickly.","PeriodicalId":20737,"journal":{"name":"Proceedings of the Eleventh European Conference on Computer Systems","volume":"30 1","pages":"365-378"},"PeriodicalIF":0.0,"publicationDate":"2013-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75785185","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}
引用次数: 195
hClock: hierarchical QoS for packet scheduling in a hypervisor hClock:分级QoS,用于管理程序中的数据包调度
Pub Date : 2013-04-15 DOI: 10.1145/2465351.2465382
J. Billaud, Ajay Gulati
Higher consolidation ratios in virtualized datacenters, SSD based storage arrays and converged IO fabric are mandating the need for more flexible and powerful models for physical network adapter bandwidth allocation. Existing solutions such as fair-queuing mechanisms, traffic-shapers and hierarchical allocation techniques are insufficient in terms of dealing with various use cases for a cloud service provider. In this paper, we present the design and implementation of a hierarchical bandwidth allocation algorithm called hClock. hClock supports three controls in a hierarchical manner: (1) minimum bandwidth guarantee, (2) rate limit and (3) shares (a.k.a weight). Our prototype implementation in VMware ESX server hypervisor, built with several optimizations to minimize CPU overhead and increase parallelism, shows that hClock is able to enforce hierarchical controls for a variety of workloads with diverse traffic patterns at scale.
在虚拟化数据中心、基于SSD的存储阵列和融合IO结构中,更高的整合率要求需要更灵活、更强大的物理网络适配器带宽分配模型。现有的解决方案,如公平排队机制、流量塑造器和分层分配技术,在处理云服务提供商的各种用例方面是不够的。在本文中,我们提出了一个分层带宽分配算法hClock的设计和实现。hClock以分层方式支持三个控件:(1)最小带宽保证,(2)速率限制,(3)份额(即权重)。我们在VMware ESX服务器管理程序中的原型实现,通过几个优化来最小化CPU开销并增加并行性,表明hClock能够对具有不同流量模式的各种工作负载大规模实施分层控制。
{"title":"hClock: hierarchical QoS for packet scheduling in a hypervisor","authors":"J. Billaud, Ajay Gulati","doi":"10.1145/2465351.2465382","DOIUrl":"https://doi.org/10.1145/2465351.2465382","url":null,"abstract":"Higher consolidation ratios in virtualized datacenters, SSD based storage arrays and converged IO fabric are mandating the need for more flexible and powerful models for physical network adapter bandwidth allocation. Existing solutions such as fair-queuing mechanisms, traffic-shapers and hierarchical allocation techniques are insufficient in terms of dealing with various use cases for a cloud service provider.\u0000 In this paper, we present the design and implementation of a hierarchical bandwidth allocation algorithm called hClock. hClock supports three controls in a hierarchical manner: (1) minimum bandwidth guarantee, (2) rate limit and (3) shares (a.k.a weight). Our prototype implementation in VMware ESX server hypervisor, built with several optimizations to minimize CPU overhead and increase parallelism, shows that hClock is able to enforce hierarchical controls for a variety of workloads with diverse traffic patterns at scale.","PeriodicalId":20737,"journal":{"name":"Proceedings of the Eleventh European Conference on Computer Systems","volume":"40 1","pages":"309-322"},"PeriodicalIF":0.0,"publicationDate":"2013-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80818092","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}
引用次数: 28
Application level ballooning for efficient server consolidation 应用程序级膨胀,实现高效的服务器整合
Pub Date : 2013-04-15 DOI: 10.1145/2465351.2465384
T. Salomie, G. Alonso, Timothy Roscoe, Kevin Elphinstone
Systems software like databases and language runtimes typically manage memory themselves to exploit application knowledge unavailable to the OS. Traditionally deployed on dedicated machines, they are designed to be statically configured with memory sufficient for peak load. In virtualization scenarios (cloud computing, server consolidation), however, static peak provisioning of RAM to applications dramatically reduces the efficiency and cost-saving benefits of virtualization. Unfortunately, existing memory "ballooning" techniques used to dynamically reallocate physical memory between VMs badly impact the performance of applications which manage their own memory. We address this problem by extending ballooning to applications (here, a database engine and Java runtime) so that memory can be efficiently and effectively moved between virtualized instances as the demands of each change over time. The results are significantly lower memory requirements to provide the same performance guarantees to a collocated set of VM running such applications, with minimal overhead or intrusive changes to application code.
数据库和语言运行库等系统软件通常自己管理内存,以利用操作系统无法获得的应用程序知识。传统上部署在专用机器上,它们被设计为静态配置,具有足够的内存以应对峰值负载。然而,在虚拟化场景(云计算、服务器整合)中,向应用程序提供静态峰值RAM会大大降低虚拟化的效率和成本节约优势。不幸的是,现有的用于在vm之间动态重新分配物理内存的内存“膨胀”技术严重影响了管理自己内存的应用程序的性能。我们通过将膨胀扩展到应用程序(这里是数据库引擎和Java运行时)来解决这个问题,这样就可以根据每次需求的变化在虚拟实例之间高效地移动内存。其结果是显著降低了内存需求,从而为运行此类应用程序的一组并置VM提供相同的性能保证,同时开销最小或对应用程序代码进行侵入性更改。
{"title":"Application level ballooning for efficient server consolidation","authors":"T. Salomie, G. Alonso, Timothy Roscoe, Kevin Elphinstone","doi":"10.1145/2465351.2465384","DOIUrl":"https://doi.org/10.1145/2465351.2465384","url":null,"abstract":"Systems software like databases and language runtimes typically manage memory themselves to exploit application knowledge unavailable to the OS. Traditionally deployed on dedicated machines, they are designed to be statically configured with memory sufficient for peak load. In virtualization scenarios (cloud computing, server consolidation), however, static peak provisioning of RAM to applications dramatically reduces the efficiency and cost-saving benefits of virtualization. Unfortunately, existing memory \"ballooning\" techniques used to dynamically reallocate physical memory between VMs badly impact the performance of applications which manage their own memory. We address this problem by extending ballooning to applications (here, a database engine and Java runtime) so that memory can be efficiently and effectively moved between virtualized instances as the demands of each change over time. The results are significantly lower memory requirements to provide the same performance guarantees to a collocated set of VM running such applications, with minimal overhead or intrusive changes to application code.","PeriodicalId":20737,"journal":{"name":"Proceedings of the Eleventh European Conference on Computer Systems","volume":"862 1","pages":"337-350"},"PeriodicalIF":0.0,"publicationDate":"2013-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81235897","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}
引用次数: 81
Presto: distributed machine learning and graph processing with sparse matrices Presto:分布式机器学习和稀疏矩阵的图处理
Pub Date : 2013-04-15 DOI: 10.1145/2465351.2465371
S. Venkataraman, Erik Bodzsar, Indrajit Roy, Alvin AuYoung, R. Schreiber
It is cumbersome to write machine learning and graph algorithms in data-parallel models such as MapReduce and Dryad. We observe that these algorithms are based on matrix computations and, hence, are inefficient to implement with the restrictive programming and communication interface of such frameworks. In this paper we show that array-based languages such as R [3] are suitable for implementing complex algorithms and can outperform current data parallel solutions. Since R is single-threaded and does not scale to large datasets, we have built Presto, a distributed system that extends R and addresses many of its limitations. Presto efficiently shares sparse structured data, can leverage multi-cores, and dynamically partitions data to mitigate load imbalance. Our results show the promise of this approach: many important machine learning and graph algorithms can be expressed in a single framework and are substantially faster than those in Hadoop and Spark.
在数据并行模型(如MapReduce和Dryad)中编写机器学习和图形算法是很麻烦的。我们观察到这些算法是基于矩阵计算的,因此,用这些框架的限制性编程和通信接口来实现是低效的。在本文中,我们展示了基于数组的语言,如r[3],适用于实现复杂的算法,并且可以优于当前的数据并行解决方案。由于R是单线程的,不能扩展到大型数据集,我们构建了Presto,一个扩展R并解决其许多限制的分布式系统。Presto有效地共享稀疏结构化数据,可以利用多核,并动态分区数据以减轻负载不平衡。我们的结果显示了这种方法的前景:许多重要的机器学习和图形算法可以在一个框架中表达,并且比Hadoop和Spark中的算法要快得多。
{"title":"Presto: distributed machine learning and graph processing with sparse matrices","authors":"S. Venkataraman, Erik Bodzsar, Indrajit Roy, Alvin AuYoung, R. Schreiber","doi":"10.1145/2465351.2465371","DOIUrl":"https://doi.org/10.1145/2465351.2465371","url":null,"abstract":"It is cumbersome to write machine learning and graph algorithms in data-parallel models such as MapReduce and Dryad. We observe that these algorithms are based on matrix computations and, hence, are inefficient to implement with the restrictive programming and communication interface of such frameworks.\u0000 In this paper we show that array-based languages such as R [3] are suitable for implementing complex algorithms and can outperform current data parallel solutions. Since R is single-threaded and does not scale to large datasets, we have built Presto, a distributed system that extends R and addresses many of its limitations. Presto efficiently shares sparse structured data, can leverage multi-cores, and dynamically partitions data to mitigate load imbalance. Our results show the promise of this approach: many important machine learning and graph algorithms can be expressed in a single framework and are substantially faster than those in Hadoop and Spark.","PeriodicalId":20737,"journal":{"name":"Proceedings of the Eleventh European Conference on Computer Systems","volume":"57 2 1","pages":"197-210"},"PeriodicalIF":0.0,"publicationDate":"2013-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91127705","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}
引用次数: 100
Maygh: building a CDN from client web browsers Maygh:从客户端web浏览器构建CDN
Pub Date : 2013-04-15 DOI: 10.1145/2465351.2465379
L. Zhang, Fangfei Zhou, A. Mislove, Ravi Sundaram
Over the past two decades, the web has provided dramatic improvements in the ease of sharing content. Unfortunately, the costs of distributing this content are largely incurred by web site operators; popular web sites are required to make substantial monetary investments in serving infrastructure or cloud computing resources---or must pay other organizations (e.g., content distribution networks)---to help serve content. Previous approaches to offloading some of the distribution costs onto end users have relied on client-side software or web browser plug-ins, providing poor user incentives and dramatically limiting their scope in practice. In this paper, we present Maygh, a system that builds a content distribution network from client web browsers, without the need for additional plug-ins or client-side software. The result is an organically scalable system that distributes the cost of serving web content across the users of a web site. Through simulations based on real-world access logs from Etsy (a large e-commerce web site that is the 50th most popular web site in the U.S.), microbenchmarks, and a small-scale deployment, we demonstrate that Maygh provides substantial savings to site operators, imposes only modest costs on clients, and can be deployed on the web sites and browsers of today. In fact, if Maygh was deployed to Etsy, it would reduce network bandwidth due to static content by 75% and require only a single coordinating server.
在过去的二十年里,网络在分享内容方面取得了巨大的进步。不幸的是,传播这些内容的成本主要由网站运营商承担;流行的网站需要在服务基础设施或云计算资源上进行大量的金钱投资,或者必须支付其他组织(例如,内容分发网络)来帮助提供内容。以前将部分分销成本转嫁给终端用户的方法依赖于客户端软件或web浏览器插件,这给用户提供了很差的激励,并且在实践中极大地限制了它们的范围。在本文中,我们介绍了Maygh,这是一个从客户端web浏览器构建内容分发网络的系统,不需要额外的插件或客户端软件。其结果是一个有机的可扩展系统,将服务网页内容的成本分配给网站的用户。通过基于Etsy(一个大型电子商务网站,在美国排名第50位)的真实访问日志的模拟、微基准测试和小规模部署,我们证明Maygh为站点运营商提供了大量的节省,对客户只施加了适度的成本,并且可以部署在今天的网站和浏览器上。事实上,如果Maygh被部署到Etsy上,它将减少75%由于静态内容导致的网络带宽,并且只需要一个协调服务器。
{"title":"Maygh: building a CDN from client web browsers","authors":"L. Zhang, Fangfei Zhou, A. Mislove, Ravi Sundaram","doi":"10.1145/2465351.2465379","DOIUrl":"https://doi.org/10.1145/2465351.2465379","url":null,"abstract":"Over the past two decades, the web has provided dramatic improvements in the ease of sharing content. Unfortunately, the costs of distributing this content are largely incurred by web site operators; popular web sites are required to make substantial monetary investments in serving infrastructure or cloud computing resources---or must pay other organizations (e.g., content distribution networks)---to help serve content. Previous approaches to offloading some of the distribution costs onto end users have relied on client-side software or web browser plug-ins, providing poor user incentives and dramatically limiting their scope in practice.\u0000 In this paper, we present Maygh, a system that builds a content distribution network from client web browsers, without the need for additional plug-ins or client-side software. The result is an organically scalable system that distributes the cost of serving web content across the users of a web site. Through simulations based on real-world access logs from Etsy (a large e-commerce web site that is the 50th most popular web site in the U.S.), microbenchmarks, and a small-scale deployment, we demonstrate that Maygh provides substantial savings to site operators, imposes only modest costs on clients, and can be deployed on the web sites and browsers of today. In fact, if Maygh was deployed to Etsy, it would reduce network bandwidth due to static content by 75% and require only a single coordinating server.","PeriodicalId":20737,"journal":{"name":"Proceedings of the Eleventh European Conference on Computer Systems","volume":"25 1","pages":"281-294"},"PeriodicalIF":0.0,"publicationDate":"2013-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90073477","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}
引用次数: 59
Process firewalls: protecting processes during resource access 进程防火墙:在资源访问过程中保护进程
Pub Date : 2013-04-15 DOI: 10.1145/2465351.2465358
H. Vijayakumar, Joshua Schiffman, T. Jaeger
Processes retrieve a variety of resources from the operating system in order to execute properly, but adversaries have several ways to trick processes into retrieving resources of the adversaries' choosing. Such resource access attacks use name resolution, race conditions, and/or ambiguities regarding which resources are controlled by adversaries, accounting for 5-10% of CVE entries over the last four years. programmers have found these attacks extremely hard to eliminate because resources are managed externally to the program, but the operating system does not provide a sufficiently rich system-call API to enable programs to block such attacks. In this paper, we present the Process Firewall, a kernel mechanism that protects processes in manner akin to a network firewall for the system-call interface. Because the Process Firewall only protects processes -- rather than sandboxing them -- it can examine their internal state to identify the protection rules necessary to block many of these attacks without the need for program modification or user configuration. We built a prototype Process Firewall for Linux demonstrating: (1) the prevention of several vulnerabilities, including two that were previously-unknown; (2) that this defense can be provided system-wide for less than 4% overhead in a variety of macrobenchmarks; and (3) that it can also improve program performance, shown by Apache handling 3-8% more requests when program resource access checks are replaced by Process Firewall rules. These results show that it is practical for the operating system to protect processes by preventing a variety of resource access attacks system-wide.
为了正确执行,进程从操作系统中检索各种资源,但是攻击者有几种方法可以欺骗进程检索攻击者选择的资源。此类资源访问攻击使用名称解析、竞争条件和/或关于攻击者控制哪些资源的模糊性,在过去四年中占CVE条目的5-10%。程序员发现这些攻击非常难以消除,因为资源是在程序的外部管理的,但是操作系统没有提供足够丰富的系统调用API来使程序能够阻止此类攻击。在本文中,我们介绍了进程防火墙,这是一种内核机制,它以类似于系统调用接口的网络防火墙的方式保护进程。因为进程防火墙只保护进程,而不是对它们进行沙箱,所以它可以检查进程的内部状态,以确定阻止这些攻击所需的保护规则,而不需要修改程序或用户配置。我们为Linux构建了一个原型进程防火墙,演示了:(1)防止几个漏洞,包括两个以前未知的漏洞;(2)在各种宏观基准测试中,这种防御可以在系统范围内以不到4%的开销提供;(3)它还可以提高程序性能,当程序资源访问检查被进程防火墙规则取代时,Apache处理的请求增加了3-8%。这些结果表明,操作系统通过防止各种系统范围的资源访问攻击来保护进程是可行的。
{"title":"Process firewalls: protecting processes during resource access","authors":"H. Vijayakumar, Joshua Schiffman, T. Jaeger","doi":"10.1145/2465351.2465358","DOIUrl":"https://doi.org/10.1145/2465351.2465358","url":null,"abstract":"Processes retrieve a variety of resources from the operating system in order to execute properly, but adversaries have several ways to trick processes into retrieving resources of the adversaries' choosing. Such resource access attacks use name resolution, race conditions, and/or ambiguities regarding which resources are controlled by adversaries, accounting for 5-10% of CVE entries over the last four years. programmers have found these attacks extremely hard to eliminate because resources are managed externally to the program, but the operating system does not provide a sufficiently rich system-call API to enable programs to block such attacks. In this paper, we present the Process Firewall, a kernel mechanism that protects processes in manner akin to a network firewall for the system-call interface. Because the Process Firewall only protects processes -- rather than sandboxing them -- it can examine their internal state to identify the protection rules necessary to block many of these attacks without the need for program modification or user configuration. We built a prototype Process Firewall for Linux demonstrating: (1) the prevention of several vulnerabilities, including two that were previously-unknown; (2) that this defense can be provided system-wide for less than 4% overhead in a variety of macrobenchmarks; and (3) that it can also improve program performance, shown by Apache handling 3-8% more requests when program resource access checks are replaced by Process Firewall rules. These results show that it is practical for the operating system to protect processes by preventing a variety of resource access attacks system-wide.","PeriodicalId":20737,"journal":{"name":"Proceedings of the Eleventh European Conference on Computer Systems","volume":"134 1","pages":"57-70"},"PeriodicalIF":0.0,"publicationDate":"2013-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80168891","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}
引用次数: 18
期刊
Proceedings of the Eleventh European Conference on Computer Systems
全部 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