Predicting Service Metrics from Device Statistics in a Container-Based Environment - PDF
For auto-scaling algorithm, it takes the scaling cost (SC) into consideration and . At a certain time point t, the arrival rate λ t is calculated as λ t = λ 0 + A sin [ 2π T ( t t .. Aurangabad Abstract: Computing as a utility. is a dream that dates from the . an X User Environment Overview NComputing's desktop virtualization . Main · Videos; Things not to do when dating an older man elpidio quirino bilang · anime dating game 18 months · ncomputing x price in bangalore dating. Celebrate 15 years of NComputing with FREE enhancements in vSpace Pro This year Low Cost. Servers and thin clients cost less to acquire than an army of PCs. Even use existing PCs past their expiration dates via software clients.
If one team member finishes early, he will help the other team member or pick a new task after consulting with the rest of the team Quality Assurance The quality of the product is very important. The team should strive to deliver a product with the highest possible quality. To ensure that this quality will be reached, the team set up guidelines for when it comes to quality. The team will use various code quality tools, the code quality tools are: FindBugs 2 11 2.
While working together, code quality can be discussed among the team before submitting a pull request Testing Testing the system is important, as the team can then use test driven development and regression tests to their full potential. To ensure that the code has a vast set of tests, the coverage will be measured by using cobertura from maven. Regression tests will be conducted by using Travis continuous integration with Github Agreements To make the teamwork as effective as possible, some agreements were made at the start of the project.
The team will adhere to the methodology at all times. This includes the workflow, quality assurance and these agreements. Because the whole team is responsible for the delivered product, all team members should agree about the product when delivering the product.
Each team member will spend at least hours on the project, according to the load of 15 ECTS Definition of done It is important that the whole team knows when a component or feature is done. To assure that everyone has the same understanding of the word done, the following definition is used: A component or feature is done when it is: After the problem analysis and definition, goals are formulated which are needed to complete the project Problem Analysis The project aims at revising the Multi-Agent Systems project MAS-project which is given to over students as part of the Computer Science bachelor curriculum .
At the end of the project, every MAS that is created by the students will enter a competition to determine which MAS is the best. To create the groups, there is an individual assignment in the first week of the MAS-project. This assignment is used to determine the skill level of students and group students with the same level together. The current MAS-Project uses the game: The tournament is held in the game-mode capture the flag, which is won by the team that has captured the enemy flag the most .
Despite the fact that this game is fun, using this game for the MAS-project is not optimal Project Problem One problem is the limited amount of agents that are currently being used in the MAS-project.
The students are instructed to create a team of 4 agents. Despite the fact that these are multiple agents, limiting the amount to 4 limits the coordination needed in the MAS.
Some of the groups do not implement some form of tactics at all but run back and forth between flag-bases in the game. To make the MAS-project more interesting, a game where there are more agents and where there is a greater need of tactics could be used to create a more interesting challenge.
The course should not be harder, as all students should be able to pass, but for smart students it would pose more depth. The connector is built on top of an API that has a refresh rate of ms. For a first person shooter game, ms is a rather high number.
This refresh rate sometimes results in situations where agents are unable to identify enemy bots in time. As a consequence, bots controlled by these agents are killed but there is little the agent could have done to prevent this.
Finally there is also the load on a computer system. Unreal Tournament 3 is a processing heavy game. As students often bring their own laptops which are not always capable of running large games, this also poses a problem.
On a Mac or Linux system it is hard to run Unreal Tournament 3, this has to be done on a virtual machine running Windows. Running on a virtual machine poses problems because of the processing power needed for the game, rendering the game unresponsive. With another game that is less processor heavy this would pose less problems Aim of the Project To focus the MAS-project on more agents and implementing interesting tactics, picking another game would be a solution.
The client is interested in changing the game used in the MAS-project. The game that the client is interested in is StarCraft figure 3. This game is a so-called strategy game C. More information on StarCraft can be found in Appendix C. The StarCraft environment will give a lot more functionality than the UT3 environment, as it will have a lot more agents with different types than the UT3 environment has. Agents can communicate with each other in GOAL by sending messages. In StarCraft, the amount of agents could lead to difficult communication between agents, because many agents are communicating at the same time.
This could lead to a very complex MASproject for first-year students. To counteract this, the abstraction level which is present in the environment should be adapted. The abstraction level is to what extend the connector takes care of things that otherwise have to be dealt with by the user itself Why StarCraft Broodwar StarCraft is a Real-Time Strategy game released indeveloped and published by Blizzard.
Besides the fact that StarCraft is a fun game to play, creating bots for StarCraft is also becoming very popular. In an educational event was created where students can challenge each other s bots in a tournament named: When this project is completed, students can submit their GOAL agents to this tournament.
This may make the project even more interesting for students who like these competitions. This tournament was created because StarCraft is a big AI challenge that has not yet been solved. The problem here is that this kind of behaviour of a program can be seen as maphacking. Maphacking means that users can see the whole map and all enemies instead of only the part that they should see in game. Until Blizzard changes its policy about this matter, using StarCraft 2 for the AI tournament will be out of the question .
In the interest of academic development, Broodwar is cheaper, and its hardware requirements are lower than StarCraft 2, making it more accessible to university students. The StarCraft 2 engine is not ideal for AI development. Because Broodwar is not processor intensive, the logical framerate of Broodwar can easily be increased, enabling games can be played more quickly.
Allowing some AI s that use a form of machine learning to learn more quickly. StarCraft 2 requires more processor capacity, which means that increasing the logical frame rate will use up much more processor time and that means that the AI will receive less processing time .
In-game screenshot of StarCraft 3. Project Definition As stated in section 3. Therefore, the following project GOAL can be devised. This connector is not finished and it misses a lot of functionality. The connector that he built can be used as a starting point, but does need a lot of improvement and code refactoring to adhere to the wuality that the team wants to achieve Requirements To define the scope of the project, the goals of the project are defined at the start.
The goals have been set according to the wishes of the client and were set during the research phase of the project. The project planning, which can be found in Table A. At the end 16 8 3. Project of the project, these goals should all be accomplished. When all goals are accomplished, this project can be considered a success.
StarCraft connector This is the most essential part of the project. This connector has to be developed using the EIS-interface . Development tools In order to make developing of bots as easy as possible, dedicated development tools have to be created, to see what is happening inside the game.
The development tools have to fulfill the following requirements: It should be possible to display map data. This makes it easier to visualize what happens on the map. Construction sites Base locations Chokepoints The game speed should be adaptable to run games as fast as possible.
This will minimize the running time of the game.
With this speed, debugging will be faster. Running the game in slow motion should also be included, as detailed testing while the user can easily focus on one thing at a time is then possible. Users should be able to toggle cheats on and off using buttons, these cheats can help to create scenario s in the game for testing.
The cheats that should be supported are: Give from every resource, this will make it easy to test build orders and can be used to easily create scenario s that help to test the MAS. Show the whole map. This helps with visualizing what the enemy does to counter the strategy of the MAS. The enemy cannot harm the units of the player. With this option, the MAS can go mind his own business without worrying about the enemy. Testing will be easier because the MAS will not be defeated before a scenario is reached.
Environment manual To use the environment, one has to know which features are implemented and which syntax is used. This will be documented in an environment manual. The manual should contain the following sections: This project manual should contain milestones that are feasible to complete in 10 weeks.
The project manual should focus on the use of StarCraft and define clearly the purpose of the course and what is needed to pass. The following chapters have to be present in the manual: Learning Goals Group assignment 17 3. Requirements 9 Organisation Individual assignment 5. Multi-agent system To test this product and the schedule in the project manual, a MAS has to be created that is built according to the planning in the guide.
In the project, students can choose between the three races present in StarCraft. Therefore, a MAS should be created for every race, because the difference between the difficulty level of creating a MAS for a race should be minimal. The students have to learn what the environment offers and will therefore need more time to program a MAS.
Therefore the MAS should be built in at most 2 weeks to ensure that the students should be able to do the same in 10 weeks. Performance tests The client would like test results of the robustness of the system. This includes the performance in terms of load: How many agents can be ran concurrently? Does the size of the map influence this? Do agents start to behave differently when the game runs on different speeds? How long can the system run?
First, the educational value that this system can offer is highlighted. Then the programming language GOAL is explained in more detail as it is important to understand the GOAL language to understand what abstraction level means.
Finally, the necessity of a certain kind of abstraction is explained and the abstraction level itself is introduced. This chapter will answer the following research question: Educational value The goal of the system is to accommodate the 10 week MAS-project for students. This is the main focus of the system. However, because there is an AI competition in StarCraft , excellent students can be offered the opportunity to join this competition.
This could, for example, be a part of the honours programme of the TU Delft. Therefore the aim of the system should not solely be the MAS-project. The goal of the MAS-project is to learn about multi-agent systems. By using StarCraft rather than UT3, the students will learn to create more complex systems with a lot more agents. GOAL is a programming language to create agents that act autonomously.
To use GOAL, one needs a connector. The connector offers Actions and Percepts, which allow the agent to interact with StarCraft. Actions make things happen, for instance moving a unit in StarCraft. Percepts offer information about the current state of the environment. For instance, agents should be able to percept enemy units. Agents are computer programs that use percepts and actions to reach their goals. This time could prove limited for the students to implement the minimum functionality to let the agents play the game and to implement the tactics they want the agent to have.
To counteract this time limitation, the connector can handle certain functionalities that are needed for agents to function. These functionalities are then handled in the connector and do not have to be programmed using GOAL by the user. By doing so, the user does not have to worry about those functionalities and can focus on the tactics that need to be deployed.
To what extent these functionalities are pre-programmed is known as the abstraction level of the connector, which will be discussed in the next part. Abstraction level Abstraction level An abstraction in the connector is the removal of details. These are details the programmer of the MAS does not have to worry about anymore. For example, in the current Unreal environment in the MAS-project, path finding is not programmed by the user, but included in the connector.
This is an example of an abstraction in the connector. The users of the connector should have the freedom to change all the behaviour of units in the game as they desire, but there also needs to be enough built-in functionality to make the MAS-project fun and doable.
In StarCraft for example, the students should not have to worry about moving exactly to a mineral field to start gathering from it. The students should worry about tactics and not the precise implementation of features. Tactics are all the means used to win the game, and consist of two concepts: To create a versatile bot it might be necessary to adapt certain details of the bot. In an ideal case for a tournament bot the user programs all functionality himself, because he then has the smallest chance to encounter undesired behaviour.
Undesired behaviour is behaviour that is programmed in the environment which does not work like the user thinks and does not satisfy the user s needs. Care needs to be taken with programming abstractions, so that users will always be able to change every behaviour of the agent Abstractions Below is a list with abstractions following the MoSCoW principle.
It is also explained which care needs to be taken when implementing the abstraction. Must have Basic pathfinding, when a user wants an agent to move to a location, the agent should do so. StarCraft has built-in pathfinding, this pathfinding can be used. The user can create own pathfinding by sending multiple move commands, thus this abstraction does not pose undesired behaviour.
This way users can easily gather from mineralfields. When the user wants to do so, he will also be able to split their workers for gathering optimisation B. Should have Automatic attacking, when an idling agent sees an enemy that is in range, the agent should attack the unit automatically.
When other behaviour is wanted the user can make the agent flee or kite B. Could have Grouping units, grouping units in squads could be accommodated by the environment. Grouping units is a part of micro-management and creating squads can also be done by GOAL code. Grouping will therefore preferably not be an abstraction because students should be able to implement this.
Implementing a grouping system in the environment would remove some need for messaging in the agents. This functionality will be added if the agent messaging gets out of hand when implementing this in GOAL code. Education and abstraction Gathering optimisation, gathering in the start of the game can be optimized to speed up the mineral gathering rate of the player.
Adding this functionality could create undesired behaviour, a user might not want to gather in this way but deploy a different tactic. Advanced pathfinding always choosing the optimal pathadvanced pathfinding is not necessary, because basic pathfinding is present in the game. Implementing advanced pathfinding could pose a fun challenge for students who want to implement this, thus will be interesting for excellent students.
This is not functionality that the MAS-project will require. Won t have Automated buildorder support, buildorder is the order in which buildings are built.
Automated buildorder could take a list in which order buildings should be built and then place them on the map near the base. This makes macro management a lot easier, but will remove important tactical decisions about where on the map to place buildings in the game. This would also give undesired behaviour because a user could want to build a building near the enemy base, which would not be supported by this functionality. Adapting the strategy to the opponent would also prove to be difficult with this functionality.
Despite it being a very useful function where every bot will benefit from, the environment should not have an abstraction for this.
It is not very hard to implement and thus students can implement this in the MAS-project to get an edge over students who do not implement this Conclusion The focus of the connector should be to accommodate for the 10 week MAS-project. This is not the only education that this system can offer, it could also be used in an honours programme.
The abstraction level that will be used in the connector is stated in section 21 5 Environment This chapter presents our research on the environment StarCraft. The research was used to examine what is needed to create a StarCraft environment and what features it should have. This was done by searching and comparing existing frameworks and bots. To create an environment for StarCraft, there needs to be a way to communicate with the game. This section answers the following two questions: What features can be found in existing bots that the connector should support?
The answer to the second question will be used to create a list of features that have to be supported by the environment. This section will list the options available and will explain the API choice that is made. There are a few options available that can be used for this project. BWAPI has a large community behind it and is properly tested, so there will be no need to go through this process again.
There are two APIs written in Java, these are listed below together with a third option. Both these wrappers have been used and tested many times by the StarCraft community. Creating a connection directly to BWAPI is therefore not necessary, as this would mean recreating existing software. Existing EIS connector EIS is an interface that has been developed to facilitate connecting software agents to environments.
To connect to an environment, GOAL uses this interface. The connector therefore has to implement this interface. When an agent requests percepts, the entity in EIS will provide the agent with the percepts. Percepts are data containers which hold parameters.
These parameters are then send to Prolog  through GOAL and allow the agent to understand the percept and reason about it. While this connector is not nearly finished and contains bugs that have to be addressed, it is a good starting point. This bot is very advanced in adaptive strategy decisions and micro management and also has the most wins of the whole tournament.
For the Protoss race the bot of Andrew Smit was examined. This bot has also been in the tournament for quite some time, but has the second most wins of the Protoss bots in the tournament. This bot was chosen because the bot with the most wins only uses a single tactic which is not enough to determine the functionality that a GOAL bot should have.
Andrew Smit s bot has lots of adaptive strategies depending on the situation and is therefore an excellent candidate for examination. For the Zerg race the bot of Marian Devecka was examined. This bot also has the most wins of all the Zerg bots and has by far the best win-loss ratio. This bot was recently updated and has lots of interesting micro strategies. It also makes use of scouting in order to prevent any proxy B.
Those are strategies where one starts creating offensive structures just outside the vision range of the enemy base to quickly overwhelm the enemy with an unexpected fast attack. The bot has a different strategy for each race. When facing a Terran opponent the bot relies mostly on kiting B. When facing a Protoss bot, the bot does not immediately attack. State Name Idle Power mw C Wait for interrupt 33 C Retention 39 C Power collapse standalone 33 Power collapse Without entering idle states, compared to loading the mobile version webpage, loading the PC version webpage takes a much longer time and costs much more energy, because there are much more data to be fetched and processed.
However, we see the same performance trend when different numbers of CPU cores are used: In fact, when 3 or cores are used, the energy cost is even higher than the one of using only cores. These results indicate that the Chrome browser cannot leverage multicore to boost its performance, even for complex webpages which require more computations.
By analyzing the traces of Ftrace, we further study the CPU usage in loading the ten webpages, when different numbers of CPU cores are used. Figure 3 shows the average results of the ten webpages in terms of the total CPU utilization ratio. That is, when multiple CPU cores are used, we calculate the average usage percentage of all the cores. We can see that the total CPU usage percentage significantly decreases when more cores are used.
Clearly, the Chrome browser fails to fully utilize the power of multicore CPU. From the above preliminary measurement results, we can see that despite the Chrome browser employs multiple threads to parallelize and accelerate the loading of webpages, it still cannot fully leverage the power of multicore CPU to reduce the page load time or the total energy cost. We guess that this is probably due to the tight coupling among the threads of the Chrome browser.
There are on-going research efforts on parallelizing browsers [, 3, ]. We plan to investigate more on this. Then we show that the existing CPU power models do not work well on multicore smartphones and propose a new power model for accurate CPU power modeling. By enabling each of the idle states separately, we have measured the idle system power of a Nexus smartphone when the phone enters each idle state.
Workloads with the same CPU utilization and frequency may have very different power consumptions. We can see that the idle states have much lower power than the operating state and the powers of different idle states are also very different, which affect the accuracy of the existing power models, as we will show next.
However, we found that CPU power consumption in Nexus exhibited a large variation even when both CPU frequency and utilization ratio were fixed. In our experiment, we wrote a workload generator program that periodically performed continuous computation followed by an idle period.
By controlling the ratio of idle period with respect to the continuous computation duration, the program could generate workloads with different CPU utilization ratios. We found that by adjusting time duration of the continuous computation, power consumption of a single CPU core could exhibit a large range of variation even when the CPU frequency and utilization ratio were fixed.
For example, Figure a show the power consumption of a single CPU core when the operating frequency was fixed at 5 MHz. We can see that, with a fixed CPU utilization ratio, the power consumption of the CPU core dropped while the duration of the continuous computation increased.
The reason is because modern multicore CPUs like the one of Nexus smartphones have multiple idle states which have very different power consumptions.
When utilization ratio was fixed, prolonging the duration of the continuous computation caused the corresponding idle period to increase accordingly. However, it only considers the portion of each CPU idle state duration over the whole idle period.
Towards Better CPU Power Management. on multicore smartphones. - PDF
Single-core power model development. Moreover, Sesame considers idle states only in its laptop power models, but not in the power models for smartphones. In the following, we first present the development of our power modeling for the single core case. Then, we show how the single-core power modeling can be adjusted to the multi-core case Power Modeling for a Single CPU Core Similar to the existing work, we use regression-based method to integrate the predictors i.
To determine what statistics about CPU idle states can be used as the predictor variable of the regression model, we first considered T Ci, which is total time duration that a CPU core stays in the idle state C i per second when frequency f and utilization ratio U are fixed. Note that since the stock Nexus kernel does not enable the idle state C, statistics for C remain zero in Figure 5. We can see that the CPU core spent more time staying in deeper idle states as duration of the continuous computation increased, because the idle period also increased accordingly.
But the CPU power kept decreasing as shown in Figure a. Figure 5 b shows E Ci, which is the number of entries for idle state C i per second, in the same experiment. Then why not protect your iPhone in a sophisticated leather case to prove to the world that iPhone mean business. Heading out to a fitness center for your post work workout and want to listen to your music?
Then dress your phone in something sporty looking much Otterbox Defender Case. Venturing out for the evening by friends for that meal while some drinks? Then pick an incident that is funky and matches your mood - show everyone around you that you coupled with iPhone propose to party stressful! And after all that hard work and partying you are most likely going to consider a well earned beach feast.
Multi-Agent Systems in StarCraft
Then make sure you grab your own waterproof case that shall keep all the sand and water and champagne! Once you could have decided by the location of one's home office, move on to function. Centered how if at all possible utilize a piece of furniture, you may opt with the idea to buy the little or large piece. An easy desk might work to be able to if tools need is a place collection your Laptop Insurance For Students Http: A more complex desk needed if elements to hold important paperwork.
If you need more, you are able to get printer stands, side boards, another pieces from office lines. Furniture in their work should essential function as well as make home office look more organized and professional.