当前位置: 首页 > news >正文

Cross-Edge Orchestration of Serverless Functions With Probabilistic Caching

分享一篇发表于2024年,CCF A类,SCI 2区Transactions on Services Computing(TSC)的一篇关于无服务器函数容器缓存的文章Cross-Edge Orchestration of Serverless Functions With Probabilistic Caching,于2023年10月4日投稿,2024年5月1日返修,2024年5月6日录用。

文章目录

  • Authors
  • Background
  • Motivation
  • System Model & Problem
    • 系统模型
    • 系统设计
    • 问题描述
  • Method
    • 算法1 -- 请求分布
    • 算法2 -- 概率函数缓存
  • Evaluation

Authors

  • Chen Chen:剑桥大学计算机科学与技术系研究助理,个人主页为:https://www.cst.cam.ac.uk/people/cc2181,谷歌学术主页为:https://scholar.google.com/citations?hl=zh-CN&user=fNcWdsIAAAAJ&view_op=list_works&sortby=pubdate。其研究方向为无服务器计算,云/边计算,网络资源编排,在网计算,分布式系统及移动网络。
  • Manuel Herrera:剑桥大学高级研究员,关注交通、电信和水务等智能且具有弹性关键基础设置的预测分析和复杂科学的发展。
  • Ge Zheng:剑桥大学研究助理,研究边缘计算,供应链风险预测,模式识别/分类,智能交通系统。
  • Liqiao Xia:香港理工大学博士研究生,研究边缘计算,知识图,可靠性分析。
  • Zhengyang Ling:剑桥大学研究助理,研究边缘计算,无线传感器和执行器,光测量及应用。
  • Jiangtao Wang:考文垂大学助理教授,研究移动和普适计算。

Background

随着通信技术和物联网技术的发展,越来越多的IoT应用连接到网络,如智能工厂,在线游戏,增强现实和虚拟现实等。这些应用会在终端设备持续收集数据,为处理这些数据,边缘计算广为采用。

近期,无服务器计算在边缘计算中得到广泛关注,无服务器使IoT应用运行在轻量的容器中,在服务结束后容器销毁,释放资源,大大提升了资源效率和响应时间。

Motivation

如图1,当用户请求无服务器函数时,在数据源(Edge Node 1)服务用户请求可能会导致很大的时延,这是因为创建容器会经历冷启动过程。然而,由于节点2已经缓存了容器,我们可以让节点2服务用户请求以避免冷启动时延,但需要以更大的传输时延为代价。
图
图1

与传统的云数据中心不同,其具有同构的算力和存储,在分布式的边缘节点支持无服务器函数可能会无法完全发挥其潜力。

在跨多个地理分布的边缘节点上部署各种无服务器函数,以完全发挥无服务器容器的非常具有以下挑战:

  1. 现有工作忽略了边缘计算的异构网络拓扑,比如,用户可能离缓存了容器的节点远,因此在调度容器时如何综合考虑数据源和容器以优化传输时延比较困难。

  2. 与似乎有无穷算力资源的云计算不同,边缘设备很容易到达容量,且内存容量昂贵。频繁创建和销毁容器很容易造成系统花销,因为创建容器需要下载代码并在服务请求前创建运行环境。因此,在没有函数调用统计信息的前提下优化容器编排具有挑战性。尽管缓存函数可以解决这一问题,但缓存函数需要花销。无服务器计算中,用户只需按实际使用的计算量付费,因此需要服务提供者及无服务器平台承担缓存的花销,即缓存函数会降低服务提供者的长期收益。

因此,平衡容器切换(创建新容器)、通信及缓存成本对边云系统的有效性至关重要,同时,这一权衡(trade-off)尚未被明确研究

System Model & Problem

系统模型

边缘服务提供者在地理分布的边缘节点 V = { 1 , 2 , . . , V } \mathcal V = \{1,2,..,V\} V={1,2,..,V}上部署无服务器计算服务,每个节点具有一定的硬件资源(如,内存),表示为 U v t U_v^t Uvt,用 E = { 1 , 2 , . . , E } \mathcal E = \{1,2,..,E\} E={1,2,..,E}表示边缘节点之间的连接,将用户的请求表示为 R = { 1 , 2 , . . , R } \mathcal R = \{1,2,..,R\} R={1,2,..,R}

系统设计

