19、并行交互式媒体服务器系统详解

并行交互式媒体服务器系统详解

在当今数字化时代,并行交互式媒体服务器系统在数据存储、处理和传输方面发挥着至关重要的作用。本文将深入探讨并行网络服务器的数据布局策略、高性能数字图书馆系统以及交互式连续媒体服务器(ICMS)的模型,旨在为提升服务器性能和优化数据处理提供有效方法。

1. 并行网络服务器模型

并行网络服务器由多个实体组成,包括通过网络或总线架构连接的处理模块、将处理模块与外部客户端相连的通信设备以及连接到处理模块的存储设备(磁盘)。服务器将数据项(文件)存储在磁盘上,并按以下方式工作:
- 每个时间步长,服务器能够接受一个或多个来自外部客户端通过通信设备发送的请求。
- 服务器将请求转发到持有请求项的磁盘。假设每个项在整个磁盘池中仅存储一次。
- 每个磁盘在每个时间步长只能接受一个请求。如果在同一时间步长有多个请求发送到一个磁盘,这些请求将排队(通过随机选择解决冲突)。
- 每个请求在磁盘上的处理时间是恒定的,为一个时间单位。
- 在一个时间单位内,磁盘只能处理一个请求。
- 所有磁盘都是独立的,因此如果有n个磁盘,服务器每个时间步长最多可以处理n个请求。

当两个或多个请求在时间间隔δ内访问同一存储设备(磁盘)时,我们称这些请求发生冲突。我们的目标是开发一种数据布局策略,将数据项映射到磁盘上,使服务器接收到的请求导致最少的冲突,从而减少外部客户端数据请求的响应延迟。

2. 监控网络服务器访问

为了提高并行网络服务器的整体性能,重要的不是尽可能均匀地平衡发送到磁盘的请求总数,而是避免在其他磁盘空闲时,大量请求仅发送到单个磁盘。这意味着在每个小时间间隔内,负载必须尽可能均匀地分布到所有磁盘,从而减少请求的延迟时间。因此,目标是最小化磁盘上的冲突数量。

为了了解发生的冲突情况,我们获取了帕德博恩大学(www.uni - paderborn.de)1997年11月和12月的网络服务器日志文件。研究发现,网络服务器上存储的文件中,有些文件被频繁访问,而有些则很少被请求,且频繁请求的文件通常是相同的。

我们构建了帕德博恩网络服务器上存储的所有文件对 (i, j),并测量了这些文件对在时间间隔δ(实验中选择为1秒)内的冲突数量。结果表明,连续两天的冲突情况非常相似,即第一天频繁冲突的访问在第二天也会发生冲突。因此,我们可以利用访问模式的相似性来构建数据布局策略。

3. 数据布局策略

我们的策略是将网络服务器上存储的对象分布到给定的磁盘上,以最小化冲突。对于给定的访问模式,这导致了以下算法问题:
给定:一组数据项F和给定数量的存储设备n。
问题:确定映射π,使得(\pi = \min_{l:F \to {1,\cdots,n}} \sum_{i,j \in F, l(i)=l(j)} c(i, j)),其中c(i, j)是文件i和j在给定访问模式下的冲突数量。

这个问题可以很容易地映射到MAX - CUT问题。MAX - CUT问题定义为:给定一个图G = (V, E),所有边e∈E的权重w(e)∈IN和给定的分区数量n,确定将V划分为不相交的集合V1, …, Vn,使得端点在不同Vi中的边的权重之和最大。

我们将数据项(文件)作为图的节点,冲突数量c(i, j)确定边{i, j}的权重。虽然MAX - CUT问题是NP难的,但有很好的多项式近似算法可以提供良好的解决方案。在我们的实验中,我们使用了PARTY - Library,它包含了[3]中描述的分区算法扩展的高效实现。

接下来,我们研究了该算法确定数据布局的性能:
- 一天内的冲突解决 :首先,我们研究了如果提前知道访问模式和冲突情况,算法的收益。我们获取了一天的访问统计数据,确定了每对数据项的冲突数量,构建并划分图,观察剩余的冲突数量。结果表明,当磁盘数量较少时,只能解决少量冲突;我们的分区方法比随机分区解决的冲突明显更多;磁盘数量越多,我们的分区方法相对于随机映射的优势越大。
| 日期 | 节点 | 边 | (k_a) | (k_r) | (k_r/k_a) [%] | f |
| — | — | — | — | — | — | — |
| sun 11/23/97 | 5533 | 15148 | 75334 | 3152 | 4.18 | 2.99 |
| mon 11/24/97 | 8877 | 48136 | 239365 | 12100 | 5.06 | 2.50 |
| tue 11/25/97 | 7932 | 43720 | 228870 | 11367 | 4.97 | 2.52 |
| wed 11/26/97 | 8206 | 41172 | 215825 | 10800 | 5.00 | 2.50 |
| thu 11/27/97 | 7464 | 44656 | 231364 | 12021 | 5.20 | 2.40 |
| fri 11/28/97 | 6976 | 30919 | 174120 | 8671 | 4.98 | 2.51 |
| sat 11/29/97 | 5065 | 9059 | 37702 | 1305 | 3.46 | 3.61 |
| sun 11/30/97 | 4798 | 8657 | 42544 | 1579 | 3.71 | 3.37 |

