دلیل این خطا این بود که من فقط اسم سیاست رو تغییر داده بودم و به ریشه کدا 
نگاه کردم دیدم اونو نمیشناخت.


On Thursday, July 2, 2015 at 9:54:59 AM UTC+3:30, Elham Askari wrote:
>
> سلام
> این کد منه
> من خواستم قسمت تعیین میزبان آندرلود را تغییر بدم
> از اونجا که وارد نیستم گفتم خود کدایه قبلیو دست کاری کنم
> الان یه چنین چیزی دارم
> نمیدونم درسته یا نه؟
> خروجی شم که میگه vmpolicyرا نمیشناسه
> کسی میتونه بگه چخبره؟
> ممنونم:)
>
>
>
> package compailmycode;
>
> import java.io.IOException;
> import java.util.List;
> import java.util.Map;
> import java.util.Set;
> import 
> org.cloudbus.cloudsim.power.PowerVmAllocationPolicyMigrationAbstract;
> import org.cloudbus.cloudsim.Host;
> import org.cloudbus.cloudsim.power.PowerVmSelectionPolicy;
> import org.cloudbus.cloudsim.examples.power.random.RandomRunner;
> import org.cloudbus.cloudsim.power.PowerHost;
> import org.cloudbus.cloudsim.power.PowerHostUtilizationHistory;
> import org.cloudbus.cloudsim.util.MathUtil;
> import org.cloudbus.cloudsim.Vm;
> import org.cloudbus.cloudsim.power.PowerVm;
>
>
>
> public class compailmycode extends 
> PowerVmAllocationPolicyMigrationAbstract{
>     
>     /** The scheduling interval. */
> private double schedulingInterval;
>
> /** The safety parameter. */
> private double safetyParameter;
>
> /** The fallback vm allocation policy. */
> private PowerVmAllocationPolicyMigrationAbstract 
> fallbackVmAllocationPolicy;
>         
>         public  compailmycode(
> List<? extends Host> hostList,
> PowerVmSelectionPolicy vmSelectionPolicy,
> double safetyParameter,
> double schedulingInterval,
> PowerVmAllocationPolicyMigrationAbstract fallbackVmAllocationPolicy,
> double utilizationThreshold) {
> super(hostList, vmSelectionPolicy);
> setSafetyParameter(safetyParameter);
> setSchedulingInterval(schedulingInterval);
> setFallbackVmAllocationPolicy(fallbackVmAllocationPolicy);
> }
>         /**
> * Instantiates a new power vm allocation policy migration local regression.
> * 
> * @param hostList the host list
> * @param vmSelectionPolicy the vm selection policy
> * @param schedulingInterval the scheduling interval
> * @param fallbackVmAllocationPolicy the fallback vm allocation policy
> */ compailmycode(
> List<? extends Host> hostList,
> PowerVmSelectionPolicy vmSelectionPolicy,
> double safetyParameter,
> double schedulingInterval,
> PowerVmAllocationPolicyMigrationAbstract fallbackVmAllocationPolicy) {
> super(hostList, vmSelectionPolicy);
> setSafetyParameter(safetyParameter);
> setSchedulingInterval(schedulingInterval);
> setFallbackVmAllocationPolicy(fallbackVmAllocationPolicy);
> }
>     /**
>      * @param args the command line arguments
>      */
>    public static void main(String[] args) throws IOException {
> boolean enableOutput = true;
> boolean outputToFile = false;
> String inputFolder = "";
> String outputFolder = "";
> String workload = "random"; // Random workload
> String vmAllocationPolicy = "؟؟؟؟؟چی باید بدازم؟";
> String vmSelectionPolicy = "mc"; // Maximum Correlation (MC) VM selection 
> policy
> String parameter = "1.2"; // the safety parameter of the LR policy
>
> new RandomRunner(
> enableOutput,
> outputToFile,
> inputFolder,
> outputFolder,
> workload,
> vmAllocationPolicy,
> vmSelectionPolicy,
> parameter);
> }
>
>     
>
>
>          /**
> * Checks if is host over utilized.
> * 
> * @param host the host
> * @return true, if is host over utilized
> */
> protected boolean isHostOverUtilized(PowerHost host) {
> PowerHostUtilizationHistory _host = (PowerHostUtilizationHistory) host;
> double[] utilizationHistory = _host.getUtilizationHistory();
> int length = 10; // we use 10 to make the regression responsive enough to 
> latest values
> if (utilizationHistory.length < length) {
> return getFallbackVmAllocationPolicy().isHostOverUtilized(host);
> }
> double[] utilizationHistoryReversed = new double[length];
> for (int i = 0; i < length; i++) {
> utilizationHistoryReversed[i] = utilizationHistory[length - i - 1];
> }
> double[] estimates = null;
> try {
> estimates = getParameterEstimates(utilizationHistoryReversed);
> } catch (IllegalArgumentException e) {
> return getFallbackVmAllocationPolicy().isHostOverUtilized(host);
> }
> double migrationIntervals = Math.ceil(getMaximumVmMigrationTime(_host) / 
> getSchedulingInterval());
> double predictedUtilization = estimates[0] + estimates[1] * (length + 
> migrationIntervals);
> predictedUtilization *= getSafetyParameter();
>
> addHistoryEntry(host, predictedUtilization);
>
> return predictedUtilization >= 1;
> }
>
> /**
> * Gets the parameter estimates.
> * 
> * @param utilizationHistoryReversed the utilization history reversed
> * @return the parameter estimates
> */
> protected double[] getParameterEstimates(double[] 
> utilizationHistoryReversed) {
> return MathUtil.getLoessParameterEstimates(utilizationHistoryReversed);
> }
>
> /**
> * Gets the maximum vm migration time.
> * 
> * @param host the host
> * @return the maximum vm migration time
> */
> protected double getMaximumVmMigrationTime(PowerHost host) {
> int maxRam = Integer.MIN_VALUE;
> for (Vm vm : host.getVmList()) {
> int ram = vm.getRam();
> if (ram > maxRam) {
> maxRam = ram;
> }
> }
> return maxRam / ((double) host.getBw() / (2 * 8000));
> }
>
> /**
> * Sets the scheduling interval.
> * 
> * @param schedulingInterval the new scheduling interval
> */
> protected void setSchedulingInterval(double schedulingInterval) {
> this.schedulingInterval = schedulingInterval;
> }
>
> /**
> * Gets the scheduling interval.
> * 
> * @return the scheduling interval
> */
> protected double getSchedulingInterval() {
> return schedulingInterval;
> }
>
> /**
> * Sets the fallback vm allocation policy.
> * 
> * @param fallbackVmAllocationPolicy the new fallback vm allocation policy
> */
> public void setFallbackVmAllocationPolicy(
> PowerVmAllocationPolicyMigrationAbstract fallbackVmAllocationPolicy) {
> this.fallbackVmAllocationPolicy = fallbackVmAllocationPolicy;
> }
>
> /**
> * Gets the fallback vm allocation policy.
> * 
> * @return the fallback vm allocation policy
> */
> public PowerVmAllocationPolicyMigrationAbstract 
> getFallbackVmAllocationPolicy() {
> return fallbackVmAllocationPolicy;
> }
>
> public double getSafetyParameter() {
> return safetyParameter;
> }
>
> public void setSafetyParameter(double safetyParameter) {
> this.safetyParameter = safetyParameter;
> }
>          @Override
> public List<Map<String, Object>> optimizeAllocation(List<? extends Vm> 
> vmList) {
> // This policy does not optimize the VM allocation
> return null;
> }
>
>      //_________Return Total Vms Migration Time for Vms of Under 
> Utilization Host
>         
>      protected double myTotalVmMigrationTime(PowerHost host) {
> //int maxRam = Integer.MIN_VALUE;
>                 double TotalVmMigrationTime=0;
> for (Vm vm : host.getVmList()) {
>                  TotalVmMigrationTime +=vm.getRam() / ((double) 
> host.getBw() / (2 * 8000));
>                         
> }
> return TotalVmMigrationTime;
> }
>      
>      
>          protected PowerHost mygetUnderUtilizedHost(Set<? extends Host> 
> excludedHosts){
> double minUtilization = 1;
> PowerHost underUtilizedHost = null;
> for (PowerHost host : this.<PowerHost> getHostList()) {
> if (excludedHosts.contains(host)) {
> continue;
> }
> double utilization =host.getUtilizationOfCpu();
>                         
>                         List<Vm> mynumbervm;
>                         mynumbervm=host.getVmList();
>                         
>                         utilization=utilization+/* beta 
> */mynumbervm.size()+myTotalVmMigrationTime(host);
>                         /*ta inja bahrevari ba tedad vm jam shud/albate 
> bayad parametr alfa va beta ro ham to
>                         /be gonjonim/bad bayad ba hazine maohajerat ya 
> hamun migratuon timam jam konam ba ye zarbi
>                         va bad ba on hazine ezafi masafri bara host 
> pazirande ham ba ye nesbati jam kona
>                         va dar akhar ino ba mizanmasrafe addi moghayese 
> konam bebinam javab mideh ya na
>                         
>                         */
>                         
>                         
> if (utilization > 0 && utilization < minUtilization
> && !areAllVmsMigratingOutOrAnyVmMigratingIn(host)) {
> minUtilization = utilization;
> underUtilizedHost = host;
> }
> }
> return underUtilizedHost;
> }
> /**
> * Checks whether all vms are in migration.
> * 
> * @param host the host
> * @return true, if successful
> */
> protected boolean areAllVmsMigratingOutOrAnyVmMigratingIn(PowerHost host) {
> for (PowerVm vm : host.<PowerVm> getVmList()) {
> if (!vm.isInMigration()) {
> return false;
> }
> if (host.getVmsMigratingIn().contains(vm)) {
> return true;
> }
> }
> return true;
> }
>          
> }
>
>

