基于拍卖的资源分配环境:设计与实践
1. 引言
在许多计算机系统中,资源分配的目标不再是单纯追求利用率的最大化。当资源需求超过供给,无法满足所有需求时,就需要一种策略来指导资源分配决策。高效利用资源,将其分配给对资源使用效用最高的用户,是一种自然的策略。市场机制常被提议用于实现这一目标,它能在竞争环境中分配资源,同时最大化用户的整体效用。
大型联合计算基础设施的出现,为重新审视市场机制在计算资源分配中的应用提供了机会。联合系统的一些特点使得基于市场的方法十分合适:
- 用户需求模式同步,资源需求过剩常见。
- 资源所有权由社区共享,许多方关注资源分配政策。
- 资源众多,无法通过人工管理或无协调的过程解决资源竞争问题。
然而,基于市场的分配方案在实际应用中尚未普及。计算环境与传统市场存在差异,主要体现在:
- 计算系统缺乏一些自然的市场组件。终端用户通常不参与资源的购买或生产,不习惯用货币衡量资源效用,且系统缺乏资源生产手段,资源供需不平衡常见。
- 参与者行为不同。终端用户可能更喜欢简单的系统接口和分配政策,而不是通过投标等方式获取资源。
为解决这些挑战,我们介绍了两个基于市场机制的案例:Bellagio和Mirage。它们均采用以用户为中心的设计,使用资源发现接口和组合投标语言分配资源,并采用虚拟货币政策。
2. 背景
自20世纪90年代中期以来,大型联合计算基础设施成为提供网络和计算资源的主要方式。资源分配仍然是这些系统面临的根本挑战。
2.1 传统分配方法
- 比例共享 :在分时系统中,比例共享为所有用户提供对分时资源的平等、同时访问。但在资源需求过剩的系统中,随着需求增加,每个用户获得的资源时间份额减少,而开销不变或增加,最终用户的效用趋近于零。
- 批量调度 :常用于空间共享系统,如超级计算机和网格计算环境。这类系统适合需要大量系统资源的应用,但通常不考虑用户在作业调度需求上的异质性,缺乏防止用户人为提高作业优先级的自动化方法,且在资源需求冲突时,通常需要人工干预。
2.2 作业效用函数
最大化系统的总效用需要了解用户对资源在时间和空间上的偏好。现有的分配方法在调度决策时未明确考虑用户对作业的效用。许多研究工作探讨了基于作业效用函数的调度,但都假设存在一种机制来引出用户诚实且可比的效用函数。同时,共享调度系统需要一种机制来防止用户人为夸大作业效用。
2.3 经济方法
设计良好的经济方法可以为用户提供一个自然的框架来传达作业效用函数,并让系统引出用户的真实效用。资源根据供需定价,用户用货币购买资源,这会促使用户如实描述其对不同资源分配的效用。
市场机制长期以来被提议用于解决这些环境中的资源分配问题,但在实际计算机系统中的应用进展缓慢。之前的工作可分为定价机制和基于拍卖的机制。我们的设计(Bellagio和Mirage)采用组合拍卖来分配资源,允许用户对资源组合进行投标,更准确地表达其偏好。
3. 系统设计
3.1 系统架构
市场机制的目标是确定一种最大化用户效用的资源分配方案。Bellagio和Mirage采用重复密封投标组合拍卖的方式,在一段时间内将资源分配给竞争用户。由于组合拍卖的获胜者确定问题是NP难问题,我们采用贪心算法确保拍卖快速清算。
用户通过两阶段过程向拍卖提交投标:
1. 使用资源发现服务找到符合需求的候选资源。
2. 使用系统特定的投标语言根据第一步确定的具体资源进行投标。
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([开始]):::startend --> B(资源发现):::process
B --> C(获取具体资源):::process
C --> D(投标):::process
D --> E{是否中标}:::process
E -->|是| F(获得资源):::process
E -->|否| G(未获得资源):::process
F --> H([结束]):::startend
G --> H
3.2 货币
由于在目标环境中引入真实货币不可行,我们为Bellagio和Mirage设计了虚拟货币系统。虚拟货币政策基于两个原则:
- 根据外生政策对用户进行优先级排序。
- 在资源需求高峰时,根据用户的使用情况进行奖惩。
每个用户在中央银行有一个存储虚拟货币的账户。账户分配有基线货币量、货币份额,并在拍卖清算后通过利润共享和固定利率储蓄税进行货币分配。
4. Bellagio
4.1 目标平台
PlanetLab是一个分布式、广域的联合测试平台,由全球400多个站点的800多台机器组成。机器由本地站点拥有和操作,由PlanetLab Central(PLC)集中管理。在2003年和2004年的主要系统和网络会议截止日期期间,资源竞争成为PlanetLab的一个持续问题,Bellagio旨在解决这一问题。
4.2 架构
- 资源发现 :使用组合拍卖而非单项拍卖,是因为大多数PlanetLab用户需要同时使用大量机器。Bellagio使用SWORD资源发现服务,允许用户根据各种标准定位资源。用户可以在投标中指定抽象资源规格,Bellagio会在确定资源分配前将其转换为具体的候选机器。
- 投标语言 :Bellagio的基本分配单位是4小时的CPU份额,组合拍卖每4小时清算一次。投标语言允许用户指定资源的分配持续时间、可能的开始时间范围、所需资源的数量和等价类等。例如,用户可以请求“在接下来24小时内的任何时间,获得普林斯顿大学的10个节点和伯克利大学的10个节点,持续32小时”。
- 货币政策 :货币分配按组织进行,每个站点的初始虚拟货币余额与其为PlanetLab贡献的机器数量成正比。利润共享仅在拥有中标机器的组织之间分配,这促进了系统的长期增长。
4.3 部署
2004年夏天,PLC为PlanetLab上的研究小组提供了试验更复杂调度政策的机会。Bellagio于2004年12月开始运行,为用户提供额外的CPU资源份额。其用户界面旨在降低用户使用门槛,提供历史价格参考和一键投标选项。在其运行期间,共收到23个来自13个不同组织的投标,分配了242,372小时的CPU份额。2005年夏天,Bellagio停止运行。
5. Mirage
5.1 目标平台
Mirage部署在英特尔研究传感器网络实验室的148节点测试平台上。该测试平台由97个Crossbow MICA2和51个Crossbow MICA2DOT传感器节点组成。用户通常需要获取满足特定约束的资源组合。
5.2 架构
-
资源发现
:Mirage允许用户指定抽象资源规格,资源发现服务将其映射到具体资源。这样做的原因是:
- 减轻用户手动识别候选资源的负担。
- 让用户自动利用新资源。
- 满足用户对节点集合的需求,而不关心具体节点。
- 投标语言 :投标语言允许用户表达所需资源和其价值。投标包含资源组合、开始时间范围、持续时间、频率范围和投标价格等信息。例如,用户可以请求“在接下来24小时内的任何时间,获得64个具有温度和湿度传感器的MICA2节点,在423 - 443 MHz的未使用频率上运行4小时”。
- 货币政策 :每个用户与一个项目相关联,项目在中央银行有一个存储虚拟货币的账户。账户的基线货币量和货币份额根据优先级外生确定。与Bellagio不同,Mirage的传感器节点由实验室所有,利润不能与特定项目关联。
5.3 部署
Mirage于2004年12月部署在测试平台上,至今仍在运行。其实现包括客户端、服务器和前端机器。用户可以通过命令行工具或Web界面安全地参与拍卖。在使用的前6个月,有18个研究项目注册使用该系统,提交了322个投标,分配了312,148个节点小时。
6. 经验
Bellagio和Mirage的目标是提高用户的总效用,但衡量其成功具有挑战性。通过Mirage的数据,我们发现市场机制在资源竞争时能够将资源分配给最有价值的用户,提高系统的分配效率。然而,在实际应用中也遇到了一些问题:
-
用户选择
:用户通常会选择更简单的方法,即使这会导致效用略有降低。拍卖方法会导致节点分配延迟,在Bellagio和Mirage中都有用户因延迟而放弃投标。
-
用户行为
:在Mirage的初始部署中,观察到了四种主要的投标行为:
| 行为 | 描述 | 影响 |
| — | — | — |
| 基于当前需求低价投标 | 用户观察到需求低时提交低价值投标 | 可能使系统难以使用 |
| 迭代投标 | 用户在拍卖进行中根据价格反馈调整投标 | 可能导致分配效率损失 |
| 滚动窗口操纵 | 用户利用滚动窗口设计,影响资源分配 | 导致部分用户需求无法满足 |
| 拍卖三明治攻击 | 用户利用历史投标信息和拍卖算法的贪心性质,操纵资源分配 | 影响其他用户的资源获取 |
为解决这些问题,我们对Mirage的拍卖协议进行了调整,如改为密封投标拍卖、扩大滚动窗口等。
7. 结论
基于市场的分配系统可以显著减轻管理负担,提高用户满意度。市场可以提高分配效率,但前提是用户行为得当。用户在有足够激励的情况下,能够利用基于市场的方法,并表现出复杂的行为。
未来的研究可以解决以下关键障碍:
-
更快响应时间的机制
:提供一种混合机制,如eBay的“立即购买”定价,在立即提供资源和延迟分配以提高效率之间取得平衡。
-
低成本机制或高价值资源
:市场机制要么提供对用户有明显重大价值的资源,要么降低用户使用成本。
-
防策略方法
:部署不可操纵的“策略证明”方法,提高系统的简单性、鲁棒性和可预测性。
基于拍卖的资源分配环境:设计与实践
8. 市场机制提升分配效率的具体表现
市场机制在资源分配中展现出了提升效率的潜力,尤其在Mirage的部署中得到了体现。从数据来看,在资源竞争激烈时,市场机制能够将资源分配给对其评价最高的用户。例如,在IRB传感器网络测试平台上,当系统负载较重时,投标过程能够以更高的价格分配资源,将稀缺的资源供给分配给最看重它们的用户。
用户的投标价值存在显著差异,这表明用户对资源的优先级判断不同。如果能准确提取这些信息,就可以改善系统的分配效率,即提高交付给用户群体的总效用。但市场机制的效果也受到用户行为的影响。在Mirage中,部分用户的战略行为可能会降低其他用户的分配效用。不过,通过调整分配政策,可以限制战略操纵的机会,减轻这种负面影响。
9. 用户对市场机制的利用及行为分析
虽然存在许多简单的资源分配替代方法,但当有足够的激励时,用户愿意使用基于市场的系统。在Bellagio中,由于缺乏足够的压力和激励,大多数用户选择了PlanetLab的简单比例分配方案,放弃了Bellagio可能提供的额外资源。而在Mirage中,用户没有其他获取传感器节点分配的途径,因此能够利用基于市场的系统。
在使用过程中,用户表现出了简单和战略两种行为。战略行为包括在Mirage初始部署中观察到的四种投标行为,这些行为反映了用户在追求自身利益最大化时的复杂决策过程。例如,“基于当前需求低价投标”行为中,用户会在需求低时提交低价值投标,这虽然在某些情况下仍能实现效用最大化分配,但也增加了系统的使用难度。“迭代投标”行为则会因用户在拍卖结束时仍在调整投标,导致分配效率损失。
10. 未来研究需解决的关键障碍及应对思路
10.1 更快响应时间的机制
在Bellagio和Mirage的部署中,都发现许多用户更倾向于立即使用资源,而不是等待可能更大的资源分配。这是因为拍卖过程会导致节点分配延迟,存在立即提供资源和延迟分配以提高效率之间的权衡。
为解决这个问题,可以借鉴eBay的“立即购买”定价模式,设计一种混合机制。以下是这种机制的可能流程:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([开始]):::startend --> B{选择购买方式}:::process
B -->|立即购买| C(支付固定价格获取资源):::process
B -->|参与拍卖| D(提交投标):::process
D --> E{拍卖结束}:::process
E -->|中标| F(获得资源):::process
E -->|未中标| G(未获得资源):::process
C --> H([结束]):::startend
F --> H
G --> H
这种机制允许用户在立即获得资源和参与拍卖以争取更优分配之间进行选择,从而在一定程度上平衡了用户对即时性和分配效率的需求。
10.2 低成本机制或高价值资源
市场机制的成功应用需要提供对用户有明显重大价值的资源,或者降低用户的使用成本。在Bellagio中,通过拍卖提供的资源对用户来说价值不够高,许多PlanetLab实验受限于其他资源,如内存或磁盘带宽,额外的软CPU份额价值不大。
而在Mirage中,市场是获取传感器节点的唯一途径,且使用成本较低,这促进了其被用户接受。为了使市场机制更具吸引力,可以从以下两个方面入手:
-
提供高价值资源
:深入了解用户需求,确定对用户有关键影响的资源,并通过市场机制进行分配。例如,对于某些对计算速度要求极高的实验,提供高性能的计算节点。
-
降低使用成本
:简化投标流程、减少用户学习成本等。例如,提供更直观的用户界面,减少用户输入信息的复杂度。
10.3 策略证明方法
部分用户会尝试利用市场设计的特点进行操纵,如Mirage中的“拍卖三明治攻击”行为。为了提高系统的简单性、鲁棒性和可预测性,可以部署不可操纵的“策略证明”方法。
目前已有关于动态环境中此类机制设计的研究,未来可以继续探索将这些方法应用于计算机系统。例如,设计一种拍卖算法,使其对用户的策略行为具有更强的抵抗力,确保资源分配的公平性和效率。
总结
基于市场的资源分配系统在计算机领域具有重要的应用前景,能够在减轻管理负担的同时提高用户满意度。但在实际应用中,需要关注用户行为对分配效率的影响,并通过合理的设计和调整来解决出现的问题。未来的研究应致力于解决响应时间、资源价值和防策略等方面的关键障碍,以推动基于市场的资源分配系统在更广泛的场景中得到应用。
超级会员免费看

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



