【问题标题】:Spot instance bidding strategy in Amazon EC2Amazon EC2 中的 Spot 实例竞价策略
【发布时间】:2015-10-25 04:39:48
【问题描述】:

我的项目是关于确定 Amazon EC2 现货实例的最佳出价策略。我已经有一个文档,实际上是关于这个主题的研究论文,它通过递归方程表达了最优竞价策略。

目前我的任务是实现这个递归算法,之后我必须改进它以实现更优化的投标价格,以便在满足最后期限的同时最小化平均计算成本。

B∗t = B∗t+1 − (1 − p)F(B∗t+1)[B∗t+1 − G(B∗t+1)],
where, t = 0, • • • , T − 3 and B∗T−2 = Sod.

here B*t (read as B star t) means bidding price at time instant t
     B*t+1(read as B star (t+1)th instant),similarly for B*T-2...

T is deadline of a job. Sod= on-demand instance price. F(.) & G(.) are distribution functions.

我在实现这个递归方程时遇到了问题。我正在为我的项目使用核心 Java。

我为此编写了一个代码,但不确定 F() 和 G() 的主体 这就是我到目前为止所做的事情

import java.util.Date;

class Job{
    int computationTime;
    int deadline;
public Job(int c,int T){
    computationTime=c;
    deadline=T;
}
}

public class SpotVm {

    int c;
    int T;
    int Sod;   //On-demand VM price

    public SpotVm(Job j){
     c=j.computationTime;
     T=j.deadline;
    }

    public static int G(int t) {

    }

    public static int F(int t) {

    }   



    public  int bid(int t){
        if(t<=T-3)  
         return (bid(t+1)-(1-p)F(bid(t+1))[bid(t+1)-G(bid(t+1))]);
        else
         return Sod;
        }
    public static void main(String[] args) {
        Job j1=new Job(20,75);
        SpotVm s1=new SpotVm(j1); 
        int bidvalue=s1.bid(10);
    }

}

请建议我对此代码可以做的修改。

【问题讨论】:

  • @halfer,首先我想告诉你,我个人有 3 或 4 个月左右没有在这里查看这个帖子,因为我已经解决了我的困难并成功实施了这个项目到 7 月的第一周我自己的。所以我不明白是什么让你得出结论,我重新添加了紧急请求。我明白这样的论坛是由志愿者在闲暇时回答问题的,但必须有一些合理的响应时间。否则人们最终可能会想知道他们的所有查询是否都得到了检查并且失去了希望,希望你能理解我的观点。
  • 嗨halfer,我认为所有导致问题的原因是“非常感谢和迫切需要任何帮助,在此先感谢”。好吧,让我告诉你,我看到很多人写这种每当他们发布一些疑问或在公共论坛(例如Windows/Linux 故障排除相关帮助论坛或其他。所以我做了,因为我也寻求一些帮助,可能是在 java 代码上而不是操作系统故障排除,当然不要过分优先考虑我的查询。无论如何,我理解你的观点并从下次我会处理的,谢谢。

标签: java amazon-web-services amazon-ec2


【解决方案1】:

比 aws、ec2 更像是一个 java 问题。但我想你想要这样的东西:

public double B(int t) {
    if (t > (bigT - 2)) throw new Error("illegal value for t");
    if (t < 0) throw new Error("illegal value for t");
    if (t == (bigT - 2)) return Sod;
    try {
        return B(t + 1) - (1 - p) * F(B(t + 1)) * (B(t + 1) - G(t + 1));
    } catch (Error e) {
        throw e;
    }
}

【讨论】:

  • 其实分布函数F(.) & G(.)的实现我也不是很清楚,文档里有人建议用经验数据集代替。这些分布函数都结束了现货价格值..我在 Amazon EC2 网站上查看了特定类型的现货实例,仅给出了特定类型现货 vm 在某些特定时刻的现货价格,不知道如何绘制 F 的函数体() & G() 来自这些数据集。感谢您的代码建议...
猜你喜欢
  • 2011-07-08
  • 1970-01-01
  • 1970-01-01
  • 2011-07-08
  • 2017-11-15
  • 1970-01-01
  • 2019-12-10
  • 1970-01-01
  • 2021-06-12
相关资源
最近更新 更多