sync reader
求解菊花链拓扑 TSN 的无等待调度问题
Solving No-wait Scheduling for Time-Sensitive Networks with Daisy-Chain Topology · 2026-02-27
本页提供英文原文段落与中文逐段译稿。译稿包含自动复核状态;标记为需人工复核的段落应回到 PDF/HTML 校对公式、表格和符号。
- 本站范围
- 全文逐段对照
- 内容来源
- 本地英文段落 + 中文译稿
- 阅读规模
- 75/75 段已生成译稿
本地保存的可公开原文段落,随页面一起滚动
自动复核标记:14 段需要人工回看公式、表格或符号
1] \orgdiv Shenzhen lnternational Center For Industrial And Applied Mathematics, \orgname Shenzhen Research Institute of Big Data, \orgaddress \city Shenzhen, \country China
1] \orgdiv 深圳工业与应用数学国际中心,\orgname 深圳大数据研究院,\orgaddress \city 深圳,\country 中国
“lnternational”疑似应为“International”的 OCR 或录入错误;机构名称按语义译为“深圳工业与应用数学国际中心”。LaTeX 组织字段标记已保留。
2] \orgname CRRC, Zhuzhou Institute, \orgaddress \city Zhuzhou, \country China
2] \orgname 中国中车,株洲研究所,\orgaddress \city 株洲,\country 中国
CRRC 通常译为“中国中车”;“Zhuzhou Institute”可译为“株洲研究所”,但正式机构全称可能需要核对。未涉及数字、公式或缩写风险。
3] \orgname Tengen Intelligence Institute, \orgaddress \city Zhuzhou, \country China
3] \orgname 天元智能研究院,\orgaddress \city 株洲,\country 中国
“Tengen Intelligence Institute”译为“天元智能研究院”存在正式名称核对风险;地名“Zhuzhou”译为“株洲”无明显问题。
4] \orgname South China University of Technology, \orgaddress \city Guangzhou, \country China
4] \orgname 华南理工大学,\orgaddress \city 广州,\country 中国
机构、城市、国家译名均为通用正式译名;未发现明显问题。
MSC Classification]90B35, 90C27, 05C15
MSC 分类]90B35,90C27,05C15
MSC 分类号已原样保留;缺少上下文但不影响本段翻译。未发现明显问题。
In recent years, the rapid advancement of communication technologies has revolutionized various industries, enabling the development of complex systems with demanding real-time requirements. From industrial automation, in-vehicle communication, and avionics to multimedia streaming and telecommunication networks, there is an increasing need for reliable and deterministic communication to ensure the timely delivery of critical data. In particular, one central characterization of Industry 4.0 paradigm is networked cyber-physical systems, where computers control physical processes. So a real-time communication network with deterministically bounded network delay and jitter is usually needed to guarantee the physical system under control.
近年来,通信技术的快速进步已经革新了各个行业,使具有严格实时性要求的复杂系统得以发展。从工业自动化、车载通信和航空电子,到多媒体流传输和电信网络,对可靠且确定性的通信的需求正在不断增加,以确保关键数据能够及时交付。特别是,工业 4.0 范式的一个核心特征是网络化信息物理系统,其中计算机控制物理过程。因此,通常需要一种具有确定性有界网络时延和抖动的实时通信网络,以保证受控物理系统的运行。
“networked cyber-physical systems”译为“网络化信息物理系统”;“deterministically bounded network delay and jitter”译为“确定性有界网络时延和抖动”,保留了限定含义。逻辑关系“所以/因此”已保留;未发现明显问题。
Time-Sensitive Networking (TSN) has emerged as a set of standards to address these requirements and provide a unified solution for time-sensitive applications over Ethernet networks. TSN represents a significant evolution of traditional Ethernet, which was primarily designed for best-effort communication without any guarantees on timing or determinism. TSN is a suite of standards developed by the Institute of Electrical and Electronics Engineers (IEEE) 802.1 working group, and its main objective is to enable deterministic and predictable communication over Ethernet networks. To achieve the objective, TSN introduces several features and enhancements to traditional Ethernet, including time synchronization, traffic shaping and scheduling, and stream reservation.
时间敏感网络(Time-Sensitive Networking,TSN)已经作为一组标准出现,用以满足这些要求,并为以太网网络上的时间敏感应用提供统一解决方案。TSN 代表了传统以太网的一次重要演进;传统以太网最初主要是为尽力而为通信而设计的,并不提供任何关于时序或确定性的保证。TSN 是由电气与电子工程师协会(IEEE)802.1 工作组制定的一套标准,其主要目标是在以太网网络上实现确定性且可预测的通信。为实现这一目标,TSN 为传统以太网引入了若干特性和增强,包括时间同步、流量整形与调度,以及流预留。
“best-effort communication”译为“尽力而为通信”;“traffic shaping and scheduling”译为“流量整形与调度”;“stream reservation”译为“流预留”。IEEE 802.1 缩写和标准组织信息保留准确;未发现明显问题。
More specifically, TSN incorporates precise clock synchronization protocols, such as IEEE 1588 [ 1 ] or IEEE802.1AS [ 2 ], to achieve tight synchronization (up to nanoseconds precision) of switches and end stations in a network, which ensures that all the devices are able to coordinate their actions and thus allows scheduling of streams across the switched network. End stations inject data streams into the switched network at precise predetermined time points based on a schedule. Then streams pass through switches and reach their respective destinations. The destination of a stream must be an end station. The routing paths of streams are a predefined part of the input and are fixed. A switch supports multiple priority queues per egress port. Each queue has a so-called gate, and whether the gate is opening or closed determines whether this queue can access the medium. The opening and closing of the gates of an egress port are controlled by a so-called Gate Control List (GCL), which is also predetermined according to a schedule.
更具体地说,TSN 纳入了精确时钟同步协议,例如 IEEE 1588 [1] 或 IEEE802.1AS [2],以实现网络中交换机和终端站之间的紧密同步(最高可达纳秒级精度),这确保所有设备都能够协调其动作,并因此允许在整个交换网络中对流进行调度。终端站根据调度,在精确的预定时间点将数据流注入交换网络。随后,流经过交换机并到达各自的目的地。一个流的目的地必须是一个终端站。流的路由路径是输入中预定义的一部分,并且是固定的。交换机在每个出口端口上支持多个优先级队列。每个队列都有一个所谓的门,而该门处于打开还是关闭状态决定了该队列是否能够访问介质。一个出口端口上各个门的打开和关闭由所谓的门控列表(Gate Control List,GCL)控制,该列表同样是根据调度预先确定的。
“end stations”译为“终端站”;“switched network”译为“交换网络”;“egress port”译为“出口端口”;“medium”译为“介质”。“opening or closed”原文语法不一致,译为“打开还是关闭状态”。IEEE802.1AS 原文无空格,已保留。未发现明显问题。
However, the standards of TSN do not configure the scheduling. In fact, it is the main open problem around TSN how to compute a schedule that coordinates the injection times for all streams and the GCLs of switches to ensure the requested real-time requirements of all time-triggered traffic (a.k.a. scheduled traffic) are met. It turns out that deciding whether there is a valid schedule for a given set of streams is a very difficult combinatorial optimization problem: it is NP-hard even when restricted to various special classes of instances [ 3 ]. The scheduling algorithms in the literature can be classified into exact approaches and heuristic approaches. The exact approaches express the scheduling problem as a satisfiability modulo theory (SMT) problem, an integer linear programming (ILP) problem, or a constraint programming (CP) problem, etc, and then invoke the corresponding solver to find the optimal solution. The exact approaches would compute an optimal schedule if one exists, but they are not scalable beyond very small problem instances. Besides the exact approaches, many heuristic algorithms have been developed to try to find reasonably good schedules within a short time, such as the algorithms based on Tabu search [ 4 ] or simulated annealing [ 5 ]. However, in the common case, the heuristic approaches cannot deduce whether a problem instance is infeasible, nor are guaranteed to find a solution if one exists. See e.g. [ 3 ] for an excellent survey of scheduling algorithms in TSN. In summary, the existing scheduling algorithms are either poorly scalable or suboptimal.
然而,TSN 标准并不配置调度。事实上,围绕 TSN 的主要开放问题是,如何计算一个调度,使其协调所有流的注入时间以及交换机的 GCL,从而确保所有时间触发流量(亦称 scheduled traffic,即调度流量)所请求的实时性要求得到满足。事实表明,判定对于给定的一组流是否存在有效调度,是一个非常困难的组合优化问题:即使限制在多种特殊类别的实例上,它仍然是 NP-hard 的 [3]。文献中的调度算法可以分为精确方法和启发式方法。精确方法将调度问题表述为可满足性模理论(satisfiability modulo theory,SMT)问题、整数线性规划(integer linear programming,ILP)问题,或约束规划(constraint programming,CP)问题等,然后调用相应的求解器来寻找最优解。如果存在最优调度,精确方法会计算出该调度,但它们无法扩展到非常小的问题实例之外。除精确方法之外,已经开发出许多启发式算法,试图在短时间内找到相当好的调度,例如基于禁忌搜索 [4] 或模拟退火 [5] 的算法。然而,在通常情况下,启发式方法既不能推断一个问题实例是否不可行,也不能保证在解存在时找到一个解。关于 TSN 中调度算法的优秀综述,可参见例如 [3]。总之,现有调度算法要么可扩展性较差,要么是次优的。
“do not configure the scheduling”译为“并不配置调度”,含义略生硬但忠实。NP-hard、SMT、ILP、CP、GCL、scheduled traffic 均保留缩写或英文术语。“not scalable beyond very small problem instances”译为“无法扩展到非常小的问题实例之外”,保留了强限制含义。未发现明显问题。
In contrast to previous works designing general-purposed scheduling algorithms but without theoretical guarantees, this paper takes a different approach: it aims to develop algorithms with theoretical guarantees for a special kind of scenarios, which however still covers a notable proportion of real-life scenarios. Precisely, we focus on no-wait scheduling of time-triggered streams in TSN with daisy-chain topology.
与以往设计通用调度算法但没有理论保证的工作相比,本文采取了一种不同的方法:它旨在为一种特殊类型的场景开发具有理论保证的算法,然而这种场景仍然覆盖了现实生活场景中相当可观的一部分。准确地说,我们关注具有菊花链拓扑的 TSN 中时间触发流的无等待调度。
“general-purposed”译为“通用”;“theoretical guarantees”译为“理论保证”;“no-wait scheduling”译为“无等待调度”;“daisy-chain topology”译为“菊花链拓扑”。逻辑转折“however”已保留;未发现明显问题。
The daisy-chain topology (a.k.a. the line topology, see Figure 1 for an illustration) is one of the most commonly used topologies and also the simplest and cheapest topologies to implement, and can be found in several real-life TSN systems such as the ones equipped on trains.
菊花链拓扑(亦称线型拓扑,示意图见图 1)是最常用的拓扑之一,也是实现起来最简单、成本最低的拓扑之一,并且可以在若干现实生活中的 TSN 系统中见到,例如列车上配备的 TSN 系统。
术语“daisy-chain topology”译为“菊花链拓扑”,“line topology”译为“线型拓扑”准确;“the ones equipped on trains”指列车上配备的 TSN 系统,逻辑无明显风险;图号保留正确。未发现明显问题。
In a no-wait schedule, streams are not allowed to wait in switches, and a switch must forward a stream to the next node immediately upon receiving the stream. The rationale of the no-wait constraint is that both the network delay and jitter of all streams are minimized simultaneously since no queuing delay occurs. No-wait schedules are particularly suitable for extremely high real-time requirements. Durr and Nayak [ 4 ] presented a Tabu Search algorithm to compute no-wait schedules, where they model the no-wait scheduling problem as the well-known no-wait job-shop scheduling problem. Wang et al. [ 6 ] proposed a reinforcement learning method for no-wait scheduling, where they train machine learning models aiming to reduce the maximum arrival time among all frames. Both of the above two methods are heuristic and thus are suboptimal in the common case. Moreover, they are not scalable beyond medium-size problem instances: the method in [ 4 ] needs about 3 hours to compute schedules for about 1500 streams, and the one in [ 6 ] needs about 400 seconds to compute schedules for 100 streams in a network with 9 switches and 10 end stations.
在无等待调度中,不允许流在交换机中等待,并且交换机必须在接收到流之后立即将该流转发到下一个节点。无等待约束的基本理由是,由于不会发生排队时延,所有流的网络时延和抖动都会同时被最小化。无等待调度特别适合极高实时性要求。Durr 和 Nayak [4] 提出了一种禁忌搜索算法来计算无等待调度,其中他们将无等待调度问题建模为众所周知的无等待作业车间调度问题。Wang 等人 [6] 提出了一种用于无等待调度的强化学习方法,其中他们训练机器学习模型,目标是降低所有帧中的最大到达时间。上述两种方法都是启发式方法,因此在通常情况下是次优的。此外,它们无法扩展到中等规模以上的问题实例:[4] 中的方法需要约 3 小时来为约 1500 条流计算调度,而 [6] 中的方法在一个包含 9 台交换机和 10 个终端站的网络中,需要约 400 秒来为 100 条流计算调度。
“no-wait schedule/scheduling”统一译为“无等待调度”;“jitter”译为“抖动”;“maximum arrival time among all frames”译为“所有帧中的最大到达时间”,保留了指标含义;数字 3 小时、1500 条流、400 秒、100 条流、9 台交换机、10 个终端站均保留。作者名 Durr 可能原文应含变音符号 Dürr,但输入文本为 Durr,按输入保留;引用格式无风险。
Our Contribution. In this paper, we propose an efficient algorithm (Algorithm 1) that optimally computes no-wait schedules on the daisy-chain topology (a.k.a. the line topology). Precisely, given a set of streams to be transmitted in TSN with a daisy-chain topology, Algorithm 1 returns a no-wait schedule if one exists or proves that no such no-wait schedules exist, in O ((n + | 𝒮 |) ⋅ | 𝒮 | 1.5 log 2 p 𝒮 + | 𝒮 | ⋅ p 𝒮 log 2 p 𝒮) O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}}) time. Here, | 𝒮 | |\mathcal{S}| is the number of streams, n n is the length of the daisy chain, and p 𝒮 p_{\mathcal{S}} is the least common multiple of the periods of streams in 𝒮 \mathcal{S} (a.k.a. hyperperiod of 𝒮 \mathcal{S}). Evaluations based on a real-life TSN network (with 32 switches) show that Algorithm 1 can compute schedules for about 45,000 flows in only about 30 minutes. Moreover, if we only care about whether there exist no-wait schedules or not, then it can be decided in O (| 𝒮 | ⋅ n) O(|\mathcal{S}|\cdot n) time (Corollary 4.6).
我们的贡献。本文提出了一种高效算法(算法 1),该算法能够在菊花链拓扑(亦称线型拓扑)上最优地计算无等待调度。确切地说,给定一组要在具有菊花链拓扑的 TSN 中传输的流,如果存在无等待调度,算法 1 会返回一个无等待调度;否则会证明不存在这样的无等待调度,其时间复杂度为 \(O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}})\)。这里,\(|\mathcal{S}|\) 是流的数量,\(n\) 是菊花链的长度,\(p_{\mathcal{S}}\) 是 \(\mathcal{S}\) 中各流周期的最小公倍数(亦称 \(\mathcal{S}\) 的超周期)。基于一个现实生活中的 TSN 网络(包含 32 台交换机)的评估表明,算法 1 仅需约 30 分钟就能为约 45,000 条流计算调度。此外,如果我们只关心是否存在无等待调度,那么可以在 \(O(|\mathcal{S}|\cdot n)\) 时间内判定这一点(推论 4.6)。
复杂度公式按输入中的 LaTeX 规范形式保留;\(|\mathcal{S}|\)、\(n\)、\(p_{\mathcal{S}}\) 的定义完整;“hyperperiod”译为“超周期”准确;数字 32、45,000、30 分钟和推论 4.6 保留正确。输入中同一复杂度公式出现 OCR/渲染重复,译文采用清晰 LaTeX 形式,未改变含义。未发现明显问题。
Our basic idea is that the no-wait scheduling problem can be recast as a variant of a graph coloring problem where some restrictions are imposed on the colors available for every vertex. Since the topology is the daisy chain, the underlying graph is an interval graph. Our main technical part is to show that this variant of graph coloring problem can be solved in polynomial time for interval graphs, though it is NP-hard for general graphs.
我们的基本思想是,无等待调度问题可以被重新表述为一种图着色问题的变体,其中对每个顶点可用的颜色施加了一些限制。由于拓扑是菊花链,底层图是一个区间图。我们的主要技术部分是证明:对于区间图,这种图着色问题的变体可以在多项式时间内求解,尽管它对于一般图是 NP-hard 的。
“recast”译为“重新表述”;“graph coloring problem”译为“图着色问题”;“interval graph”译为“区间图”;“NP-hard”保留英文标准术语。逻辑关系“由于拓扑是菊花链,所以底层图是区间图”保留。未发现明显问题。
Organization. The rest of this paper is organized as follows. We provide some details about TSN relevant to this paper in Section 2, and then some notations and the mathematical model in Section 3. In Section 4, we present the algorithms and the analysis. We present evaluation results in Section 5, and conclude the paper in Section 6.
组织结构。本文其余部分安排如下。第 2 节提供与本文相关的 TSN 的若干细节,随后第 3 节给出一些记号和数学模型。第 4 节给出算法及其分析。第 5 节给出评估结果,并在第 6 节总结全文。
章节编号 2、3、4、5、6 保留正确;“notations”译为“记号”;“mathematical model”译为“数学模型”;“conclude the paper”译为“总结全文”符合论文语境。未发现明显问题。
According to the IEEE 802.1Qbv standards, a Time-Sensitive Network consists of network elements (i.e., switches and end stations) and a Central Network Controller (CNC) for configuring and managing the network. In this paper, we focus on scheduling time-triggered traffic (a.k.a. scheduled traffic), which consists of periodic data streams with hard real-time requirements. A time-triggered stream is specified by its source device, destination device, routing path, period, and amount of data per period. These properties of all streams are a part of the input to scheduling algorithms. Besides, the source device and destination device of each stream must be end stations.
根据 IEEE 802.1Qbv 标准,时间敏感网络由网络元素(即交换机和终端站)以及用于配置和管理网络的中央网络控制器(Central Network Controller, CNC)组成。本文聚焦于调度时间触发流量(亦称调度流量),其由具有硬实时要求的周期性数据流组成。一个时间触发流由其源设备、目的设备、路由路径、周期以及每个周期的数据量来指定。所有流的这些属性是调度算法输入的一部分。此外,每条流的源设备和目的设备都必须是终端站。
IEEE 802.1Qbv、CNC 缩写和展开保留;“network elements”译为“网络元素”;“end stations”译为“终端站”;“time-triggered traffic/scheduled traffic”译为“时间触发流量/调度流量”;“hard real-time requirements”译为“硬实时要求”。未发现明显问题。
The transit of time-trigger streams in TSN is scheduled by specifying (i) the injection time of each stream and (ii) the Gate Control List (GCL) of each egress port of switches. Precisely, the schedule is executed periodically for an indefinite number of times. The injection time of a stream is the relative time to the start of the scheduled period to be injected into the network. Each egress port of a switch has multiple queues, and each queue has a so-called gate. When the gate is in the open state, data in the queue is considered for transmission. The opening and closing of the gates of an egress port are controlled by a GCL. A GCL entry consists of two parts: a time interval [ T i, T i + 1 ] [T_{i},T_{i+1}], and a bit string indicating which gates are open or closed in the time interval [ T i, T i + 1 ] [T_{i},T_{i+1}]. Typically, the GCLs of all egress ports are programmed with the same period as the schedule. See Figure 2 for an illustration of GCL. In addition, in contrast with egress ports, an ingress port is capable of receiving multiple streams simultaneously.
TSN 中时间触发流的传输通过指定以下两项来调度:(i)每条流的注入时间,以及(ii)交换机每个出口端口的门控列表(Gate Control List, GCL)。确切地说,该调度会以周期方式执行不确定次数。一条流的注入时间是相对于调度周期开始时刻而言、该流被注入网络的相对时间。交换机的每个出口端口都有多个队列,并且每个队列都有一个所谓的门。当门处于打开状态时,队列中的数据会被纳入传输考虑。出口端口各个门的打开和关闭由 GCL 控制。一个 GCL 条目由两部分组成:一个时间区间 \([T_i,T_{i+1}]\),以及一个比特串,用于指示在时间区间 \([T_i,T_{i+1}]\) 中哪些门是打开的、哪些门是关闭的。通常,所有出口端口的 GCL 都被编程为与调度具有相同的周期。GCL 的示意见图 2。此外,与出口端口相反,入口端口能够同时接收多条流。
“transit”在此按“传输”处理;“injection time”译为“注入时间”;“egress port/ingress port”译为“出口端口/入口端口”;GCL 展开和缩写保留;区间公式 \([T_i,T_{i+1}]\) 保留正确。短语“considered for transmission”译为“纳入传输考虑”较直译但符合原意。未发现明显问题。
Scheduling would be simplified when we restrict our attention to no-wait scheduling: we only need to specify the injection time of each stream. Precisely, noting that streams cannot be scheduled to wait at closed gates, we can deploy any no-wait schedule by opening all gates all the time.
当我们将注意力限制在无等待调度上时,调度会被简化:我们只需要指定每条流的注入时间。确切地说,注意到流不能被调度为在关闭的门处等待,我们可以通过始终打开所有门来部署任何无等待调度。
“restrict our attention to”译为“将注意力限制在”;“closed gates”译为“关闭的门”;“opening all gates all the time”译为“始终打开所有门”。逻辑为无等待场景下无需配置 GCL 的关闭时段,只需注入时间。未发现明显问题。
In this paper, we assume that for all streams and all switches, the time that the switch forwards the stream (i.e., from when the switch receives the first bit of the stream to when the next node receives the first bit) is the same and set to be 1 unit time. The forwarding time consists of transmission time and several types of delays, namely the propagation delay of signals along the link, the processing delay for deciding on which port to forward an incoming packet, and the queuing delay of a packet in the queue of an outgoing port (which is zero in no-wait schedules). The forwarding time interval of two streams by the same egress port could overlap slightly, but the transmission time interval must not since otherwise their electrical signals would interfere. Here, we impose that the forwarding time interval of two streams by the same egress port must not overlap. This imposed restriction will make things much simpler, with decreasing little capacity of TSN because all the delays are much smaller than the transmission time. Finally, we remark that the assumption of the same forwarding time is reasonable, since (a) the forwarding time is mainly determined by the packet size and the link bandwidth; (b) the packet sizes and the bandwidth of links respectively are usually similar in practical TSN; and (c) large packets can be split into multiple small unit-forwarding-time packets.
在本文中,我们假设对于所有流和所有交换机,交换机转发该流所需的时间(即从交换机接收到该流的第一个比特开始,到下一个节点接收到第一个比特为止)相同,并设为 1 个单位时间。转发时间由传输时间和若干类型的时延组成,即信号沿链路传播的传播时延、用于决定应将传入分组转发到哪个端口的处理时延,以及分组在出口端口队列中的排队时延(在无等待调度中该时延为零)。由同一出口端口转发两条流的转发时间区间可能会有轻微重叠,但传输时间区间不能重叠,因为否则它们的电信号会相互干扰。这里,我们施加如下限制:由同一出口端口转发两条流的转发时间区间不得重叠。由于所有这些时延都远小于传输时间,这一被施加的限制只会使 TSN 的容量略有降低,却会使问题简单得多。最后,我们说明,相同转发时间这一假设是合理的,因为:(a)转发时间主要由分组大小和链路带宽决定;(b)在实际 TSN 中,分组大小通常彼此相近,链路带宽通常也彼此相近;并且(c)大分组可以被拆分为多个具有单位转发时间的小分组。
“forwarding time”译为“转发时间”,“transmission time”译为“传输时间”,两者区分清楚;“first bit”保留为“第一个比特”;“1 unit time”译为“1 个单位时间”;“decreasing little capacity of TSN”原文表达略不自然,译为“只会使 TSN 的容量略有降低”符合语义但建议人工留意原文措辞;(a)(b)(c)三点完整保留。因原句存在轻微语法/OCR 风险,需人工复核。
In this section, we present the mathematical model of the no-wait scheduling problem for TSN with a daisy-chain topology and recast it to a variant of graph coloring problem with some restrictions on the colors available for every vertex (see Theorem 3.1).
在本节中,我们给出具有菊花链拓扑的 TSN 的无等待调度问题的数学模型,并将其重新表述为一种图着色问题的变体,其中对每个顶点可用的颜色施加了一些限制(见定理 3.1)。
“mathematical model”译为“数学模型”;“recast it to a variant of graph coloring problem”译为“将其重新表述为一种图着色问题的变体”;定理 3.1 保留。未发现明显问题。
For two integers a ≤ b a\leq b, define [ a, b ]:= { a, a + 1 ⋯, b } [a,b]:=\{a,a+1\cdots,b\}. As shorthand, we write [ n ] [n] for [ 1, n ] = { 1, 2, ⋯, n } [1,n]=\{1,2,\cdots,n\}. Figure 1 illustrates the daisy-chain topology. In Figure 1, there are n n switches wired together in sequence, and named by SW 1, SW 2, ⋯, SW n \mathrm{SW}_{1},\mathrm{SW}_{2},\cdots,\mathrm{SW}_{n} from left to right. We use P i, i + 1 P_{i,i+1} to denote the right egress port of SW i \mathrm{SW}_{i}, which sends data from SW i \mathrm{SW}_{i} to SW i + 1 \mathrm{SW}_{i+1}, and use P i, i − 1 P_{i,i-1} to denote the left egress port of SW i \mathrm{SW}_{i}, which sends data from SW i \mathrm{SW}_{i} to SW i − 1 \mathrm{SW}_{i-1}. Let ℰ [ i ] \mathcal{E}[i] denote the set of end stations directly connected with SW i \mathrm{SW}_{i}. For example, in Figure 1, ℰ [ 1 ] = { E S 1, E S 2 } \mathcal{E}[1]=\{ES_{1},ES_{2}\} and ℰ [ 2 ] = { E S 3, E S 4, E S 5 } \mathcal{E}[2]=\{ES_{3},ES_{4},ES_{5}\}.
对于两个整数 \(a \leq b\),定义 \([a,b]:=\{a,a+1,\cdots,b\}\)。作为简写,我们用 \([n]\) 表示 \([1,n]=\{1,2,\cdots,n\}\)。图 1 展示了菊花链拓扑。在图 1 中,有 \(n\) 个交换机按顺序连接在一起,并从左到右命名为 \(\mathrm{SW}_{1},\mathrm{SW}_{2},\cdots,\mathrm{SW}_{n}\)。我们用 \(P_{i,i+1}\) 表示 \(\mathrm{SW}_{i}\) 的右侧出口端口,该端口将数据从 \(\mathrm{SW}_{i}\) 发送到 \(\mathrm{SW}_{i+1}\);用 \(P_{i,i-1}\) 表示 \(\mathrm{SW}_{i}\) 的左侧出口端口,该端口将数据从 \(\mathrm{SW}_{i}\) 发送到 \(\mathrm{SW}_{i-1}\)。令 \(\mathcal{E}[i]\) 表示与 \(\mathrm{SW}_{i}\) 直接连接的终端站集合。例如,在图 1 中,\(\mathcal{E}[1]=\{ES_{1},ES_{2}\}\),且 \(\mathcal{E}[2]=\{ES_{3},ES_{4},ES_{5}\}\)。
术语“daisy-chain topology”译为“菊花链拓扑”,“egress port”译为“出口端口”,“end station”译为“终端站”,符合 TSN 语境;集合区间、编号、端口方向、示例数字均已保留。未发现明显问题。
We use 𝒮 \mathcal{S} to denote the set of data streams to be scheduled. For a stream s ∈ 𝒮 s\in\mathcal{S}, let p s ∈ ℕ p_{s}\in\mathbb{N} denote the period of s s (i.e, the period of s s is p s p_{s} units time), and define a s, b s ∈ [ n ] a_{s},b_{s}\in[n] such that s s is sent from an end station in ℰ [ a s ] \mathcal{E}[a_{s}] to another one in ℰ [ b s ] \mathcal{E}[b_{s}]. We focus on streams where a s ≠ b s a_{s}\neq b_{s}. According to whether a s > b s a_{s}>b_{s} or not, we divide 𝒮 \mathcal{S} into two groups: (i) one group consists of all streams s ∈ 𝒮 s\in\mathcal{S} that goes from right to left, i.e., a s > b s a_{s}>b_{s}; and (ii) the other group consists of all streams s ∈ 𝒮 s\in\mathcal{S} that goes in the reverse direction, i.e., a s < b s a_{s}<b_{s}. Transmission of these two groups involves different egress ports and thus can be scheduled separately. So, for convenience of presentation, we assume a s < b s a_{s}<b_{s} for any s ∈ 𝒮 s\in\mathcal{S}. Note that s s will go through the egress ports P a s, a s + 1, P a s + 1, a s + 2, ⋯, P b s − 1, b s P_{a_{s},a_{s}+1},P_{a_{s}+1,a_{s}+2},\cdots,P_{b_{s}-1,b_{s}} in order.
我们用 \(\mathcal{S}\) 表示待调度的数据流集合。对于一个流 \(s\in\mathcal{S}\),令 \(p_s\in\mathbb{N}\) 表示 \(s\) 的周期,即 \(s\) 的周期为 \(p_s\) 个时间单位,并定义 \(a_s,b_s\in[n]\),使得 \(s\) 从 \(\mathcal{E}[a_s]\) 中的一个终端站发送到 \(\mathcal{E}[b_s]\) 中的另一个终端站。我们关注满足 \(a_s\neq b_s\) 的流。根据 \(a_s>b_s\) 是否成立,我们将 \(\mathcal{S}\) 分成两组:(i)一组由所有从右向左传输的流 \(s\in\mathcal{S}\) 组成,即 \(a_s>b_s\);以及(ii)另一组由所有沿相反方向传输的流 \(s\in\mathcal{S}\) 组成,即 \(a_s<b_s\)。这两组的传输涉及不同的出口端口,因此可以分别调度。所以,为了便于表述,我们假设对于任意 \(s\in\mathcal{S}\),都有 \(a_s<b_s\)。注意,\(s\) 将按顺序经过出口端口 \(P_{a_s,a_s+1},P_{a_s+1,a_s+2},\cdots,P_{b_s-1,b_s}\)。
逻辑关系“根据是否 \(a_s>b_s\)”以及两类方向划分已保留;“reverse direction”结合前文译为“相反方向”,对应从左到右,即 \(a_s<b_s\)。公式、端口序列和假设 \(a_s<b_s\) 均完整。未发现明显问题。
one group consists of all streams s ∈ 𝒮 s\in\mathcal{S} that goes from right to left, i.e., a s > b s a_{s}>b_{s}; and
一组由所有从右向左传输的流 \(s\in\mathcal{S}\) 组成,即 \(a_s>b_s\);并且
该段看起来是 P022 中枚举项的重复拆分片段,句子以“并且”结尾,可能由 PDF/JSON 分块导致上下文不完整;公式和方向关系已保留。
the other group consists of all streams s ∈ 𝒮 s\in\mathcal{S} that goes in the reverse direction, i.e., a s < b s a_{s}<b_{s}.
另一组由所有沿相反方向传输的流 \(s\in\mathcal{S}\) 组成,即 \(a_s<b_s\)。
该段看起来是 P022 中枚举项的重复拆分片段;“相反方向”需依赖上一段“从右向左”的上下文,实际对应从左向右。未发现公式或数字问题。
Let p 𝒮 p_{\mathcal{S}} denote the hyperperiod of 𝒮 \mathcal{S}, which is defined to be the least common multiple 𝖫𝖢𝖬 (p s: s ∈ 𝒮) \mathsf{LCM}(p_{s}:s\in\mathcal{S}) of the periods of streams in 𝒮 \mathcal{S}. A no-wait schedule is executed periodically with the hyperperiod p 𝒮 p_{\mathcal{S}} as its period. A schedule for 𝒮 \mathcal{S} contains p 𝒮 / p s p_{\mathcal{S}}/p_{s} replications of s s, each having the hyperperiod as its period.
令 \(p_{\mathcal{S}}\) 表示 \(\mathcal{S}\) 的超周期,其定义为 \(\mathcal{S}\) 中各流周期的最小公倍数 \(\mathsf{LCM}(p_s:s\in\mathcal{S})\)。无等待调度以超周期 \(p_{\mathcal{S}}\) 作为其周期来周期性执行。对于 \(\mathcal{S}\) 的一个调度,包含 \(p_{\mathcal{S}}/p_s\) 个 \(s\) 的副本,每个副本都以该超周期作为其周期。
“hyperperiod”译为“超周期”,“replications”译为“副本”;\(\mathsf{LCM}\)、\(p_{\mathcal{S}}/p_s\) 等公式已保留。最后一句英文“each having the hyperperiod as its period”语义略显别扭,按原意直译;未发现明显问题。
For each stream s ∈ 𝒮 s\in\mathcal{S}, we associate it with an interval ℐ s:= [ a s, b s − 1 ] \mathcal{I}_{s}:=[a_{s},b_{s}-1]. Furthermore, we associate 𝒮 \mathcal{S} with an undirected graph G 𝒮 G_{\mathcal{S}} which (i) has a vertex v s v_{s} for each stream s ∈ 𝒮 s\in\mathcal{S} and (ii) has an edge (v s, v s ′) (v_{s},v_{s^{\prime}}) if and only if ℐ s ∩ ℐ s ′ ≠ ∅ \mathcal{I}_{s}\cap\mathcal{I}_{s^{\prime}}\neq\emptyset (i.e., the transmission of s s and s ′ s^{\prime} would use a common egress port). A useful observation is that G 𝒮 G_{\mathcal{S}} is an interval graph. In addition, we associate 𝒮 \mathcal{S} with another undirected graph G 𝒮 ⋆ G^{\star}_{\mathcal{S}} which (i) has p 𝒮 / p s p_{\mathcal{S}}/p_{s} vertices v s 1, ⋯, v s p 𝒮 / p s v_{s}^{1},\cdots,v_{s}^{p_{\mathcal{S}}/p_{s}} for each stream s ∈ 𝒮 s\in\mathcal{S} and (ii) has an edge (v s i, v s ′ j) (v^{i}_{s},v^{j}_{s^{\prime}}) if and only if ℐ s ∩ ℐ s ′ ≠ ∅ \mathcal{I}_{s}\cap\mathcal{I}_{s^{\prime}}\neq\emptyset. In other words, G 𝒮 ⋆ G_{\mathcal{S}}^{\star} is obtained from G 𝒮 G_{\mathcal{S}} by duplicating each v s v_{s} p 𝒮 / p s p_{\mathcal{S}}/p_{s} times. Note that G 𝒮 ⋆ G^{\star}_{\mathcal{S}} is also an interval graph. See Figure 3 (c)-(d) for an example of G 𝒮 G_{\mathcal{S}} and G 𝒮 ⋆ G^{\star}_{\mathcal{S}}.
对于每个流 \(s\in\mathcal{S}\),我们将其关联到一个区间 \(\mathcal{I}_s:=[a_s,b_s-1]\)。此外,我们将 \(\mathcal{S}\) 关联到一个无向图 \(G_{\mathcal{S}}\),该图(i)对每个流 \(s\in\mathcal{S}\) 都有一个顶点 \(v_s\),并且(ii)当且仅当 \(\mathcal{I}_s\cap\mathcal{I}_{s'}\neq\emptyset\) 时,存在一条边 \((v_s,v_{s'})\),也就是说,\(s\) 和 \(s'\) 的传输会使用一个共同的出口端口。一个有用的观察是,\(G_{\mathcal{S}}\) 是一个区间图。另外,我们将 \(\mathcal{S}\) 关联到另一个无向图 \(G^{\star}_{\mathcal{S}}\),该图(i)对于每个流 \(s\in\mathcal{S}\),都有 \(p_{\mathcal{S}}/p_s\) 个顶点 \(v_s^1,\cdots,v_s^{p_{\mathcal{S}}/p_s}\),并且(ii)当且仅当 \(\mathcal{I}_s\cap\mathcal{I}_{s'}\neq\emptyset\) 时,存在一条边 \((v_s^i,v_{s'}^j)\)。换言之,\(G_{\mathcal{S}}^{\star}\) 是通过将 \(G_{\mathcal{S}}\) 中每个 \(v_s\) 复制 \(p_{\mathcal{S}}/p_s\) 次而得到的。注意,\(G^{\star}_{\mathcal{S}}\) 也是一个区间图。关于 \(G_{\mathcal{S}}\) 和 \(G^{\star}_{\mathcal{S}}\) 的示例,见图 3(c)-(d)。
图定义、充要条件“当且仅当”、交集非空、复制次数 \(p_{\mathcal{S}}/p_s\) 均已保留。“interval graph”译为“区间图”。边 \((v_s^i,v_{s'}^j)\) 的条件未显式限制 \(i,j\),按原文保留。未发现明显问题。
has a vertex v s v_{s} for each stream s ∈ 𝒮 s\in\mathcal{S} and
对于每个流 \(s\in\mathcal{S}\),都有一个顶点 \(v_s\),并且
该段是 P026 中图 \(G_{\mathcal{S}}\) 定义的枚举项拆分片段,句子以“并且”结尾,上下文不完整;符号 \(v_s\) 和 \(s\in\mathcal{S}\) 已保留。
has an edge (v s, v s ′) (v_{s},v_{s^{\prime}}) if and only if ℐ s ∩ ℐ s ′ ≠ ∅ \mathcal{I}_{s}\cap\mathcal{I}_{s^{\prime}}\neq\emptyset (i.e., the transmission of s s and s ′ s^{\prime} would use a common egress port).
当且仅当 \(\mathcal{I}_s\cap\mathcal{I}_{s'}\neq\emptyset\) 时,存在一条边 \((v_s,v_{s'})\),也就是说,\(s\) 和 \(s'\) 的传输会使用一个共同的出口端口。
该段是 P026 中图 \(G_{\mathcal{S}}\) 定义的枚举项拆分片段;充要条件、交集非空、公共出口端口含义均已保留。未发现明显问题。
has p 𝒮 / p s p_{\mathcal{S}}/p_{s} vertices v s 1, ⋯, v s p 𝒮 / p s v_{s}^{1},\cdots,v_{s}^{p_{\mathcal{S}}/p_{s}} for each stream s ∈ 𝒮 s\in\mathcal{S} and
对于每个流 \(s\in\mathcal{S}\),都有 \(p_{\mathcal{S}}/p_s\) 个顶点 \(v_s^1,\cdots,v_s^{p_{\mathcal{S}}/p_s}\),并且
该段是 P026 中图 \(G^{\star}_{\mathcal{S}}\) 定义的枚举项拆分片段,句子以“并且”结尾,上下文不完整;复制顶点数量和上标范围已保留。
has an edge (v s i, v s ′ j) (v^{i}_{s},v^{j}_{s^{\prime}}) if and only if ℐ s ∩ ℐ s ′ ≠ ∅ \mathcal{I}_{s}\cap\mathcal{I}_{s^{\prime}}\neq\emptyset.
当且仅当 \(\mathcal{I}_s\cap\mathcal{I}_{s'}\neq\emptyset\) 时,存在一条边 \((v_s^i,v_{s'}^j)\)。
该段是 P026 中图 \(G^{\star}_{\mathcal{S}}\) 定义的枚举项拆分片段;边定义和交集非空条件已保留。由于缺少 P029 的直接完整上下文,索引 \(i,j\) 的范围未在本段出现,需结合前后文确认。
A no-wait scheduling can be graphically described by a Gantt chart (see Figure 3 (e) for an example). Specifically, in the Gantt chart, • The horizontal axis corresponds to time and is divided into slots of 1 unit time. Recall that 1 unit time is the amount of time that a switch forwards a stream. • The vertical axis corresponds to the n − 1 n-1 egress ports P 1, 2, P 2, 3, ⋯, P n − 1, n P_{1,2},P_{2,3},\cdots,P_{n-1,n}. • A stream s s corresponds to b s − a s b_{s}-a_{s} horizontal bars, each lasting 1 unit time, stepping down from left to right (see Figure 3 (h) for examples). The “no-wait" restriction corresponds to that the finishing time of the previous bar is also the beginning time of the next bar. The Gantt chart can be viewed as a (n − 1) × ∞ (n-1)\times\infty dimensional table. We divide the table into parallelograms in the fashion shown in Figure 3 (f): each parallelogram consists of p 𝒮 p_{\mathcal{S}} layers, and each layer is defined to be a stepdown stair (Figure 3 (g) draws a layer). A crucial observation is that the bars of a stream are all contained in only one layer. So the no-wait scheduling is equivalent to packing the given set of stepdown-shape bars (e.g. the “tiles" in Figure 3 (h)) into a parallelogram, under the constraint that there is a replication of s s between the ((i − 1) ⋅ p s + 1) ((i-1)\cdot p_{s}+1) -th layer and the (i ⋅ p s) (i\cdot p_{s}) -th layer for all s s and i ∈ [ p 𝒮 / p s ] i\in[p_{\mathcal{S}}/p_{s}]. For example, Figure 3 (e) successfully packs the “titles" in Figure 3 (h) into a parallelogram, so a no-wait schedule exists.
一个无等待调度可以用甘特图进行图形化描述(示例见图 3(e))。具体而言,在甘特图中,• 横轴对应时间,并被划分为长度为 1 个单位时间的时隙。回忆一下,1 个单位时间是交换机转发一个流所需的时间。• 纵轴对应于这 \(n-1\) 个出口端口 \(P_{1,2},P_{2,3},\cdots,P_{n-1,n}\)。• 一个流 \(s\) 对应于 \(b_s-a_s\) 条水平条,每条持续 1 个单位时间,并且从左到右逐级向下(示例见图 3(h))。“无等待”限制对应于前一条水平条的完成时间同时也是下一条水平条的开始时间。该甘特图可以看作一个 \((n-1)\times\infty\) 维的表。我们按照图 3(f) 所示的方式将该表划分为若干平行四边形:每个平行四边形由 \(p_{\mathcal{S}}\) 层组成,并且每一层被定义为一个向下阶梯(图 3(g) 绘制了一层)。一个关键观察是,一个流的所有水平条都只包含在同一层中。因此,无等待调度等价于在约束条件下,将给定的一组向下阶梯形水平条(例如图 3(h) 中的“tiles”)打包进一个平行四边形;该约束为:对于所有 \(s\) 和 \(i\in[p_{\mathcal{S}}/p_s]\),在第 \(((i-1)\cdot p_s+1)\) 层到第 \((i\cdot p_s)\) 层之间存在 \(s\) 的一个副本。例如,图 3(e) 成功地将图 3(h) 中的“titles”打包进一个平行四边形,因此存在一个无等待调度。
术语“Gantt chart”译为“甘特图”,“egress ports”译为“出口端口”,“replication”译为“副本”。公式、编号、层范围和引用均已保留。原文中同时出现 “tiles” 与 “titles”,后者很可能是识别或排版错误;由于可能影响图示对象理解,需人工核对。P031 还包含项目符号内容,而 P032-P034 又分别重复这些项目,疑似抽取重复,但按输入逐段保留。
The horizontal axis corresponds to time and is divided into slots of 1 unit time. Recall that 1 unit time is the amount of time that a switch forwards a stream.
横轴对应时间,并被划分为长度为 1 个单位时间的时隙。回忆一下,1 个单位时间是交换机转发一个流所需的时间。
数字“1”、术语“时隙”和“流”保留准确。未发现明显问题。
The vertical axis corresponds to the n − 1 n-1 egress ports P 1, 2, P 2, 3, ⋯, P n − 1, n P_{1,2},P_{2,3},\cdots,P_{n-1,n}.
纵轴对应于这 \(n-1\) 个出口端口 \(P_{1,2},P_{2,3},\cdots,P_{n-1,n}\)。
公式中的端口序列和 \(n-1\) 数量关系已保留。未发现明显问题。
A stream s s corresponds to b s − a s b_{s}-a_{s} horizontal bars, each lasting 1 unit time, stepping down from left to right (see Figure 3 (h) for examples). The “no-wait" restriction corresponds to that the finishing time of the previous bar is also the beginning time of the next bar.
一个流 \(s\) 对应于 \(b_s-a_s\) 条水平条,每条持续 1 个单位时间,并且从左到右逐级向下(示例见图 3(h))。“无等待”限制对应于前一条水平条的完成时间同时也是下一条水平条的开始时间。
保留了 \(s\)、\(b_s-a_s\)、1 个单位时间和图 3(h)。逻辑上“完成时间同时也是开始时间”准确表达 no-wait 约束。未发现明显问题。
Inspired by the Gantt chart description, the no-wait scheduling can be recast in a variant of graph coloring problem where some restrictions are imposed on the colors available for every vertex. Precisely, recall that a proper q q -coloring of a graph G = (V, E) G=(V,E) is a function C: V → [ q ] C:V\rightarrow[q] such that no two adjacent vertices share the same color, i.e., C (v) ≠ C (v ′) C(v)\neq C(v^{\prime}) for any (v, v ′) ∈ E (v,v^{\prime})\in E. For a proper p 𝒮 p_{\mathcal{S}} -coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star}, we say it good if for each s ∈ 𝒮 s\in\mathcal{S} and each i ∈ [ p 𝒮 / p s ] i\in[p_{\mathcal{S}}/p_{s}], C (v s i) ∈ [ (i − 1) ⋅ p s + 1, i ⋅ p s ] C(v_{s}^{i})\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]. Suppose G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a good p 𝒮 p_{\mathcal{S}} -coloring C C. Then we can get a no-wait schedule by placing the i i -th replication of s s in the C (v s i) C(v_{s}^{i}) -th layer of the parallelogram. On the other hand, suppose 𝒮 \mathcal{S} admits a no-wait schedule, then we can obtain a good p 𝒮 p_{\mathcal{S}} -coloring C C of G 𝒮 ⋆ G_{\mathcal{S}}^{\star} by setting C (v s i) C(v_{s}^{i}) to be the number of the layer containing the i i -th replication of s s. In summary, we have the following theorem.
受甘特图描述的启发,无等待调度可以被重新表述为图着色问题的一个变体,其中对每个顶点可用的颜色施加了一些限制。准确地说,回忆一下,图 \(G=(V,E)\) 的一个正常 \(q\)-着色是函数 \(C:V\rightarrow[q]\),使得任意两个相邻顶点不共享同一种颜色,也就是说,对于任意 \((v,v^{\prime})\in E\),都有 \(C(v)\neq C(v^{\prime})\)。对于 \(G_{\mathcal{S}}^{\star}\) 的一个正常 \(p_{\mathcal{S}}\)-着色,如果对每个 \(s\in\mathcal{S}\) 以及每个 \(i\in[p_{\mathcal{S}}/p_s]\),都有 \(C(v_s^i)\in[(i-1)\cdot p_s+1,i\cdot p_s]\),则我们称它为好的着色。假设 \(G_{\mathcal{S}}^{\star}\) 承认一个好的 \(p_{\mathcal{S}}\)-着色 \(C\)。那么,我们可以通过将 \(s\) 的第 \(i\) 个副本放置在该平行四边形的第 \(C(v_s^i)\) 层中,得到一个无等待调度。另一方面,假设 \(\mathcal{S}\) 承认一个无等待调度,那么我们可以通过将 \(C(v_s^i)\) 设置为包含 \(s\) 的第 \(i\) 个副本的那一层的编号,得到 \(G_{\mathcal{S}}^{\star}\) 的一个好的 \(p_{\mathcal{S}}\)-着色 \(C\)。总之,我们有如下定理。
“proper coloring”译为“正常着色”,在图论中也常译为“正常/恰当/合法着色”,需与全文术语统一。保留了 \(C:V\rightarrow[q]\)、边集条件、颜色区间和双向构造逻辑。未发现明显公式遗漏。
There exists a no-wait schedule for 𝒮 \mathcal{S} if and only if there is a good p 𝒮 p_{\mathcal{S}} -coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star}. Furthermore, a no-wait schedule can be easily obtained from a good p 𝒮 p_{\mathcal{S}} -coloring.
对于 \(\mathcal{S}\),存在一个无等待调度,当且仅当 \(G_{\mathcal{S}}^{\star}\) 存在一个好的 \(p_{\mathcal{S}}\)-着色。此外,可以很容易地从一个好的 \(p_{\mathcal{S}}\)-着色得到一个无等待调度。
“if and only if”译为“当且仅当”,定理双向关系明确。术语与 P035 保持一致。未发现明显问题。
By Theorem 3.1, the no-wait scheduling problem is equivalent to finding a good p 𝒮 p_{\mathcal{S}} -coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star}. In this section, we present an efficient algorithm to solve this variant of graph coloring problem, whose time complexity scales polynomially in both the number of streams and the network size.
根据定理 3.1,无等待调度问题等价于寻找 \(G_{\mathcal{S}}^{\star}\) 的一个好的 \(p_{\mathcal{S}}\)-着色。在本节中,我们提出一种高效算法来求解这一图着色问题变体,其时间复杂度同时随流的数量和网络规模呈多项式增长。
保留定理编号 3.1、图 \(G_{\mathcal{S}}^{\star}\) 和 \(p_{\mathcal{S}}\)-着色。复杂度表述“scales polynomially in both...”已译为“同时随……呈多项式增长”。未发现明显问题。
We first consider the baby case where all streams have the same period, i.e., p s = p 𝒮 p_{s}=p_{\mathcal{S}} for any s ∈ 𝒮 s\in\mathcal{S}. In this case, G 𝒮 ⋆ G_{\mathcal{S}}^{\star} reduces to G 𝒮 G_{\mathcal{S}}, and every proper p s p_{s} -coloring of G 𝒮 G_{\mathcal{S}} is good. So the no-wait scheduling problem further reduces to finding a proper p s p_{s} -coloring of G 𝒮 G_{\mathcal{S}}. Recall that G 𝒮 G_{\mathcal{S}} is an interval graph. While the q q -coloring problem is a famous NP-complete problem for general graphs and general q q, it can be solved by a greedy algorithm in linear time for interval graphs [ 7 ]. So when all streams have the same period, the no-wait scheduling problem can be solved in linear time, i.e., O (| 𝒮 | log | 𝒮 |) O(|\mathcal{S}|\log|\mathcal{S}|) time.
我们首先考虑一个最简单情形,即所有流具有相同的周期,也就是说,对任意 \(s\in\mathcal{S}\),都有 \(p_s=p_{\mathcal{S}}\)。在这种情况下,\(G_{\mathcal{S}}^{\star}\) 退化为 \(G_{\mathcal{S}}\),并且 \(G_{\mathcal{S}}\) 的每一个正常 \(p_s\)-着色都是好的。因此,无等待调度问题进一步化简为寻找 \(G_{\mathcal{S}}\) 的一个正常 \(p_s\)-着色。回忆一下,\(G_{\mathcal{S}}\) 是一个区间图。尽管对于一般图和一般 \(q\),\(q\)-着色问题是一个著名的 NP 完全问题,但对于区间图,它可以通过贪心算法在线性时间内求解 [7]。因此,当所有流具有相同周期时,无等待调度问题可以在线性时间内求解,即时间为 \(O(|\mathcal{S}|\log|\mathcal{S}|)\)。
“baby case”按语义译为“最简单情形”。保留了 \(p_s=p_{\mathcal{S}}\)、\(G_{\mathcal{S}}^{\star}\) 到 \(G_{\mathcal{S}}\) 的退化、NP 完全、区间图和引用 [7]。末句原文称“linear time, i.e., \(O(|\mathcal{S}|\log|\mathcal{S}|)\) time”,严格说 \(O(n\log n)\) 不是线性时间,可能涉及排序预处理或原文表述不严,需人工复核。
Now, we consider the general case, where streams have different periods. Here, we impose that each p s p_{s} must be a power of two, i.e., p s = 2 k p_{s}=2^{k} for some non-negative integer k k. On one hand, this imposed restriction does not lose much generality, since any p s ∈ ℕ p_{s}\in\mathbb{N} can be approximated by some 2 k 2^{k} up to factor at most 2 ≈ 1.414 \sqrt{2}\approx 1.414. On the other hand, it seems that this imposed restriction makes the no-wait scheduling problem tractable: the no-wait scheduling problem can be solved efficiently under this imposed restriction (as we will see later), whereas we are not aware of and haven’t come up with any algorithm computing no-wait schedules for general p s p_{s} with a time complexity that scales polynomially in both the number of streams and the network size.
现在,我们考虑一般情形,其中流具有不同的周期。在这里,我们施加如下条件:每个 \(p_s\) 必须是 2 的幂,也就是说,对某个非负整数 \(k\),有 \(p_s=2^k\)。一方面,这一施加的限制并不会损失太多一般性,因为任意 \(p_s\in\mathbb{N}\) 都可以用某个 \(2^k\) 近似到至多 \(2\approx1.414\) 的因子范围内。另一方面,这一施加的限制似乎使无等待调度问题变得可处理:在这一施加的限制下,无等待调度问题可以被高效求解(如我们稍后将看到的),而我们不知道、也尚未提出任何算法,能够针对一般的 \(p_s\) 计算无等待调度,并且其时间复杂度同时随流的数量和网络规模呈多项式增长。
保留了 \(p_s=2^k\)、\(k\) 为非负整数、\(p_s\in\mathbb{N}\) 和复杂度限定。原文出现“factor at most \(2\approx1.414\sqrt{2}\approx1.414\)”式的识别混乱:数学上 \(2\neq1.414\),\(1.414\) 对应 \(\sqrt{2}\)。此处按原文可见顺序保留为“至多 \(2\approx1.414\)”但明显存在公式/识别风险。
In the following, we present our scheduling algorithm. We first introduce some notations. Define k ∗:= max s ∈ 𝒮 log 2 p s k^{\ast}:=\max_{s\in\mathcal{S}}\log_{2}p_{s}. Note that k ∗ k^{\ast} is a non-negative integer and the hyperperiod p 𝒮 = 2 k ∗ p_{\mathcal{S}}=2^{k^{\ast}}. For 0 ≤ k ≤ k ∗ 0\leq k\leq k^{\ast}, let 𝒮 k = { s ∈ 𝒮 ∣ p s = 2 k } \mathcal{S}_{k}=\{s\in\mathcal{S}\mid p_{s}=2^{k}\} denote the subset of 𝒮 \mathcal{S} consisting of all streams with period 2 k 2^{k}. Define 𝒮 ≤ k = 𝒮 1 ∪ ⋯ ∪ 𝒮 k \mathcal{S}_{\leq k}=\mathcal{S}_{1}\cup\cdots\cup\mathcal{S}_{k}. Note that 𝒮 = 𝒮 1 ∪ 𝒮 2 ∪ ⋯ ∪ 𝒮 k ∗ = 𝒮 ≤ k ∗ \mathcal{S}=\mathcal{S}_{1}\cup\mathcal{S}_{2}\cup\cdots\cup\mathcal{S}_{k^{\ast}}=\mathcal{S}_{\leq k^{\ast}}.
在下文中,我们给出我们的调度算法。我们首先引入一些记号。定义 \(k^{\ast}:=\max_{s\in\mathcal{S}}\log_2 p_s\)。注意,\(k^{\ast}\) 是一个非负整数,并且超周期 \(p_{\mathcal{S}}=2^{k^{\ast}}\)。对于 \(0\leq k\leq k^{\ast}\),令 \(\mathcal{S}_k=\{s\in\mathcal{S}\mid p_s=2^k\}\) 表示 \(\mathcal{S}\) 中由所有周期为 \(2^k\) 的流组成的子集。定义 \(\mathcal{S}_{\leq k}=\mathcal{S}_1\cup\cdots\cup\mathcal{S}_k\)。注意,\(\mathcal{S}=\mathcal{S}_1\cup\mathcal{S}_2\cup\cdots\cup\mathcal{S}_{k^{\ast}}=\mathcal{S}_{\leq k^{\ast}}\)。
记号 \(k^{\ast}\)、\(\log_2 p_s\)、超周期 \(p_{\mathcal{S}}\)、集合 \(\mathcal{S}_k\) 和 \(\mathcal{S}_{\leq k}\) 均已保留。存在潜在下标风险:前文允许 \(0\leq k\leq k^{\ast}\) 且 \(p_s=2^k\),但后文并集从 \(\mathcal{S}_1\) 开始而非 \(\mathcal{S}_0\),若存在周期 \(2^0=1\) 的流则可能遗漏;需核对原论文是否有隐含周期下界或 OCR 错误。
Given a partition 𝒮 k ∗ = 𝒮 k ∗ a ∪ 𝒮 k ∗ b \mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b} of 𝒮 k ∗ \mathcal{S}_{k^{\ast}}, where 𝒮 k ∗ a ∩ 𝒮 k ∗ b = ∅ \mathcal{S}_{k^{\ast}}^{a}\cap\mathcal{S}_{k^{\ast}}^{b}=\emptyset, we define 𝒮 a:= 𝒮 ≤ k ∗ − 1 ∪ 𝒮 k ∗ a ^ \mathcal{S}^{a}:=\mathcal{S}_{\leq k^{\ast}-1}\cup\widehat{\mathcal{S}_{k^{\ast}}^{a}} (1) and 𝒮 b:= 𝒮 ≤ k ∗ − 1 ∪ 𝒮 k ∗ b ^. \mathcal{S}^{b}:=\mathcal{S}_{\leq k^{\ast}-1}\cup\widehat{\mathcal{S}_{k^{\ast}}^{b}}. (2) Here, 𝒮 k ∗ a ^ \widehat{\mathcal{S}_{k^{\ast}}^{a}} (and 𝒮 k ∗ b ^ \widehat{\mathcal{S}_{k^{\ast}}^{b}} respectively) is obtained from 𝒮 k ∗ a \mathcal{S}_{k^{\ast}}^{a} (and 𝒮 k ∗ b \mathcal{S}_{k^{\ast}}^{b} respectively) by changing the period of its streams from 2 k ∗ 2^{k^{\ast}} to 2 k ∗ − 1 2^{k^{\ast}-1}. For example, if 𝒮 k ∗ a \mathcal{S}_{k^{\ast}}^{a} contains a stream s s with (a s, b s, p s) = (1, 4, 2 k ∗) (a_{s},b_{s},p_{s})=(1,4,2^{k^{\ast}}), then 𝒮 k ∗ a ^ \widehat{\mathcal{S}_{k^{\ast}}^{a}} contains a stream s ^ \hat{s} with (a s ^, b s ^, p s ^) = (1, 4, 2 k ∗ − 1) (a_{\hat{s}},b_{\hat{s}},p_{\hat{s}})=(1,4,2^{k^{\ast}-1}). Note that the hyperperiods of 𝒮 a \mathcal{S}^{a} and 𝒮 b \mathcal{S}^{b} are 2 k ∗ − 1 2^{k^{\ast}-1} rather than 2 k ∗ 2^{k^{\ast}}.
给定 $\mathcal{S}_{k^{\ast}}$ 的一个划分 $\mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b}$,其中 $\mathcal{S}_{k^{\ast}}^{a}\cap\mathcal{S}_{k^{\ast}}^{b}=\emptyset$,我们定义 $\mathcal{S}^{a}:=\mathcal{S}_{\leq k^{\ast}-1}\cup\widehat{\mathcal{S}_{k^{\ast}}^{a}}$(1),以及 $\mathcal{S}^{b}:=\mathcal{S}_{\leq k^{\ast}-1}\cup\widehat{\mathcal{S}_{k^{\ast}}^{b}}$(2)。这里,$\widehat{\mathcal{S}_{k^{\ast}}^{a}}$(以及相应地 $\widehat{\mathcal{S}_{k^{\ast}}^{b}}$)是通过把 $\mathcal{S}_{k^{\ast}}^{a}$(以及相应地 $\mathcal{S}_{k^{\ast}}^{b}$)中流的周期从 $2^{k^{\ast}}$ 改为 $2^{k^{\ast}-1}$ 而得到的。例如,如果 $\mathcal{S}_{k^{\ast}}^{a}$ 包含一个流 $s$,且 $(a_{s},b_{s},p_{s})=(1,4,2^{k^{\ast}})$,那么 $\widehat{\mathcal{S}_{k^{\ast}}^{a}}$ 包含一个流 $\hat{s}$,且 $(a_{\hat{s}},b_{\hat{s}},p_{\hat{s}})=(1,4,2^{k^{\ast}-1})$。注意,$\mathcal{S}^{a}$ 和 $\mathcal{S}^{b}$ 的超周期是 $2^{k^{\ast}-1}$,而不是 $2^{k^{\ast}}$。
术语“partition”译为“划分”,“hyperperiods”译为“超周期”;集合符号、交集为空、周期从 $2^{k^{\ast}}$ 改为 $2^{k^{\ast}-1}$、示例三元组均已保留。输入中公式有 OCR 重复展示,但语义可还原。未发现明显问题。
In addition, we can define G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} and G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star}. Note that G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} and G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star} have exactly one vertex v s 1 v_{s}^{1} for s s in 𝒮 k ∗ a ^ \widehat{\mathcal{S}_{k^{\ast}}^{a}} or 𝒮 k ∗ b ^ \widehat{\mathcal{S}_{k^{\ast}}^{b}}. We have the following lemma.
此外,我们可以定义 $G_{\mathcal{S}^{a}}^{\star}$ 和 $G_{\mathcal{S}^{b}}^{\star}$。注意,对于 $\widehat{\mathcal{S}_{k^{\ast}}^{a}}$ 或 $\widehat{\mathcal{S}_{k^{\ast}}^{b}}$ 中的 $s$,$G_{\mathcal{S}^{a}}^{\star}$ 和 $G_{\mathcal{S}^{b}}^{\star}$ 恰好各有一个顶点 $v_{s}^{1}$。我们有如下引理。
“vertex”译为“顶点”,“lemma”译为“引理”;“exactly one”译为“恰好各有一个”。需注意原文表述为两个图分别对应各自集合中的流,译文按此含义处理。未发现明显问题。
G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a good p 𝒮 p_{\mathcal{S}} -coloring if and only if there is a partition 𝒮 k ∗ = 𝒮 k ∗ a ∪ 𝒮 k ∗ b \mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b} such that both G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} and G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star} admit good (p 𝒮 / 2) (p_{\mathcal{S}}/2) -colorings.
当且仅当存在一个划分 $\mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b}$,使得 $G_{\mathcal{S}^{a}}^{\star}$ 和 $G_{\mathcal{S}^{b}}^{\star}$ 都承认良好的 $(p_{\mathcal{S}}/2)$-着色时,$G_{\mathcal{S}}^{\star}$ 承认一个良好的 $p_{\mathcal{S}}$-着色。
“admits a good coloring”按图论习惯译为“承认良好的……着色”;双向条件“if and only if”已保留。未发现明显问题。
On one hand, suppose C: V (G 𝒮 ⋆) → [ 2 k ∗ ] C:V\left(G_{\mathcal{S}}^{\star}\right)\rightarrow\left[2^{k^{\ast}}\right] is a good 2 k ∗ 2^{k^{\ast}} -coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star}. Note that G 𝒮 ⋆ G_{\mathcal{S}}^{\star} has exactly one vertex v s 1 v_{s}^{1} for each s ∈ 𝒮 k ∗ s\in\mathcal{S}_{k^{\ast}}. According to whether C (v s 1) C(v_{s}^{1}) is in [ 1, 2 k ∗ − 1 ] [1,2^{k^{\ast}-1}] or [ 2 k ∗ − 1 + 1, 2 k ∗ ] [2^{k^{\ast}-1}+1,2^{k^{\ast}}], we get a partition 𝒮 k ∗ = 𝒮 k ∗ a ∪ 𝒮 k ∗ b \mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b} where 𝒮 k ∗ a = { s ∈ 𝒮 k ∗ ∣ C (v s 1) ∈ [ 1, 2 k ∗ − 1 ] } \mathcal{S}_{k^{\ast}}^{a}=\left\{s\in\mathcal{S}_{k^{\ast}}\mid C(v_{s}^{1})\in\left[1,2^{k^{\ast}-1}\right]\right\} and 𝒮 k ∗ b = { s ∈ 𝒮 k ∗ ∣ C (v s 1) ∈ [ 2 k ∗ − 1 + 1, 2 k ∗ ] }. \mathcal{S}_{k^{\ast}}^{b}=\left\{s\in\mathcal{S}_{k^{\ast}}\mid C(v_{s}^{1})\in\left[2^{k^{\ast}-1}+1,2^{k^{\ast}}\right]\right\}. For G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star}, we define a coloring C a: V (G 𝒮 a ⋆) → [ 1, 2 k ∗ − 1 ] C^{a}:V(G_{\mathcal{S}^{a}}^{\star})\rightarrow[1,2^{k^{\ast}-1}] as follows: for each vertex v s i v_{s}^{i} in G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star}, let C a (v s i) = C (v s i) C^{a}(v_{s}^{i})=C(v_{s}^{i}). One can easily check that C a C^{a} is good 2 k ∗ − 1 2^{k^{\ast}-1} -coloring of G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} by definition. For G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star}, we define a coloring C b: V (G 𝒮 b ⋆) → [ 1, 2 k ∗ − 1 ] C^{b}:V(G_{\mathcal{S}^{b}}^{\star})\rightarrow[1,2^{k^{\ast}-1}] as follows: • for any s ∈ 𝒮 ≤ k ∗ − 1 s\in\mathcal{S}_{\leq k^{\ast}-1} and any 1 ≤ i ≤ 2 k ∗ − 1 / p s 1\leq i\leq 2^{k^{\ast}-1}/p_{s}, define C b (v s i) = C (v s i + (2 k ∗ − 1) / p s) − 2 k ∗ − 1; C^{b}(v_{s}^{i})=C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}; Here, we claim that C b (v s i) C^{b}(v_{s}^{i}) is nonnegative and thus properly defined. Since C C is a good coloring, by definition, we have that for each s ∈ 𝒮 s\in\mathcal{S} and each i ∈ [ p 𝒮 / p s ] i\in[p_{\mathcal{S}}/p_{s}], C (v s i) ∈ [ (i − 1) ⋅ p s + 1, i ⋅ p s ] C(v_{s}^{i})\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]. In particular, C (v s i + (2 k ∗ − 1) / p s) − 2 k ∗ − 1 ∈ [ (i − 1) ⋅ p s + 1, i ⋅ p s ]. C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]. • for any s ∈ 𝒮 k ∗ b s\in\mathcal{S}_{k^{\ast}}^{b}, define C b (v s 1) = C (v s 1) − 2 k ∗ − 1 C^{b}(v_{s}^{1})=C(v_{s}^{1})-2^{k^{\ast}-1}. One can easily check that C b C^{b} is good 2 k ∗ − 1 2^{k^{\ast}-1} -coloring of G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star} by definition.
一方面,假设 $C:V\left(G_{\mathcal{S}}^{\star}\right)\rightarrow\left[2^{k^{\ast}}\right]$ 是 $G_{\mathcal{S}}^{\star}$ 的一个良好的 $2^{k^{\ast}}$-着色。注意,对于每个 $s\in\mathcal{S}_{k^{\ast}}$,$G_{\mathcal{S}}^{\star}$ 恰好有一个顶点 $v_{s}^{1}$。根据 $C(v_{s}^{1})$ 属于 $[1,2^{k^{\ast}-1}]$ 还是属于 $[2^{k^{\ast}-1}+1,2^{k^{\ast}}]$,我们得到一个划分 $\mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b}$,其中 $\mathcal{S}_{k^{\ast}}^{a}=\left\{s\in\mathcal{S}_{k^{\ast}}\mid C(v_{s}^{1})\in\left[1,2^{k^{\ast}-1}\right]\right\}$,并且 $\mathcal{S}_{k^{\ast}}^{b}=\left\{s\in\mathcal{S}_{k^{\ast}}\mid C(v_{s}^{1})\in\left[2^{k^{\ast}-1}+1,2^{k^{\ast}}\right]\right\}$。对于 $G_{\mathcal{S}^{a}}^{\star}$,我们如下定义一个着色 $C^{a}:V(G_{\mathcal{S}^{a}}^{\star})\rightarrow[1,2^{k^{\ast}-1}]$:对 $G_{\mathcal{S}^{a}}^{\star}$ 中的每个顶点 $v_{s}^{i}$,令 $C^{a}(v_{s}^{i})=C(v_{s}^{i})$。根据定义,可以容易地检查出 $C^{a}$ 是 $G_{\mathcal{S}^{a}}^{\star}$ 的良好 $2^{k^{\ast}-1}$-着色。对于 $G_{\mathcal{S}^{b}}^{\star}$,我们如下定义一个着色 $C^{b}:V(G_{\mathcal{S}^{b}}^{\star})\rightarrow[1,2^{k^{\ast}-1}]$:对于任意 $s\in\mathcal{S}_{\leq k^{\ast}-1}$ 和任意 $1\leq i\leq 2^{k^{\ast}-1}/p_{s}$,定义 $C^{b}(v_{s}^{i})=C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}$;这里,我们声称 $C^{b}(v_{s}^{i})$ 是非负的,因此是适当定义的。由于 $C$ 是良好着色,根据定义,对于每个 $s\in\mathcal{S}$ 和每个 $i\in[p_{\mathcal{S}}/p_{s}]$,都有 $C(v_{s}^{i})\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]$。特别地,$C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]$。对于任意 $s\in\mathcal{S}_{k^{\ast}}^{b}$,定义 $C^{b}(v_{s}^{1})=C(v_{s}^{1})-2^{k^{\ast}-1}$。根据定义,可以容易地检查出 $C^{b}$ 是 $G_{\mathcal{S}^{b}}^{\star}$ 的良好 $2^{k^{\ast}-1}$-着色。
该段包含证明的“一方面”方向,公式、区间端点、两个子集定义、两个着色定义均已保留。输入文本中项目符号内容与后续 P045、P046 重复,且原文写“nonnegative”但颜色范围实际为正区间;译文忠实保留为“非负”。未发现明显问题。
for any s ∈ 𝒮 ≤ k ∗ − 1 s\in\mathcal{S}_{\leq k^{\ast}-1} and any 1 ≤ i ≤ 2 k ∗ − 1 / p s 1\leq i\leq 2^{k^{\ast}-1}/p_{s}, define C b (v s i) = C (v s i + (2 k ∗ − 1) / p s) − 2 k ∗ − 1; C^{b}(v_{s}^{i})=C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}; Here, we claim that C b (v s i) C^{b}(v_{s}^{i}) is nonnegative and thus properly defined. Since C C is a good coloring, by definition, we have that for each s ∈ 𝒮 s\in\mathcal{S} and each i ∈ [ p 𝒮 / p s ] i\in[p_{\mathcal{S}}/p_{s}], C (v s i) ∈ [ (i − 1) ⋅ p s + 1, i ⋅ p s ] C(v_{s}^{i})\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]. In particular, C (v s i + (2 k ∗ − 1) / p s) − 2 k ∗ − 1 ∈ [ (i − 1) ⋅ p s + 1, i ⋅ p s ]. C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}].
对于任意 $s\in\mathcal{S}_{\leq k^{\ast}-1}$ 和任意 $1\leq i\leq 2^{k^{\ast}-1}/p_{s}$,定义 $C^{b}(v_{s}^{i})=C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}$;这里,我们声称 $C^{b}(v_{s}^{i})$ 是非负的,因此是适当定义的。由于 $C$ 是良好着色,根据定义,对于每个 $s\in\mathcal{S}$ 和每个 $i\in[p_{\mathcal{S}}/p_{s}]$,都有 $C(v_{s}^{i})\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]$。特别地,$C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]$。
本段是 P044 中项目符号的一项重复抽取;仍按输入独立翻译。区间、索引平移 $(2^{k^{\ast}-1})/p_s$ 和减去 $2^{k^{\ast}-1}$ 均已保留。未发现明显问题。
for any s ∈ 𝒮 k ∗ b s\in\mathcal{S}_{k^{\ast}}^{b}, define C b (v s 1) = C (v s 1) − 2 k ∗ − 1 C^{b}(v_{s}^{1})=C(v_{s}^{1})-2^{k^{\ast}-1}.
对于任意 $s\in\mathcal{S}_{k^{\ast}}^{b}$,定义 $C^{b}(v_{s}^{1})=C(v_{s}^{1})-2^{k^{\ast}-1}$。
本段是 P044 中项目符号的一项重复抽取;集合上标 $b$、顶点 $v_s^1$、颜色偏移量均已保留。未发现明显问题。
On the other hand, suppose 𝒮 k ∗ = 𝒮 k ∗ a ∪ 𝒮 k ∗ b \mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b} is a partition of 𝒮 k ∗ \mathcal{S}_{k^{\ast}}, and C a C^{a} and C b C^{b} are good 2 k ∗ − 1 2^{k^{\ast}-1} -colorings of G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} and G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star} respectively. We define a coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star} as follows: • for any s ∈ 𝒮 ≤ k ∗ − 1 s\in\mathcal{S}_{\leq k^{\ast}-1} and any 1 ≤ i ≤ 2 k ∗ / p s 1\leq i\leq 2^{k^{\ast}}/p_{s}, define C (v s i) = { C a (v s i), if 1 ≤ i ≤ 2 k ∗ − 1 p s; C b (v s i − 2 k ∗ − 1 p s) + 2 k ∗ − 1, if 2 k ∗ − 1 p s + 1 ≤ i ≤ 2 k ∗ p s. \displaystyle C(v_{s}^{i})=\begin{cases}C^{a}(v_{s}^{i}),&\text{if }1\leq i\leq\frac{2^{k^{\ast}-1}}{p_{s}};\\ C^{b}\left(v_{s}^{i-\frac{2^{k^{\ast}-1}}{p_{s}}}\right)+2^{k^{\ast}-1},&\text{if }\frac{2^{k^{\ast}-1}}{p_{s}}+1\leq i\leq\frac{2^{k^{\ast}}}{p_{s}}.\end{cases} • for any s ∈ 𝒮 k ∗ a s\in\mathcal{S}_{k^{\ast}}^{a}, define C (v s 1) = C a (v s 1) C(v_{s}^{1})=C^{a}(v_{s}^{1}); • for any s ∈ 𝒮 k ∗ b s\in\mathcal{S}_{k^{\ast}}^{b}, define C (v s 1) = C b (v s 1) + 2 k ∗ − 1 C(v_{s}^{1})=C^{b}(v_{s}^{1})+2^{k^{\ast}-1}. One can check that C C is good 2 k ∗ 2^{k^{\ast}} -coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star} by definition. ∎
另一方面,假设 $\mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b}$ 是 $\mathcal{S}_{k^{\ast}}$ 的一个划分,并且 $C^{a}$ 和 $C^{b}$ 分别是 $G_{\mathcal{S}^{a}}^{\star}$ 和 $G_{\mathcal{S}^{b}}^{\star}$ 的良好 $2^{k^{\ast}-1}$-着色。我们如下定义 $G_{\mathcal{S}}^{\star}$ 的一个着色:对于任意 $s\in\mathcal{S}_{\leq k^{\ast}-1}$ 和任意 $1\leq i\leq 2^{k^{\ast}}/p_{s}$,定义 \[ C(v_{s}^{i})= \begin{cases} C^{a}(v_{s}^{i}),&\text{如果 }1\leq i\leq\frac{2^{k^{\ast}-1}}{p_{s}};\\ C^{b}\left(v_{s}^{i-\frac{2^{k^{\ast}-1}}{p_{s}}}\right)+2^{k^{\ast}-1},&\text{如果 }\frac{2^{k^{\ast}-1}}{p_{s}}+1\leq i\leq\frac{2^{k^{\ast}}}{p_{s}}. \end{cases} \] 对于任意 $s\in\mathcal{S}_{k^{\ast}}^{a}$,定义 $C(v_{s}^{1})=C^{a}(v_{s}^{1})$;对于任意 $s\in\mathcal{S}_{k^{\ast}}^{b}$,定义 $C(v_{s}^{1})=C^{b}(v_{s}^{1})+2^{k^{\ast}-1}$。根据定义,可以检查出 $C$ 是 $G_{\mathcal{S}}^{\star}$ 的良好 $2^{k^{\ast}}$-着色。$\square$
该段包含证明的“另一方面”方向;分段函数的两个条件、索引偏移、颜色偏移、两个周期为 $2^{k^\ast}$ 与 $2^{k^\ast-1}$ 的着色均已保留。输入中项目符号与后续 P048-P050 重复,译文按本段完整内容处理。未发现明显问题。
for any s ∈ 𝒮 ≤ k ∗ − 1 s\in\mathcal{S}_{\leq k^{\ast}-1} and any 1 ≤ i ≤ 2 k ∗ / p s 1\leq i\leq 2^{k^{\ast}}/p_{s}, define C (v s i) = { C a (v s i), if 1 ≤ i ≤ 2 k ∗ − 1 p s; C b (v s i − 2 k ∗ − 1 p s) + 2 k ∗ − 1, if 2 k ∗ − 1 p s + 1 ≤ i ≤ 2 k ∗ p s. \displaystyle C(v_{s}^{i})=\begin{cases}C^{a}(v_{s}^{i}),&\text{if }1\leq i\leq\frac{2^{k^{\ast}-1}}{p_{s}};\\ C^{b}\left(v_{s}^{i-\frac{2^{k^{\ast}-1}}{p_{s}}}\right)+2^{k^{\ast}-1},&\text{if }\frac{2^{k^{\ast}-1}}{p_{s}}+1\leq i\leq\frac{2^{k^{\ast}}}{p_{s}}.\end{cases}
对于任意 $s\in\mathcal{S}_{\leq k^{\ast}-1}$ 和任意 $1\leq i\leq 2^{k^{\ast}}/p_{s}$,定义 \[ C(v_{s}^{i})= \begin{cases} C^{a}(v_{s}^{i}),&\text{如果 }1\leq i\leq\frac{2^{k^{\ast}-1}}{p_{s}};\\ C^{b}\left(v_{s}^{i-\frac{2^{k^{\ast}-1}}{p_{s}}}\right)+2^{k^{\ast}-1},&\text{如果 }\frac{2^{k^{\ast}-1}}{p_{s}}+1\leq i\leq\frac{2^{k^{\ast}}}{p_{s}}. \end{cases} \]
本段是 P047 中分段定义的重复抽取;分段函数、上下界和偏移量均已保留。未发现明显问题。
for any s ∈ 𝒮 k ∗ a s\in\mathcal{S}_{k^{\ast}}^{a}, define C (v s 1) = C a (v s 1) C(v_{s}^{1})=C^{a}(v_{s}^{1});
对于任意 $s\in\mathcal{S}_{k^{\ast}}^{a}$,定义 $C(v_{s}^{1})=C^{a}(v_{s}^{1})$;
本段是 P047 中项目符号的一项重复抽取;集合 $\mathcal{S}_{k^\ast}^a$ 与顶点 $v_s^1$ 已保留。原文以分号结尾,译文保留该衔接语气。未发现明显问题。
for any s ∈ 𝒮 k ∗ b s\in\mathcal{S}_{k^{\ast}}^{b}, define C (v s 1) = C b (v s 1) + 2 k ∗ − 1 C(v_{s}^{1})=C^{b}(v_{s}^{1})+2^{k^{\ast}-1}.
对于任意 $s\in\mathcal{S}_{k^{\ast}}^{b}$,定义 $C(v_{s}^{1})=C^{b}(v_{s}^{1})+2^{k^{\ast}-1}$。
本段是 P047 中项目符号的一项重复抽取;集合 $\mathcal{S}_{k^\ast}^b$、顶点 $v_s^1$ 与颜色偏移 $+2^{k^\ast-1}$ 已保留。未发现明显问题。
For 0 ≤ k ≤ k ∗ 0\leq k\leq k^{\ast} and ℓ ∈ [ n − 1 ] \ell\in[n-1], define c k, ℓ:= \displaystyle c_{k,\ell}:= 2 k − k ∗ ⋅ | { v s i ∈ V (G 𝒮 ⋆) ∣ s ∈ 𝒮 ≤ k and ℓ ∈ ℐ s } | \displaystyle 2^{k-k^{\ast}}\cdot\left|\left\{v_{s}^{i}\in V(G_{\mathcal{S}}^{\star})\mid s\in\mathcal{S}_{\leq k}\mbox{ and }\ell\in\mathcal{I}_{s}\right\}\right| = \displaystyle= ∑ i = 0 k 2 k − i ⋅ | { s ∈ 𝒮 i ∣ ℓ ∈ ℐ s } |. \displaystyle\sum_{i=0}^{k}2^{k-i}\cdot|\{s\in\mathcal{S}_{i}\mid\ell\in\mathcal{I}_{s}\}|. In particular, c k ∗, ℓ = | { v s i ∈ V (G 𝒮 ⋆) ∣ ℓ ∈ ℐ s } | c_{k^{\ast},\ell}=\left|\left\{v_{s}^{i}\in V(G_{\mathcal{S}}^{\star})\mid\ell\in\mathcal{I}_{s}\right\}\right|. The following theorem is the main technical part.
对于 \(0\leq k\leq k^{\ast}\) 和 \(\ell\in[n-1]\),定义 \[ c_{k,\ell}:=2^{k-k^{\ast}}\cdot\left|\left\{v_s^i\in V(G_{\mathcal{S}}^{\star})\mid s\in\mathcal{S}_{\leq k}\text{ 且 }\ell\in\mathcal{I}_s\right\}\right| =\sum_{i=0}^{k}2^{k-i}\cdot|\{s\in\mathcal{S}_i\mid \ell\in\mathcal{I}_s\}|. \] 特别地, \[ c_{k^{\ast},\ell}=\left|\left\{v_s^i\in V(G_{\mathcal{S}}^{\star})\mid \ell\in\mathcal{I}_s\right\}\right|. \] 下面的定理是主要的技术部分。
术语 \(G_{\mathcal{S}}^{\star}\)、\(\mathcal{S}_{\leq k}\)、\(\mathcal{I}_s\)、\([n-1]\) 已保留;公式中原文存在 OCR 重复展示,已按 LaTeX 形式整合。需注意 \(v_s^i\) 中上标 \(i\) 在集合条件中未显式约束,保留原式含义。 **状态:** 已复核
G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a good p 𝒮 p_{\mathcal{S}} -coloring if and only if c k ∗, ℓ ≤ 2 k ∗ c_{k^{\ast},\ell}\leq 2^{k^{\ast}} for any ℓ ∈ [ n − 1 ] \ell\in[n-1].
\(G_{\mathcal{S}}^{\star}\) 存在一个良好的 \(p_{\mathcal{S}}\)-着色,当且仅当对于任意 \(\ell\in[n-1]\),都有 \[ c_{k^{\ast},\ell}\leq 2^{k^{\ast}}. \]
“admits”译为“存在”;“good \(p_{\mathcal{S}}\)-coloring”译为“良好的 \(p_{\mathcal{S}}\)-着色”。公式与量词“任意 \(\ell\in[n-1]\)”已保留。未发现明显问题。 **状态:** 已复核
The proof is by induction on k ∗ k^{\ast}. When k ∗ = 0 k^{\ast}=0, the theorem is trivial. By induction, we assume the theorem holds when k ∗ = k ′ k^{\ast}=k^{\prime}, and we are going to show the theorem when k ∗ = k ′ + 1 k^{\ast}=k^{\prime}+1.
证明通过对 \(k^{\ast}\) 进行归纳来完成。当 \(k^{\ast}=0\) 时,该定理是平凡的。根据归纳法,我们假设当 \(k^{\ast}=k'\) 时该定理成立,并且我们将要证明当 \(k^{\ast}=k'+1\) 时该定理成立。
归纳变量、基例 \(k^{\ast}=0\)、归纳假设 \(k^{\ast}=k'\) 与目标 \(k^{\ast}=k'+1\) 均已保留。未发现明显问题。 **状态:** 已复核
According to Lemma 4.1, G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a good 2 k ∗ 2^{k^{\ast}} -coloring if and only if there is a partition 𝒮 k ∗ = 𝒮 k ∗ a ∪ 𝒮 k ∗ b \mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b} such that both G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} and G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star} admit good (2 k ∗ − 1) \big(2^{k^{\ast}-1}\big) -colorings. Remember that the hyperperiods of 𝒮 a \mathcal{S}^{a} and 𝒮 b \mathcal{S}^{b} are both 2 k ∗ − 1 2^{k^{\ast}-1}. So by the induction hypothesis, G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} admit a good (2 k ∗ − 1) \big(2^{k^{\ast}-1}\big) -coloring if and only if c k ∗ − 1, ℓ + | { s ∈ 𝒮 k ∗ a ∣ ℓ ∈ ℐ s } | ≤ 2 k ∗ − 1 for any ℓ ∈ [ n − 1 ]. \displaystyle c_{k^{\ast}-1,\ell}+|\{s\in\mathcal{S}_{k^{\ast}}^{a}\mid\ell\in\mathcal{I}_{s}\}|\leq 2^{k^{\ast}-1}\mbox{ for any }\ell\in[n-1]. (3) Similarly, by the induction hypothesis, G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star} admit a good (2 k ∗ − 1) \big(2^{k^{\ast}-1}\big) -coloring if and only if c k ∗ − 1, ℓ + | { s ∈ 𝒮 k ∗ b ∣ ℓ ∈ ℐ s } | ≤ 2 k ∗ − 1 for any ℓ ∈ [ n − 1 ]. \displaystyle c_{k^{\ast}-1,\ell}+|\{s\in\mathcal{S}_{k^{\ast}}^{b}\mid\ell\in\mathcal{I}_{s}\}|\leq 2^{k^{\ast}-1}\mbox{ for any }\ell\in[n-1]. (4)
根据引理 4.1,\(G_{\mathcal{S}}^{\star}\) 存在一个良好的 \(2^{k^{\ast}}\)-着色,当且仅当存在一个划分 \[ \mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b}, \] 使得 \(G_{\mathcal{S}^{a}}^{\star}\) 和 \(G_{\mathcal{S}^{b}}^{\star}\) 都存在良好的 \(2^{k^{\ast}-1}\)-着色。记住,\(\mathcal{S}^{a}\) 和 \(\mathcal{S}^{b}\) 的超周期均为 \(2^{k^{\ast}-1}\)。因此,由归纳假设可知,\(G_{\mathcal{S}^{a}}^{\star}\) 存在一个良好的 \(2^{k^{\ast}-1}\)-着色,当且仅当对于任意 \(\ell\in[n-1]\),都有 \[ c_{k^{\ast}-1,\ell}+|\{s\in\mathcal{S}_{k^{\ast}}^{a}\mid \ell\in\mathcal{I}_s\}|\leq 2^{k^{\ast}-1}. \tag{3} \] 类似地,由归纳假设可知,\(G_{\mathcal{S}^{b}}^{\star}\) 存在一个良好的 \(2^{k^{\ast}-1}\)-着色,当且仅当对于任意 \(\ell\in[n-1]\),都有 \[ c_{k^{\ast}-1,\ell}+|\{s\in\mathcal{S}_{k^{\ast}}^{b}\mid \ell\in\mathcal{I}_s\}|\leq 2^{k^{\ast}-1}. \tag{4} \]
“hyperperiods”译为“超周期”;“partition”译为“划分”。原文中 “both ... admit” 后续动词有单复数不一致,译文按数学含义处理。公式 (3)、(4) 及所有集合条件已保留。未发现明显问题。 **状态:** 已复核
Define a Boolean vector 𝒙 = (x s: s ∈ 𝒮 k ∗) \boldsymbol{x}=(x_{s}:s\in\mathcal{S}_{k^{\ast}}) where x s = 0 x_{s}=0 indicates s ∈ 𝒮 k ∗ a s\in\mathcal{S}_{k^{\ast}}^{a} and x s = 1 x_{s}=1 indicates s ∈ 𝒮 k ∗ b s\in\mathcal{S}_{k^{\ast}}^{b}. Define a (n − 1) × | S k ∗ | (n-1)\times|S_{k^{\ast}}| Boolean matrix A A where A [ ℓ, s ] = 1 ℓ ∈ ℐ s A[\ell,s]=1_{\ell\in\mathcal{I}_{s}}. That is, A [ ℓ, s ] = 1 A[\ell,s]=1 if ℓ ∈ ℐ s \ell\in\mathcal{I}_{s} and A [ ℓ, s ] = 0 A[\ell,s]=0 otherwise. Note that A (𝟏 − 𝒙) = (| { s ∈ 𝒮 k ∗ a ∣ ℓ ∈ ℐ s } |: ℓ ∈ [ n − 1 ]) A(\boldsymbol{1}-\boldsymbol{x})=\left(|\{s\in\mathcal{S}_{k^{\ast}}^{a}\mid\ell\in\mathcal{I}_{s}\}|:\ell\in[n-1]\right) and A 𝒙 = (| { s ∈ 𝒮 k ∗ b ∣ ℓ ∈ ℐ s } |: ℓ ∈ [ n − 1 ]), A\boldsymbol{x}=\left(|\{s\in\mathcal{S}_{k^{\ast}}^{b}\mid\ell\in\mathcal{I}_{s}\}|:\ell\in[n-1]\right), where 𝟏 \boldsymbol{1} is the all ones vector. Define a vector 𝒄 = (2 k ∗ − 1 − c k ∗ − 1, ℓ: ℓ ∈ [ n − 1 ]). \boldsymbol{c}=(2^{k^{\ast}-1}-c_{k^{\ast}-1,\ell}:\ell\in[n-1]). Then (3) and (4) can be rewritten as A (𝟏 − 𝒙) ≤ 𝒄 A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c} and A 𝒙 ≤ 𝒄 A\boldsymbol{x}\leq\boldsymbol{c} respectively. So we have the following claim.
定义一个布尔向量 \[ \boldsymbol{x}=(x_s:s\in\mathcal{S}_{k^{\ast}}), \] 其中 \(x_s=0\) 表示 \(s\in\mathcal{S}_{k^{\ast}}^{a}\),而 \(x_s=1\) 表示 \(s\in\mathcal{S}_{k^{\ast}}^{b}\)。定义一个 \((n-1)\times|\mathcal{S}_{k^{\ast}}|\) 的布尔矩阵 \(A\),其中 \[ A[\ell,s]=1_{\ell\in\mathcal{I}_s}. \] 也就是说,如果 \(\ell\in\mathcal{I}_s\),则 \(A[\ell,s]=1\);否则 \(A[\ell,s]=0\)。注意, \[ A(\boldsymbol{1}-\boldsymbol{x}) =\left(|\{s\in\mathcal{S}_{k^{\ast}}^{a}\mid \ell\in\mathcal{I}_s\}|:\ell\in[n-1]\right) \] 并且 \[ A\boldsymbol{x} =\left(|\{s\in\mathcal{S}_{k^{\ast}}^{b}\mid \ell\in\mathcal{I}_s\}|:\ell\in[n-1]\right), \] 其中 \(\boldsymbol{1}\) 是全 1 向量。定义向量 \[ \boldsymbol{c}=(2^{k^{\ast}-1}-c_{k^{\ast}-1,\ell}:\ell\in[n-1]). \] 那么,(3) 和 (4) 可以分别改写为 \[ A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c} \] 和 \[ A\boldsymbol{x}\leq\boldsymbol{c}. \] 因此,我们得到以下断言。
“Boolean vector/matrix”译为“布尔向量/布尔矩阵”;指标函数 \(1_{\ell\in\mathcal{I}_s}\) 已保留。原文矩阵维度处出现 \(|S_{k^{\ast}}|\),应为 \(|\mathcal{S}_{k^{\ast}}|\),译文按上下文修正。未发现明显问题。 **状态:** 已复核
G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a good p 𝒮 p_{\mathcal{S}} -coloring if and only if { A (𝟏 − 𝐱) ≤ 𝐜, A 𝐱 ≤ 𝐜, 𝟎 ≤ 𝐱 ≤ 𝟏, 𝐱 ∈ ℤ } ≠ ∅ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},A\boldsymbol{x}\leq\boldsymbol{c},\boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1},\boldsymbol{x}\in\mathbb{Z}\}\neq\emptyset.
\(G_{\mathcal{S}}^{\star}\) 存在一个良好的 \(p_{\mathcal{S}}\)-着色,当且仅当 \[ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},\ A\boldsymbol{x}\leq\boldsymbol{c},\ \boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1},\ \boldsymbol{x}\in\mathbb{Z}\}\neq\emptyset. \]
保留了整数约束 \(\boldsymbol{x}\in\mathbb{Z}\)、上下界约束和两个线性不等式。这里 \(\boldsymbol{x}\in\mathbb{Z}\) 按原文保留,但严格写法可能应为 \(\boldsymbol{x}\in\mathbb{Z}^{|\mathcal{S}_{k^{\ast}}|}\)。 **状态:** 已复核
Noting that A A is a consecutive-ones matrix, i.e., the ones appearing consecutively in each column, we have that A A is a totally unimodular matrix [ 8 ]. So we get the following claim.
注意到 \(A\) 是一个连续 1 矩阵,也就是说,每一列中的 1 都是连续出现的,因此我们有 \(A\) 是一个全幺模矩阵 [8]。于是我们得到以下断言。
“consecutive-ones matrix”译为“连续 1 矩阵”;“totally unimodular matrix”译为“全幺模矩阵”;引用 [8] 已保留。未发现明显问题。 **状态:** 已复核
{ A (𝟏 − 𝒙) ≤ 𝒄, A 𝒙 ≤ 𝒄, 𝟎 ≤ 𝒙 ≤ 𝟏, 𝒙 ∈ ℤ } ≠ ∅ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},A\boldsymbol{x}\leq\boldsymbol{c},\boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1},\boldsymbol{x}\in\mathbb{Z}\}\neq\emptyset if and only if { A (𝟏 − 𝐱) ≤ 𝐜, A 𝐱 ≤ 𝐜, 𝟎 ≤ 𝐱 ≤ 𝟏 } ≠ ∅ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},A\boldsymbol{x}\leq\boldsymbol{c},\boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1}\}\neq\emptyset.
\[ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},\ A\boldsymbol{x}\leq\boldsymbol{c},\ \boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1},\ \boldsymbol{x}\in\mathbb{Z}\}\neq\emptyset \] 当且仅当 \[ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},\ A\boldsymbol{x}\leq\boldsymbol{c},\ \boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1}\}\neq\emptyset. \]
该段是整数可行性与线性松弛可行性的等价断言;两个集合中的约束差异仅为是否包含 \(\boldsymbol{x}\in\mathbb{Z}\),已准确保留。未发现明显问题。 **状态:** 已复核
The following claim is crucial.
下面的断言是关键性的。
“crucial”译为“关键性的”。未发现明显问题。 **状态:** 已复核
{ A (𝟏 − 𝒙) ≤ 𝒄, A 𝒙 ≤ 𝒄, 𝟎 ≤ 𝒙 ≤ 𝟏 } ≠ ∅ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},A\boldsymbol{x}\leq\boldsymbol{c},\boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1}\}\neq\emptyset if and only if A ⋅ 𝟏 ≤ 2 𝐜 A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}.
\[ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},\ A\boldsymbol{x}\leq\boldsymbol{c},\ \boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1}\}\neq\emptyset \] 当且仅当 \[ A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}. \]
保留了线性松弛可行性与条件 \(A\cdot\boldsymbol{1}\leq2\boldsymbol{c}\) 的等价关系。这里不等式应理解为按分量比较;原文未显式说明,译文未额外扩展。未发现明显问题。 **状态:** 已复核
For convenience of presentation, let ℱ:= { A (𝟏 − 𝒙) ≤ 𝒄, A 𝒙 ≤ 𝒄, 𝟎 ≤ 𝒙 ≤ 𝟏 } \mathcal{F}:=\{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},A\boldsymbol{x}\leq\boldsymbol{c},\boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1}\}. On one direction, if A ⋅ 𝟏 ≤ 2 𝒄 A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}, then 1 2 ⋅ 𝟏 ∈ ℱ \frac{1}{2}\cdot\boldsymbol{1}\in\mathcal{F}, so ℱ ≠ ∅ \mathcal{F}\neq\emptyset. On the other direction, suppose 𝒙 ∗ ∈ ℱ \boldsymbol{x}^{\ast}\in\mathcal{F}. Then (𝟏 − 𝒙 ∗) ∈ ℱ (\boldsymbol{1}-\boldsymbol{x}^{\ast})\in\mathcal{F}. Because ℱ \mathcal{F} is a convex set, 𝒙 ∗ / 2 + (𝟏 − 𝒙 ∗) / 2 = 1 2 ⋅ 𝟏 ∈ ℱ \boldsymbol{x}^{\ast}/2+(\boldsymbol{1}-\boldsymbol{x}^{\ast})/2=\frac{1}{2}\cdot\boldsymbol{1}\in\mathcal{F}, which implies that A ⋅ 𝟏 ≤ 2 𝒄 A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}. ∎
为了便于表述,令 \(\mathcal{F}:=\{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},A\boldsymbol{x}\leq\boldsymbol{c},\boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1}\}\)。一方面,如果 \(A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}\),则 \(\frac{1}{2}\cdot\boldsymbol{1}\in\mathcal{F}\),因此 \(\mathcal{F}\neq\emptyset\)。另一方面,假设 \(\boldsymbol{x}^{\ast}\in\mathcal{F}\)。那么 \((\boldsymbol{1}-\boldsymbol{x}^{\ast})\in\mathcal{F}\)。因为 \(\mathcal{F}\) 是一个凸集,所以 \(\boldsymbol{x}^{\ast}/2+(\boldsymbol{1}-\boldsymbol{x}^{\ast})/2=\frac{1}{2}\cdot\boldsymbol{1}\in\mathcal{F}\),这意味着 \(A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}\)。∎
术语“convex set”译为“凸集”准确;\(\mathcal{F}\)、\(A\)、\(\boldsymbol{x}^{\ast}\)、\(\boldsymbol{c}\) 等符号保持一致;双向证明逻辑完整。未发现明显问题。
Finally, A ⋅ 𝟏 ≤ 2 𝒄 A\cdot\boldsymbol{1}\leq 2\boldsymbol{c} means that | { s ∈ 𝒮 k ∗ ∣ ℓ ∈ ℐ s } | ≤ 2 k ∗ − 2 c k ∗ − 1, ℓ for any ℓ ∈ [ n − 1 ], \displaystyle|\{s\in\mathcal{S}_{k^{\ast}}\mid\ell\in\mathcal{I}_{s}\}|\leq 2^{k^{\ast}}-2c_{k^{\ast}-1,\ell}\mbox{ for any }\ell\in[n-1], which is equivalent to saying: for any ℓ ∈ [ n − 1 ] \ell\in[n-1], c k ∗, ℓ = 2 c k ∗ − 1, ℓ + | { s ∈ 𝒮 k ∗ ∣ ℓ ∈ ℐ s } | ≤ 2 k ∗ \displaystyle c_{k^{\ast},\ell}=2c_{k^{\ast}-1,\ell}+|\{s\in\mathcal{S}_{k^{\ast}}\mid\ell\in\mathcal{I}_{s}\}|\leq 2^{k^{\ast}} The conclusion follows from Claims 4.3, 4.4, and 4.5 immediately. ∎
最后,\(A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}\) 意味着,对于任意 \(\ell\in[n-1]\),都有 \(|\{s\in\mathcal{S}_{k^{\ast}}\mid\ell\in\mathcal{I}_{s}\}|\leq 2^{k^{\ast}}-2c_{k^{\ast}-1,\ell}\)。这等价于说:对于任意 \(\ell\in[n-1]\),\(c_{k^{\ast},\ell}=2c_{k^{\ast}-1,\ell}+|\{s\in\mathcal{S}_{k^{\ast}}\mid\ell\in\mathcal{I}_{s}\}|\leq 2^{k^{\ast}}\)。结论立即由 Claims 4.3、4.4 和 4.5 得出。∎
原文中不等式排版疑似有 OCR 混杂,但根据后续等价式可校正为 \(2^{k^{\ast}}-2c_{k^{\ast}-1,\ell}\);Claim 编号和量词均保留。由于首个不等式来源文本存在排版识别风险,建议人工核对原 PDF。
It is a basic fact that an interval graph admits a proper k k -coloring if and only if it contains no clique of size greater than k k. Thus G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a proper 2 k ∗ 2^{k^{\ast}} -coloring if and only if c k ∗, ℓ ≤ 2 k ∗ c_{k^{\ast},\ell}\leq 2^{k^{\ast}} for any ℓ ∈ [ n − 1 ] \ell\in[n-1]. So G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a proper 2 k ∗ 2^{k^{\ast}} -coloring if and only if it admits a good 2 k ∗ 2^{k^{\ast}} -coloring.
一个基本事实是:区间图存在一个正常的 \(k\)-着色,当且仅当它不包含大小大于 \(k\) 的团。因此,\(G_{\mathcal{S}}^{\star}\) 存在一个正常的 \(2^{k^{\ast}}\)-着色,当且仅当对于任意 \(\ell\in[n-1]\),都有 \(c_{k^{\ast},\ell}\leq 2^{k^{\ast}}\)。所以,\(G_{\mathcal{S}}^{\star}\) 存在一个正常的 \(2^{k^{\ast}}\)-着色,当且仅当它存在一个好的 \(2^{k^{\ast}}\)-着色。
“proper coloring”译为“正常的着色”可理解,也可译作“合法着色”;“clique”译为“团”准确。公式和当且仅当关系完整。未发现明显问题。
Note that all c k ∗, ℓ = ∑ i = 0 k ∗ 2 k ∗ − i ⋅ | { s ∈ 𝒮 i ∣ ℓ ∈ ℐ s } | c_{k^{\ast},\ell}=\sum_{i=0}^{k^{\ast}}2^{k^{\ast}-i}\cdot|\{s\in\mathcal{S}_{i}\mid\ell\in\mathcal{I}_{s}\}| can be computed in O (| 𝒮 | ⋅ n) O(|\mathcal{S}|\cdot n) time. By Theorem 4.2 and 3.1, we have
注意,所有 \(c_{k^{\ast},\ell}=\sum_{i=0}^{k^{\ast}}2^{k^{\ast}-i}\cdot|\{s\in\mathcal{S}_{i}\mid\ell\in\mathcal{I}_{s}\}|\) 都可以在 \(O(|\mathcal{S}|\cdot n)\) 时间内计算出来。由 Theorem 4.2 和 3.1,我们有:
求和上下界、指数 \(k^{\ast}-i\)、集合条件 \(\ell\in\mathcal{I}_{s}\) 和复杂度均保留;段末引出定理陈述,冒号符合上下文。未发现明显问题。
It can be decided in O (| 𝒮 | ⋅ n) O(|\mathcal{S}|\cdot n) time whether there exists a no-wait schedule for 𝒮 \mathcal{S}.
是否存在针对 \(\mathcal{S}\) 的 no-wait 调度,可以在 \(O(|\mathcal{S}|\cdot n)\) 时间内判定。
“no-wait schedule”保留为“no-wait 调度”,避免术语歧义;复杂度和对象 \(\mathcal{S}\) 保持一致。未发现明显问题。
Furthermore, if no-wait schedule exists for 𝒮 \mathcal{S}, then the procedure 𝖥𝗂𝗇𝖽 (𝒮, k ∗) \mathsf{Find}(\mathcal{S},k^{\ast}), described in Algorithm 2, would return a good 2 k ∗ 2^{k^{\ast}} -coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star}, represented in the form of dictionary { (v s i, C (v s i)) } \{(v_{s}^{i},C(v_{s}^{i}))\}. Given a good 2 k ∗ 2^{k^{\ast}} -coloring C: V (G 𝒮 ⋆) → [ 2 k ∗ ] C:V\left(G_{\mathcal{S}}^{\star}\right)\rightarrow\left[2^{k^{\ast}}\right] of G 𝒮 ⋆ G_{\mathcal{S}}^{\star}, we can easily get a no-wait schedule by placing the i i -th replication of s s in the C (v s i) C(v_{s}^{i}) -th layer of the parallelogram, i.e., by setting the injection time of the i i -th replication of s s to be C (v s i) + a s − 1 C(v_{s}^{i})+a_{s}-1.
此外,如果针对 \(\mathcal{S}\) 存在 no-wait 调度,那么 Algorithm 2 中描述的过程 \(\mathsf{Find}(\mathcal{S},k^{\ast})\) 将返回 \(G_{\mathcal{S}}^{\star}\) 的一个好的 \(2^{k^{\ast}}\)-着色,其表示形式为字典 \(\{(v_{s}^{i},C(v_{s}^{i}))\}\)。给定 \(G_{\mathcal{S}}^{\star}\) 的一个好的 \(2^{k^{\ast}}\)-着色 \(C:V\left(G_{\mathcal{S}}^{\star}\right)\rightarrow\left[2^{k^{\ast}}\right]\),我们可以很容易地得到一个 no-wait 调度:将 \(s\) 的第 \(i\) 个复制放置在平行四边形的第 \(C(v_{s}^{i})\) 层中,也就是说,将 \(s\) 的第 \(i\) 个复制的注入时间设置为 \(C(v_{s}^{i})+a_{s}-1\)。
“replication”译为“复制”,与 \(v_s^i\) 的索引一致;“layer of the parallelogram”译为“平行四边形的层”,需依赖前文定义;注入时间公式 \(C(v_s^i)+a_s-1\) 保留无误。未发现明显问题。
Algorithm 1 solves the no-wait scheduling problem in O ((n + | 𝒮 |) ⋅ | 𝒮 | 1.5 log 2 p 𝒮 + | 𝒮 | ⋅ p 𝒮 log 2 p 𝒮) O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}}) time.
Algorithm 1 在 \(O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}})\) 时间内求解 no-wait 调度问题。
时间复杂度中两项、指数 \(1.5\)、\(\log_2 p_{\mathcal{S}}\) 和 \(p_{\mathcal{S}}\) 均保留;“solves”译为“求解”准确。未发现明显问题。
We first show the correctness of Algorithm 1. By Theorem 4.2 and 3.1, there exist no-wait schedules for 𝒮 \mathcal{S} if and only if c k ∗, ℓ ≤ 2 k ∗ c_{k^{\ast},\ell}\leq 2^{k^{\ast}} for any ℓ ∈ [ n − 1 ] \ell\in[n-1]. Moreover, from the proof of Theorem 4.2, one can easily verify that the procedure 𝖥𝗂𝗇𝖽 (𝒮, k ∗) \mathsf{Find}(\mathcal{S},k^{\ast}) would return a no-wait schedule if one exists. So Algorithm 1 returns a no-wait schedule if one exists or returns “no-wait schedules do not exist" otherwise.
我们首先证明 Algorithm 1 的正确性。由 Theorem 4.2 和 3.1,针对 \(\mathcal{S}\) 存在 no-wait 调度,当且仅当对于任意 \(\ell\in[n-1]\),都有 \(c_{k^{\ast},\ell}\leq 2^{k^{\ast}}\)。此外,根据 Theorem 4.2 的证明,可以很容易验证,如果存在 no-wait 调度,则过程 \(\mathsf{Find}(\mathcal{S},k^{\ast})\) 将返回一个 no-wait 调度。因此,如果存在 no-wait 调度,Algorithm 1 就返回一个 no-wait 调度;否则返回“no-wait schedules do not exist”。
正确性证明的“当且仅当”和“否则”逻辑完整;原文返回字符串保留英文以避免改变算法输出文本。未发现明显问题。
What remains is to analyze the time complexity of Algorithm 1. It executes O (| 𝒮 | ⋅ n) O(|\mathcal{S}|\cdot n) time to execute Lines 1-5. In the following, we will show that it costs O ((n + | 𝒮 |) ⋅ | 𝒮 | 1.5 log 2 p 𝒮 + | 𝒮 | ⋅ p 𝒮 log 2 p 𝒮) O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}}) time to run the procedure 𝖥𝗂𝗇𝖽 (𝒮, k ∗) \mathsf{Find}(\mathcal{S},k^{\ast}), and then finish the proof.
剩下的是分析 Algorithm 1 的时间复杂度。执行第 1-5 行需要 \(O(|\mathcal{S}|\cdot n)\) 时间。接下来,我们将证明运行过程 \(\mathsf{Find}(\mathcal{S},k^{\ast})\) 需要 \(O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}})\) 时间,然后完成证明。
“Lines 1-5”译为“第 1-5 行”;复杂度公式完整;段落逻辑为先扣除初始化再分析 Find。未发现明显问题。
Let T (| 𝒮 |, k ∗) T(|\mathcal{S}|,k^{\ast}) denote the time complexity of 𝖥𝗂𝗇𝖽 (𝒮, k ∗) \mathsf{Find}(\mathcal{S},k^{\ast}). First, it is easy to see that it costs O (n ⋅ | 𝒮 |) O(n\cdot|\mathcal{S}|) time to execute Lines 1-13, 15-16, and 24-28. It costs O ((n + | 𝒮 |) ⋅ | 𝒮 | 1.5) O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}) time to solve the linear programming in Line 14 [ 9 ], and costs O (| 𝒮 | ⋅ 2 k ∗) = O (| 𝒮 | ⋅ p 𝒮) O(|\mathcal{S}|\cdot 2^{k^{\ast}})=O(|\mathcal{S}|\cdot p_{\mathcal{S}}) time to execute Lines 18-23. In addition, it costs at most 2 T (| 𝒮 |, k ∗ − 1) 2T(|\mathcal{S}|,k^{\ast}-1) time to execute Line 17. So we have T (| 𝒮 |, k ∗) ≤ 2 T (| 𝒮 |, k ∗ − 1) + O ((n + | 𝒮 |) ⋅ | 𝒮 | 1.5 + | 𝒮 | ⋅ p 𝒮). T(|\mathcal{S}|,k^{\ast})\leq 2T(|\mathcal{S}|,k^{\ast}-1)+O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}+|\mathcal{S}|\cdot p_{\mathcal{S}}). By solving the above recursion, we have T (| 𝒮 |, k ∗) = O ((n + | 𝒮 |) ⋅ | 𝒮 | 1.5 log 2 p 𝒮 + | 𝒮 | ⋅ p 𝒮 log 2 p 𝒮). ∎ T(|\mathcal{S}|,k^{\ast})=O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}}).\qed
令 \(T(|\mathcal{S}|,k^{\ast})\) 表示 \(\mathsf{Find}(\mathcal{S},k^{\ast})\) 的时间复杂度。首先,很容易看出,执行第 1-13、15-16 和 24-28 行需要 \(O(n\cdot|\mathcal{S}|)\) 时间。求解第 14 行中的线性规划需要 \(O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5})\) 时间 [9],执行第 18-23 行需要 \(O(|\mathcal{S}|\cdot 2^{k^{\ast}})=O(|\mathcal{S}|\cdot p_{\mathcal{S}})\) 时间。此外,执行第 17 行至多需要 \(2T(|\mathcal{S}|,k^{\ast}-1)\) 时间。因此我们有 \[ T(|\mathcal{S}|,k^{\ast})\leq 2T(|\mathcal{S}|,k^{\ast}-1)+O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}+|\mathcal{S}|\cdot p_{\mathcal{S}}). \] 通过求解上述递归式,我们得到 \[ T(|\mathcal{S}|,k^{\ast})=O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}}). \] ∎
行号范围、线性规划引用 [9]、递归式和最终复杂度均保留;将长公式拆为展示公式不改变含义。需注意递归求解中第二项按原文得到 \(|\mathcal{S}|\cdot p_{\mathcal{S}}\log_2 p_{\mathcal{S}}\),数学上是否可进一步收紧不在翻译范围内。未发现明显问题。
We present the evaluations of Algorithm 1 for time-sensitive networks to demonstrate optimality and high scalability.
我们给出针对时间敏感网络的算法 1 的评估,以展示其最优性和高可扩展性。
术语“time-sensitive networks”译为“时间敏感网络”,Algorithm 1 保留为“算法 1”;“optimality”和“high scalability”分别译为“最优性”和“高可扩展性”,未发现明显问题。
Qualitative Evaluations. The qualitative evaluations are conducted on a real-life TSN system equipped on a metro train, where sensors across the train collect the status data of the train and then send data to controllers, which in turn send commands to actuators to keep the state of the train close to the desired setpoint. The topology is described in Figure 4. Here, the controller is located in Carriage 1, and most of the streams go from the other carriages to Carriage 1 or in the reverse direction. To verify the optimality of Algorithm 1, we compared the schedules computed using Algorithm 1 to the ones generated by an SAT Modulo Theory (SMT) solver which exactly solves the SMT formulation of the corresponding problem [ 3 ]. Note that the SMT solver is poorly scalable and can only solve small instances with up to about 300 flows in 1 hour.
定性评估。定性评估是在一个真实生活中的 TSN 系统上进行的,该系统安装在一列地铁列车上;列车各处的传感器收集列车的状态数据,然后将数据发送给控制器,控制器进而向执行器发送命令,以使列车状态保持接近期望设定点。该拓扑如图 4 所述。这里,控制器位于车厢 1,并且大多数流从其他车厢到车厢 1,或沿相反方向传输。为验证算法 1 的最优性,我们将使用算法 1 计算得到的调度与由一个 SAT Modulo Theory(SMT)求解器生成的调度进行了比较;该求解器精确求解对应问题的 SMT 公式化形式 [3]。注意,SMT 求解器的可扩展性较差,在 1 小时内只能求解最多约 300 个流的小规模实例。
TSN、SMT 缩写已保留;“SAT Modulo Theory”通常也称“可满足性模理论”,此处保留英文全称和缩写以避免术语偏差;“flows”译为“流”,“streams”上下文中也可能译为“流”,需保持全文一致;数字“图 4”“车厢 1”“1 小时”“约 300 个流”和引用 [3] 均已保留。未发现明显问题。
We executed our evaluations in 10 practical scenarios on the topology in Figure 4 with respectively 3, 8, 40, 128, and 256 flows. We configured the SMT solver with a time limit of 1 hour for solving each scenario. Then we also run Algorithm 1 on the same instance. The evaluation shows that the SMT solver returns a no-wait scheduling if and only if Algorithm 1 returns one. Besides, the average execution time of the SMT solver on these instances is about 3 minutes, while Algorithm 1 solves these instances in 2 seconds on average.
我们在图 4 的拓扑上,于 10 个实际场景中执行了评估,这些场景分别具有 3、8、40、128 和 256 个流。我们为 SMT 求解器配置了 1 小时的时间限制,用于求解每个场景。然后,我们也在同一实例上运行算法 1。评估表明,当且仅当算法 1 返回一个无等待调度时,SMT 求解器也返回一个无等待调度。此外,SMT 求解器在这些实例上的平均执行时间约为 3 分钟,而算法 1 平均用 2 秒即可求解这些实例。
“if and only if”译为“当且仅当”,逻辑方向已保留;数字“10”“3、8、40、128、256”“1 小时”“3 分钟”“2 秒”均已保留。原文“10 practical scenarios”与列出的 5 种流数量之间存在上下文不完整的可能,可能每种流数量有多个场景,但段落本身未说明;不影响直译。
Scalability Evaluations. To determine the scalability of Algorithm 1, we measure the averaged execution times of Algorithm 1 with up to tens of thousands of flows on a personal computer (multi-processor machine (Intel(R) Core(TM) CPU i5- 12500H @ 2.50GHz) with 4P + 8E cores and 16 GB of memory). Precisely, we run Algorithm 1 on randomized instances with varying numbers of flows on the daisy-chain topology with varying lengths. The evaluation results show that Algorithm 1 can compute schedules for about 45,000 flows in only about 30 minutes.
可扩展性评估。为确定算法 1 的可扩展性,我们在一台个人计算机上测量算法 1 在最多达到数万个流时的平均执行时间;该个人计算机为多处理器机器(Intel(R) Core(TM) CPU i5-12500H @ 2.50GHz,具有 4P + 8E 核和 16 GB 内存)。具体而言,我们在随机化实例上运行算法 1,这些实例在具有不同长度的菊花链拓扑上具有不同数量的流。评估结果表明,算法 1 能够仅用约 30 分钟为约 45,000 个流计算出调度。
“Scalability Evaluations”译为“可扩展性评估”;硬件型号、频率、核心配置“4P + 8E”和内存“16 GB”均已保留;“daisy-chain topology”译为“菊花链拓扑”;“about 45,000 flows”“about 30 minutes”保留了约数含义。未发现明显问题。
In this paper, we propose an efficient algorithm to compute no-wait schedules on the daisy-chain topology, with a time complexity that scales polynomially in both the number of streams and the network size. The basic idea is to view the scheduling problem as a variant of graph coloring problem on the interval graphs. Our algorithm is proven to be optimal, and evaluations on real-life TSN systems justify the high scalability. In our future work, we plan to investigate other commonly used topologies, such as the star topology, cycle topology, and tree topology.
在本文中,我们提出了一种高效算法,用于在菊花链拓扑上计算无等待调度,其时间复杂度随流的数量和网络规模二者均呈多项式增长。基本思想是将该调度问题视为区间图上的图着色问题的一个变体。我们的算法被证明是最优的,并且在真实生活 TSN 系统上的评估证明了其高可扩展性。在未来工作中,我们计划研究其他常用拓扑,例如星形拓扑、环形拓扑和树形拓扑。
“no-wait schedules”译为“无等待调度”;“streams”在此译为“流”,与前文“flows”译法一致,但若全文区分 stream/flow,需人工统一术语;“polynomially”译为“呈多项式增长”;“interval graphs”译为“区间图”;拓扑名称均已保留准确。未发现明显问题。
中文逐段译稿
1] \orgdiv 深圳工业与应用数学国际中心,\orgname 深圳大数据研究院,\orgaddress \city 深圳,\country 中国
“lnternational”疑似应为“International”的 OCR 或录入错误;机构名称按语义译为“深圳工业与应用数学国际中心”。LaTeX 组织字段标记已保留。
2] \orgname 中国中车,株洲研究所,\orgaddress \city 株洲,\country 中国
CRRC 通常译为“中国中车”;“Zhuzhou Institute”可译为“株洲研究所”,但正式机构全称可能需要核对。未涉及数字、公式或缩写风险。
3] \orgname 天元智能研究院,\orgaddress \city 株洲,\country 中国
“Tengen Intelligence Institute”译为“天元智能研究院”存在正式名称核对风险;地名“Zhuzhou”译为“株洲”无明显问题。
4] \orgname 华南理工大学,\orgaddress \city 广州,\country 中国
机构、城市、国家译名均为通用正式译名;未发现明显问题。
MSC 分类]90B35,90C27,05C15
MSC 分类号已原样保留;缺少上下文但不影响本段翻译。未发现明显问题。
近年来,通信技术的快速进步已经革新了各个行业,使具有严格实时性要求的复杂系统得以发展。从工业自动化、车载通信和航空电子,到多媒体流传输和电信网络,对可靠且确定性的通信的需求正在不断增加,以确保关键数据能够及时交付。特别是,工业 4.0 范式的一个核心特征是网络化信息物理系统,其中计算机控制物理过程。因此,通常需要一种具有确定性有界网络时延和抖动的实时通信网络,以保证受控物理系统的运行。
“networked cyber-physical systems”译为“网络化信息物理系统”;“deterministically bounded network delay and jitter”译为“确定性有界网络时延和抖动”,保留了限定含义。逻辑关系“所以/因此”已保留;未发现明显问题。
时间敏感网络(Time-Sensitive Networking,TSN)已经作为一组标准出现,用以满足这些要求,并为以太网网络上的时间敏感应用提供统一解决方案。TSN 代表了传统以太网的一次重要演进;传统以太网最初主要是为尽力而为通信而设计的,并不提供任何关于时序或确定性的保证。TSN 是由电气与电子工程师协会(IEEE)802.1 工作组制定的一套标准,其主要目标是在以太网网络上实现确定性且可预测的通信。为实现这一目标,TSN 为传统以太网引入了若干特性和增强,包括时间同步、流量整形与调度,以及流预留。
“best-effort communication”译为“尽力而为通信”;“traffic shaping and scheduling”译为“流量整形与调度”;“stream reservation”译为“流预留”。IEEE 802.1 缩写和标准组织信息保留准确;未发现明显问题。
更具体地说,TSN 纳入了精确时钟同步协议,例如 IEEE 1588 [1] 或 IEEE802.1AS [2],以实现网络中交换机和终端站之间的紧密同步(最高可达纳秒级精度),这确保所有设备都能够协调其动作,并因此允许在整个交换网络中对流进行调度。终端站根据调度,在精确的预定时间点将数据流注入交换网络。随后,流经过交换机并到达各自的目的地。一个流的目的地必须是一个终端站。流的路由路径是输入中预定义的一部分,并且是固定的。交换机在每个出口端口上支持多个优先级队列。每个队列都有一个所谓的门,而该门处于打开还是关闭状态决定了该队列是否能够访问介质。一个出口端口上各个门的打开和关闭由所谓的门控列表(Gate Control List,GCL)控制,该列表同样是根据调度预先确定的。
“end stations”译为“终端站”;“switched network”译为“交换网络”;“egress port”译为“出口端口”;“medium”译为“介质”。“opening or closed”原文语法不一致,译为“打开还是关闭状态”。IEEE802.1AS 原文无空格,已保留。未发现明显问题。
然而,TSN 标准并不配置调度。事实上,围绕 TSN 的主要开放问题是,如何计算一个调度,使其协调所有流的注入时间以及交换机的 GCL,从而确保所有时间触发流量(亦称 scheduled traffic,即调度流量)所请求的实时性要求得到满足。事实表明,判定对于给定的一组流是否存在有效调度,是一个非常困难的组合优化问题:即使限制在多种特殊类别的实例上,它仍然是 NP-hard 的 [3]。文献中的调度算法可以分为精确方法和启发式方法。精确方法将调度问题表述为可满足性模理论(satisfiability modulo theory,SMT)问题、整数线性规划(integer linear programming,ILP)问题,或约束规划(constraint programming,CP)问题等,然后调用相应的求解器来寻找最优解。如果存在最优调度,精确方法会计算出该调度,但它们无法扩展到非常小的问题实例之外。除精确方法之外,已经开发出许多启发式算法,试图在短时间内找到相当好的调度,例如基于禁忌搜索 [4] 或模拟退火 [5] 的算法。然而,在通常情况下,启发式方法既不能推断一个问题实例是否不可行,也不能保证在解存在时找到一个解。关于 TSN 中调度算法的优秀综述,可参见例如 [3]。总之,现有调度算法要么可扩展性较差,要么是次优的。
“do not configure the scheduling”译为“并不配置调度”,含义略生硬但忠实。NP-hard、SMT、ILP、CP、GCL、scheduled traffic 均保留缩写或英文术语。“not scalable beyond very small problem instances”译为“无法扩展到非常小的问题实例之外”,保留了强限制含义。未发现明显问题。
与以往设计通用调度算法但没有理论保证的工作相比,本文采取了一种不同的方法:它旨在为一种特殊类型的场景开发具有理论保证的算法,然而这种场景仍然覆盖了现实生活场景中相当可观的一部分。准确地说,我们关注具有菊花链拓扑的 TSN 中时间触发流的无等待调度。
“general-purposed”译为“通用”;“theoretical guarantees”译为“理论保证”;“no-wait scheduling”译为“无等待调度”;“daisy-chain topology”译为“菊花链拓扑”。逻辑转折“however”已保留;未发现明显问题。
菊花链拓扑(亦称线型拓扑,示意图见图 1)是最常用的拓扑之一,也是实现起来最简单、成本最低的拓扑之一,并且可以在若干现实生活中的 TSN 系统中见到,例如列车上配备的 TSN 系统。
术语“daisy-chain topology”译为“菊花链拓扑”,“line topology”译为“线型拓扑”准确;“the ones equipped on trains”指列车上配备的 TSN 系统,逻辑无明显风险;图号保留正确。未发现明显问题。
在无等待调度中,不允许流在交换机中等待,并且交换机必须在接收到流之后立即将该流转发到下一个节点。无等待约束的基本理由是,由于不会发生排队时延,所有流的网络时延和抖动都会同时被最小化。无等待调度特别适合极高实时性要求。Durr 和 Nayak [4] 提出了一种禁忌搜索算法来计算无等待调度,其中他们将无等待调度问题建模为众所周知的无等待作业车间调度问题。Wang 等人 [6] 提出了一种用于无等待调度的强化学习方法,其中他们训练机器学习模型,目标是降低所有帧中的最大到达时间。上述两种方法都是启发式方法,因此在通常情况下是次优的。此外,它们无法扩展到中等规模以上的问题实例:[4] 中的方法需要约 3 小时来为约 1500 条流计算调度,而 [6] 中的方法在一个包含 9 台交换机和 10 个终端站的网络中,需要约 400 秒来为 100 条流计算调度。
“no-wait schedule/scheduling”统一译为“无等待调度”;“jitter”译为“抖动”;“maximum arrival time among all frames”译为“所有帧中的最大到达时间”,保留了指标含义;数字 3 小时、1500 条流、400 秒、100 条流、9 台交换机、10 个终端站均保留。作者名 Durr 可能原文应含变音符号 Dürr,但输入文本为 Durr,按输入保留;引用格式无风险。
我们的贡献。本文提出了一种高效算法(算法 1),该算法能够在菊花链拓扑(亦称线型拓扑)上最优地计算无等待调度。确切地说,给定一组要在具有菊花链拓扑的 TSN 中传输的流,如果存在无等待调度,算法 1 会返回一个无等待调度;否则会证明不存在这样的无等待调度,其时间复杂度为 \(O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}})\)。这里,\(|\mathcal{S}|\) 是流的数量,\(n\) 是菊花链的长度,\(p_{\mathcal{S}}\) 是 \(\mathcal{S}\) 中各流周期的最小公倍数(亦称 \(\mathcal{S}\) 的超周期)。基于一个现实生活中的 TSN 网络(包含 32 台交换机)的评估表明,算法 1 仅需约 30 分钟就能为约 45,000 条流计算调度。此外,如果我们只关心是否存在无等待调度,那么可以在 \(O(|\mathcal{S}|\cdot n)\) 时间内判定这一点(推论 4.6)。
复杂度公式按输入中的 LaTeX 规范形式保留;\(|\mathcal{S}|\)、\(n\)、\(p_{\mathcal{S}}\) 的定义完整;“hyperperiod”译为“超周期”准确;数字 32、45,000、30 分钟和推论 4.6 保留正确。输入中同一复杂度公式出现 OCR/渲染重复,译文采用清晰 LaTeX 形式,未改变含义。未发现明显问题。
我们的基本思想是,无等待调度问题可以被重新表述为一种图着色问题的变体,其中对每个顶点可用的颜色施加了一些限制。由于拓扑是菊花链,底层图是一个区间图。我们的主要技术部分是证明:对于区间图,这种图着色问题的变体可以在多项式时间内求解,尽管它对于一般图是 NP-hard 的。
“recast”译为“重新表述”;“graph coloring problem”译为“图着色问题”;“interval graph”译为“区间图”;“NP-hard”保留英文标准术语。逻辑关系“由于拓扑是菊花链,所以底层图是区间图”保留。未发现明显问题。
组织结构。本文其余部分安排如下。第 2 节提供与本文相关的 TSN 的若干细节,随后第 3 节给出一些记号和数学模型。第 4 节给出算法及其分析。第 5 节给出评估结果,并在第 6 节总结全文。
章节编号 2、3、4、5、6 保留正确;“notations”译为“记号”;“mathematical model”译为“数学模型”;“conclude the paper”译为“总结全文”符合论文语境。未发现明显问题。
根据 IEEE 802.1Qbv 标准,时间敏感网络由网络元素(即交换机和终端站)以及用于配置和管理网络的中央网络控制器(Central Network Controller, CNC)组成。本文聚焦于调度时间触发流量(亦称调度流量),其由具有硬实时要求的周期性数据流组成。一个时间触发流由其源设备、目的设备、路由路径、周期以及每个周期的数据量来指定。所有流的这些属性是调度算法输入的一部分。此外,每条流的源设备和目的设备都必须是终端站。
IEEE 802.1Qbv、CNC 缩写和展开保留;“network elements”译为“网络元素”;“end stations”译为“终端站”;“time-triggered traffic/scheduled traffic”译为“时间触发流量/调度流量”;“hard real-time requirements”译为“硬实时要求”。未发现明显问题。
TSN 中时间触发流的传输通过指定以下两项来调度:(i)每条流的注入时间,以及(ii)交换机每个出口端口的门控列表(Gate Control List, GCL)。确切地说,该调度会以周期方式执行不确定次数。一条流的注入时间是相对于调度周期开始时刻而言、该流被注入网络的相对时间。交换机的每个出口端口都有多个队列,并且每个队列都有一个所谓的门。当门处于打开状态时,队列中的数据会被纳入传输考虑。出口端口各个门的打开和关闭由 GCL 控制。一个 GCL 条目由两部分组成:一个时间区间 \([T_i,T_{i+1}]\),以及一个比特串,用于指示在时间区间 \([T_i,T_{i+1}]\) 中哪些门是打开的、哪些门是关闭的。通常,所有出口端口的 GCL 都被编程为与调度具有相同的周期。GCL 的示意见图 2。此外,与出口端口相反,入口端口能够同时接收多条流。
“transit”在此按“传输”处理;“injection time”译为“注入时间”;“egress port/ingress port”译为“出口端口/入口端口”;GCL 展开和缩写保留;区间公式 \([T_i,T_{i+1}]\) 保留正确。短语“considered for transmission”译为“纳入传输考虑”较直译但符合原意。未发现明显问题。
当我们将注意力限制在无等待调度上时,调度会被简化:我们只需要指定每条流的注入时间。确切地说,注意到流不能被调度为在关闭的门处等待,我们可以通过始终打开所有门来部署任何无等待调度。
“restrict our attention to”译为“将注意力限制在”;“closed gates”译为“关闭的门”;“opening all gates all the time”译为“始终打开所有门”。逻辑为无等待场景下无需配置 GCL 的关闭时段,只需注入时间。未发现明显问题。
在本文中,我们假设对于所有流和所有交换机,交换机转发该流所需的时间(即从交换机接收到该流的第一个比特开始,到下一个节点接收到第一个比特为止)相同,并设为 1 个单位时间。转发时间由传输时间和若干类型的时延组成,即信号沿链路传播的传播时延、用于决定应将传入分组转发到哪个端口的处理时延,以及分组在出口端口队列中的排队时延(在无等待调度中该时延为零)。由同一出口端口转发两条流的转发时间区间可能会有轻微重叠,但传输时间区间不能重叠,因为否则它们的电信号会相互干扰。这里,我们施加如下限制:由同一出口端口转发两条流的转发时间区间不得重叠。由于所有这些时延都远小于传输时间,这一被施加的限制只会使 TSN 的容量略有降低,却会使问题简单得多。最后,我们说明,相同转发时间这一假设是合理的,因为:(a)转发时间主要由分组大小和链路带宽决定;(b)在实际 TSN 中,分组大小通常彼此相近,链路带宽通常也彼此相近;并且(c)大分组可以被拆分为多个具有单位转发时间的小分组。
“forwarding time”译为“转发时间”,“transmission time”译为“传输时间”,两者区分清楚;“first bit”保留为“第一个比特”;“1 unit time”译为“1 个单位时间”;“decreasing little capacity of TSN”原文表达略不自然,译为“只会使 TSN 的容量略有降低”符合语义但建议人工留意原文措辞;(a)(b)(c)三点完整保留。因原句存在轻微语法/OCR 风险,需人工复核。
在本节中,我们给出具有菊花链拓扑的 TSN 的无等待调度问题的数学模型,并将其重新表述为一种图着色问题的变体,其中对每个顶点可用的颜色施加了一些限制(见定理 3.1)。
“mathematical model”译为“数学模型”;“recast it to a variant of graph coloring problem”译为“将其重新表述为一种图着色问题的变体”;定理 3.1 保留。未发现明显问题。
对于两个整数 \(a \leq b\),定义 \([a,b]:=\{a,a+1,\cdots,b\}\)。作为简写,我们用 \([n]\) 表示 \([1,n]=\{1,2,\cdots,n\}\)。图 1 展示了菊花链拓扑。在图 1 中,有 \(n\) 个交换机按顺序连接在一起,并从左到右命名为 \(\mathrm{SW}_{1},\mathrm{SW}_{2},\cdots,\mathrm{SW}_{n}\)。我们用 \(P_{i,i+1}\) 表示 \(\mathrm{SW}_{i}\) 的右侧出口端口,该端口将数据从 \(\mathrm{SW}_{i}\) 发送到 \(\mathrm{SW}_{i+1}\);用 \(P_{i,i-1}\) 表示 \(\mathrm{SW}_{i}\) 的左侧出口端口,该端口将数据从 \(\mathrm{SW}_{i}\) 发送到 \(\mathrm{SW}_{i-1}\)。令 \(\mathcal{E}[i]\) 表示与 \(\mathrm{SW}_{i}\) 直接连接的终端站集合。例如,在图 1 中,\(\mathcal{E}[1]=\{ES_{1},ES_{2}\}\),且 \(\mathcal{E}[2]=\{ES_{3},ES_{4},ES_{5}\}\)。
术语“daisy-chain topology”译为“菊花链拓扑”,“egress port”译为“出口端口”,“end station”译为“终端站”,符合 TSN 语境;集合区间、编号、端口方向、示例数字均已保留。未发现明显问题。
我们用 \(\mathcal{S}\) 表示待调度的数据流集合。对于一个流 \(s\in\mathcal{S}\),令 \(p_s\in\mathbb{N}\) 表示 \(s\) 的周期,即 \(s\) 的周期为 \(p_s\) 个时间单位,并定义 \(a_s,b_s\in[n]\),使得 \(s\) 从 \(\mathcal{E}[a_s]\) 中的一个终端站发送到 \(\mathcal{E}[b_s]\) 中的另一个终端站。我们关注满足 \(a_s\neq b_s\) 的流。根据 \(a_s>b_s\) 是否成立,我们将 \(\mathcal{S}\) 分成两组:(i)一组由所有从右向左传输的流 \(s\in\mathcal{S}\) 组成,即 \(a_s>b_s\);以及(ii)另一组由所有沿相反方向传输的流 \(s\in\mathcal{S}\) 组成,即 \(a_s<b_s\)。这两组的传输涉及不同的出口端口,因此可以分别调度。所以,为了便于表述,我们假设对于任意 \(s\in\mathcal{S}\),都有 \(a_s<b_s\)。注意,\(s\) 将按顺序经过出口端口 \(P_{a_s,a_s+1},P_{a_s+1,a_s+2},\cdots,P_{b_s-1,b_s}\)。
逻辑关系“根据是否 \(a_s>b_s\)”以及两类方向划分已保留;“reverse direction”结合前文译为“相反方向”,对应从左到右,即 \(a_s<b_s\)。公式、端口序列和假设 \(a_s<b_s\) 均完整。未发现明显问题。
一组由所有从右向左传输的流 \(s\in\mathcal{S}\) 组成,即 \(a_s>b_s\);并且
该段看起来是 P022 中枚举项的重复拆分片段,句子以“并且”结尾,可能由 PDF/JSON 分块导致上下文不完整;公式和方向关系已保留。
另一组由所有沿相反方向传输的流 \(s\in\mathcal{S}\) 组成,即 \(a_s<b_s\)。
该段看起来是 P022 中枚举项的重复拆分片段;“相反方向”需依赖上一段“从右向左”的上下文,实际对应从左向右。未发现公式或数字问题。
令 \(p_{\mathcal{S}}\) 表示 \(\mathcal{S}\) 的超周期,其定义为 \(\mathcal{S}\) 中各流周期的最小公倍数 \(\mathsf{LCM}(p_s:s\in\mathcal{S})\)。无等待调度以超周期 \(p_{\mathcal{S}}\) 作为其周期来周期性执行。对于 \(\mathcal{S}\) 的一个调度,包含 \(p_{\mathcal{S}}/p_s\) 个 \(s\) 的副本,每个副本都以该超周期作为其周期。
“hyperperiod”译为“超周期”,“replications”译为“副本”;\(\mathsf{LCM}\)、\(p_{\mathcal{S}}/p_s\) 等公式已保留。最后一句英文“each having the hyperperiod as its period”语义略显别扭,按原意直译;未发现明显问题。
对于每个流 \(s\in\mathcal{S}\),我们将其关联到一个区间 \(\mathcal{I}_s:=[a_s,b_s-1]\)。此外,我们将 \(\mathcal{S}\) 关联到一个无向图 \(G_{\mathcal{S}}\),该图(i)对每个流 \(s\in\mathcal{S}\) 都有一个顶点 \(v_s\),并且(ii)当且仅当 \(\mathcal{I}_s\cap\mathcal{I}_{s'}\neq\emptyset\) 时,存在一条边 \((v_s,v_{s'})\),也就是说,\(s\) 和 \(s'\) 的传输会使用一个共同的出口端口。一个有用的观察是,\(G_{\mathcal{S}}\) 是一个区间图。另外,我们将 \(\mathcal{S}\) 关联到另一个无向图 \(G^{\star}_{\mathcal{S}}\),该图(i)对于每个流 \(s\in\mathcal{S}\),都有 \(p_{\mathcal{S}}/p_s\) 个顶点 \(v_s^1,\cdots,v_s^{p_{\mathcal{S}}/p_s}\),并且(ii)当且仅当 \(\mathcal{I}_s\cap\mathcal{I}_{s'}\neq\emptyset\) 时,存在一条边 \((v_s^i,v_{s'}^j)\)。换言之,\(G_{\mathcal{S}}^{\star}\) 是通过将 \(G_{\mathcal{S}}\) 中每个 \(v_s\) 复制 \(p_{\mathcal{S}}/p_s\) 次而得到的。注意,\(G^{\star}_{\mathcal{S}}\) 也是一个区间图。关于 \(G_{\mathcal{S}}\) 和 \(G^{\star}_{\mathcal{S}}\) 的示例,见图 3(c)-(d)。
图定义、充要条件“当且仅当”、交集非空、复制次数 \(p_{\mathcal{S}}/p_s\) 均已保留。“interval graph”译为“区间图”。边 \((v_s^i,v_{s'}^j)\) 的条件未显式限制 \(i,j\),按原文保留。未发现明显问题。
对于每个流 \(s\in\mathcal{S}\),都有一个顶点 \(v_s\),并且
该段是 P026 中图 \(G_{\mathcal{S}}\) 定义的枚举项拆分片段,句子以“并且”结尾,上下文不完整;符号 \(v_s\) 和 \(s\in\mathcal{S}\) 已保留。
当且仅当 \(\mathcal{I}_s\cap\mathcal{I}_{s'}\neq\emptyset\) 时,存在一条边 \((v_s,v_{s'})\),也就是说,\(s\) 和 \(s'\) 的传输会使用一个共同的出口端口。
该段是 P026 中图 \(G_{\mathcal{S}}\) 定义的枚举项拆分片段;充要条件、交集非空、公共出口端口含义均已保留。未发现明显问题。
对于每个流 \(s\in\mathcal{S}\),都有 \(p_{\mathcal{S}}/p_s\) 个顶点 \(v_s^1,\cdots,v_s^{p_{\mathcal{S}}/p_s}\),并且
该段是 P026 中图 \(G^{\star}_{\mathcal{S}}\) 定义的枚举项拆分片段,句子以“并且”结尾,上下文不完整;复制顶点数量和上标范围已保留。
当且仅当 \(\mathcal{I}_s\cap\mathcal{I}_{s'}\neq\emptyset\) 时,存在一条边 \((v_s^i,v_{s'}^j)\)。
该段是 P026 中图 \(G^{\star}_{\mathcal{S}}\) 定义的枚举项拆分片段;边定义和交集非空条件已保留。由于缺少 P029 的直接完整上下文,索引 \(i,j\) 的范围未在本段出现,需结合前后文确认。
一个无等待调度可以用甘特图进行图形化描述(示例见图 3(e))。具体而言,在甘特图中,• 横轴对应时间,并被划分为长度为 1 个单位时间的时隙。回忆一下,1 个单位时间是交换机转发一个流所需的时间。• 纵轴对应于这 \(n-1\) 个出口端口 \(P_{1,2},P_{2,3},\cdots,P_{n-1,n}\)。• 一个流 \(s\) 对应于 \(b_s-a_s\) 条水平条,每条持续 1 个单位时间,并且从左到右逐级向下(示例见图 3(h))。“无等待”限制对应于前一条水平条的完成时间同时也是下一条水平条的开始时间。该甘特图可以看作一个 \((n-1)\times\infty\) 维的表。我们按照图 3(f) 所示的方式将该表划分为若干平行四边形:每个平行四边形由 \(p_{\mathcal{S}}\) 层组成,并且每一层被定义为一个向下阶梯(图 3(g) 绘制了一层)。一个关键观察是,一个流的所有水平条都只包含在同一层中。因此,无等待调度等价于在约束条件下,将给定的一组向下阶梯形水平条(例如图 3(h) 中的“tiles”)打包进一个平行四边形;该约束为:对于所有 \(s\) 和 \(i\in[p_{\mathcal{S}}/p_s]\),在第 \(((i-1)\cdot p_s+1)\) 层到第 \((i\cdot p_s)\) 层之间存在 \(s\) 的一个副本。例如,图 3(e) 成功地将图 3(h) 中的“titles”打包进一个平行四边形,因此存在一个无等待调度。
术语“Gantt chart”译为“甘特图”,“egress ports”译为“出口端口”,“replication”译为“副本”。公式、编号、层范围和引用均已保留。原文中同时出现 “tiles” 与 “titles”,后者很可能是识别或排版错误;由于可能影响图示对象理解,需人工核对。P031 还包含项目符号内容,而 P032-P034 又分别重复这些项目,疑似抽取重复,但按输入逐段保留。
横轴对应时间,并被划分为长度为 1 个单位时间的时隙。回忆一下,1 个单位时间是交换机转发一个流所需的时间。
数字“1”、术语“时隙”和“流”保留准确。未发现明显问题。
纵轴对应于这 \(n-1\) 个出口端口 \(P_{1,2},P_{2,3},\cdots,P_{n-1,n}\)。
公式中的端口序列和 \(n-1\) 数量关系已保留。未发现明显问题。
一个流 \(s\) 对应于 \(b_s-a_s\) 条水平条,每条持续 1 个单位时间,并且从左到右逐级向下(示例见图 3(h))。“无等待”限制对应于前一条水平条的完成时间同时也是下一条水平条的开始时间。
保留了 \(s\)、\(b_s-a_s\)、1 个单位时间和图 3(h)。逻辑上“完成时间同时也是开始时间”准确表达 no-wait 约束。未发现明显问题。
受甘特图描述的启发,无等待调度可以被重新表述为图着色问题的一个变体,其中对每个顶点可用的颜色施加了一些限制。准确地说,回忆一下,图 \(G=(V,E)\) 的一个正常 \(q\)-着色是函数 \(C:V\rightarrow[q]\),使得任意两个相邻顶点不共享同一种颜色,也就是说,对于任意 \((v,v^{\prime})\in E\),都有 \(C(v)\neq C(v^{\prime})\)。对于 \(G_{\mathcal{S}}^{\star}\) 的一个正常 \(p_{\mathcal{S}}\)-着色,如果对每个 \(s\in\mathcal{S}\) 以及每个 \(i\in[p_{\mathcal{S}}/p_s]\),都有 \(C(v_s^i)\in[(i-1)\cdot p_s+1,i\cdot p_s]\),则我们称它为好的着色。假设 \(G_{\mathcal{S}}^{\star}\) 承认一个好的 \(p_{\mathcal{S}}\)-着色 \(C\)。那么,我们可以通过将 \(s\) 的第 \(i\) 个副本放置在该平行四边形的第 \(C(v_s^i)\) 层中,得到一个无等待调度。另一方面,假设 \(\mathcal{S}\) 承认一个无等待调度,那么我们可以通过将 \(C(v_s^i)\) 设置为包含 \(s\) 的第 \(i\) 个副本的那一层的编号,得到 \(G_{\mathcal{S}}^{\star}\) 的一个好的 \(p_{\mathcal{S}}\)-着色 \(C\)。总之,我们有如下定理。
“proper coloring”译为“正常着色”,在图论中也常译为“正常/恰当/合法着色”,需与全文术语统一。保留了 \(C:V\rightarrow[q]\)、边集条件、颜色区间和双向构造逻辑。未发现明显公式遗漏。
对于 \(\mathcal{S}\),存在一个无等待调度,当且仅当 \(G_{\mathcal{S}}^{\star}\) 存在一个好的 \(p_{\mathcal{S}}\)-着色。此外,可以很容易地从一个好的 \(p_{\mathcal{S}}\)-着色得到一个无等待调度。
“if and only if”译为“当且仅当”,定理双向关系明确。术语与 P035 保持一致。未发现明显问题。
根据定理 3.1,无等待调度问题等价于寻找 \(G_{\mathcal{S}}^{\star}\) 的一个好的 \(p_{\mathcal{S}}\)-着色。在本节中,我们提出一种高效算法来求解这一图着色问题变体,其时间复杂度同时随流的数量和网络规模呈多项式增长。
保留定理编号 3.1、图 \(G_{\mathcal{S}}^{\star}\) 和 \(p_{\mathcal{S}}\)-着色。复杂度表述“scales polynomially in both...”已译为“同时随……呈多项式增长”。未发现明显问题。
我们首先考虑一个最简单情形,即所有流具有相同的周期,也就是说,对任意 \(s\in\mathcal{S}\),都有 \(p_s=p_{\mathcal{S}}\)。在这种情况下,\(G_{\mathcal{S}}^{\star}\) 退化为 \(G_{\mathcal{S}}\),并且 \(G_{\mathcal{S}}\) 的每一个正常 \(p_s\)-着色都是好的。因此,无等待调度问题进一步化简为寻找 \(G_{\mathcal{S}}\) 的一个正常 \(p_s\)-着色。回忆一下,\(G_{\mathcal{S}}\) 是一个区间图。尽管对于一般图和一般 \(q\),\(q\)-着色问题是一个著名的 NP 完全问题,但对于区间图,它可以通过贪心算法在线性时间内求解 [7]。因此,当所有流具有相同周期时,无等待调度问题可以在线性时间内求解,即时间为 \(O(|\mathcal{S}|\log|\mathcal{S}|)\)。
“baby case”按语义译为“最简单情形”。保留了 \(p_s=p_{\mathcal{S}}\)、\(G_{\mathcal{S}}^{\star}\) 到 \(G_{\mathcal{S}}\) 的退化、NP 完全、区间图和引用 [7]。末句原文称“linear time, i.e., \(O(|\mathcal{S}|\log|\mathcal{S}|)\) time”,严格说 \(O(n\log n)\) 不是线性时间,可能涉及排序预处理或原文表述不严,需人工复核。
现在,我们考虑一般情形,其中流具有不同的周期。在这里,我们施加如下条件:每个 \(p_s\) 必须是 2 的幂,也就是说,对某个非负整数 \(k\),有 \(p_s=2^k\)。一方面,这一施加的限制并不会损失太多一般性,因为任意 \(p_s\in\mathbb{N}\) 都可以用某个 \(2^k\) 近似到至多 \(2\approx1.414\) 的因子范围内。另一方面,这一施加的限制似乎使无等待调度问题变得可处理:在这一施加的限制下,无等待调度问题可以被高效求解(如我们稍后将看到的),而我们不知道、也尚未提出任何算法,能够针对一般的 \(p_s\) 计算无等待调度,并且其时间复杂度同时随流的数量和网络规模呈多项式增长。
保留了 \(p_s=2^k\)、\(k\) 为非负整数、\(p_s\in\mathbb{N}\) 和复杂度限定。原文出现“factor at most \(2\approx1.414\sqrt{2}\approx1.414\)”式的识别混乱:数学上 \(2\neq1.414\),\(1.414\) 对应 \(\sqrt{2}\)。此处按原文可见顺序保留为“至多 \(2\approx1.414\)”但明显存在公式/识别风险。
在下文中,我们给出我们的调度算法。我们首先引入一些记号。定义 \(k^{\ast}:=\max_{s\in\mathcal{S}}\log_2 p_s\)。注意,\(k^{\ast}\) 是一个非负整数,并且超周期 \(p_{\mathcal{S}}=2^{k^{\ast}}\)。对于 \(0\leq k\leq k^{\ast}\),令 \(\mathcal{S}_k=\{s\in\mathcal{S}\mid p_s=2^k\}\) 表示 \(\mathcal{S}\) 中由所有周期为 \(2^k\) 的流组成的子集。定义 \(\mathcal{S}_{\leq k}=\mathcal{S}_1\cup\cdots\cup\mathcal{S}_k\)。注意,\(\mathcal{S}=\mathcal{S}_1\cup\mathcal{S}_2\cup\cdots\cup\mathcal{S}_{k^{\ast}}=\mathcal{S}_{\leq k^{\ast}}\)。
记号 \(k^{\ast}\)、\(\log_2 p_s\)、超周期 \(p_{\mathcal{S}}\)、集合 \(\mathcal{S}_k\) 和 \(\mathcal{S}_{\leq k}\) 均已保留。存在潜在下标风险:前文允许 \(0\leq k\leq k^{\ast}\) 且 \(p_s=2^k\),但后文并集从 \(\mathcal{S}_1\) 开始而非 \(\mathcal{S}_0\),若存在周期 \(2^0=1\) 的流则可能遗漏;需核对原论文是否有隐含周期下界或 OCR 错误。
给定 $\mathcal{S}_{k^{\ast}}$ 的一个划分 $\mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b}$,其中 $\mathcal{S}_{k^{\ast}}^{a}\cap\mathcal{S}_{k^{\ast}}^{b}=\emptyset$,我们定义 $\mathcal{S}^{a}:=\mathcal{S}_{\leq k^{\ast}-1}\cup\widehat{\mathcal{S}_{k^{\ast}}^{a}}$(1),以及 $\mathcal{S}^{b}:=\mathcal{S}_{\leq k^{\ast}-1}\cup\widehat{\mathcal{S}_{k^{\ast}}^{b}}$(2)。这里,$\widehat{\mathcal{S}_{k^{\ast}}^{a}}$(以及相应地 $\widehat{\mathcal{S}_{k^{\ast}}^{b}}$)是通过把 $\mathcal{S}_{k^{\ast}}^{a}$(以及相应地 $\mathcal{S}_{k^{\ast}}^{b}$)中流的周期从 $2^{k^{\ast}}$ 改为 $2^{k^{\ast}-1}$ 而得到的。例如,如果 $\mathcal{S}_{k^{\ast}}^{a}$ 包含一个流 $s$,且 $(a_{s},b_{s},p_{s})=(1,4,2^{k^{\ast}})$,那么 $\widehat{\mathcal{S}_{k^{\ast}}^{a}}$ 包含一个流 $\hat{s}$,且 $(a_{\hat{s}},b_{\hat{s}},p_{\hat{s}})=(1,4,2^{k^{\ast}-1})$。注意,$\mathcal{S}^{a}$ 和 $\mathcal{S}^{b}$ 的超周期是 $2^{k^{\ast}-1}$,而不是 $2^{k^{\ast}}$。
术语“partition”译为“划分”,“hyperperiods”译为“超周期”;集合符号、交集为空、周期从 $2^{k^{\ast}}$ 改为 $2^{k^{\ast}-1}$、示例三元组均已保留。输入中公式有 OCR 重复展示,但语义可还原。未发现明显问题。
此外,我们可以定义 $G_{\mathcal{S}^{a}}^{\star}$ 和 $G_{\mathcal{S}^{b}}^{\star}$。注意,对于 $\widehat{\mathcal{S}_{k^{\ast}}^{a}}$ 或 $\widehat{\mathcal{S}_{k^{\ast}}^{b}}$ 中的 $s$,$G_{\mathcal{S}^{a}}^{\star}$ 和 $G_{\mathcal{S}^{b}}^{\star}$ 恰好各有一个顶点 $v_{s}^{1}$。我们有如下引理。
“vertex”译为“顶点”,“lemma”译为“引理”;“exactly one”译为“恰好各有一个”。需注意原文表述为两个图分别对应各自集合中的流,译文按此含义处理。未发现明显问题。
当且仅当存在一个划分 $\mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b}$,使得 $G_{\mathcal{S}^{a}}^{\star}$ 和 $G_{\mathcal{S}^{b}}^{\star}$ 都承认良好的 $(p_{\mathcal{S}}/2)$-着色时,$G_{\mathcal{S}}^{\star}$ 承认一个良好的 $p_{\mathcal{S}}$-着色。
“admits a good coloring”按图论习惯译为“承认良好的……着色”;双向条件“if and only if”已保留。未发现明显问题。
一方面,假设 $C:V\left(G_{\mathcal{S}}^{\star}\right)\rightarrow\left[2^{k^{\ast}}\right]$ 是 $G_{\mathcal{S}}^{\star}$ 的一个良好的 $2^{k^{\ast}}$-着色。注意,对于每个 $s\in\mathcal{S}_{k^{\ast}}$,$G_{\mathcal{S}}^{\star}$ 恰好有一个顶点 $v_{s}^{1}$。根据 $C(v_{s}^{1})$ 属于 $[1,2^{k^{\ast}-1}]$ 还是属于 $[2^{k^{\ast}-1}+1,2^{k^{\ast}}]$,我们得到一个划分 $\mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b}$,其中 $\mathcal{S}_{k^{\ast}}^{a}=\left\{s\in\mathcal{S}_{k^{\ast}}\mid C(v_{s}^{1})\in\left[1,2^{k^{\ast}-1}\right]\right\}$,并且 $\mathcal{S}_{k^{\ast}}^{b}=\left\{s\in\mathcal{S}_{k^{\ast}}\mid C(v_{s}^{1})\in\left[2^{k^{\ast}-1}+1,2^{k^{\ast}}\right]\right\}$。对于 $G_{\mathcal{S}^{a}}^{\star}$,我们如下定义一个着色 $C^{a}:V(G_{\mathcal{S}^{a}}^{\star})\rightarrow[1,2^{k^{\ast}-1}]$:对 $G_{\mathcal{S}^{a}}^{\star}$ 中的每个顶点 $v_{s}^{i}$,令 $C^{a}(v_{s}^{i})=C(v_{s}^{i})$。根据定义,可以容易地检查出 $C^{a}$ 是 $G_{\mathcal{S}^{a}}^{\star}$ 的良好 $2^{k^{\ast}-1}$-着色。对于 $G_{\mathcal{S}^{b}}^{\star}$,我们如下定义一个着色 $C^{b}:V(G_{\mathcal{S}^{b}}^{\star})\rightarrow[1,2^{k^{\ast}-1}]$:对于任意 $s\in\mathcal{S}_{\leq k^{\ast}-1}$ 和任意 $1\leq i\leq 2^{k^{\ast}-1}/p_{s}$,定义 $C^{b}(v_{s}^{i})=C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}$;这里,我们声称 $C^{b}(v_{s}^{i})$ 是非负的,因此是适当定义的。由于 $C$ 是良好着色,根据定义,对于每个 $s\in\mathcal{S}$ 和每个 $i\in[p_{\mathcal{S}}/p_{s}]$,都有 $C(v_{s}^{i})\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]$。特别地,$C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]$。对于任意 $s\in\mathcal{S}_{k^{\ast}}^{b}$,定义 $C^{b}(v_{s}^{1})=C(v_{s}^{1})-2^{k^{\ast}-1}$。根据定义,可以容易地检查出 $C^{b}$ 是 $G_{\mathcal{S}^{b}}^{\star}$ 的良好 $2^{k^{\ast}-1}$-着色。
该段包含证明的“一方面”方向,公式、区间端点、两个子集定义、两个着色定义均已保留。输入文本中项目符号内容与后续 P045、P046 重复,且原文写“nonnegative”但颜色范围实际为正区间;译文忠实保留为“非负”。未发现明显问题。
对于任意 $s\in\mathcal{S}_{\leq k^{\ast}-1}$ 和任意 $1\leq i\leq 2^{k^{\ast}-1}/p_{s}$,定义 $C^{b}(v_{s}^{i})=C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}$;这里,我们声称 $C^{b}(v_{s}^{i})$ 是非负的,因此是适当定义的。由于 $C$ 是良好着色,根据定义,对于每个 $s\in\mathcal{S}$ 和每个 $i\in[p_{\mathcal{S}}/p_{s}]$,都有 $C(v_{s}^{i})\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]$。特别地,$C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]$。
本段是 P044 中项目符号的一项重复抽取;仍按输入独立翻译。区间、索引平移 $(2^{k^{\ast}-1})/p_s$ 和减去 $2^{k^{\ast}-1}$ 均已保留。未发现明显问题。
对于任意 $s\in\mathcal{S}_{k^{\ast}}^{b}$,定义 $C^{b}(v_{s}^{1})=C(v_{s}^{1})-2^{k^{\ast}-1}$。
本段是 P044 中项目符号的一项重复抽取;集合上标 $b$、顶点 $v_s^1$、颜色偏移量均已保留。未发现明显问题。
另一方面,假设 $\mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b}$ 是 $\mathcal{S}_{k^{\ast}}$ 的一个划分,并且 $C^{a}$ 和 $C^{b}$ 分别是 $G_{\mathcal{S}^{a}}^{\star}$ 和 $G_{\mathcal{S}^{b}}^{\star}$ 的良好 $2^{k^{\ast}-1}$-着色。我们如下定义 $G_{\mathcal{S}}^{\star}$ 的一个着色:对于任意 $s\in\mathcal{S}_{\leq k^{\ast}-1}$ 和任意 $1\leq i\leq 2^{k^{\ast}}/p_{s}$,定义 \[ C(v_{s}^{i})= \begin{cases} C^{a}(v_{s}^{i}),&\text{如果 }1\leq i\leq\frac{2^{k^{\ast}-1}}{p_{s}};\\ C^{b}\left(v_{s}^{i-\frac{2^{k^{\ast}-1}}{p_{s}}}\right)+2^{k^{\ast}-1},&\text{如果 }\frac{2^{k^{\ast}-1}}{p_{s}}+1\leq i\leq\frac{2^{k^{\ast}}}{p_{s}}. \end{cases} \] 对于任意 $s\in\mathcal{S}_{k^{\ast}}^{a}$,定义 $C(v_{s}^{1})=C^{a}(v_{s}^{1})$;对于任意 $s\in\mathcal{S}_{k^{\ast}}^{b}$,定义 $C(v_{s}^{1})=C^{b}(v_{s}^{1})+2^{k^{\ast}-1}$。根据定义,可以检查出 $C$ 是 $G_{\mathcal{S}}^{\star}$ 的良好 $2^{k^{\ast}}$-着色。$\square$
该段包含证明的“另一方面”方向;分段函数的两个条件、索引偏移、颜色偏移、两个周期为 $2^{k^\ast}$ 与 $2^{k^\ast-1}$ 的着色均已保留。输入中项目符号与后续 P048-P050 重复,译文按本段完整内容处理。未发现明显问题。
对于任意 $s\in\mathcal{S}_{\leq k^{\ast}-1}$ 和任意 $1\leq i\leq 2^{k^{\ast}}/p_{s}$,定义 \[ C(v_{s}^{i})= \begin{cases} C^{a}(v_{s}^{i}),&\text{如果 }1\leq i\leq\frac{2^{k^{\ast}-1}}{p_{s}};\\ C^{b}\left(v_{s}^{i-\frac{2^{k^{\ast}-1}}{p_{s}}}\right)+2^{k^{\ast}-1},&\text{如果 }\frac{2^{k^{\ast}-1}}{p_{s}}+1\leq i\leq\frac{2^{k^{\ast}}}{p_{s}}. \end{cases} \]
本段是 P047 中分段定义的重复抽取;分段函数、上下界和偏移量均已保留。未发现明显问题。
对于任意 $s\in\mathcal{S}_{k^{\ast}}^{a}$,定义 $C(v_{s}^{1})=C^{a}(v_{s}^{1})$;
本段是 P047 中项目符号的一项重复抽取;集合 $\mathcal{S}_{k^\ast}^a$ 与顶点 $v_s^1$ 已保留。原文以分号结尾,译文保留该衔接语气。未发现明显问题。
对于任意 $s\in\mathcal{S}_{k^{\ast}}^{b}$,定义 $C(v_{s}^{1})=C^{b}(v_{s}^{1})+2^{k^{\ast}-1}$。
本段是 P047 中项目符号的一项重复抽取;集合 $\mathcal{S}_{k^\ast}^b$、顶点 $v_s^1$ 与颜色偏移 $+2^{k^\ast-1}$ 已保留。未发现明显问题。
对于 \(0\leq k\leq k^{\ast}\) 和 \(\ell\in[n-1]\),定义 \[ c_{k,\ell}:=2^{k-k^{\ast}}\cdot\left|\left\{v_s^i\in V(G_{\mathcal{S}}^{\star})\mid s\in\mathcal{S}_{\leq k}\text{ 且 }\ell\in\mathcal{I}_s\right\}\right| =\sum_{i=0}^{k}2^{k-i}\cdot|\{s\in\mathcal{S}_i\mid \ell\in\mathcal{I}_s\}|. \] 特别地, \[ c_{k^{\ast},\ell}=\left|\left\{v_s^i\in V(G_{\mathcal{S}}^{\star})\mid \ell\in\mathcal{I}_s\right\}\right|. \] 下面的定理是主要的技术部分。
术语 \(G_{\mathcal{S}}^{\star}\)、\(\mathcal{S}_{\leq k}\)、\(\mathcal{I}_s\)、\([n-1]\) 已保留;公式中原文存在 OCR 重复展示,已按 LaTeX 形式整合。需注意 \(v_s^i\) 中上标 \(i\) 在集合条件中未显式约束,保留原式含义。 **状态:** 已复核
\(G_{\mathcal{S}}^{\star}\) 存在一个良好的 \(p_{\mathcal{S}}\)-着色,当且仅当对于任意 \(\ell\in[n-1]\),都有 \[ c_{k^{\ast},\ell}\leq 2^{k^{\ast}}. \]
“admits”译为“存在”;“good \(p_{\mathcal{S}}\)-coloring”译为“良好的 \(p_{\mathcal{S}}\)-着色”。公式与量词“任意 \(\ell\in[n-1]\)”已保留。未发现明显问题。 **状态:** 已复核
证明通过对 \(k^{\ast}\) 进行归纳来完成。当 \(k^{\ast}=0\) 时,该定理是平凡的。根据归纳法,我们假设当 \(k^{\ast}=k'\) 时该定理成立,并且我们将要证明当 \(k^{\ast}=k'+1\) 时该定理成立。
归纳变量、基例 \(k^{\ast}=0\)、归纳假设 \(k^{\ast}=k'\) 与目标 \(k^{\ast}=k'+1\) 均已保留。未发现明显问题。 **状态:** 已复核
根据引理 4.1,\(G_{\mathcal{S}}^{\star}\) 存在一个良好的 \(2^{k^{\ast}}\)-着色,当且仅当存在一个划分 \[ \mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b}, \] 使得 \(G_{\mathcal{S}^{a}}^{\star}\) 和 \(G_{\mathcal{S}^{b}}^{\star}\) 都存在良好的 \(2^{k^{\ast}-1}\)-着色。记住,\(\mathcal{S}^{a}\) 和 \(\mathcal{S}^{b}\) 的超周期均为 \(2^{k^{\ast}-1}\)。因此,由归纳假设可知,\(G_{\mathcal{S}^{a}}^{\star}\) 存在一个良好的 \(2^{k^{\ast}-1}\)-着色,当且仅当对于任意 \(\ell\in[n-1]\),都有 \[ c_{k^{\ast}-1,\ell}+|\{s\in\mathcal{S}_{k^{\ast}}^{a}\mid \ell\in\mathcal{I}_s\}|\leq 2^{k^{\ast}-1}. \tag{3} \] 类似地,由归纳假设可知,\(G_{\mathcal{S}^{b}}^{\star}\) 存在一个良好的 \(2^{k^{\ast}-1}\)-着色,当且仅当对于任意 \(\ell\in[n-1]\),都有 \[ c_{k^{\ast}-1,\ell}+|\{s\in\mathcal{S}_{k^{\ast}}^{b}\mid \ell\in\mathcal{I}_s\}|\leq 2^{k^{\ast}-1}. \tag{4} \]
“hyperperiods”译为“超周期”;“partition”译为“划分”。原文中 “both ... admit” 后续动词有单复数不一致,译文按数学含义处理。公式 (3)、(4) 及所有集合条件已保留。未发现明显问题。 **状态:** 已复核
定义一个布尔向量 \[ \boldsymbol{x}=(x_s:s\in\mathcal{S}_{k^{\ast}}), \] 其中 \(x_s=0\) 表示 \(s\in\mathcal{S}_{k^{\ast}}^{a}\),而 \(x_s=1\) 表示 \(s\in\mathcal{S}_{k^{\ast}}^{b}\)。定义一个 \((n-1)\times|\mathcal{S}_{k^{\ast}}|\) 的布尔矩阵 \(A\),其中 \[ A[\ell,s]=1_{\ell\in\mathcal{I}_s}. \] 也就是说,如果 \(\ell\in\mathcal{I}_s\),则 \(A[\ell,s]=1\);否则 \(A[\ell,s]=0\)。注意, \[ A(\boldsymbol{1}-\boldsymbol{x}) =\left(|\{s\in\mathcal{S}_{k^{\ast}}^{a}\mid \ell\in\mathcal{I}_s\}|:\ell\in[n-1]\right) \] 并且 \[ A\boldsymbol{x} =\left(|\{s\in\mathcal{S}_{k^{\ast}}^{b}\mid \ell\in\mathcal{I}_s\}|:\ell\in[n-1]\right), \] 其中 \(\boldsymbol{1}\) 是全 1 向量。定义向量 \[ \boldsymbol{c}=(2^{k^{\ast}-1}-c_{k^{\ast}-1,\ell}:\ell\in[n-1]). \] 那么,(3) 和 (4) 可以分别改写为 \[ A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c} \] 和 \[ A\boldsymbol{x}\leq\boldsymbol{c}. \] 因此,我们得到以下断言。
“Boolean vector/matrix”译为“布尔向量/布尔矩阵”;指标函数 \(1_{\ell\in\mathcal{I}_s}\) 已保留。原文矩阵维度处出现 \(|S_{k^{\ast}}|\),应为 \(|\mathcal{S}_{k^{\ast}}|\),译文按上下文修正。未发现明显问题。 **状态:** 已复核
\(G_{\mathcal{S}}^{\star}\) 存在一个良好的 \(p_{\mathcal{S}}\)-着色,当且仅当 \[ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},\ A\boldsymbol{x}\leq\boldsymbol{c},\ \boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1},\ \boldsymbol{x}\in\mathbb{Z}\}\neq\emptyset. \]
保留了整数约束 \(\boldsymbol{x}\in\mathbb{Z}\)、上下界约束和两个线性不等式。这里 \(\boldsymbol{x}\in\mathbb{Z}\) 按原文保留,但严格写法可能应为 \(\boldsymbol{x}\in\mathbb{Z}^{|\mathcal{S}_{k^{\ast}}|}\)。 **状态:** 已复核
注意到 \(A\) 是一个连续 1 矩阵,也就是说,每一列中的 1 都是连续出现的,因此我们有 \(A\) 是一个全幺模矩阵 [8]。于是我们得到以下断言。
“consecutive-ones matrix”译为“连续 1 矩阵”;“totally unimodular matrix”译为“全幺模矩阵”;引用 [8] 已保留。未发现明显问题。 **状态:** 已复核
\[ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},\ A\boldsymbol{x}\leq\boldsymbol{c},\ \boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1},\ \boldsymbol{x}\in\mathbb{Z}\}\neq\emptyset \] 当且仅当 \[ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},\ A\boldsymbol{x}\leq\boldsymbol{c},\ \boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1}\}\neq\emptyset. \]
该段是整数可行性与线性松弛可行性的等价断言;两个集合中的约束差异仅为是否包含 \(\boldsymbol{x}\in\mathbb{Z}\),已准确保留。未发现明显问题。 **状态:** 已复核
下面的断言是关键性的。
“crucial”译为“关键性的”。未发现明显问题。 **状态:** 已复核
\[ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},\ A\boldsymbol{x}\leq\boldsymbol{c},\ \boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1}\}\neq\emptyset \] 当且仅当 \[ A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}. \]
保留了线性松弛可行性与条件 \(A\cdot\boldsymbol{1}\leq2\boldsymbol{c}\) 的等价关系。这里不等式应理解为按分量比较;原文未显式说明,译文未额外扩展。未发现明显问题。 **状态:** 已复核
为了便于表述,令 \(\mathcal{F}:=\{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},A\boldsymbol{x}\leq\boldsymbol{c},\boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1}\}\)。一方面,如果 \(A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}\),则 \(\frac{1}{2}\cdot\boldsymbol{1}\in\mathcal{F}\),因此 \(\mathcal{F}\neq\emptyset\)。另一方面,假设 \(\boldsymbol{x}^{\ast}\in\mathcal{F}\)。那么 \((\boldsymbol{1}-\boldsymbol{x}^{\ast})\in\mathcal{F}\)。因为 \(\mathcal{F}\) 是一个凸集,所以 \(\boldsymbol{x}^{\ast}/2+(\boldsymbol{1}-\boldsymbol{x}^{\ast})/2=\frac{1}{2}\cdot\boldsymbol{1}\in\mathcal{F}\),这意味着 \(A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}\)。∎
术语“convex set”译为“凸集”准确;\(\mathcal{F}\)、\(A\)、\(\boldsymbol{x}^{\ast}\)、\(\boldsymbol{c}\) 等符号保持一致;双向证明逻辑完整。未发现明显问题。
最后,\(A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}\) 意味着,对于任意 \(\ell\in[n-1]\),都有 \(|\{s\in\mathcal{S}_{k^{\ast}}\mid\ell\in\mathcal{I}_{s}\}|\leq 2^{k^{\ast}}-2c_{k^{\ast}-1,\ell}\)。这等价于说:对于任意 \(\ell\in[n-1]\),\(c_{k^{\ast},\ell}=2c_{k^{\ast}-1,\ell}+|\{s\in\mathcal{S}_{k^{\ast}}\mid\ell\in\mathcal{I}_{s}\}|\leq 2^{k^{\ast}}\)。结论立即由 Claims 4.3、4.4 和 4.5 得出。∎
原文中不等式排版疑似有 OCR 混杂,但根据后续等价式可校正为 \(2^{k^{\ast}}-2c_{k^{\ast}-1,\ell}\);Claim 编号和量词均保留。由于首个不等式来源文本存在排版识别风险,建议人工核对原 PDF。
一个基本事实是:区间图存在一个正常的 \(k\)-着色,当且仅当它不包含大小大于 \(k\) 的团。因此,\(G_{\mathcal{S}}^{\star}\) 存在一个正常的 \(2^{k^{\ast}}\)-着色,当且仅当对于任意 \(\ell\in[n-1]\),都有 \(c_{k^{\ast},\ell}\leq 2^{k^{\ast}}\)。所以,\(G_{\mathcal{S}}^{\star}\) 存在一个正常的 \(2^{k^{\ast}}\)-着色,当且仅当它存在一个好的 \(2^{k^{\ast}}\)-着色。
“proper coloring”译为“正常的着色”可理解,也可译作“合法着色”;“clique”译为“团”准确。公式和当且仅当关系完整。未发现明显问题。
注意,所有 \(c_{k^{\ast},\ell}=\sum_{i=0}^{k^{\ast}}2^{k^{\ast}-i}\cdot|\{s\in\mathcal{S}_{i}\mid\ell\in\mathcal{I}_{s}\}|\) 都可以在 \(O(|\mathcal{S}|\cdot n)\) 时间内计算出来。由 Theorem 4.2 和 3.1,我们有:
求和上下界、指数 \(k^{\ast}-i\)、集合条件 \(\ell\in\mathcal{I}_{s}\) 和复杂度均保留;段末引出定理陈述,冒号符合上下文。未发现明显问题。
是否存在针对 \(\mathcal{S}\) 的 no-wait 调度,可以在 \(O(|\mathcal{S}|\cdot n)\) 时间内判定。
“no-wait schedule”保留为“no-wait 调度”,避免术语歧义;复杂度和对象 \(\mathcal{S}\) 保持一致。未发现明显问题。
此外,如果针对 \(\mathcal{S}\) 存在 no-wait 调度,那么 Algorithm 2 中描述的过程 \(\mathsf{Find}(\mathcal{S},k^{\ast})\) 将返回 \(G_{\mathcal{S}}^{\star}\) 的一个好的 \(2^{k^{\ast}}\)-着色,其表示形式为字典 \(\{(v_{s}^{i},C(v_{s}^{i}))\}\)。给定 \(G_{\mathcal{S}}^{\star}\) 的一个好的 \(2^{k^{\ast}}\)-着色 \(C:V\left(G_{\mathcal{S}}^{\star}\right)\rightarrow\left[2^{k^{\ast}}\right]\),我们可以很容易地得到一个 no-wait 调度:将 \(s\) 的第 \(i\) 个复制放置在平行四边形的第 \(C(v_{s}^{i})\) 层中,也就是说,将 \(s\) 的第 \(i\) 个复制的注入时间设置为 \(C(v_{s}^{i})+a_{s}-1\)。
“replication”译为“复制”,与 \(v_s^i\) 的索引一致;“layer of the parallelogram”译为“平行四边形的层”,需依赖前文定义;注入时间公式 \(C(v_s^i)+a_s-1\) 保留无误。未发现明显问题。
Algorithm 1 在 \(O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}})\) 时间内求解 no-wait 调度问题。
时间复杂度中两项、指数 \(1.5\)、\(\log_2 p_{\mathcal{S}}\) 和 \(p_{\mathcal{S}}\) 均保留;“solves”译为“求解”准确。未发现明显问题。
我们首先证明 Algorithm 1 的正确性。由 Theorem 4.2 和 3.1,针对 \(\mathcal{S}\) 存在 no-wait 调度,当且仅当对于任意 \(\ell\in[n-1]\),都有 \(c_{k^{\ast},\ell}\leq 2^{k^{\ast}}\)。此外,根据 Theorem 4.2 的证明,可以很容易验证,如果存在 no-wait 调度,则过程 \(\mathsf{Find}(\mathcal{S},k^{\ast})\) 将返回一个 no-wait 调度。因此,如果存在 no-wait 调度,Algorithm 1 就返回一个 no-wait 调度;否则返回“no-wait schedules do not exist”。
正确性证明的“当且仅当”和“否则”逻辑完整;原文返回字符串保留英文以避免改变算法输出文本。未发现明显问题。
剩下的是分析 Algorithm 1 的时间复杂度。执行第 1-5 行需要 \(O(|\mathcal{S}|\cdot n)\) 时间。接下来,我们将证明运行过程 \(\mathsf{Find}(\mathcal{S},k^{\ast})\) 需要 \(O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}})\) 时间,然后完成证明。
“Lines 1-5”译为“第 1-5 行”;复杂度公式完整;段落逻辑为先扣除初始化再分析 Find。未发现明显问题。
令 \(T(|\mathcal{S}|,k^{\ast})\) 表示 \(\mathsf{Find}(\mathcal{S},k^{\ast})\) 的时间复杂度。首先,很容易看出,执行第 1-13、15-16 和 24-28 行需要 \(O(n\cdot|\mathcal{S}|)\) 时间。求解第 14 行中的线性规划需要 \(O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5})\) 时间 [9],执行第 18-23 行需要 \(O(|\mathcal{S}|\cdot 2^{k^{\ast}})=O(|\mathcal{S}|\cdot p_{\mathcal{S}})\) 时间。此外,执行第 17 行至多需要 \(2T(|\mathcal{S}|,k^{\ast}-1)\) 时间。因此我们有 \[ T(|\mathcal{S}|,k^{\ast})\leq 2T(|\mathcal{S}|,k^{\ast}-1)+O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}+|\mathcal{S}|\cdot p_{\mathcal{S}}). \] 通过求解上述递归式,我们得到 \[ T(|\mathcal{S}|,k^{\ast})=O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}}). \] ∎
行号范围、线性规划引用 [9]、递归式和最终复杂度均保留;将长公式拆为展示公式不改变含义。需注意递归求解中第二项按原文得到 \(|\mathcal{S}|\cdot p_{\mathcal{S}}\log_2 p_{\mathcal{S}}\),数学上是否可进一步收紧不在翻译范围内。未发现明显问题。
我们给出针对时间敏感网络的算法 1 的评估,以展示其最优性和高可扩展性。
术语“time-sensitive networks”译为“时间敏感网络”,Algorithm 1 保留为“算法 1”;“optimality”和“high scalability”分别译为“最优性”和“高可扩展性”,未发现明显问题。
定性评估。定性评估是在一个真实生活中的 TSN 系统上进行的,该系统安装在一列地铁列车上;列车各处的传感器收集列车的状态数据,然后将数据发送给控制器,控制器进而向执行器发送命令,以使列车状态保持接近期望设定点。该拓扑如图 4 所述。这里,控制器位于车厢 1,并且大多数流从其他车厢到车厢 1,或沿相反方向传输。为验证算法 1 的最优性,我们将使用算法 1 计算得到的调度与由一个 SAT Modulo Theory(SMT)求解器生成的调度进行了比较;该求解器精确求解对应问题的 SMT 公式化形式 [3]。注意,SMT 求解器的可扩展性较差,在 1 小时内只能求解最多约 300 个流的小规模实例。
TSN、SMT 缩写已保留;“SAT Modulo Theory”通常也称“可满足性模理论”,此处保留英文全称和缩写以避免术语偏差;“flows”译为“流”,“streams”上下文中也可能译为“流”,需保持全文一致;数字“图 4”“车厢 1”“1 小时”“约 300 个流”和引用 [3] 均已保留。未发现明显问题。
我们在图 4 的拓扑上,于 10 个实际场景中执行了评估,这些场景分别具有 3、8、40、128 和 256 个流。我们为 SMT 求解器配置了 1 小时的时间限制,用于求解每个场景。然后,我们也在同一实例上运行算法 1。评估表明,当且仅当算法 1 返回一个无等待调度时,SMT 求解器也返回一个无等待调度。此外,SMT 求解器在这些实例上的平均执行时间约为 3 分钟,而算法 1 平均用 2 秒即可求解这些实例。
“if and only if”译为“当且仅当”,逻辑方向已保留;数字“10”“3、8、40、128、256”“1 小时”“3 分钟”“2 秒”均已保留。原文“10 practical scenarios”与列出的 5 种流数量之间存在上下文不完整的可能,可能每种流数量有多个场景,但段落本身未说明;不影响直译。
可扩展性评估。为确定算法 1 的可扩展性,我们在一台个人计算机上测量算法 1 在最多达到数万个流时的平均执行时间;该个人计算机为多处理器机器(Intel(R) Core(TM) CPU i5-12500H @ 2.50GHz,具有 4P + 8E 核和 16 GB 内存)。具体而言,我们在随机化实例上运行算法 1,这些实例在具有不同长度的菊花链拓扑上具有不同数量的流。评估结果表明,算法 1 能够仅用约 30 分钟为约 45,000 个流计算出调度。
“Scalability Evaluations”译为“可扩展性评估”;硬件型号、频率、核心配置“4P + 8E”和内存“16 GB”均已保留;“daisy-chain topology”译为“菊花链拓扑”;“about 45,000 flows”“about 30 minutes”保留了约数含义。未发现明显问题。
在本文中,我们提出了一种高效算法,用于在菊花链拓扑上计算无等待调度,其时间复杂度随流的数量和网络规模二者均呈多项式增长。基本思想是将该调度问题视为区间图上的图着色问题的一个变体。我们的算法被证明是最优的,并且在真实生活 TSN 系统上的评估证明了其高可扩展性。在未来工作中,我们计划研究其他常用拓扑,例如星形拓扑、环形拓扑和树形拓扑。
“no-wait schedules”译为“无等待调度”;“streams”在此译为“流”,与前文“flows”译法一致,但若全文区分 stream/flow,需人工统一术语;“polynomially”译为“呈多项式增长”;“interval graphs”译为“区间图”;拓扑名称均已保留准确。未发现明显问题。
切换查看英文原文
1] \orgdiv Shenzhen lnternational Center For Industrial And Applied Mathematics, \orgname Shenzhen Research Institute of Big Data, \orgaddress \city Shenzhen, \country China
2] \orgname CRRC, Zhuzhou Institute, \orgaddress \city Zhuzhou, \country China
3] \orgname Tengen Intelligence Institute, \orgaddress \city Zhuzhou, \country China
4] \orgname South China University of Technology, \orgaddress \city Guangzhou, \country China
MSC Classification]90B35, 90C27, 05C15
In recent years, the rapid advancement of communication technologies has revolutionized various industries, enabling the development of complex systems with demanding real-time requirements. From industrial automation, in-vehicle communication, and avionics to multimedia streaming and telecommunication networks, there is an increasing need for reliable and deterministic communication to ensure the timely delivery of critical data. In particular, one central characterization of Industry 4.0 paradigm is networked cyber-physical systems, where computers control physical processes. So a real-time communication network with deterministically bounded network delay and jitter is usually needed to guarantee the physical system under control.
Time-Sensitive Networking (TSN) has emerged as a set of standards to address these requirements and provide a unified solution for time-sensitive applications over Ethernet networks. TSN represents a significant evolution of traditional Ethernet, which was primarily designed for best-effort communication without any guarantees on timing or determinism. TSN is a suite of standards developed by the Institute of Electrical and Electronics Engineers (IEEE) 802.1 working group, and its main objective is to enable deterministic and predictable communication over Ethernet networks. To achieve the objective, TSN introduces several features and enhancements to traditional Ethernet, including time synchronization, traffic shaping and scheduling, and stream reservation.
More specifically, TSN incorporates precise clock synchronization protocols, such as IEEE 1588 [ 1 ] or IEEE802.1AS [ 2 ], to achieve tight synchronization (up to nanoseconds precision) of switches and end stations in a network, which ensures that all the devices are able to coordinate their actions and thus allows scheduling of streams across the switched network. End stations inject data streams into the switched network at precise predetermined time points based on a schedule. Then streams pass through switches and reach their respective destinations. The destination of a stream must be an end station. The routing paths of streams are a predefined part of the input and are fixed. A switch supports multiple priority queues per egress port. Each queue has a so-called gate, and whether the gate is opening or closed determines whether this queue can access the medium. The opening and closing of the gates of an egress port are controlled by a so-called Gate Control List (GCL), which is also predetermined according to a schedule.
However, the standards of TSN do not configure the scheduling. In fact, it is the main open problem around TSN how to compute a schedule that coordinates the injection times for all streams and the GCLs of switches to ensure the requested real-time requirements of all time-triggered traffic (a.k.a. scheduled traffic) are met. It turns out that deciding whether there is a valid schedule for a given set of streams is a very difficult combinatorial optimization problem: it is NP-hard even when restricted to various special classes of instances [ 3 ]. The scheduling algorithms in the literature can be classified into exact approaches and heuristic approaches. The exact approaches express the scheduling problem as a satisfiability modulo theory (SMT) problem, an integer linear programming (ILP) problem, or a constraint programming (CP) problem, etc, and then invoke the corresponding solver to find the optimal solution. The exact approaches would compute an optimal schedule if one exists, but they are not scalable beyond very small problem instances. Besides the exact approaches, many heuristic algorithms have been developed to try to find reasonably good schedules within a short time, such as the algorithms based on Tabu search [ 4 ] or simulated annealing [ 5 ]. However, in the common case, the heuristic approaches cannot deduce whether a problem instance is infeasible, nor are guaranteed to find a solution if one exists. See e.g. [ 3 ] for an excellent survey of scheduling algorithms in TSN. In summary, the existing scheduling algorithms are either poorly scalable or suboptimal.
In contrast to previous works designing general-purposed scheduling algorithms but without theoretical guarantees, this paper takes a different approach: it aims to develop algorithms with theoretical guarantees for a special kind of scenarios, which however still covers a notable proportion of real-life scenarios. Precisely, we focus on no-wait scheduling of time-triggered streams in TSN with daisy-chain topology.
The daisy-chain topology (a.k.a. the line topology, see Figure 1 for an illustration) is one of the most commonly used topologies and also the simplest and cheapest topologies to implement, and can be found in several real-life TSN systems such as the ones equipped on trains.
In a no-wait schedule, streams are not allowed to wait in switches, and a switch must forward a stream to the next node immediately upon receiving the stream. The rationale of the no-wait constraint is that both the network delay and jitter of all streams are minimized simultaneously since no queuing delay occurs. No-wait schedules are particularly suitable for extremely high real-time requirements. Durr and Nayak [ 4 ] presented a Tabu Search algorithm to compute no-wait schedules, where they model the no-wait scheduling problem as the well-known no-wait job-shop scheduling problem. Wang et al. [ 6 ] proposed a reinforcement learning method for no-wait scheduling, where they train machine learning models aiming to reduce the maximum arrival time among all frames. Both of the above two methods are heuristic and thus are suboptimal in the common case. Moreover, they are not scalable beyond medium-size problem instances: the method in [ 4 ] needs about 3 hours to compute schedules for about 1500 streams, and the one in [ 6 ] needs about 400 seconds to compute schedules for 100 streams in a network with 9 switches and 10 end stations.
Our Contribution. In this paper, we propose an efficient algorithm (Algorithm 1) that optimally computes no-wait schedules on the daisy-chain topology (a.k.a. the line topology). Precisely, given a set of streams to be transmitted in TSN with a daisy-chain topology, Algorithm 1 returns a no-wait schedule if one exists or proves that no such no-wait schedules exist, in O ((n + | 𝒮 |) ⋅ | 𝒮 | 1.5 log 2 p 𝒮 + | 𝒮 | ⋅ p 𝒮 log 2 p 𝒮) O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}}) time. Here, | 𝒮 | |\mathcal{S}| is the number of streams, n n is the length of the daisy chain, and p 𝒮 p_{\mathcal{S}} is the least common multiple of the periods of streams in 𝒮 \mathcal{S} (a.k.a. hyperperiod of 𝒮 \mathcal{S}). Evaluations based on a real-life TSN network (with 32 switches) show that Algorithm 1 can compute schedules for about 45,000 flows in only about 30 minutes. Moreover, if we only care about whether there exist no-wait schedules or not, then it can be decided in O (| 𝒮 | ⋅ n) O(|\mathcal{S}|\cdot n) time (Corollary 4.6).
Our basic idea is that the no-wait scheduling problem can be recast as a variant of a graph coloring problem where some restrictions are imposed on the colors available for every vertex. Since the topology is the daisy chain, the underlying graph is an interval graph. Our main technical part is to show that this variant of graph coloring problem can be solved in polynomial time for interval graphs, though it is NP-hard for general graphs.
Organization. The rest of this paper is organized as follows. We provide some details about TSN relevant to this paper in Section 2, and then some notations and the mathematical model in Section 3. In Section 4, we present the algorithms and the analysis. We present evaluation results in Section 5, and conclude the paper in Section 6.
According to the IEEE 802.1Qbv standards, a Time-Sensitive Network consists of network elements (i.e., switches and end stations) and a Central Network Controller (CNC) for configuring and managing the network. In this paper, we focus on scheduling time-triggered traffic (a.k.a. scheduled traffic), which consists of periodic data streams with hard real-time requirements. A time-triggered stream is specified by its source device, destination device, routing path, period, and amount of data per period. These properties of all streams are a part of the input to scheduling algorithms. Besides, the source device and destination device of each stream must be end stations.
The transit of time-trigger streams in TSN is scheduled by specifying (i) the injection time of each stream and (ii) the Gate Control List (GCL) of each egress port of switches. Precisely, the schedule is executed periodically for an indefinite number of times. The injection time of a stream is the relative time to the start of the scheduled period to be injected into the network. Each egress port of a switch has multiple queues, and each queue has a so-called gate. When the gate is in the open state, data in the queue is considered for transmission. The opening and closing of the gates of an egress port are controlled by a GCL. A GCL entry consists of two parts: a time interval [ T i, T i + 1 ] [T_{i},T_{i+1}], and a bit string indicating which gates are open or closed in the time interval [ T i, T i + 1 ] [T_{i},T_{i+1}]. Typically, the GCLs of all egress ports are programmed with the same period as the schedule. See Figure 2 for an illustration of GCL. In addition, in contrast with egress ports, an ingress port is capable of receiving multiple streams simultaneously.
Scheduling would be simplified when we restrict our attention to no-wait scheduling: we only need to specify the injection time of each stream. Precisely, noting that streams cannot be scheduled to wait at closed gates, we can deploy any no-wait schedule by opening all gates all the time.
In this paper, we assume that for all streams and all switches, the time that the switch forwards the stream (i.e., from when the switch receives the first bit of the stream to when the next node receives the first bit) is the same and set to be 1 unit time. The forwarding time consists of transmission time and several types of delays, namely the propagation delay of signals along the link, the processing delay for deciding on which port to forward an incoming packet, and the queuing delay of a packet in the queue of an outgoing port (which is zero in no-wait schedules). The forwarding time interval of two streams by the same egress port could overlap slightly, but the transmission time interval must not since otherwise their electrical signals would interfere. Here, we impose that the forwarding time interval of two streams by the same egress port must not overlap. This imposed restriction will make things much simpler, with decreasing little capacity of TSN because all the delays are much smaller than the transmission time. Finally, we remark that the assumption of the same forwarding time is reasonable, since (a) the forwarding time is mainly determined by the packet size and the link bandwidth; (b) the packet sizes and the bandwidth of links respectively are usually similar in practical TSN; and (c) large packets can be split into multiple small unit-forwarding-time packets.
In this section, we present the mathematical model of the no-wait scheduling problem for TSN with a daisy-chain topology and recast it to a variant of graph coloring problem with some restrictions on the colors available for every vertex (see Theorem 3.1).
For two integers a ≤ b a\leq b, define [ a, b ]:= { a, a + 1 ⋯, b } [a,b]:=\{a,a+1\cdots,b\}. As shorthand, we write [ n ] [n] for [ 1, n ] = { 1, 2, ⋯, n } [1,n]=\{1,2,\cdots,n\}. Figure 1 illustrates the daisy-chain topology. In Figure 1, there are n n switches wired together in sequence, and named by SW 1, SW 2, ⋯, SW n \mathrm{SW}_{1},\mathrm{SW}_{2},\cdots,\mathrm{SW}_{n} from left to right. We use P i, i + 1 P_{i,i+1} to denote the right egress port of SW i \mathrm{SW}_{i}, which sends data from SW i \mathrm{SW}_{i} to SW i + 1 \mathrm{SW}_{i+1}, and use P i, i − 1 P_{i,i-1} to denote the left egress port of SW i \mathrm{SW}_{i}, which sends data from SW i \mathrm{SW}_{i} to SW i − 1 \mathrm{SW}_{i-1}. Let ℰ [ i ] \mathcal{E}[i] denote the set of end stations directly connected with SW i \mathrm{SW}_{i}. For example, in Figure 1, ℰ [ 1 ] = { E S 1, E S 2 } \mathcal{E}[1]=\{ES_{1},ES_{2}\} and ℰ [ 2 ] = { E S 3, E S 4, E S 5 } \mathcal{E}[2]=\{ES_{3},ES_{4},ES_{5}\}.
We use 𝒮 \mathcal{S} to denote the set of data streams to be scheduled. For a stream s ∈ 𝒮 s\in\mathcal{S}, let p s ∈ ℕ p_{s}\in\mathbb{N} denote the period of s s (i.e, the period of s s is p s p_{s} units time), and define a s, b s ∈ [ n ] a_{s},b_{s}\in[n] such that s s is sent from an end station in ℰ [ a s ] \mathcal{E}[a_{s}] to another one in ℰ [ b s ] \mathcal{E}[b_{s}]. We focus on streams where a s ≠ b s a_{s}\neq b_{s}. According to whether a s > b s a_{s}>b_{s} or not, we divide 𝒮 \mathcal{S} into two groups: (i) one group consists of all streams s ∈ 𝒮 s\in\mathcal{S} that goes from right to left, i.e., a s > b s a_{s}>b_{s}; and (ii) the other group consists of all streams s ∈ 𝒮 s\in\mathcal{S} that goes in the reverse direction, i.e., a s < b s a_{s}<b_{s}. Transmission of these two groups involves different egress ports and thus can be scheduled separately. So, for convenience of presentation, we assume a s < b s a_{s}<b_{s} for any s ∈ 𝒮 s\in\mathcal{S}. Note that s s will go through the egress ports P a s, a s + 1, P a s + 1, a s + 2, ⋯, P b s − 1, b s P_{a_{s},a_{s}+1},P_{a_{s}+1,a_{s}+2},\cdots,P_{b_{s}-1,b_{s}} in order.
one group consists of all streams s ∈ 𝒮 s\in\mathcal{S} that goes from right to left, i.e., a s > b s a_{s}>b_{s}; and
the other group consists of all streams s ∈ 𝒮 s\in\mathcal{S} that goes in the reverse direction, i.e., a s < b s a_{s}<b_{s}.
Let p 𝒮 p_{\mathcal{S}} denote the hyperperiod of 𝒮 \mathcal{S}, which is defined to be the least common multiple 𝖫𝖢𝖬 (p s: s ∈ 𝒮) \mathsf{LCM}(p_{s}:s\in\mathcal{S}) of the periods of streams in 𝒮 \mathcal{S}. A no-wait schedule is executed periodically with the hyperperiod p 𝒮 p_{\mathcal{S}} as its period. A schedule for 𝒮 \mathcal{S} contains p 𝒮 / p s p_{\mathcal{S}}/p_{s} replications of s s, each having the hyperperiod as its period.
For each stream s ∈ 𝒮 s\in\mathcal{S}, we associate it with an interval ℐ s:= [ a s, b s − 1 ] \mathcal{I}_{s}:=[a_{s},b_{s}-1]. Furthermore, we associate 𝒮 \mathcal{S} with an undirected graph G 𝒮 G_{\mathcal{S}} which (i) has a vertex v s v_{s} for each stream s ∈ 𝒮 s\in\mathcal{S} and (ii) has an edge (v s, v s ′) (v_{s},v_{s^{\prime}}) if and only if ℐ s ∩ ℐ s ′ ≠ ∅ \mathcal{I}_{s}\cap\mathcal{I}_{s^{\prime}}\neq\emptyset (i.e., the transmission of s s and s ′ s^{\prime} would use a common egress port). A useful observation is that G 𝒮 G_{\mathcal{S}} is an interval graph. In addition, we associate 𝒮 \mathcal{S} with another undirected graph G 𝒮 ⋆ G^{\star}_{\mathcal{S}} which (i) has p 𝒮 / p s p_{\mathcal{S}}/p_{s} vertices v s 1, ⋯, v s p 𝒮 / p s v_{s}^{1},\cdots,v_{s}^{p_{\mathcal{S}}/p_{s}} for each stream s ∈ 𝒮 s\in\mathcal{S} and (ii) has an edge (v s i, v s ′ j) (v^{i}_{s},v^{j}_{s^{\prime}}) if and only if ℐ s ∩ ℐ s ′ ≠ ∅ \mathcal{I}_{s}\cap\mathcal{I}_{s^{\prime}}\neq\emptyset. In other words, G 𝒮 ⋆ G_{\mathcal{S}}^{\star} is obtained from G 𝒮 G_{\mathcal{S}} by duplicating each v s v_{s} p 𝒮 / p s p_{\mathcal{S}}/p_{s} times. Note that G 𝒮 ⋆ G^{\star}_{\mathcal{S}} is also an interval graph. See Figure 3 (c)-(d) for an example of G 𝒮 G_{\mathcal{S}} and G 𝒮 ⋆ G^{\star}_{\mathcal{S}}.
has a vertex v s v_{s} for each stream s ∈ 𝒮 s\in\mathcal{S} and
has an edge (v s, v s ′) (v_{s},v_{s^{\prime}}) if and only if ℐ s ∩ ℐ s ′ ≠ ∅ \mathcal{I}_{s}\cap\mathcal{I}_{s^{\prime}}\neq\emptyset (i.e., the transmission of s s and s ′ s^{\prime} would use a common egress port).
has p 𝒮 / p s p_{\mathcal{S}}/p_{s} vertices v s 1, ⋯, v s p 𝒮 / p s v_{s}^{1},\cdots,v_{s}^{p_{\mathcal{S}}/p_{s}} for each stream s ∈ 𝒮 s\in\mathcal{S} and
has an edge (v s i, v s ′ j) (v^{i}_{s},v^{j}_{s^{\prime}}) if and only if ℐ s ∩ ℐ s ′ ≠ ∅ \mathcal{I}_{s}\cap\mathcal{I}_{s^{\prime}}\neq\emptyset.
A no-wait scheduling can be graphically described by a Gantt chart (see Figure 3 (e) for an example). Specifically, in the Gantt chart, • The horizontal axis corresponds to time and is divided into slots of 1 unit time. Recall that 1 unit time is the amount of time that a switch forwards a stream. • The vertical axis corresponds to the n − 1 n-1 egress ports P 1, 2, P 2, 3, ⋯, P n − 1, n P_{1,2},P_{2,3},\cdots,P_{n-1,n}. • A stream s s corresponds to b s − a s b_{s}-a_{s} horizontal bars, each lasting 1 unit time, stepping down from left to right (see Figure 3 (h) for examples). The “no-wait" restriction corresponds to that the finishing time of the previous bar is also the beginning time of the next bar. The Gantt chart can be viewed as a (n − 1) × ∞ (n-1)\times\infty dimensional table. We divide the table into parallelograms in the fashion shown in Figure 3 (f): each parallelogram consists of p 𝒮 p_{\mathcal{S}} layers, and each layer is defined to be a stepdown stair (Figure 3 (g) draws a layer). A crucial observation is that the bars of a stream are all contained in only one layer. So the no-wait scheduling is equivalent to packing the given set of stepdown-shape bars (e.g. the “tiles" in Figure 3 (h)) into a parallelogram, under the constraint that there is a replication of s s between the ((i − 1) ⋅ p s + 1) ((i-1)\cdot p_{s}+1) -th layer and the (i ⋅ p s) (i\cdot p_{s}) -th layer for all s s and i ∈ [ p 𝒮 / p s ] i\in[p_{\mathcal{S}}/p_{s}]. For example, Figure 3 (e) successfully packs the “titles" in Figure 3 (h) into a parallelogram, so a no-wait schedule exists.
The horizontal axis corresponds to time and is divided into slots of 1 unit time. Recall that 1 unit time is the amount of time that a switch forwards a stream.
The vertical axis corresponds to the n − 1 n-1 egress ports P 1, 2, P 2, 3, ⋯, P n − 1, n P_{1,2},P_{2,3},\cdots,P_{n-1,n}.
A stream s s corresponds to b s − a s b_{s}-a_{s} horizontal bars, each lasting 1 unit time, stepping down from left to right (see Figure 3 (h) for examples). The “no-wait" restriction corresponds to that the finishing time of the previous bar is also the beginning time of the next bar.
Inspired by the Gantt chart description, the no-wait scheduling can be recast in a variant of graph coloring problem where some restrictions are imposed on the colors available for every vertex. Precisely, recall that a proper q q -coloring of a graph G = (V, E) G=(V,E) is a function C: V → [ q ] C:V\rightarrow[q] such that no two adjacent vertices share the same color, i.e., C (v) ≠ C (v ′) C(v)\neq C(v^{\prime}) for any (v, v ′) ∈ E (v,v^{\prime})\in E. For a proper p 𝒮 p_{\mathcal{S}} -coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star}, we say it good if for each s ∈ 𝒮 s\in\mathcal{S} and each i ∈ [ p 𝒮 / p s ] i\in[p_{\mathcal{S}}/p_{s}], C (v s i) ∈ [ (i − 1) ⋅ p s + 1, i ⋅ p s ] C(v_{s}^{i})\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]. Suppose G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a good p 𝒮 p_{\mathcal{S}} -coloring C C. Then we can get a no-wait schedule by placing the i i -th replication of s s in the C (v s i) C(v_{s}^{i}) -th layer of the parallelogram. On the other hand, suppose 𝒮 \mathcal{S} admits a no-wait schedule, then we can obtain a good p 𝒮 p_{\mathcal{S}} -coloring C C of G 𝒮 ⋆ G_{\mathcal{S}}^{\star} by setting C (v s i) C(v_{s}^{i}) to be the number of the layer containing the i i -th replication of s s. In summary, we have the following theorem.
There exists a no-wait schedule for 𝒮 \mathcal{S} if and only if there is a good p 𝒮 p_{\mathcal{S}} -coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star}. Furthermore, a no-wait schedule can be easily obtained from a good p 𝒮 p_{\mathcal{S}} -coloring.
By Theorem 3.1, the no-wait scheduling problem is equivalent to finding a good p 𝒮 p_{\mathcal{S}} -coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star}. In this section, we present an efficient algorithm to solve this variant of graph coloring problem, whose time complexity scales polynomially in both the number of streams and the network size.
We first consider the baby case where all streams have the same period, i.e., p s = p 𝒮 p_{s}=p_{\mathcal{S}} for any s ∈ 𝒮 s\in\mathcal{S}. In this case, G 𝒮 ⋆ G_{\mathcal{S}}^{\star} reduces to G 𝒮 G_{\mathcal{S}}, and every proper p s p_{s} -coloring of G 𝒮 G_{\mathcal{S}} is good. So the no-wait scheduling problem further reduces to finding a proper p s p_{s} -coloring of G 𝒮 G_{\mathcal{S}}. Recall that G 𝒮 G_{\mathcal{S}} is an interval graph. While the q q -coloring problem is a famous NP-complete problem for general graphs and general q q, it can be solved by a greedy algorithm in linear time for interval graphs [ 7 ]. So when all streams have the same period, the no-wait scheduling problem can be solved in linear time, i.e., O (| 𝒮 | log | 𝒮 |) O(|\mathcal{S}|\log|\mathcal{S}|) time.
Now, we consider the general case, where streams have different periods. Here, we impose that each p s p_{s} must be a power of two, i.e., p s = 2 k p_{s}=2^{k} for some non-negative integer k k. On one hand, this imposed restriction does not lose much generality, since any p s ∈ ℕ p_{s}\in\mathbb{N} can be approximated by some 2 k 2^{k} up to factor at most 2 ≈ 1.414 \sqrt{2}\approx 1.414. On the other hand, it seems that this imposed restriction makes the no-wait scheduling problem tractable: the no-wait scheduling problem can be solved efficiently under this imposed restriction (as we will see later), whereas we are not aware of and haven’t come up with any algorithm computing no-wait schedules for general p s p_{s} with a time complexity that scales polynomially in both the number of streams and the network size.
In the following, we present our scheduling algorithm. We first introduce some notations. Define k ∗:= max s ∈ 𝒮 log 2 p s k^{\ast}:=\max_{s\in\mathcal{S}}\log_{2}p_{s}. Note that k ∗ k^{\ast} is a non-negative integer and the hyperperiod p 𝒮 = 2 k ∗ p_{\mathcal{S}}=2^{k^{\ast}}. For 0 ≤ k ≤ k ∗ 0\leq k\leq k^{\ast}, let 𝒮 k = { s ∈ 𝒮 ∣ p s = 2 k } \mathcal{S}_{k}=\{s\in\mathcal{S}\mid p_{s}=2^{k}\} denote the subset of 𝒮 \mathcal{S} consisting of all streams with period 2 k 2^{k}. Define 𝒮 ≤ k = 𝒮 1 ∪ ⋯ ∪ 𝒮 k \mathcal{S}_{\leq k}=\mathcal{S}_{1}\cup\cdots\cup\mathcal{S}_{k}. Note that 𝒮 = 𝒮 1 ∪ 𝒮 2 ∪ ⋯ ∪ 𝒮 k ∗ = 𝒮 ≤ k ∗ \mathcal{S}=\mathcal{S}_{1}\cup\mathcal{S}_{2}\cup\cdots\cup\mathcal{S}_{k^{\ast}}=\mathcal{S}_{\leq k^{\ast}}.
Given a partition 𝒮 k ∗ = 𝒮 k ∗ a ∪ 𝒮 k ∗ b \mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b} of 𝒮 k ∗ \mathcal{S}_{k^{\ast}}, where 𝒮 k ∗ a ∩ 𝒮 k ∗ b = ∅ \mathcal{S}_{k^{\ast}}^{a}\cap\mathcal{S}_{k^{\ast}}^{b}=\emptyset, we define 𝒮 a:= 𝒮 ≤ k ∗ − 1 ∪ 𝒮 k ∗ a ^ \mathcal{S}^{a}:=\mathcal{S}_{\leq k^{\ast}-1}\cup\widehat{\mathcal{S}_{k^{\ast}}^{a}} (1) and 𝒮 b:= 𝒮 ≤ k ∗ − 1 ∪ 𝒮 k ∗ b ^. \mathcal{S}^{b}:=\mathcal{S}_{\leq k^{\ast}-1}\cup\widehat{\mathcal{S}_{k^{\ast}}^{b}}. (2) Here, 𝒮 k ∗ a ^ \widehat{\mathcal{S}_{k^{\ast}}^{a}} (and 𝒮 k ∗ b ^ \widehat{\mathcal{S}_{k^{\ast}}^{b}} respectively) is obtained from 𝒮 k ∗ a \mathcal{S}_{k^{\ast}}^{a} (and 𝒮 k ∗ b \mathcal{S}_{k^{\ast}}^{b} respectively) by changing the period of its streams from 2 k ∗ 2^{k^{\ast}} to 2 k ∗ − 1 2^{k^{\ast}-1}. For example, if 𝒮 k ∗ a \mathcal{S}_{k^{\ast}}^{a} contains a stream s s with (a s, b s, p s) = (1, 4, 2 k ∗) (a_{s},b_{s},p_{s})=(1,4,2^{k^{\ast}}), then 𝒮 k ∗ a ^ \widehat{\mathcal{S}_{k^{\ast}}^{a}} contains a stream s ^ \hat{s} with (a s ^, b s ^, p s ^) = (1, 4, 2 k ∗ − 1) (a_{\hat{s}},b_{\hat{s}},p_{\hat{s}})=(1,4,2^{k^{\ast}-1}). Note that the hyperperiods of 𝒮 a \mathcal{S}^{a} and 𝒮 b \mathcal{S}^{b} are 2 k ∗ − 1 2^{k^{\ast}-1} rather than 2 k ∗ 2^{k^{\ast}}.
In addition, we can define G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} and G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star}. Note that G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} and G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star} have exactly one vertex v s 1 v_{s}^{1} for s s in 𝒮 k ∗ a ^ \widehat{\mathcal{S}_{k^{\ast}}^{a}} or 𝒮 k ∗ b ^ \widehat{\mathcal{S}_{k^{\ast}}^{b}}. We have the following lemma.
G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a good p 𝒮 p_{\mathcal{S}} -coloring if and only if there is a partition 𝒮 k ∗ = 𝒮 k ∗ a ∪ 𝒮 k ∗ b \mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b} such that both G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} and G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star} admit good (p 𝒮 / 2) (p_{\mathcal{S}}/2) -colorings.
On one hand, suppose C: V (G 𝒮 ⋆) → [ 2 k ∗ ] C:V\left(G_{\mathcal{S}}^{\star}\right)\rightarrow\left[2^{k^{\ast}}\right] is a good 2 k ∗ 2^{k^{\ast}} -coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star}. Note that G 𝒮 ⋆ G_{\mathcal{S}}^{\star} has exactly one vertex v s 1 v_{s}^{1} for each s ∈ 𝒮 k ∗ s\in\mathcal{S}_{k^{\ast}}. According to whether C (v s 1) C(v_{s}^{1}) is in [ 1, 2 k ∗ − 1 ] [1,2^{k^{\ast}-1}] or [ 2 k ∗ − 1 + 1, 2 k ∗ ] [2^{k^{\ast}-1}+1,2^{k^{\ast}}], we get a partition 𝒮 k ∗ = 𝒮 k ∗ a ∪ 𝒮 k ∗ b \mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b} where 𝒮 k ∗ a = { s ∈ 𝒮 k ∗ ∣ C (v s 1) ∈ [ 1, 2 k ∗ − 1 ] } \mathcal{S}_{k^{\ast}}^{a}=\left\{s\in\mathcal{S}_{k^{\ast}}\mid C(v_{s}^{1})\in\left[1,2^{k^{\ast}-1}\right]\right\} and 𝒮 k ∗ b = { s ∈ 𝒮 k ∗ ∣ C (v s 1) ∈ [ 2 k ∗ − 1 + 1, 2 k ∗ ] }. \mathcal{S}_{k^{\ast}}^{b}=\left\{s\in\mathcal{S}_{k^{\ast}}\mid C(v_{s}^{1})\in\left[2^{k^{\ast}-1}+1,2^{k^{\ast}}\right]\right\}. For G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star}, we define a coloring C a: V (G 𝒮 a ⋆) → [ 1, 2 k ∗ − 1 ] C^{a}:V(G_{\mathcal{S}^{a}}^{\star})\rightarrow[1,2^{k^{\ast}-1}] as follows: for each vertex v s i v_{s}^{i} in G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star}, let C a (v s i) = C (v s i) C^{a}(v_{s}^{i})=C(v_{s}^{i}). One can easily check that C a C^{a} is good 2 k ∗ − 1 2^{k^{\ast}-1} -coloring of G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} by definition. For G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star}, we define a coloring C b: V (G 𝒮 b ⋆) → [ 1, 2 k ∗ − 1 ] C^{b}:V(G_{\mathcal{S}^{b}}^{\star})\rightarrow[1,2^{k^{\ast}-1}] as follows: • for any s ∈ 𝒮 ≤ k ∗ − 1 s\in\mathcal{S}_{\leq k^{\ast}-1} and any 1 ≤ i ≤ 2 k ∗ − 1 / p s 1\leq i\leq 2^{k^{\ast}-1}/p_{s}, define C b (v s i) = C (v s i + (2 k ∗ − 1) / p s) − 2 k ∗ − 1; C^{b}(v_{s}^{i})=C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}; Here, we claim that C b (v s i) C^{b}(v_{s}^{i}) is nonnegative and thus properly defined. Since C C is a good coloring, by definition, we have that for each s ∈ 𝒮 s\in\mathcal{S} and each i ∈ [ p 𝒮 / p s ] i\in[p_{\mathcal{S}}/p_{s}], C (v s i) ∈ [ (i − 1) ⋅ p s + 1, i ⋅ p s ] C(v_{s}^{i})\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]. In particular, C (v s i + (2 k ∗ − 1) / p s) − 2 k ∗ − 1 ∈ [ (i − 1) ⋅ p s + 1, i ⋅ p s ]. C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]. • for any s ∈ 𝒮 k ∗ b s\in\mathcal{S}_{k^{\ast}}^{b}, define C b (v s 1) = C (v s 1) − 2 k ∗ − 1 C^{b}(v_{s}^{1})=C(v_{s}^{1})-2^{k^{\ast}-1}. One can easily check that C b C^{b} is good 2 k ∗ − 1 2^{k^{\ast}-1} -coloring of G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star} by definition.
for any s ∈ 𝒮 ≤ k ∗ − 1 s\in\mathcal{S}_{\leq k^{\ast}-1} and any 1 ≤ i ≤ 2 k ∗ − 1 / p s 1\leq i\leq 2^{k^{\ast}-1}/p_{s}, define C b (v s i) = C (v s i + (2 k ∗ − 1) / p s) − 2 k ∗ − 1; C^{b}(v_{s}^{i})=C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}; Here, we claim that C b (v s i) C^{b}(v_{s}^{i}) is nonnegative and thus properly defined. Since C C is a good coloring, by definition, we have that for each s ∈ 𝒮 s\in\mathcal{S} and each i ∈ [ p 𝒮 / p s ] i\in[p_{\mathcal{S}}/p_{s}], C (v s i) ∈ [ (i − 1) ⋅ p s + 1, i ⋅ p s ] C(v_{s}^{i})\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}]. In particular, C (v s i + (2 k ∗ − 1) / p s) − 2 k ∗ − 1 ∈ [ (i − 1) ⋅ p s + 1, i ⋅ p s ]. C\left(v_{s}^{i+(2^{k^{\ast}-1})/p_{s}}\right)-2^{k^{\ast}-1}\in[(i-1)\cdot p_{s}+1,i\cdot p_{s}].
for any s ∈ 𝒮 k ∗ b s\in\mathcal{S}_{k^{\ast}}^{b}, define C b (v s 1) = C (v s 1) − 2 k ∗ − 1 C^{b}(v_{s}^{1})=C(v_{s}^{1})-2^{k^{\ast}-1}.
On the other hand, suppose 𝒮 k ∗ = 𝒮 k ∗ a ∪ 𝒮 k ∗ b \mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b} is a partition of 𝒮 k ∗ \mathcal{S}_{k^{\ast}}, and C a C^{a} and C b C^{b} are good 2 k ∗ − 1 2^{k^{\ast}-1} -colorings of G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} and G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star} respectively. We define a coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star} as follows: • for any s ∈ 𝒮 ≤ k ∗ − 1 s\in\mathcal{S}_{\leq k^{\ast}-1} and any 1 ≤ i ≤ 2 k ∗ / p s 1\leq i\leq 2^{k^{\ast}}/p_{s}, define C (v s i) = { C a (v s i), if 1 ≤ i ≤ 2 k ∗ − 1 p s; C b (v s i − 2 k ∗ − 1 p s) + 2 k ∗ − 1, if 2 k ∗ − 1 p s + 1 ≤ i ≤ 2 k ∗ p s. \displaystyle C(v_{s}^{i})=\begin{cases}C^{a}(v_{s}^{i}),&\text{if }1\leq i\leq\frac{2^{k^{\ast}-1}}{p_{s}};\\ C^{b}\left(v_{s}^{i-\frac{2^{k^{\ast}-1}}{p_{s}}}\right)+2^{k^{\ast}-1},&\text{if }\frac{2^{k^{\ast}-1}}{p_{s}}+1\leq i\leq\frac{2^{k^{\ast}}}{p_{s}}.\end{cases} • for any s ∈ 𝒮 k ∗ a s\in\mathcal{S}_{k^{\ast}}^{a}, define C (v s 1) = C a (v s 1) C(v_{s}^{1})=C^{a}(v_{s}^{1}); • for any s ∈ 𝒮 k ∗ b s\in\mathcal{S}_{k^{\ast}}^{b}, define C (v s 1) = C b (v s 1) + 2 k ∗ − 1 C(v_{s}^{1})=C^{b}(v_{s}^{1})+2^{k^{\ast}-1}. One can check that C C is good 2 k ∗ 2^{k^{\ast}} -coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star} by definition. ∎
for any s ∈ 𝒮 ≤ k ∗ − 1 s\in\mathcal{S}_{\leq k^{\ast}-1} and any 1 ≤ i ≤ 2 k ∗ / p s 1\leq i\leq 2^{k^{\ast}}/p_{s}, define C (v s i) = { C a (v s i), if 1 ≤ i ≤ 2 k ∗ − 1 p s; C b (v s i − 2 k ∗ − 1 p s) + 2 k ∗ − 1, if 2 k ∗ − 1 p s + 1 ≤ i ≤ 2 k ∗ p s. \displaystyle C(v_{s}^{i})=\begin{cases}C^{a}(v_{s}^{i}),&\text{if }1\leq i\leq\frac{2^{k^{\ast}-1}}{p_{s}};\\ C^{b}\left(v_{s}^{i-\frac{2^{k^{\ast}-1}}{p_{s}}}\right)+2^{k^{\ast}-1},&\text{if }\frac{2^{k^{\ast}-1}}{p_{s}}+1\leq i\leq\frac{2^{k^{\ast}}}{p_{s}}.\end{cases}
for any s ∈ 𝒮 k ∗ a s\in\mathcal{S}_{k^{\ast}}^{a}, define C (v s 1) = C a (v s 1) C(v_{s}^{1})=C^{a}(v_{s}^{1});
for any s ∈ 𝒮 k ∗ b s\in\mathcal{S}_{k^{\ast}}^{b}, define C (v s 1) = C b (v s 1) + 2 k ∗ − 1 C(v_{s}^{1})=C^{b}(v_{s}^{1})+2^{k^{\ast}-1}.
For 0 ≤ k ≤ k ∗ 0\leq k\leq k^{\ast} and ℓ ∈ [ n − 1 ] \ell\in[n-1], define c k, ℓ:= \displaystyle c_{k,\ell}:= 2 k − k ∗ ⋅ | { v s i ∈ V (G 𝒮 ⋆) ∣ s ∈ 𝒮 ≤ k and ℓ ∈ ℐ s } | \displaystyle 2^{k-k^{\ast}}\cdot\left|\left\{v_{s}^{i}\in V(G_{\mathcal{S}}^{\star})\mid s\in\mathcal{S}_{\leq k}\mbox{ and }\ell\in\mathcal{I}_{s}\right\}\right| = \displaystyle= ∑ i = 0 k 2 k − i ⋅ | { s ∈ 𝒮 i ∣ ℓ ∈ ℐ s } |. \displaystyle\sum_{i=0}^{k}2^{k-i}\cdot|\{s\in\mathcal{S}_{i}\mid\ell\in\mathcal{I}_{s}\}|. In particular, c k ∗, ℓ = | { v s i ∈ V (G 𝒮 ⋆) ∣ ℓ ∈ ℐ s } | c_{k^{\ast},\ell}=\left|\left\{v_{s}^{i}\in V(G_{\mathcal{S}}^{\star})\mid\ell\in\mathcal{I}_{s}\right\}\right|. The following theorem is the main technical part.
G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a good p 𝒮 p_{\mathcal{S}} -coloring if and only if c k ∗, ℓ ≤ 2 k ∗ c_{k^{\ast},\ell}\leq 2^{k^{\ast}} for any ℓ ∈ [ n − 1 ] \ell\in[n-1].
The proof is by induction on k ∗ k^{\ast}. When k ∗ = 0 k^{\ast}=0, the theorem is trivial. By induction, we assume the theorem holds when k ∗ = k ′ k^{\ast}=k^{\prime}, and we are going to show the theorem when k ∗ = k ′ + 1 k^{\ast}=k^{\prime}+1.
According to Lemma 4.1, G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a good 2 k ∗ 2^{k^{\ast}} -coloring if and only if there is a partition 𝒮 k ∗ = 𝒮 k ∗ a ∪ 𝒮 k ∗ b \mathcal{S}_{k^{\ast}}=\mathcal{S}_{k^{\ast}}^{a}\cup\mathcal{S}_{k^{\ast}}^{b} such that both G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} and G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star} admit good (2 k ∗ − 1) \big(2^{k^{\ast}-1}\big) -colorings. Remember that the hyperperiods of 𝒮 a \mathcal{S}^{a} and 𝒮 b \mathcal{S}^{b} are both 2 k ∗ − 1 2^{k^{\ast}-1}. So by the induction hypothesis, G 𝒮 a ⋆ G_{\mathcal{S}^{a}}^{\star} admit a good (2 k ∗ − 1) \big(2^{k^{\ast}-1}\big) -coloring if and only if c k ∗ − 1, ℓ + | { s ∈ 𝒮 k ∗ a ∣ ℓ ∈ ℐ s } | ≤ 2 k ∗ − 1 for any ℓ ∈ [ n − 1 ]. \displaystyle c_{k^{\ast}-1,\ell}+|\{s\in\mathcal{S}_{k^{\ast}}^{a}\mid\ell\in\mathcal{I}_{s}\}|\leq 2^{k^{\ast}-1}\mbox{ for any }\ell\in[n-1]. (3) Similarly, by the induction hypothesis, G 𝒮 b ⋆ G_{\mathcal{S}^{b}}^{\star} admit a good (2 k ∗ − 1) \big(2^{k^{\ast}-1}\big) -coloring if and only if c k ∗ − 1, ℓ + | { s ∈ 𝒮 k ∗ b ∣ ℓ ∈ ℐ s } | ≤ 2 k ∗ − 1 for any ℓ ∈ [ n − 1 ]. \displaystyle c_{k^{\ast}-1,\ell}+|\{s\in\mathcal{S}_{k^{\ast}}^{b}\mid\ell\in\mathcal{I}_{s}\}|\leq 2^{k^{\ast}-1}\mbox{ for any }\ell\in[n-1]. (4)
Define a Boolean vector 𝒙 = (x s: s ∈ 𝒮 k ∗) \boldsymbol{x}=(x_{s}:s\in\mathcal{S}_{k^{\ast}}) where x s = 0 x_{s}=0 indicates s ∈ 𝒮 k ∗ a s\in\mathcal{S}_{k^{\ast}}^{a} and x s = 1 x_{s}=1 indicates s ∈ 𝒮 k ∗ b s\in\mathcal{S}_{k^{\ast}}^{b}. Define a (n − 1) × | S k ∗ | (n-1)\times|S_{k^{\ast}}| Boolean matrix A A where A [ ℓ, s ] = 1 ℓ ∈ ℐ s A[\ell,s]=1_{\ell\in\mathcal{I}_{s}}. That is, A [ ℓ, s ] = 1 A[\ell,s]=1 if ℓ ∈ ℐ s \ell\in\mathcal{I}_{s} and A [ ℓ, s ] = 0 A[\ell,s]=0 otherwise. Note that A (𝟏 − 𝒙) = (| { s ∈ 𝒮 k ∗ a ∣ ℓ ∈ ℐ s } |: ℓ ∈ [ n − 1 ]) A(\boldsymbol{1}-\boldsymbol{x})=\left(|\{s\in\mathcal{S}_{k^{\ast}}^{a}\mid\ell\in\mathcal{I}_{s}\}|:\ell\in[n-1]\right) and A 𝒙 = (| { s ∈ 𝒮 k ∗ b ∣ ℓ ∈ ℐ s } |: ℓ ∈ [ n − 1 ]), A\boldsymbol{x}=\left(|\{s\in\mathcal{S}_{k^{\ast}}^{b}\mid\ell\in\mathcal{I}_{s}\}|:\ell\in[n-1]\right), where 𝟏 \boldsymbol{1} is the all ones vector. Define a vector 𝒄 = (2 k ∗ − 1 − c k ∗ − 1, ℓ: ℓ ∈ [ n − 1 ]). \boldsymbol{c}=(2^{k^{\ast}-1}-c_{k^{\ast}-1,\ell}:\ell\in[n-1]). Then (3) and (4) can be rewritten as A (𝟏 − 𝒙) ≤ 𝒄 A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c} and A 𝒙 ≤ 𝒄 A\boldsymbol{x}\leq\boldsymbol{c} respectively. So we have the following claim.
G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a good p 𝒮 p_{\mathcal{S}} -coloring if and only if { A (𝟏 − 𝐱) ≤ 𝐜, A 𝐱 ≤ 𝐜, 𝟎 ≤ 𝐱 ≤ 𝟏, 𝐱 ∈ ℤ } ≠ ∅ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},A\boldsymbol{x}\leq\boldsymbol{c},\boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1},\boldsymbol{x}\in\mathbb{Z}\}\neq\emptyset.
Noting that A A is a consecutive-ones matrix, i.e., the ones appearing consecutively in each column, we have that A A is a totally unimodular matrix [ 8 ]. So we get the following claim.
{ A (𝟏 − 𝒙) ≤ 𝒄, A 𝒙 ≤ 𝒄, 𝟎 ≤ 𝒙 ≤ 𝟏, 𝒙 ∈ ℤ } ≠ ∅ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},A\boldsymbol{x}\leq\boldsymbol{c},\boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1},\boldsymbol{x}\in\mathbb{Z}\}\neq\emptyset if and only if { A (𝟏 − 𝐱) ≤ 𝐜, A 𝐱 ≤ 𝐜, 𝟎 ≤ 𝐱 ≤ 𝟏 } ≠ ∅ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},A\boldsymbol{x}\leq\boldsymbol{c},\boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1}\}\neq\emptyset.
The following claim is crucial.
{ A (𝟏 − 𝒙) ≤ 𝒄, A 𝒙 ≤ 𝒄, 𝟎 ≤ 𝒙 ≤ 𝟏 } ≠ ∅ \{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},A\boldsymbol{x}\leq\boldsymbol{c},\boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1}\}\neq\emptyset if and only if A ⋅ 𝟏 ≤ 2 𝐜 A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}.
For convenience of presentation, let ℱ:= { A (𝟏 − 𝒙) ≤ 𝒄, A 𝒙 ≤ 𝒄, 𝟎 ≤ 𝒙 ≤ 𝟏 } \mathcal{F}:=\{A(\boldsymbol{1}-\boldsymbol{x})\leq\boldsymbol{c},A\boldsymbol{x}\leq\boldsymbol{c},\boldsymbol{0}\leq\boldsymbol{x}\leq\boldsymbol{1}\}. On one direction, if A ⋅ 𝟏 ≤ 2 𝒄 A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}, then 1 2 ⋅ 𝟏 ∈ ℱ \frac{1}{2}\cdot\boldsymbol{1}\in\mathcal{F}, so ℱ ≠ ∅ \mathcal{F}\neq\emptyset. On the other direction, suppose 𝒙 ∗ ∈ ℱ \boldsymbol{x}^{\ast}\in\mathcal{F}. Then (𝟏 − 𝒙 ∗) ∈ ℱ (\boldsymbol{1}-\boldsymbol{x}^{\ast})\in\mathcal{F}. Because ℱ \mathcal{F} is a convex set, 𝒙 ∗ / 2 + (𝟏 − 𝒙 ∗) / 2 = 1 2 ⋅ 𝟏 ∈ ℱ \boldsymbol{x}^{\ast}/2+(\boldsymbol{1}-\boldsymbol{x}^{\ast})/2=\frac{1}{2}\cdot\boldsymbol{1}\in\mathcal{F}, which implies that A ⋅ 𝟏 ≤ 2 𝒄 A\cdot\boldsymbol{1}\leq 2\boldsymbol{c}. ∎
Finally, A ⋅ 𝟏 ≤ 2 𝒄 A\cdot\boldsymbol{1}\leq 2\boldsymbol{c} means that | { s ∈ 𝒮 k ∗ ∣ ℓ ∈ ℐ s } | ≤ 2 k ∗ − 2 c k ∗ − 1, ℓ for any ℓ ∈ [ n − 1 ], \displaystyle|\{s\in\mathcal{S}_{k^{\ast}}\mid\ell\in\mathcal{I}_{s}\}|\leq 2^{k^{\ast}}-2c_{k^{\ast}-1,\ell}\mbox{ for any }\ell\in[n-1], which is equivalent to saying: for any ℓ ∈ [ n − 1 ] \ell\in[n-1], c k ∗, ℓ = 2 c k ∗ − 1, ℓ + | { s ∈ 𝒮 k ∗ ∣ ℓ ∈ ℐ s } | ≤ 2 k ∗ \displaystyle c_{k^{\ast},\ell}=2c_{k^{\ast}-1,\ell}+|\{s\in\mathcal{S}_{k^{\ast}}\mid\ell\in\mathcal{I}_{s}\}|\leq 2^{k^{\ast}} The conclusion follows from Claims 4.3, 4.4, and 4.5 immediately. ∎
It is a basic fact that an interval graph admits a proper k k -coloring if and only if it contains no clique of size greater than k k. Thus G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a proper 2 k ∗ 2^{k^{\ast}} -coloring if and only if c k ∗, ℓ ≤ 2 k ∗ c_{k^{\ast},\ell}\leq 2^{k^{\ast}} for any ℓ ∈ [ n − 1 ] \ell\in[n-1]. So G 𝒮 ⋆ G_{\mathcal{S}}^{\star} admits a proper 2 k ∗ 2^{k^{\ast}} -coloring if and only if it admits a good 2 k ∗ 2^{k^{\ast}} -coloring.
Note that all c k ∗, ℓ = ∑ i = 0 k ∗ 2 k ∗ − i ⋅ | { s ∈ 𝒮 i ∣ ℓ ∈ ℐ s } | c_{k^{\ast},\ell}=\sum_{i=0}^{k^{\ast}}2^{k^{\ast}-i}\cdot|\{s\in\mathcal{S}_{i}\mid\ell\in\mathcal{I}_{s}\}| can be computed in O (| 𝒮 | ⋅ n) O(|\mathcal{S}|\cdot n) time. By Theorem 4.2 and 3.1, we have
It can be decided in O (| 𝒮 | ⋅ n) O(|\mathcal{S}|\cdot n) time whether there exists a no-wait schedule for 𝒮 \mathcal{S}.
Furthermore, if no-wait schedule exists for 𝒮 \mathcal{S}, then the procedure 𝖥𝗂𝗇𝖽 (𝒮, k ∗) \mathsf{Find}(\mathcal{S},k^{\ast}), described in Algorithm 2, would return a good 2 k ∗ 2^{k^{\ast}} -coloring of G 𝒮 ⋆ G_{\mathcal{S}}^{\star}, represented in the form of dictionary { (v s i, C (v s i)) } \{(v_{s}^{i},C(v_{s}^{i}))\}. Given a good 2 k ∗ 2^{k^{\ast}} -coloring C: V (G 𝒮 ⋆) → [ 2 k ∗ ] C:V\left(G_{\mathcal{S}}^{\star}\right)\rightarrow\left[2^{k^{\ast}}\right] of G 𝒮 ⋆ G_{\mathcal{S}}^{\star}, we can easily get a no-wait schedule by placing the i i -th replication of s s in the C (v s i) C(v_{s}^{i}) -th layer of the parallelogram, i.e., by setting the injection time of the i i -th replication of s s to be C (v s i) + a s − 1 C(v_{s}^{i})+a_{s}-1.
Algorithm 1 solves the no-wait scheduling problem in O ((n + | 𝒮 |) ⋅ | 𝒮 | 1.5 log 2 p 𝒮 + | 𝒮 | ⋅ p 𝒮 log 2 p 𝒮) O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}}) time.
We first show the correctness of Algorithm 1. By Theorem 4.2 and 3.1, there exist no-wait schedules for 𝒮 \mathcal{S} if and only if c k ∗, ℓ ≤ 2 k ∗ c_{k^{\ast},\ell}\leq 2^{k^{\ast}} for any ℓ ∈ [ n − 1 ] \ell\in[n-1]. Moreover, from the proof of Theorem 4.2, one can easily verify that the procedure 𝖥𝗂𝗇𝖽 (𝒮, k ∗) \mathsf{Find}(\mathcal{S},k^{\ast}) would return a no-wait schedule if one exists. So Algorithm 1 returns a no-wait schedule if one exists or returns “no-wait schedules do not exist" otherwise.
What remains is to analyze the time complexity of Algorithm 1. It executes O (| 𝒮 | ⋅ n) O(|\mathcal{S}|\cdot n) time to execute Lines 1-5. In the following, we will show that it costs O ((n + | 𝒮 |) ⋅ | 𝒮 | 1.5 log 2 p 𝒮 + | 𝒮 | ⋅ p 𝒮 log 2 p 𝒮) O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}}) time to run the procedure 𝖥𝗂𝗇𝖽 (𝒮, k ∗) \mathsf{Find}(\mathcal{S},k^{\ast}), and then finish the proof.
Let T (| 𝒮 |, k ∗) T(|\mathcal{S}|,k^{\ast}) denote the time complexity of 𝖥𝗂𝗇𝖽 (𝒮, k ∗) \mathsf{Find}(\mathcal{S},k^{\ast}). First, it is easy to see that it costs O (n ⋅ | 𝒮 |) O(n\cdot|\mathcal{S}|) time to execute Lines 1-13, 15-16, and 24-28. It costs O ((n + | 𝒮 |) ⋅ | 𝒮 | 1.5) O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}) time to solve the linear programming in Line 14 [ 9 ], and costs O (| 𝒮 | ⋅ 2 k ∗) = O (| 𝒮 | ⋅ p 𝒮) O(|\mathcal{S}|\cdot 2^{k^{\ast}})=O(|\mathcal{S}|\cdot p_{\mathcal{S}}) time to execute Lines 18-23. In addition, it costs at most 2 T (| 𝒮 |, k ∗ − 1) 2T(|\mathcal{S}|,k^{\ast}-1) time to execute Line 17. So we have T (| 𝒮 |, k ∗) ≤ 2 T (| 𝒮 |, k ∗ − 1) + O ((n + | 𝒮 |) ⋅ | 𝒮 | 1.5 + | 𝒮 | ⋅ p 𝒮). T(|\mathcal{S}|,k^{\ast})\leq 2T(|\mathcal{S}|,k^{\ast}-1)+O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}+|\mathcal{S}|\cdot p_{\mathcal{S}}). By solving the above recursion, we have T (| 𝒮 |, k ∗) = O ((n + | 𝒮 |) ⋅ | 𝒮 | 1.5 log 2 p 𝒮 + | 𝒮 | ⋅ p 𝒮 log 2 p 𝒮). ∎ T(|\mathcal{S}|,k^{\ast})=O((n+|\mathcal{S}|)\cdot|\mathcal{S}|^{1.5}\log_{2}p_{\mathcal{S}}+|\mathcal{S}|\cdot p_{\mathcal{S}}\log_{2}p_{\mathcal{S}}).\qed
We present the evaluations of Algorithm 1 for time-sensitive networks to demonstrate optimality and high scalability.
Qualitative Evaluations. The qualitative evaluations are conducted on a real-life TSN system equipped on a metro train, where sensors across the train collect the status data of the train and then send data to controllers, which in turn send commands to actuators to keep the state of the train close to the desired setpoint. The topology is described in Figure 4. Here, the controller is located in Carriage 1, and most of the streams go from the other carriages to Carriage 1 or in the reverse direction. To verify the optimality of Algorithm 1, we compared the schedules computed using Algorithm 1 to the ones generated by an SAT Modulo Theory (SMT) solver which exactly solves the SMT formulation of the corresponding problem [ 3 ]. Note that the SMT solver is poorly scalable and can only solve small instances with up to about 300 flows in 1 hour.
We executed our evaluations in 10 practical scenarios on the topology in Figure 4 with respectively 3, 8, 40, 128, and 256 flows. We configured the SMT solver with a time limit of 1 hour for solving each scenario. Then we also run Algorithm 1 on the same instance. The evaluation shows that the SMT solver returns a no-wait scheduling if and only if Algorithm 1 returns one. Besides, the average execution time of the SMT solver on these instances is about 3 minutes, while Algorithm 1 solves these instances in 2 seconds on average.
Scalability Evaluations. To determine the scalability of Algorithm 1, we measure the averaged execution times of Algorithm 1 with up to tens of thousands of flows on a personal computer (multi-processor machine (Intel(R) Core(TM) CPU i5- 12500H @ 2.50GHz) with 4P + 8E cores and 16 GB of memory). Precisely, we run Algorithm 1 on randomized instances with varying numbers of flows on the daisy-chain topology with varying lengths. The evaluation results show that Algorithm 1 can compute schedules for about 45,000 flows in only about 30 minutes.
In this paper, we propose an efficient algorithm to compute no-wait schedules on the daisy-chain topology, with a time complexity that scales polynomially in both the number of streams and the network size. The basic idea is to view the scheduling problem as a variant of graph coloring problem on the interval graphs. Our algorithm is proven to be optimal, and evaluations on real-life TSN systems justify the high scalability. In our future work, we plan to investigate other commonly used topologies, such as the star topology, cycle topology, and tree topology.