John Liang, Xuwen Yu, A. Desai, Aiguo Dong, Rajit Kambo
Task level breakdown provides high level information for operation performance bottleneck analysis. Creating a task level breakdown requires prior knowledge of the application server program logic and can be very time consuming. In this paper, we present yShark, a profiling tool which generates a task level breakdown chart automatically without prior knowledge. With thread level pattern analysis, performance bottlenecks can be easily located. We illustrate the innovative features of this tool with two real-world application case studies. First, we show how performance bottlenecks from modules both within and external to the system can be easily identified by the tool; second, we present a pattern detection and pattern matching algorithm to detect duplicate sequential tasks that can be run in parallel. We also show how this tool can be useful in VMware vCloud Director production environments due to the minimal profiling overhead.
{"title":"Diagnosis of application server performance problems via thread level pattern analysis","authors":"John Liang, Xuwen Yu, A. Desai, Aiguo Dong, Rajit Kambo","doi":"10.1145/1967422.1967424","DOIUrl":"https://doi.org/10.1145/1967422.1967424","url":null,"abstract":"Task level breakdown provides high level information for operation performance bottleneck analysis. Creating a task level breakdown requires prior knowledge of the application server program logic and can be very time consuming. In this paper, we present yShark, a profiling tool which generates a task level breakdown chart automatically without prior knowledge. With thread level pattern analysis, performance bottlenecks can be easily located. We illustrate the innovative features of this tool with two real-world application case studies. First, we show how performance bottlenecks from modules both within and external to the system can be easily identified by the tool; second, we present a pattern detection and pattern matching algorithm to detect duplicate sequential tasks that can be run in parallel. We also show how this tool can be useful in VMware vCloud Director production environments due to the minimal profiling overhead.","PeriodicalId":365270,"journal":{"name":"CloudCP '11","volume":"170 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-04-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121340677","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}
While the variety of public and private cloud infrastructure and storage service offerings increases, only few tools exist to efficiently manage hybrid cloud resources of different cloud providers. KOALA is a novel cloud management tool that allows to work with a large variety of services of various public and private cloud providers in a seamless and transparent way. While most management solutions like command-line tools or browser extensions require a local installation, KOALA follows the cloud paradigm and operates itself as a software service on the basis of a public or private cloud platform. In addition, KOALA executes alternatively standalone with a Linux or Mac OS X system. The KOALA cloud manager allows to control almost all existing cloud resources with an API compatible to the Amazon Web Services. The users of KOALA have the freedom of choice to use any browser and device to interact with the cloud services. Especially in cases where the users have strong requirements regarding security and privacy, it is a benefit to run the management solution for different cloud services in a private context.
虽然各种各样的公共和私有云基础设施和存储服务产品在增加,但只有很少的工具可以有效地管理不同云提供商的混合云资源。KOALA是一种新颖的云管理工具,允许以无缝和透明的方式与各种公共和私有云提供商的各种服务一起工作。虽然大多数管理解决方案(如命令行工具或浏览器扩展)都需要在本地安装,但KOALA遵循云范式,并在公共或私有云平台的基础上作为软件服务运行。此外,KOALA可以在Linux或Mac OS X系统上独立执行。KOALA云管理器允许使用与Amazon Web Services兼容的API来控制几乎所有现有的云资源。KOALA的用户可以自由选择使用任何浏览器和设备与云服务进行交互。特别是在用户对安全性和隐私有强烈需求的情况下,在私有上下文中为不同的云服务运行管理解决方案是有好处的。
{"title":"The KOALA cloud management service: a modern approach for cloud infrastructure management","authors":"C. Baun, M. Kunze","doi":"10.1145/1967422.1967423","DOIUrl":"https://doi.org/10.1145/1967422.1967423","url":null,"abstract":"While the variety of public and private cloud infrastructure and storage service offerings increases, only few tools exist to efficiently manage hybrid cloud resources of different cloud providers. KOALA is a novel cloud management tool that allows to work with a large variety of services of various public and private cloud providers in a seamless and transparent way.\u0000 While most management solutions like command-line tools or browser extensions require a local installation, KOALA follows the cloud paradigm and operates itself as a software service on the basis of a public or private cloud platform. In addition, KOALA executes alternatively standalone with a Linux or Mac OS X system.\u0000 The KOALA cloud manager allows to control almost all existing cloud resources with an API compatible to the Amazon Web Services. The users of KOALA have the freedom of choice to use any browser and device to interact with the cloud services. Especially in cases where the users have strong requirements regarding security and privacy, it is a benefit to run the management solution for different cloud services in a private context.","PeriodicalId":365270,"journal":{"name":"CloudCP '11","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-04-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133893677","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}
The emergence of cloud computing marks a significant change in the way computers are used in both enterprise and personal environments. Yet, as a young technology, cloud computing is far from being mature. Platform-as-a-service (PaaS) clouds promise to reduce maintenance and administration costs, but current frameworks lack crucial features for supporting a broad range of applications. Especially rigid constraints of the current PaaS programming models limit broader usage. Based on this observation we compiled eleven requirements of typical business applications such as programming model, placement, scalability, routing, isolation, load balancing, accounting, adaptability and modularity. We further observe that none of current platforms support a majority of these requested features. As a result, we present our own PaaS system, called COSCA that meets all of these requirements. COSCA's component-based design especially supports adaptability and modularity. We believe that our requirements and architecture may serve as a valuable guide for PaaS designers, implementers, and providers.
{"title":"COSCA: an easy-to-use component-based PaaS cloud system for common applications","authors":"Steffen Kächele, Jörg Domaschka, F. Hauck","doi":"10.1145/1967422.1967426","DOIUrl":"https://doi.org/10.1145/1967422.1967426","url":null,"abstract":"The emergence of cloud computing marks a significant change in the way computers are used in both enterprise and personal environments. Yet, as a young technology, cloud computing is far from being mature. Platform-as-a-service (PaaS) clouds promise to reduce maintenance and administration costs, but current frameworks lack crucial features for supporting a broad range of applications. Especially rigid constraints of the current PaaS programming models limit broader usage. Based on this observation we compiled eleven requirements of typical business applications such as programming model, placement, scalability, routing, isolation, load balancing, accounting, adaptability and modularity. We further observe that none of current platforms support a majority of these requested features. As a result, we present our own PaaS system, called COSCA that meets all of these requirements. COSCA's component-based design especially supports adaptability and modularity. We believe that our requirements and architecture may serve as a valuable guide for PaaS designers, implementers, and providers.","PeriodicalId":365270,"journal":{"name":"CloudCP '11","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-04-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132883618","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}
Current data centers are shifting towards cloud-based architectures as a means to obtain a scalable, cost-effective, robust service platform. In spite of this, the underlying management infrastructure has grown in terms of hardware resources and software complexity, making automated resource monitoring a necessity. There are several infrastructure monitoring tools designed to scale to a very high number of physical nodes. However, these tools either collect performance measure at a low frequency (missing the chance to capture the dynamics of a short-term management task) or are simply not equipped with instrumentation specific to cloud computing and virtualization. In this scenario, monitoring the correctness and efficiency of live migrations can become a nightmare. This situation will only worsen in the future, with the increased service demand due to spreading of the user base. In this paper, we assess the scalability of a prototype monitoring subsystem for different user scenarios. We also identify all the major bottlenecks and give insight on how to remove them.
{"title":"Assessing the overhead and scalability of system monitors for large data centers","authors":"M. Andreolini, M. Colajanni, R. Lancellotti","doi":"10.1145/1967422.1967425","DOIUrl":"https://doi.org/10.1145/1967422.1967425","url":null,"abstract":"Current data centers are shifting towards cloud-based architectures as a means to obtain a scalable, cost-effective, robust service platform. In spite of this, the underlying management infrastructure has grown in terms of hardware resources and software complexity, making automated resource monitoring a necessity.\u0000 There are several infrastructure monitoring tools designed to scale to a very high number of physical nodes. However, these tools either collect performance measure at a low frequency (missing the chance to capture the dynamics of a short-term management task) or are simply not equipped with instrumentation specific to cloud computing and virtualization. In this scenario, monitoring the correctness and efficiency of live migrations can become a nightmare. This situation will only worsen in the future, with the increased service demand due to spreading of the user base.\u0000 In this paper, we assess the scalability of a prototype monitoring subsystem for different user scenarios. We also identify all the major bottlenecks and give insight on how to remove them.","PeriodicalId":365270,"journal":{"name":"CloudCP '11","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-04-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126397150","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}
Diana Moise, Thi-Thu-Lan Trieu, L. Bougé, Gabriel Antoniu
Many cloud computations process large datasets. Programming paradigms have been proposed to design this type of applications, so as to take advantage of the huge processing and storage options the cloud holds, but at the same time, to provide the user with a clean and easy to use interface. Among these programming models, we consider the MapReduce paradigm and its reference implementation, the Hadoop framework. We focus on the aspect of intermediate data, that is data produced and transferred between the two stages of the computation (map and reduce). The goal of this paper is to propose a storage mechanism for intermediate data with the purpose of optimizing the execution of MapReduce applications in the presence of failures, while keeping the impact on the job completion time to the minimum. To meet this goal, we rely on a fault-tolerant, concurrency-optimized data storage layer based on the BlobSeer data management service. We modify the Hadoop MapReduce framework to store the intermediate data in this layer (acting as a BlobSeer-based distributed file system) rather than using the local storage of the mappers, as in the vanilla version of Hadoop. To validate this work, we perform experiments on a large number of nodes of the Grid'5000 testbed. We demonstrate that our approach not only provides for intermediate data availability in case of failures, but also efficiently handles read/write accesses so that the overall job completion time is substantially improved.
{"title":"Optimizing intermediate data management in MapReduce computations","authors":"Diana Moise, Thi-Thu-Lan Trieu, L. Bougé, Gabriel Antoniu","doi":"10.1145/1967422.1967427","DOIUrl":"https://doi.org/10.1145/1967422.1967427","url":null,"abstract":"Many cloud computations process large datasets. Programming paradigms have been proposed to design this type of applications, so as to take advantage of the huge processing and storage options the cloud holds, but at the same time, to provide the user with a clean and easy to use interface. Among these programming models, we consider the MapReduce paradigm and its reference implementation, the Hadoop framework. We focus on the aspect of intermediate data, that is data produced and transferred between the two stages of the computation (map and reduce). The goal of this paper is to propose a storage mechanism for intermediate data with the purpose of optimizing the execution of MapReduce applications in the presence of failures, while keeping the impact on the job completion time to the minimum. To meet this goal, we rely on a fault-tolerant, concurrency-optimized data storage layer based on the BlobSeer data management service. We modify the Hadoop MapReduce framework to store the intermediate data in this layer (acting as a BlobSeer-based distributed file system) rather than using the local storage of the mappers, as in the vanilla version of Hadoop. To validate this work, we perform experiments on a large number of nodes of the Grid'5000 testbed. We demonstrate that our approach not only provides for intermediate data availability in case of failures, but also efficiently handles read/write accesses so that the overall job completion time is substantially improved.","PeriodicalId":365270,"journal":{"name":"CloudCP '11","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-04-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123656369","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}