java吧 关注:1,292,916贴子:12,824,036
  • 32回复贴,共1

请教大家一个拓扑更新的问题,假设我有一个五元组f(a,b,c,d,e)

只看楼主收藏回复

感谢大家!!!!
问题描述如下:
是属于数据中心流调度的问题,我不懂的地方在于如何编写代码在流传输完成时更新我的拓扑呢?
假设我的数据流模型如下f=(a,b,c,d,e),a,b,c,d,e分别代表流的源主机节点,目的主机节点,到达时刻,最晚截止时间,传输的带宽量,对于每个数据流我应该通过控制器给他进行流调度方案,这里也就是我选择最短路,一个数据流在其传输过程中是要占用网络拓扑的带宽的,在其传输完毕后,他所占用的带宽应该释放,问题在于我要怎么设计代码让该流在其传输完成时释放呢,因为在他传输的过程中也许还有其他的流在传输,所以路径上的可用带宽是实时变化的,举个例子,假设目的节点和源节点一样
假设有流f1=(u,v,0,7,30)
f2=(u,v,3,8,40)
f3=(u,v,2,5,30)
理论上是f1先到,其次f3,最后f2,但是f1传输时直到时刻7才传输完毕,那么这段时间,由于区间[2,5]在[0,7]的范围内,所以这段带宽事实上要考虑已经占用了30带宽的流f1的,我要怎么写循环或者怎么存储去判断每个流传输后更新拓扑同时又兼顾在其传输时间内的其他流接入分配路径时用的是实时带宽情况呢?
PS:可以对流先进行自主排序,然后再调度


IP属地:江苏1楼2022-05-26 18:01回复
    别沉谢谢,来人


    IP属地:江苏3楼2022-05-26 18:23
    回复
      2025-12-29 12:30:48
      广告
      不感兴趣
      开通SVIP免广告
      先去学图论


      IP属地:上海来自iPhone客户端4楼2022-05-26 22:35
      收起回复
        介绍的很不明白,你既然知道当前时间点有哪些传输正在进行,自然能算实时带宽。我理解这个问题和动态规划没什么关系,和复杂算法也没什么关系。按你的例子就只是几点到几点要做什么,没有需要决策什么时候执行,带宽只是个加减法问题


        IP属地:北京来自Android客户端5楼2022-05-27 09:05
        收起回复
          我也不知道咋表达,是的,和具体怎么分配路径没有关系,我的疑惑就是对于一个周期内的数条流,我应该怎么确定具体的顺序才能保证确实是满足要求呢,比如我是应该①先对流排序,然后②分配路径,③更新带宽,④下一个流?那么这样的话就会出现第一条流分配完毕后,第二条流来的时候在这个时刻我要怎么确定此时的拓扑到底是前面流占用的带宽释放了还是仍然在运行呢,或者说我这个判断应该加在什么位置,在循环的哪一层,最外层的循环我应该用时刻for(i=0,t)吗


          IP属地:江苏6楼2022-05-27 12:36
          收起回复