表1展示了一周分区的统计数据和结果,表明该算法可以解决高达4 - 5%的冲突,并且性能约为随机映射的2到3倍。

磁盘数 (n) 平均f 最大f 最小f 平均((k_r/k_a)) [%]
2 1.16 1.22 1.14 43.1
3 1.34 1.47 1.29 24.9
4 1.54 1.77 1.47 16.3
5 1.78 2.12 1.66 11.3
6 2.05 2.54 1.88 8.2
7 2.41 3.11 2.15 6.0
8 2.73 3.64 2.42 4.7

表2显示了磁盘数量 (n) 对算法性能的影响。随着n的增加,解决的冲突数量大幅增加,最多可解决95%的冲突,并且与随机映射算法相比,算法的性能在n较大时有所提高。

  • 优化次日性能 :我们研究了使用一天i的访问统计数据确定数据布局,并将此数据布局应用于第i + 1天的访问模式时,可以解决多少冲突。表3展示了相关结果,与已知访问模式时可解决的冲突数量相比,性能损失非常小,并且与随机映射方法相比,该算法仍然表现更好。
磁盘数 (n) 平均f 最大f 最小f 平均((k_r/k_a)) [%]
2 1.11 1.14 1.07 45.2
3 1.22 1.30 1.16 27.4
4 1.34 1.45 1.25 18.7
5 1.47 1.63 1.34 13.7
6 1.61 1.85 1.44 10.5
7 1.76 2.06 1.56 8.2
8 1.87 2.16 1.70 6.7

表4比较了如果提前知道确切的访问模式,或者仅知道前一天的访问模式时,数据布局方法性能的影响。结果表明,如果数据布局是基于第i - 1天的访问模式而不是第i天的访问模式计算的,当应用第i天的访问模式时,我们的方法性能会下降约30%,但这种损失似乎几乎与磁盘数量无关,并且在磁盘数量较大时会变小。

磁盘数 (n) (f_{sd}) (f_{db}) ((k_{r,sd}/k_a)) [%] ((k_{r,db}/k_a)) [%] (\frac{k_a/n - k_{r,db}}{k_a/n - k_{r,sd}})
2 1.16 1.11 43.1 45.2 0.70
3 1.34 1.22 24.9 27.4 0.70
4 1.54 1.34 16.3 18.7 0.72
5 1.78 1.47 11.3 13.7 0.72
6 2.05 1.61 8.2 10.5 0.73
7 2.41 1.76 6.0 8.2 0.73
8 2.73 1.87 4.7 6.7 0.74

总体而言,基于前一天访问模式的数据布局可以显著减少后续几天的冲突。因此,如果根据一天积累的访问模式确定数据布局,可以预期该数据布局在接下来的几天也能很好地使用。

4. 高性能数字图书馆系统

基于上述数据布局策略,开发了一种并行分布式内存WWW服务器,它是“高性能查询服务器(HPQS)”的基本元素。HPQS系统的基本特征如下:
- 可以使用自然语言接口提交问题,使用方便。
- 问题通过多个独立于问题的数据库和一些特定于目标应用程序的数据库进行解释,即使用领域特定知识。
- 中介存储从海量数据中提取的元数据信息,并用于进一步的请求。
- 并行服务器存储和提供海量数据信息,并对这些海量数据项执行搜索操作。
- 高性能专用处理器对需要大量计算能力的海量数据项执行选定的搜索操作。

HPQS系统由以下五个模块组成:
- 自然语言接口(NLI) :是系统的用户界面,用户以自然形成的句子提问,系统从问题中构建SZS(语义中间语言)表示。
- 检索模块 :从SZS表示构建FRR(形式检索表示),利用转换和解释知识,将FRR转换为OQL(对象查询语言)请求。
- 多媒体中介 :通过管理额外的元数据来组织和调解可用的海量数据。OQL查询由并行服务器协助处理。
- 并行服务器 :管理和提供所有可用的海量数据。此外,多媒体中介可以启动对海量数据信息的耗时操作,并由并行服务器执行。
- 搜索处理器 :由专门开发的硬件支持常用方法,作为协处理器通过标准PCI接口集成到并行服务器中。

