基于拍卖的网格资源分配:多属性组合交换机制解析
1. 引言
自20世纪90年代初以来,将计算机集成到并行和分布式系统中已成为常见做法。网格作为一种基础设施,将计算机资源(如磁盘空间、处理器)组织成一个紧密的分布式系统。在网格中,远程计算机通过公共或虚拟专用网络动态连接。这种网格的建立对商业应用产生了重大影响,有计算需求的组织无需自行购买和维护计算机资源,而是可以按需使用网格中临时用户不永久控制的资源。网格中计算机资源的供应商包括小型和大型所有者,他们都致力于提高现有资源的利用率。
目前,虽然在开发用于在多个地理和管理域之间共享资源的网格中间件方面投入了大量研究精力,但对将供应的资源分配给作业的研究相对较少。现有的资源管理系统通常使用特殊的成本函数来调度作业,这些机制是集中控制的,只有在供需信息如实报告的情况下才能良好运行。然而,由于网格不仅涉及组织内部的资源共享,还涉及跨组织的资源共享,集中控制的机制容易受到作业相关数据不真实披露的影响。
市场机制在参与者可能隐瞒其成本和估值的私人信息的情况下,能够实现相当高效的分配。如果市场机制定义得当,用户可能会有动力表达其对服务请求和报价的真实价值,这是实现服务高效分配的前提。近年来,将市场机制融入网格技术的想法越来越受到关注,但关于网格资源市场机制的研究仍处于起步阶段,现有的市场机制不足以满足网格的要求。本文提出了一种多属性组合交换(MACE)机制,以实现网格资源的高效分配。
2. 需求分析
2.1 设计目标
机制设计的理论基础源于博弈论的一个分支——机制设计。在实际机制设计中,主要目标是研究具有理想属性的机制。机制的常见经济属性结果包括:
-
分配效率
:当个体效用之和最大化时,分配是有效的。一个机制只有在市场参与者如实报告其估值时才能实现分配效率,这需要在均衡状态下具有激励相容性。
-
激励相容性
:如果每个参与者在与其他参与者的均衡策略中,其预期效用最大化的策略是报告其真实偏好,则该机制具有激励相容性。
-
个体理性
:个体理性约束要求参与者参与机制后的效用大于或等于之前的效用。
-
预算平衡
:如果所有参与者的价格总和为零,则该机制是预算平衡的。如果机制出现赤字,则必须由外部来源补贴,因此本身不可行。
-
计算可处理性
:计算可处理性考虑计算机制结果的复杂性。随着参与者数量的增加,分配问题可能变得非常复杂,这可能会限制选择和转移规则的设计。
对于当前的场景,分配效率是机制设计者想要实现的总体设计目标,而其余类别则是对该目标的约束。
2.2 特定领域要求
除了与结果相关的机制属性外,机制还必须考虑底层环境。市场参与者的约束对设计提出了非常严格的要求:
-
双边机制
:网格中间件通常提供一个全局目录,使多个服务所有者能够发布其服务,多个服务请求者能够发现这些服务。由于市场机制取代了这些目录,它必须允许许多资源所有者(卖方)和资源消费者(买方)同时进行交易。
-
支持属性投标的语言
:网格参与者通常对网格服务的质量特征有不同的要求,并在不同的时间段内需要这些服务。例如,一个数据挖掘作业可能需要在上午9点到下午4点之间的任何时间段内,获得至少250GB可用空间的存储服务4小时。为了便于遵守这些协议,市场机制需要支持对服务的多个质量属性以及时间目标进行投标。
-
支持组合投标的语言
:买方通常需要将不同的网格服务作为一个捆绑包来执行任务。因此,网格服务具有互补性,参与者对服务的估值具有超可加性,即单个服务估值之和小于整个捆绑包的估值。为了避免暴露风险,机制必须允许对捆绑包进行投标。此外,买方可能希望对一个捆绑包提交多个投标,以及许多相互排斥的投标。在这种情况下,捆绑包的资源是替代品,参与者对服务的估值具有次可加性。为了表达这种情况,机制必须支持异或(XOR)投标来表达替代品。为了简化,卖方的投标仅限于或(OR)投标。
-
支持联合分配约束的语言
:对容量要求较高的作业通常需要同时从不同供应商处分配多个同质服务实例。例如,大规模模拟可能需要同时完成多个计算服务。机制必须能够实现联合分配,并提供控制功能。在这种情况下,需要考虑两种情况:一是限制服务联合分配的最大数量;二是将捆绑包中的多个服务进行耦合,以确保这些资源从同一个卖方分配并在同一台机器上执行。
3. 相关工作
前人在网格资源分配机制方面进行了诸多研究,但均存在一定的局限性,具体如下表所示:
|研究人员|提出的机制|局限性|
| ---- | ---- | ---- |
|Waldspurger等、Regev和Nisan|Vickrey拍卖用于分配分布式系统中的同质计算资源| |
|Buyya等|经典单边拍卖类型|无法考虑组合投标|
|Wolski等|比较经典拍卖与议价市场|仅考虑经典拍卖格式,买家无法表达捆绑包投标|
|Eymann等|分散议价系统|很大程度上忽略了捆绑包投标|
|Subramoniam等|提供tatonnement过程来分配和定价网格资源|资源仍被视为标准化商品,可能导致分配效率低下|
|Ng等|重复组合拍卖作为分布式系统中的微观经济资源分配|资源被视为标准化商品,可能导致分配效率低下|
|Wellman等|单边拍卖协议|单边机制,缺乏双边竞争|
|Parkes等|首次引入组合交换作为一次性密封投标拍卖|未考虑时间和质量约束|
|Bapna等|提出一系列组合拍卖用于分配网格服务|卖方侧无竞争,未考虑联合分配约束|
综上所述,目前没有一种市场机制能够同时满足双边竞争、包含组合投标、允许时间约束、管理质量约束以及考虑联合分配限制等要求。
4. 多属性组合交换(MACE)设计
4.1 投标语言
设计满足要求的拍卖需要一种表达性强的投标语言。假设存在N个买家的集合N和M个卖家的集合M,有G个离散资源G = {g1, …, gG}和D个捆绑包的集合S = {S1, …, SD}。每个资源gk有一组Ak个基数质量属性Agk = (ak1, …, akAk),买家n可以为捆绑包Sj中的资源gk指定最小所需质量特征qNn(Sj, gk, aki) ≥ 0,卖家m可以指定最大提供质量特征qMm(Sj, gk, aki) ≥ 0。
对于每个资源gk,买家n可以指定每个时间段内的最大联合分配数量gn(Sj, gk) ≥ 0。两个资源在捆绑包中的耦合由二进制变量fn(Sj, gk, gl)表示。资源以捆绑包Sj的形式可以分配到一组最大T个离散时间段T = (0, …, T - 1),买家n可以为捆绑包Sj指定最小所需时间段数量sn(Sj) ≥ 0,以及最早和最晚可分配时间段eNn(Sj) ≥ 0和lNn(Sj) ≥ 0,卖家m也可以指定相应的时间段eMm(Sj) ≥ 0和lMm(Sj) ≥ 0。
买家n可以通过vn(Sj) ≥ 0表达对捆绑包Sj单个时段的估值,卖家m对捆绑包Sj单个时段的保留价格为rm(Sj) ≥ 0。基于这些参数,买家的原子投标定义如下:
-
定义1:MACE原子买家投标
:在MACE中,买家n的原子投标Bn(Sj)定义为:
[
Bn(Sj) = (vn(Sj), sn(Sj), eNn(Sj), lNn(Sj), (qNn(Sj, g1, a11), …, qNn(Sj, gl, alAgl)), (gn(Sj, g1), …, gn(Sj, gl)), (fn(Sj, g1, g2), fn(Sj, g1, g3), …, fn(Sj, g1, gl), …, fNagent(Sj, gl - 1, gl)))
]
其中GSj = {g1, …, gl}是捆绑包Sj的资源。
为了允许买家表达一组资源的替代品,MACE支持提交异或连接的原子投标。
-
定义2:MACE异或买家投标
:买家n的异或投标Bn定义为:
[
Bn = (Bn(Sj) \oplus … \oplus Bn(Sk))
]
卖家的投标形式与买家类似,但不包括最大可分性和耦合属性,并假设时间段数量等于给定的时间范围。
-
定义3:MACE原子卖家投标
:卖家m的原子投标Bm(Sj)定义为:
[
Bm(Sj) = (rm(Sj), eMm(Sj), lMm(Sj), qMm(Sj, g1, a11), …, (qMm(Sj, gl, alAgl)))
]
由于网格资源是不可存储的商品,卖家的投标空间仅限于或投标。
mermaid图展示投标流程如下:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(买家和卖家):::process --> B(使用投标语言提交偏好):::process
B --> C(拍卖师接收投标):::process
4.2 赢家确定
基于上述投标语言,可以将MACE的赢家确定问题(MACE分配问题,MAP)表述为一个线性混合整数规划问题。为了形式化该模型,引入决策变量xn(Sj)、zn,t(Sj)、ym,n,t(Sj)和dm,n,t(Sj):
- 二进制变量xn(Sj) ∈ {0, 1}表示捆绑包Sj是否分配给买家n(xn(Sj) = 1)或未分配(xn(Sj) = 0)。
- 二进制变量zn,t(Sj) ∈ {0, 1}与买家n相关,用于表示捆绑包Sj在时间段t的分配情况。
- 实值变量ym,n,t(Sj)(0 ≤ ym,n,t(Sj) ≤ 1)表示卖家m在时间段t分配给买家n的捆绑包Sj的百分比。
- 二进制变量dm,n,t(Sj) ∈ {0, 1}与ym,n,t(Sj)相关,表示卖家m在时间段t是否将捆绑包Sj分配给买家n。
MAP的目标函数和约束条件如下:
-
目标函数
:
[
\max \sum_{n \in N} \sum_{Sj \in S} \sum_{t \in T} vn(Sj)zn,t(Sj) - \sum_{m \in M} \sum_{n \in N} \sum_{Sj \in S} \sum_{t \in T} rm(Sj)ym,n,t(Sj)
]
目标函数最大化了买家估值总和与卖家保留价格总和之间的差值,即盈余V
。假设投标者如实投标,该目标函数反映了最大化社会福利的目标。
-
约束条件
*:
- (\sum_{Sj \in S} xn(Sj) \leq 1, \forall n \in N):确保每个买家n只能分配到一个捆绑包Sj,以满足买家投标的异或约束。
- (\sum_{t \in T} zn,t(Sj) - xn(Sj)sn(Sj) = 0, \forall n \in N, \forall Sj \in S):确保对于任何分配的捆绑包Sj,买家n在时间集T内恰好获得所需的时段。
- (\sum_{n \in N} ym,n,t(Sj) \leq 1, \forall m \in M, \forall Sj \in S, \forall t \in T):确保每个卖家在每个时间段内分配的资源不超过其拥有的资源。
- (\sum_{Sj \ni gk} zn,t(Sj)qNn(Sj, gk, aki) - \sum_{Sj \ni gk} \sum_{m \in M} ym,n,t(Sj)qMm(Sj, gk, aki) \leq 0, \forall n \in N, \forall gk \in G, \forall aki \in Agk, \forall t \in T):保证在任意时间段t内,任何分配的捆绑包中的所有所需资源必须在同一时段内以至少所需的质量得到满足。
- (\sum_{Sj \ni gk} \sum_{m \in M} dm,n,t(Sj) - \sum_{Sj \ni gk} gn(Sj, gk)zn,t(Sj) \leq 0, \forall n \in N, \forall gk \in G, \forall t \in T):确保资源最多由gn(Sj, gk)个不同的供应商提供。
- (\sum_{Sj \ni gk, gl} fn(Sj, gk, gl)(\sum_{Sj \ni gk} dm,n,t(Sj) - \sum_{Sj \ni gl} dm,n,t(Sj)) = 0, \forall n \in N, \forall m \in M, \forall gk, gl \in G, \forall t \in T)和(\sum_{Sj \ni gk, gl} fn(Sj, gk, gl)(\sum_{Sj \ni gk} \sum_{m \in M} dm,n,t(Sj) + \sum_{Sj \ni gl} \sum_{m \in M} dm,n,t(Sj) - 2zn,t(Sj)) \leq 0, \forall n \in N, \forall gk, gl \in G, \forall t \in T):负责两个资源的耦合,确保耦合的资源由同一个卖家提供,并且不能联合分配。
- ((eNn(Sj) - t)zn,t(Sj) \leq 0, \forall n \in N, \forall Sj \in S, \forall t \in T)和((t - lNn(Sj))zn,t(Sj) \leq 0, \forall n \in N, \forall Sj \in S, \forall t \in T)以及((eMm(Sj) - t)\sum_{n \in N} ym,n,t(Sj) \leq 0, \forall m \in M, \forall Sj \in S, \forall t \in T)和((t - lMm(Sj))\sum_{n \in N} ym,n,t(Sj) \leq 0, \forall m \in M, \forall Sj \in S, \forall t \in T):表示时段不能在买家或卖家的最早和最晚时间段之前或之后分配。
- (ym,n,t(Sj) - dm,n,t(Sj) \leq 0, \forall n \in N, \forall m \in M, \forall Sj \in S, \forall t \in T)和(dm,n,t(Sj) - ym,n,t(Sj) < 1, \forall n \in N, \forall m \in M, \forall Sj \in S, \forall t \in T):建立实值决策变量ym,n,t(Sj)和二进制变量dm,n,t(Sj)之间的关系。
- (xn(Sj) \in {0, 1}, \forall n \in N, \forall Sj \in S),(zn,t(Sj) \in {0, 1}, \forall n \in N, \forall Sj \in S, \forall t \in T),(ym,n,t(Sj) \geq 0, \forall n \in N, \forall m \in M, \forall Sj \in S, \forall t \in T),(dm,n,t(Sj) \in {0, 1}, \forall n \in N, \forall m \in M, \forall Sj \in S, \forall t \in T):指定优化问题的决策变量。
当存在多个解使目标函数最大化时,优先选择交易捆绑包数量最多的解,然后随机选择。如果总盈余为零,选择交易者收支平衡的分配。
可以证明,MACE分配问题(MAP)是NP完全问题。
-
定理1:MAP复杂性
:MACE分配问题(MAP)是NP完全问题。
-
证明
:组合分配问题(CAP)可以简化为MAP。显然,任何CAP实例(多个买家、一个保留价格为零的卖家、无属性和无耦合约束)都可以由MAP解决。已知CAP是NP完全问题,因此MAP也是NP完全问题。
4.3 定价
只要买家和卖家如实披露其估值,MAP的结果就是分配有效的。适当的定价机制可以诱导参与者根据其估值设定投标。
Vickrey - Clarke - Groves(VCG)方案由于会产生赤字且需要外部补贴,因此不能应用。而近似VCG机制虽然预算平衡且近似有效,但如果有I个代理参与分配,该定价方案仍需要求解I + 1个MAP实例。因此,设计了一种计算效率更高且仍能实现理想经济属性的替代定价方案——k定价方案。
k定价方案的基本思想是根据买家和卖家的投标差异来确定价格。对于单一商品交换,设买家n的估值为vn(Sj) = a,卖家m的保留价格为rm(Sj) = b,假设a ≥ b(否则不会发生交易),则买家n和卖家m的价格可以计算为p(Sj) = ka + (1 - k)b,其中0 ≤ k ≤ 1。
在多属性组合交换中,在每个时间段t,当一个捆绑包Sj从一个或多个卖家分配给买家时,该分配产生的盈余在买家和卖家之间分配。对于整个作业(即所有时间段),买家n的价格计算为:
[
pNk,n(Sj) = xn(Sj)vn(Sj)sn(Sj) - k\sum_{t \in T} bn,t(Sj)
]
卖家m的价格计算为:
[
pMk,m(Sj) = \sum_{n \in N} \sum_{t \in T} ym,n,t(Sj)rm(Sj) + (1 - k)\sum_{n \in N} \sum_{Sl \in S} \sum_{t \in T} om,n,t(Sj)bn,t(Sl)
]
其中bn,t(Sj)是买家n的捆绑包Sj在时间段t与所有相应卖家产生的盈余,om,n,t(Sj)是卖家m在时间段t分配给买家n的捆绑包Sj的比例。
使用k定价方案,交换不需要补贴参与者,因为它满足预算平衡属性,不需要向机制进行支付。
-
定理2:预算平衡和个体理性
:MACE是预算平衡和个体理性的。
根据Myerson - Satterthwaite定理,显然MACE不能具有激励相容性。为了评估定价方案在不同设置中的影响,需要进行进一步的分析。
基于拍卖的网格资源分配:多属性组合交换机制解析(续)
5. 评估
应用k定价方案意味着参与者可以通过歪曲其私人信息来获得更高的效用。这就引出了一个问题:这种效用增益是否可以衡量,以及它是否可以作为衡量激励相容性损失的指标。
设(\tilde{I})是一组可以操纵其估值和保留价格的参与者。在基准场景(o)中,所有参与者(\tilde{i} \in \tilde{I})都诚实地披露其偏好,此时他们如实投标的效用(u_{\tilde{i}}(o))可以计算为(\sum_{\tilde{i} \in \tilde{I}} u_{\tilde{i}}(o))。在另一个场景(\tilde{o})中,参与者(\tilde{i} \in \tilde{I})操纵其投标,而输入参数(即底层投标的特征)保持不变,此时由于操纵而产生的效用计算为(\sum_{\tilde{i} \in \tilde{I}} u_{\tilde{i}}(\tilde{o}))。因此,由于操纵而获得的效用可以衡量为:
[
UGO_{n,k}(S_j) = \sum_{\tilde{i} \in \tilde{I}} u_{\tilde{i}}(\tilde{o}) - \sum_{\tilde{i} \in \tilde{I}} u_{\tilde{i}}(o)
]
其中(k)代表k定价方案,(O)代表最优赢家确定算法。如果该值为正,参与者有激励操纵其投标;如果为负,参与者操纵投标会更糟。
5.1 数据基础
作为数据基础,生成一个包含“衰减”分布捆绑包的随机投标流。“衰减”函数由Sandholm推荐,因为它会创建分配问题的困难实例。具体操作步骤如下:
1. 开始时,一个捆绑包由一个随机资源组成。
2. 之后,以(\alpha = 0.75)的概率随机添加新资源。
3. 重复步骤2,直到不再添加资源或捆绑包已经包含相同的资源。
买家和卖家提交原子投标,其中捆绑包从五个可能的资源中进行“衰减”分布。每个资源有两个不同的属性,从([1, …, 2000])范围内的均匀分布中抽取。时间属性也均匀分布,最早和最晚时间段的范围均为([0, …, 4]),时段数量在([1, …, 3])范围内。为了简化,不考虑联合分配限制和联合分配约束。捆绑包的相应估值和保留价格从相同的均匀分布中抽取,并乘以捆绑包中的资源数量。在每个问题实例中,随机生成买家和卖家的新订单,然后将供需进行匹配,确定获胜分配和相应价格。
5.2 结果
根据上述公式计算的指标反映了操纵投标获得的效用与如实投标获得的效用之间的差异。以下是具体的结果分析:
-
单个参与者操纵投标
:当一个参与者低估其估值时,例如低估(l = 20\%),其平均效用增益为(UGO_{k} = 394.15)。但如果操纵幅度超过(l = 20\%),其平均效用增益会持续下降。当操纵因子大于(l = 35\%)时,会出现负效用增益,这意味着参与者没有激励低估其估值超过(35\%)。效用损失大于(500)((UGO_{k} \leq -500))的情况在图表中被截断。
|操纵因子(l)|(l \leq 20\%)|(20\% < l \leq 35\%)|(l > 35\%)|
| ---- | ---- | ---- | ---- |
|平均效用增益|正且较高|逐渐下降|负|
- 多个参与者操纵投标 :如果更多参与者偏离如实投标,每个参与者的平均效用增益会降低。当一半的参与者操纵投标超过(l = 30\%)时,没有参与者平均能获得正效用增益。如果所有参与者都操纵投标,没有一个参与者能获得正效用。这是因为随着买家和卖家之间的价格差距增大,潜在交易对手的总数会减少。
这些结果表明,参与者可以通过操纵投标获得正效用,但这种增益仅限于只有少数参与者以较小因子操纵投标的情况。虽然单个参与者不披露其真实偏好可以获得正效用,但随着更多参与者开始操纵投标,这种增益会下降。如果只有一个参与者以较小因子操纵投标,整体效率损失较小。模拟结果表明,k定价方案具有较好的激励属性,导致的分配效率损失相对较小。因此,k定价方案可以作为组合拍卖机制中VCG机制的实用替代方案。
mermaid图展示参与者操纵投标对效用的影响如下:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(单个参与者小幅度操纵):::process --> B(获得正效用):::process
C(多个参与者大幅度操纵):::process --> D(效用增益降低甚至为负):::process
6. 结论
本文提出了一种多属性组合交换机制。与其他组合方法相比,该机制还考虑了时间和质量属性以及分配限制。它为买家和卖家提供了丰富的投标语言,制定了能够实现高效分配的赢家确定模型,并推导了适用于组合机制的k定价方案。
模拟结果显示,k定价方案虽然不能严格惩罚不准确的估值和保留价格报告,参与者有时可以通过作弊增加个人效用,但这种可能性仅限于少数战略买家和卖家进行轻微误报的情况。随着误报参与者数量的增加,在拍卖中不被执行的风险会急剧上升。因此,k定价方案是VCG机制的实用替代方案。
未来,除了关注机制的计算问题外,还需要扩展当前投标语言的表达能力。例如,目前的机制仅支持指定基数资源属性,虽然这在大多数实际情况下足够,但在某些情况下可能需要名义属性。此外,投标语言基于属性和值的对来描述资源及其质量属性,供需匹配基于属性匹配函数。如果参与者不仅对特定资源配置感兴趣,还愿意接受类似的配置,这种方式可能不够。未来可以考虑使用基于本体的投标语言来解决这个问题。
超级会员免费看
39

被折叠的 条评论
为什么被折叠?