图2为文章pCache的架构,其基于Knative,Kubernetes和Kourier工具构建。系统整体流程为:
用户首先将请求发送Ingress gateway,然后请求被发至Scheduler,Scheduler根据算法1和算法2决策,Scheduler中也存储了缓存信息(包含了运行但没有服务任何请求的容器),依据缓存的容器和到来的请求进行决策,决策结果通过Kubernetes的API服务器发送给Knative的端点。API服务器在有需要时创建容器,与此同时,放置决策也被发送至Ingress gateway,Load balancer则将函数分配到函数pod上,最终,函数pod处理请求流并将结果返回给用户。当完成请求后,Scheduler基于算法2决策是否终止容器。
在这里插入图片描述图2

问题描述

文章考虑创建容器的成本、节点之间的通信成本(正比于通信时延)以及缓存(运行容器)的成本,并最小化这三者的加权和。通过将该优化问题规约到一般指派问题(Generalized Assignment Problem,GAP),证明文章的问题为NP难的。

Method

算法1 – 请求分布

输入:用户请求、计算节点,计算节点间的通信成本,每个计算节点缓存的容器,每个计算节点的内存容量
输出:每个请求分配到哪个计算节点
流程

  1. 当请求到达节点v时,首先看节点v缓存的容器能否处理,如果能处理,则全部分配到节点v处理;否则转2
  2. 对所有节点v’依据v和v’的通信成本升序排序,对剩下的无法通过v缓存的容器处理的请求,如果节点v的切换成本高于将请求发送到v‘的成本,则将请求发送到v’处理;
  3. 2结束后,如果请求没有被服务完,则调用算法2,在节点v上创建新容器。

算法2 – 概率函数缓存

输入:节点v
输出:容器列表
流程

  1. 如果缓存的容器容量大于内存,则依据下列公式计算容器n的概率,并依据概率选择一个容器并销毁
    在这里插入图片描述
  2. 创建一个新容器

Evaluation

文章采用了仿真和Knative真实部署两种评估方式,所有的实验重复10次并使用平均值作为结果。这里只提一下一些关键的数据集和评估指标,具体结果可阅读原文。

  • 拓扑:文章采用了EUA数据集:https://github.com/PhuLai/eua-dataset,该数据集用于边缘计算,包含Melbourne CBD 区域的125个边缘服务器(基站)和一些用户数据。在这里插入图片描述
  • 请求:使用了Azure数据集:https://github.com/Azure/AzurePublicDataset/tree/master,包含了微软Azure 14天的函数调用数据。
  • 容器:构建了4种容器
应用名称内存大小(MB)
Web 服务器55
文件处理158
Supermarket Checkout332
图像识别92
  • Baseline: LRU,FC(Fixed Caching)
  • 性能指标:平均成、系统成本、冷启动频率

想知道更多请看原文:https://ieeexplore.ieee.org/abstract/document/10528903,欢迎通过留言等方式讨论,一起进步!

相关文章:

  • Axios 知识点全面总结
  • Adixen ASM380 氦气检漏仪 阿尔卡特Mobile high performance helium leak detector
  • 《汇编语言:基于X86处理器》第1章 复习题和练习
  • C++ 学习 网络编程 2025年6月17日19:56:47
  • Java 时间处理指南:从“踩坑”到“填坑”实战
  • 20倍光学镜头怎么实现20+20倍数实现
  • 基于CNN卷积神经网络识别汉字合集-视频介绍下自取
  • PostgreSQL的扩展lo
  • AI智能体应用市场趋势分析
  • Uniapp性能优化全面指南:从原理到实践
  • 【数据分析三:Data Storage】数据存储
  • C语言——结构体
  • FPGA基础 -- BRAM简介
  • 数据处理考核培训-报表考试要求
  • 利用SMBMAP、SMBCLIENT和NETEXEC进行高效SMB渗透测试
  • 【Akshare】高效下载股票和ETF数据
  • DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION
  • 远程桌面控制 BilldDesk v0.30.0支持网页版
  • FPGA基础 -- Verilog 门级建模
  • MIT 6.S081 2020 Lab9 File Systems 个人全流程
  • 如何做产品网站推广/湛江seo推广外包
  • 电商平台项目运营策划方案/开封网站优化公司
  • 校园门户网站系统建设关键技术/百度推广登录平台登录
  • 免费网站制作下载/关键词优化排名软件流量词
  • 自己电脑上做网站怎么使用源码/昆明seo网站建设
  • wordpress怎么查看域名/深圳seo优化电话