在气象数据领域的示例中,用户可以向HPQS提交气象数据相关问题,系统通过不同模块处理这些问题,并在并行服务器上存储的海量数据上启动搜索操作,最终生成答案。例如:
- 昨天德国最温暖的地方在哪里?
- 上个月柏林有多少个晴天?
- 展示8月第一周巴伐利亚上空云形成的图片!

5. ICMS模型

在我们的研究中,ICMS的硬件模型与前面讨论的并行网络服务器类似,因此我们主要研究其存储和操作模型。

5.1 存储模型

ICMS的主要任务是存储和提供连续媒体信息。这些信息通常具有较大的带宽(例如,每秒25帧的视频编码),因此使用复杂的编码方法进行编码。音频和视频数据的流行编码标准由“运动图像专家组(MPEG)”提出。MPEG编码的音频/视频流通常被分割成大的数据包,并映射到存储设备上。MPEG流的分割是在流加载到服务器系统时进行的。我们假设所有数据包大小相同,并且可以独立从服务器传递到客户端。

数据数据包到存储设备的映射由数据布局决定,即一个将一组媒体数据包映射到一组存储设备的函数。常见的数据布局有随机布局(数据数据包以均匀随机分布映射)或线性条带化方法。对于线性条带化,流的第i个数据数据包映射到存储设备π(i),第i + 1个数据数据包映射到存储设备π(i) + 1 mod n(n为存储设备数量,假设所有存储设备具有相同的存储容量,编号从0到n - 1)。因此,对于一个由m个数据包组成的流s = (ps1, …, psm)并条带化到n个磁盘上,我们称map(s) := π(1)为流的起始磁盘。

5.2 操作模型

从用户的角度来看,ICMS的行为类似于VCR。用户登录ICMS后,选择一个音频/视频流,并可以播放、暂停和停止该流。在开始播放流之前,准入控制算法会验证ICMS是否仍有足够的资源(磁盘带宽、通信带宽、缓冲区空间、处理能力)来处理流的传递。如果该过程成功通过,用户播放流时,数据数据包将根据流的定义比特率(在流生成时确定,ICMS在流加载到系统时识别)从ICMS传递到用户客户端。

数据数据包从存储设备到外部通信设备的传递由调度器控制,调度器根据流的实时要求触发数据数据包向外部通信设备的传递。一种流行的调度算法使用简单但有效的最早截止时间优先方法,其中处理一个代表数据数据包从存储设备传递到外部网络接口时间戳的事件优先级队列。当时间到期时,调度器向持有相应数据数据包的处理器发送触发消息,通知处理器将其传递到连接用户客户端的适当外部通信设备。与从存储节点到持有外部通信设备的节点之间的通信相比,触发消息引起的通信可以忽略不计。

调度算法的主要任务是确保用户客户端上用于容忍网络延迟的缓冲区永远不会为空。为了确保这一点,我们假设引入的延迟是可控的。

综上所述,通过合理的数据布局策略和有效的系统设计,可以显著提高并行交互式媒体服务器系统的性能,为用户提供更高效、更优质的服务。在实际应用中,可以根据具体的需求和场景,选择合适的数据布局方法和系统架构,以满足不同的业务需求。

并行交互式媒体服务器系统详解

6. 数据布局策略的实际应用与优化建议

在实际应用中,数据布局策略的选择和实施对于并行交互式媒体服务器系统的性能至关重要。以下是一些实际应用中的要点和优化建议:

6.1 数据布局策略的选择
  • 基于历史数据的布局 :根据前面的研究,基于前一天访问模式的数据布局可以显著减少后续几天的冲突。因此,在实际应用中,可以定期收集服务器的访问日志,分析访问模式,并根据分析结果调整数据布局。
  • 动态调整布局 :考虑到服务器的访问模式可能会随时间变化,尤其是在业务高峰期或特殊事件期间,建议采用动态调整数据布局的方法。例如,可以设置一个阈值,当冲突数量超过该阈值时,重新计算数据布局。
6.2 系统资源的优化
  • 磁盘资源的分配 :合理分配磁盘资源可以提高服务器的性能。例如,可以根据磁盘的读写速度、容量等因素,将不同类型的数据存储在不同的磁盘上。对于频繁访问的数据,可以存储在高速磁盘上。
  • 通信带宽的管理 :在ICMS中,通信带宽是一个关键资源。可以采用流量控制、带宽分配等方法,确保服务器能够满足用户的需求。例如,可以根据用户的优先级或服务类型,分配不同的带宽。
7. 高性能数字图书馆系统的性能评估

