6 research outputs found

    Predictive dynamic resource allocation for web hosting environments

    Get PDF
    E-Business applications are subject to significant variations in workload and this can cause exceptionally long response times for users, the timing out of client requests and/or the dropping of connections. One solution is to host these applications in virtualised server pools, and to dynamically reassign compute servers between pools to meet the demands on the hosted applications. Switching servers between pools is not without cost, and this must therefore be weighed against possible system gain. This work is concerned with dynamic resource allocation for multi-tiered, clusterbased web hosting environments. Dynamic resource allocation is reactive, that is, when overloading occurs in one resource pool, servers are moved from another (quieter) pool to meet this demand. Switching servers comes with some overhead, so it is important to weigh up the costs of the switch against possible system gains. In this thesis we combine the reactive behaviour of two server switching policies – the Proportional Switching Policy (PSP) and the Bottleneck Aware Switching Policy (BSP) – with the proactive properties of several workload forecasting models. We evaluate the behaviour of the two switching policies and compare them against static resource allocation under a range of reallocation intervals (the time it takes to switch a server from one resource pool to another) and observe that larger reallocation intervals have a negative impact on revenue. We also construct model- and simulation-based environments in which the combination of workload prediction and dynamic server switching can be explored. Several different (but common) predictors – Last Observation (LO), Simple Average (SA), Sample Moving Average (SMA) and Exponential Moving Average (EMA), Low Pass Filter (LPF), and an AutoRegressive Integrated Moving Average (ARIMA) – have been applied alongside the switching policies. As each of the forecasting schemes has its own bias, we also develop a number of meta-forecasting algorithms – the Active Window Model (AWM), the Voting Model (VM), the Selective Model (SM), the Dynamic Active Window Model (DAWM), and a method based on Workload Pattern Analysis (WPA). The schemes are tested with real-world workload traces from several sources to ensure consistent and improved results. We also investigate the effectiveness of these schemes on workloads containing extreme events (e.g. flash crowds). The results show that workload forecasting can be very effective when applied alongside dynamic resource allocation strategies

    Building a model for automated and improved utilization of existing server resources

    Get PDF
    Zbog ubrzanog razvoja informacijske tehnologije su nastali složeni sustavi kao što su računarstvo u oblaku. Navedeni sustavi najčešće moraju imati visoku razinu dostupnosti podataka, odnosno moraju osigurati neprekidni rad poslovnih sustava. Kako bi se to postiglo prisutni su visoki kapitalni i operativni troškovi podatkovnih centara koji su neophodni za ovakvu vrstu usluga. Mnogobrojna istraživanja na ovu temu ukazuju kako su poslužitelji glavni uzročnici visokih troškova podatkovnih centara. Upravo se zbog toga njihovi resursi nastoje što učinkovitije iskoristiti. U istraživanju su navedene Web-farme kao primjer iz prakse koji potvrđuje da postoje sustavi čiji poslužitelji nedovoljno iskorištavaju svoje resurse, ali ih moraju imati kako bi osigurali visoku razinu dostupnosti sustava. Spomenuti visoki troškovi i nedovoljna iskoristivost postojećih računalnih resursa su glavna motivacija za ovo istraživanje. Nakon proučavanja dosadašnjih znanstvenih istraživanja, ali i rješenja iz prakse, utvrđeno je da ne postoji rješenje koje bi dovoljno učinkovito riješilo ovaj problem. U radu se predlaže novi model za automatiziranu i poboljšanu iskoristivost postojećih računalnih resursa bez potrebe za ponovnim pokretanjem poslužitelja koji rješava navedeni problem. Na temelju modela je napravljena aplikacija koja je validirana na primjeru Web-poslužitelja gdje je ovaj problem prepoznat. U radu se koristi istraživačka paradigma znanost o dizajnu (engl. Design Science Research Methodology, DSRM), koja se temelji na kreiranju novog artefakta što u ovom slučaju predstavlja novi model.Information technology is under constant innovation pressure to provide the highest level of data availability, i.e. the continuous functioning of operating systems. This is the very reason for an accelerated development of complex systems called cloud computing. One of the tasks of such solutions is to ensure high-level availability of complex systems and architecture. In order for such solutions to function properly, the high capital and operational costs of data centers are essential for this type of service. There are numerous studies which indicate that servers are the main cause of data centers’ high cost. As a result, the aim is to use servers, i.e. their resources more efficiently. This paper shows the examples from practice which confirm that there are systems whose servers insufficiently exploit their resources, but they must have them due to their importance. A concrete example of this problem are the Web Farms where, in order to achieve greater system availability, there is a greater amount of resources than is really needed, as confirmed by tools for measuring server loads. This approach allows the system to withstand sudden loads, which increases the level of system availability. The negative effect of such an approach is the increase in capital and operating costs due to a higher amount of computer resources. The mentioned high costs and inadequate utilization of the existing computer resources are at the same time the main motivation for this research. To solve this problem, it is necessary to have a system which would automatically allocate as much computer resources as the system needs, depending on its load and thereby taking into account its availability and consistency. During a detailed study of the current scientific research, as well as practical solutions, it has been found that there is no effective solution to this problem, which also served as an additional motivation for this research to be carried out. The existing solutions are lacking in that they are not dealing with how to use the existing resources more efficiently, but in adding new or migrating virtual servers to other physical servers in critical situations, which requires even larger numbers of computer resources. The second approach to solving this problem is process prioritization, i.e. that servers with the greatest need for resources are given the highest priority in the execution of the process. The disadvantage of this approach is that resources cannot be increased nor decreased, but only prioritized, which still results in the presence of unused resources. One of the disadvantages of the existing solutions is that it is not possible to add and subtract computer resources (CPU and memory) without the need to restart the server. A large number of existing solutions focus only on CPU or memory, but not on both. Due to all this, a decision was made to build a new model for an automated and improved utilization of the existing computing resources. The model will be verified by building an application that will also serve for validation on the Web server example where this problem was recognized. The research paradigm used in this research is the Design Science Research Methodology (DSRM), which has specific guidelines for evaluation and iteration within research projects. The methodology is based on the creation of a new artifact. In this case that is a new model which addresses these complex problems mentioned in this case. The Design Science Research Methodology consists of six sequential process steps, which are: identification of problems and motivations, a definition of goals, design, and development, presentation of solutions, evaluation and communication. Throughout these steps, numerous methods and techniques were used such as: comparison, evaluation/validation, content analysis, experiment, modelling techniques (UML), diagram techniques (causal relationship diagrams), structural analysis of processes (decomposition diagrams, data flow charts, and block diagram), programming (pseudocode and scripting languages (BASH and PHP), as well as many others. With regard to scientific contributions, this research has resulted with a new model for an automated and improved utilization of the existing computing resources without the need to restart the server, as well as in clearly defined cases and constraints regarding the new model’s application. The research has shown that the application of a new model enables a more efficient utilization of the existing computing resources (CPU and memory) without the need to restart the server. The research also provides recommendations for the implementation of the model in the selected programming language, and the process of evaluating the model in the experiments. In view of the social contribution, the whole solution is open source, which is also one of the main goals of this research. This results in an easier application of the solution and the repeatability of the testing to facilitate further improvement and research on this topic

    Building a model for automated and improved utilization of existing server resources

    Get PDF
    Zbog ubrzanog razvoja informacijske tehnologije su nastali složeni sustavi kao što su računarstvo u oblaku. Navedeni sustavi najčešće moraju imati visoku razinu dostupnosti podataka, odnosno moraju osigurati neprekidni rad poslovnih sustava. Kako bi se to postiglo prisutni su visoki kapitalni i operativni troškovi podatkovnih centara koji su neophodni za ovakvu vrstu usluga. Mnogobrojna istraživanja na ovu temu ukazuju kako su poslužitelji glavni uzročnici visokih troškova podatkovnih centara. Upravo se zbog toga njihovi resursi nastoje što učinkovitije iskoristiti. U istraživanju su navedene Web-farme kao primjer iz prakse koji potvrđuje da postoje sustavi čiji poslužitelji nedovoljno iskorištavaju svoje resurse, ali ih moraju imati kako bi osigurali visoku razinu dostupnosti sustava. Spomenuti visoki troškovi i nedovoljna iskoristivost postojećih računalnih resursa su glavna motivacija za ovo istraživanje. Nakon proučavanja dosadašnjih znanstvenih istraživanja, ali i rješenja iz prakse, utvrđeno je da ne postoji rješenje koje bi dovoljno učinkovito riješilo ovaj problem. U radu se predlaže novi model za automatiziranu i poboljšanu iskoristivost postojećih računalnih resursa bez potrebe za ponovnim pokretanjem poslužitelja koji rješava navedeni problem. Na temelju modela je napravljena aplikacija koja je validirana na primjeru Web-poslužitelja gdje je ovaj problem prepoznat. U radu se koristi istraživačka paradigma znanost o dizajnu (engl. Design Science Research Methodology, DSRM), koja se temelji na kreiranju novog artefakta što u ovom slučaju predstavlja novi model.Information technology is under constant innovation pressure to provide the highest level of data availability, i.e. the continuous functioning of operating systems. This is the very reason for an accelerated development of complex systems called cloud computing. One of the tasks of such solutions is to ensure high-level availability of complex systems and architecture. In order for such solutions to function properly, the high capital and operational costs of data centers are essential for this type of service. There are numerous studies which indicate that servers are the main cause of data centers’ high cost. As a result, the aim is to use servers, i.e. their resources more efficiently. This paper shows the examples from practice which confirm that there are systems whose servers insufficiently exploit their resources, but they must have them due to their importance. A concrete example of this problem are the Web Farms where, in order to achieve greater system availability, there is a greater amount of resources than is really needed, as confirmed by tools for measuring server loads. This approach allows the system to withstand sudden loads, which increases the level of system availability. The negative effect of such an approach is the increase in capital and operating costs due to a higher amount of computer resources. The mentioned high costs and inadequate utilization of the existing computer resources are at the same time the main motivation for this research. To solve this problem, it is necessary to have a system which would automatically allocate as much computer resources as the system needs, depending on its load and thereby taking into account its availability and consistency. During a detailed study of the current scientific research, as well as practical solutions, it has been found that there is no effective solution to this problem, which also served as an additional motivation for this research to be carried out. The existing solutions are lacking in that they are not dealing with how to use the existing resources more efficiently, but in adding new or migrating virtual servers to other physical servers in critical situations, which requires even larger numbers of computer resources. The second approach to solving this problem is process prioritization, i.e. that servers with the greatest need for resources are given the highest priority in the execution of the process. The disadvantage of this approach is that resources cannot be increased nor decreased, but only prioritized, which still results in the presence of unused resources. One of the disadvantages of the existing solutions is that it is not possible to add and subtract computer resources (CPU and memory) without the need to restart the server. A large number of existing solutions focus only on CPU or memory, but not on both. Due to all this, a decision was made to build a new model for an automated and improved utilization of the existing computing resources. The model will be verified by building an application that will also serve for validation on the Web server example where this problem was recognized. The research paradigm used in this research is the Design Science Research Methodology (DSRM), which has specific guidelines for evaluation and iteration within research projects. The methodology is based on the creation of a new artifact. In this case that is a new model which addresses these complex problems mentioned in this case. The Design Science Research Methodology consists of six sequential process steps, which are: identification of problems and motivations, a definition of goals, design, and development, presentation of solutions, evaluation and communication. Throughout these steps, numerous methods and techniques were used such as: comparison, evaluation/validation, content analysis, experiment, modelling techniques (UML), diagram techniques (causal relationship diagrams), structural analysis of processes (decomposition diagrams, data flow charts, and block diagram), programming (pseudocode and scripting languages (BASH and PHP), as well as many others. With regard to scientific contributions, this research has resulted with a new model for an automated and improved utilization of the existing computing resources without the need to restart the server, as well as in clearly defined cases and constraints regarding the new model’s application. The research has shown that the application of a new model enables a more efficient utilization of the existing computing resources (CPU and memory) without the need to restart the server. The research also provides recommendations for the implementation of the model in the selected programming language, and the process of evaluating the model in the experiments. In view of the social contribution, the whole solution is open source, which is also one of the main goals of this research. This results in an easier application of the solution and the repeatability of the testing to facilitate further improvement and research on this topic

    Building a model for automated and improved utilization of existing server resources

    Get PDF
    Zbog ubrzanog razvoja informacijske tehnologije su nastali složeni sustavi kao što su računarstvo u oblaku. Navedeni sustavi najčešće moraju imati visoku razinu dostupnosti podataka, odnosno moraju osigurati neprekidni rad poslovnih sustava. Kako bi se to postiglo prisutni su visoki kapitalni i operativni troškovi podatkovnih centara koji su neophodni za ovakvu vrstu usluga. Mnogobrojna istraživanja na ovu temu ukazuju kako su poslužitelji glavni uzročnici visokih troškova podatkovnih centara. Upravo se zbog toga njihovi resursi nastoje što učinkovitije iskoristiti. U istraživanju su navedene Web-farme kao primjer iz prakse koji potvrđuje da postoje sustavi čiji poslužitelji nedovoljno iskorištavaju svoje resurse, ali ih moraju imati kako bi osigurali visoku razinu dostupnosti sustava. Spomenuti visoki troškovi i nedovoljna iskoristivost postojećih računalnih resursa su glavna motivacija za ovo istraživanje. Nakon proučavanja dosadašnjih znanstvenih istraživanja, ali i rješenja iz prakse, utvrđeno je da ne postoji rješenje koje bi dovoljno učinkovito riješilo ovaj problem. U radu se predlaže novi model za automatiziranu i poboljšanu iskoristivost postojećih računalnih resursa bez potrebe za ponovnim pokretanjem poslužitelja koji rješava navedeni problem. Na temelju modela je napravljena aplikacija koja je validirana na primjeru Web-poslužitelja gdje je ovaj problem prepoznat. U radu se koristi istraživačka paradigma znanost o dizajnu (engl. Design Science Research Methodology, DSRM), koja se temelji na kreiranju novog artefakta što u ovom slučaju predstavlja novi model.Information technology is under constant innovation pressure to provide the highest level of data availability, i.e. the continuous functioning of operating systems. This is the very reason for an accelerated development of complex systems called cloud computing. One of the tasks of such solutions is to ensure high-level availability of complex systems and architecture. In order for such solutions to function properly, the high capital and operational costs of data centers are essential for this type of service. There are numerous studies which indicate that servers are the main cause of data centers’ high cost. As a result, the aim is to use servers, i.e. their resources more efficiently. This paper shows the examples from practice which confirm that there are systems whose servers insufficiently exploit their resources, but they must have them due to their importance. A concrete example of this problem are the Web Farms where, in order to achieve greater system availability, there is a greater amount of resources than is really needed, as confirmed by tools for measuring server loads. This approach allows the system to withstand sudden loads, which increases the level of system availability. The negative effect of such an approach is the increase in capital and operating costs due to a higher amount of computer resources. The mentioned high costs and inadequate utilization of the existing computer resources are at the same time the main motivation for this research. To solve this problem, it is necessary to have a system which would automatically allocate as much computer resources as the system needs, depending on its load and thereby taking into account its availability and consistency. During a detailed study of the current scientific research, as well as practical solutions, it has been found that there is no effective solution to this problem, which also served as an additional motivation for this research to be carried out. The existing solutions are lacking in that they are not dealing with how to use the existing resources more efficiently, but in adding new or migrating virtual servers to other physical servers in critical situations, which requires even larger numbers of computer resources. The second approach to solving this problem is process prioritization, i.e. that servers with the greatest need for resources are given the highest priority in the execution of the process. The disadvantage of this approach is that resources cannot be increased nor decreased, but only prioritized, which still results in the presence of unused resources. One of the disadvantages of the existing solutions is that it is not possible to add and subtract computer resources (CPU and memory) without the need to restart the server. A large number of existing solutions focus only on CPU or memory, but not on both. Due to all this, a decision was made to build a new model for an automated and improved utilization of the existing computing resources. The model will be verified by building an application that will also serve for validation on the Web server example where this problem was recognized. The research paradigm used in this research is the Design Science Research Methodology (DSRM), which has specific guidelines for evaluation and iteration within research projects. The methodology is based on the creation of a new artifact. In this case that is a new model which addresses these complex problems mentioned in this case. The Design Science Research Methodology consists of six sequential process steps, which are: identification of problems and motivations, a definition of goals, design, and development, presentation of solutions, evaluation and communication. Throughout these steps, numerous methods and techniques were used such as: comparison, evaluation/validation, content analysis, experiment, modelling techniques (UML), diagram techniques (causal relationship diagrams), structural analysis of processes (decomposition diagrams, data flow charts, and block diagram), programming (pseudocode and scripting languages (BASH and PHP), as well as many others. With regard to scientific contributions, this research has resulted with a new model for an automated and improved utilization of the existing computing resources without the need to restart the server, as well as in clearly defined cases and constraints regarding the new model’s application. The research has shown that the application of a new model enables a more efficient utilization of the existing computing resources (CPU and memory) without the need to restart the server. The research also provides recommendations for the implementation of the model in the selected programming language, and the process of evaluating the model in the experiments. In view of the social contribution, the whole solution is open source, which is also one of the main goals of this research. This results in an easier application of the solution and the repeatability of the testing to facilitate further improvement and research on this topic

    Towards the design of efficient error detection mechanisms

    Get PDF
    The pervasive nature of modern computer systems has led to an increase in our reliance on such systems to provide correct and timely services. Moreover, as the functionality of computer systems is being increasingly defined in software, it is imperative that software be dependable. It has previously been shown that a fault intolerant software system can be made fault tolerant through the design and deployment of software mechanisms implementing abstract artefacts known as error detection mechanisms (EDMs) and error recovery mechanisms (ERMs), hence the design of these components is central to the design of dependable software systems. The EDM design problem, which relates to the construction of a boolean predicate over a set of program variables, is inherently difficult, with current approaches relying on system specifications and the experience of software engineers. As this process necessarily entails the identification and incorporation of program variables by an error detection predicate, this thesis seeks to address the EDM design problem from a novel variable-centric perspective, with the research presented supporting the thesis that, where it exists under the assumed system model, an efficient EDM consists of a set of critical variables. In particular, this research proposes (i) a metric suite that can be used to generate a relative ranking of the program variables in a software with respect to their criticality, (ii) a systematic approach for the generation of highly-efficient error detection predicates for EDMs, and (iii) an approach for dependability enhancement based on the protection of critical variables using software wrappers that implement error detection and correction predicates that are known to be efficient. This research substantiates the thesis that an efficient EDM contains a set of critical variables on the basis that (i) the proposed metric suite is able, through application of an appropriate threshold, to identify critical variables, (ii) efficient EDMs can be constructed based only on the critical variables identified by the metric suite, and (iii) the criticality of the identified variables can be shown to extend across a software module such that an efficient EDM designed for that software module should seek to determine the correctness of the identified variables
    corecore