-- 
شما به این دلیل این پیغام را دریافت کرده اید که در گروه تخصصی رایانش ابری 
وابسته به مرکز رایانش ابری دانشگاه صنعتی امیرکبیر و جامعه آزاد رایانش ابری 
ایران عضو شده اید.
http://crc.aut.ac.ir
http://occc.ir

این گروه برای بحث پیرامون مسائل مختلف در حوزه رایانش ابری و اطلاع از آخرین 
اخبار مربوط به این حوزه می باشد
برای ارتباط با افراد فعال در این حوزه میتوانید در جلسات حضوری جامعه آزاد رایانش 
ابری ایران که بصورت عمومی برگزار میشود شرکت کنید

برای طرح پرسش و دریافت پاسخ میتوانید به سایت زیر نیز مراجعه نمایید
http://ask.occc.ir

برای استفاده از دانشنامه آزاد رایانش ابری میتوانید به سایت زیر مراجعه نمایید
http://wiki.occc.ir

برای اطلاع از آخرین اخبار و فعالیت های انجام شده در جامعه رایانش ابری میتوانید 
به بورد عمومی مراجعه نمایید
https://trello.com/occc_board

همچنین میتوانید سری به رصد خانه رایانش ابری بزنید تا از رویدادهای اخیر در سطح 
جهان مطلع شوید
http://news.occc.ir/index.php?hours=168
--- 
You received this message because you are subscribed to the Google Groups "Aut 
Cloud Computing Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/aut-cloud-computing-group.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/aut-cloud-computing-group/21eeffa2-c575-4e87-b38e-4f4a37fbef4c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to