为了确保高性能数字图书馆系统(HPQS)能够满足用户的需求,需要对其性能进行评估。以下是一些评估指标和评估方法:

7.1 评估指标
  • 响应时间 :指系统从接收到用户请求到返回结果的时间。响应时间越短,系统的性能越好。
  • 吞吐量 :指系统在单位时间内能够处理的请求数量。吞吐量越高,系统的处理能力越强。
  • 冲突率 :指在一定时间内发生冲突的请求数量与总请求数量的比例。冲突率越低,系统的性能越好。
7.2 评估方法
  • 模拟测试 :可以使用模拟工具生成大量的请求,模拟不同的访问模式,对系统进行测试。通过模拟测试,可以评估系统在不同负载下的性能。
  • 实际测试 :在实际环境中,选择一些典型的用户和应用场景,对系统进行测试。实际测试可以更真实地反映系统的性能。
8. ICMS的性能优化

ICMS的性能优化是提高用户体验的关键。以下是一些ICMS性能优化的策略:

8.1 存储优化
  • 数据预取 :在用户请求音频/视频流之前,提前将相关的数据数据包从存储设备读取到缓冲区中。这样可以减少用户等待的时间。
  • 数据缓存 :在服务器端设置缓存,将经常访问的数据数据包存储在缓存中。当用户请求这些数据时,可以直接从缓存中获取,提高响应速度。
8.2 调度优化
  • 调度算法的选择 :选择合适的调度算法可以提高系统的性能。例如,最早截止时间优先方法可以确保数据数据包按时传递。
  • 调度策略的调整 :根据服务器的负载情况和用户的需求,调整调度策略。例如,在高峰期可以优先处理高优先级用户的请求。
9. 系统架构的可扩展性

随着用户数量的增加和业务需求的变化,并行交互式媒体服务器系统需要具备良好的可扩展性。以下是一些提高系统架构可扩展性的方法:

9.1 模块化设计

将系统设计为多个独立的模块,每个模块负责不同的功能。这样可以方便地添加、删除或替换模块,提高系统的灵活性和可扩展性。例如,HPQS系统的五个模块就是模块化设计的体现。

9.2 分布式架构

采用分布式架构,将服务器的负载分布到多个节点上。这样可以提高系统的处理能力和可靠性。例如,并行服务器可以通过分布式存储和处理来提高性能。

10. 未来发展趋势

随着技术的不断发展,并行交互式媒体服务器系统也将面临新的挑战和机遇。以下是一些未来发展趋势:

10.1 人工智能的应用

人工智能技术可以用于分析服务器的访问模式、优化数据布局和调度算法等。例如,机器学习算法可以根据历史数据预测未来的访问模式,从而提前调整数据布局。

10.2 5G技术的影响

5G技术的普及将带来更高的通信带宽和更低的延迟,这将对ICMS的性能产生积极影响。同时,5G技术也将推动更多的实时媒体应用的发展,对服务器系统提出更高的要求。

10.3 云计算的融合

云计算技术可以提供强大的计算和存储能力,将并行交互式媒体服务器系统与云计算融合,可以提高系统的可扩展性和性能。例如,服务器可以将部分计算任务外包给云平台。

综上所述,并行交互式媒体服务器系统在当今数字化时代具有重要的应用价值。通过合理的数据布局策略、有效的系统设计和性能优化方法,可以提高系统的性能和用户体验。同时,关注未来发展趋势,不断引入新的技术和理念,将有助于系统的持续发展和创新。

以下是一个mermaid格式的流程图,展示了ICMS的基本操作流程:

graph TD;
    A[用户登录ICMS] --> B[选择音频/视频流];
    B --> C[准入控制算法验证资源];
    C -- 通过 --> D[开始播放流];
    C -- 未通过 --> E[提示资源不足];
    D --> F[调度器控制数据传递];
    F --> G[数据从存储设备到客户端];
    G --> H{是否停止播放};
    H -- 是 --> I[停止播放];
    H -- 否 --> D;

以下是一个表格,总结了不同系统模块的主要功能:
| 系统模块 | 主要功能 |
| — | — |
| 自然语言接口(NLI) | 用户以自然语言提问,构建SZS表示 |
| 检索模块 | 从SZS构建FRR,转换为OQL请求 |
| 多媒体中介 | 管理元数据,协助处理OQL查询 |
| 并行服务器 | 存储和提供海量数据,执行搜索操作 |
| 搜索处理器 | 支持常用方法,执行计算密集型任务 |

通过以上的介绍和分析,我们对并行交互式媒体服务器系统有了更深入的了解。在实际应用中,可以根据具体情况选择合适的技术和策略,不断优化系统性能,以满足用户的需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值