# 计算机代写|云计算代写cloud computing代考|ITS532

## 计算机代写|云计算代写cloud computing代考|Heuristic-Based Scheduling Algorithm

The classical bin-packing problem has proved to be NP-Hard [16], and so does the scheduling of streaming applications [13]. There could be a massive amount of tasks involved in each single assignment, so it is computationally infeasible to find the optimal solution in polynomial time. Besides, streaming applications are known for their strict Quality of Service (QoS) constraints on processing time [17], so the efficiency of scheduling is even more important than the result optimality to prevent the violation of the real-time requirement. Therefore, we opt for greedy heuristics rather than exact algorithms such as bin completion [18] and branch-and-price [19], which have exponential time complexity.

The proposed algorithm is a generalisation of the classical First Fit Decreasing (FFD) heuristic. FFD is essentially a greedy algorithm that sorts the items in decreasing order (normally by their size) and then sequentially allocates them into the first bin with sufficient remaining space. However, in order to apply FFD in our multidimensional bin-packing problem, the standard bin-packing procedure has to be generalised in three aspects as shown in Algorithm 1.

Firstly, all the available machines are arranged in descending order by their resource availability so that the more powerful ones get utilised first for task placement. This step is to ensure that the FFD heuristic has a better chance to convey more task communications within the same machine, thus reducing the cumbersome serialisation and de-serialisation procedures that would have been necessary for network transmissions. Since the considered machine characteristics-CPU and memory are measured in different metrics, we define a resource availability function that holistically combines these two dimensions and returns a scalar for each node, as shown in Eq. (5.4).

## 计算机代写|云计算代写cloud computing代考|Implementation of D-Storm Prototype

A prototype called D-Storm has been implemented to demonstrate dynamic resource-efficient scheduling. which incorporates the following new features into the standard Storm framework:

• It tracks streaming tasks at runtime to obtain their resource usages and the volumes of inbound/outbound communications. This information is critical for making scheduling decisions that avoid resource contention and minimise internode communication.
• It endeavours to pack streaming tasks as compact as possible without causing resource contention, which effectively translates to the reduction of resource footprints while satisfying the performance requirements of streaming applications.
• It automatically reschedules the application whenever a performance issue is spotted or possible task consolidation is identified.

To implement these new features, D-Storm extends the standard Storm release with several loosely coupled modules, thus constituting a MAPE-K (Monitoring, Analysis, Planning, Execution and Knowledge) framework as shown in Fig. 5.2. This architectural concept was first introduced by IBM to design autonomic systems with self-capabilities, such as self-managing, self-healing [21] and selfadapting [22]. In this work, the proposed MAPE-K framework incorporates selfadaptivity and runtime-awareness into D-Storm, allowing it to tackle any performance degradation or mismatch between resource requirements and availability at runtime.

The MAPE-K loop in D-Storm is essentially a feedback control process that considers the current system metrics while making scheduling decisions. Based on the level at which the metrics of interest are collected, the monitoring system generally reports three categories of information-application metrics, task metrics and OS (Operating System) metrics.

The application metrics, such as the topology throughput and complete latency, ${ }^7$ are obtained through the built-in Storm RESTful API and used as a coarsegrained interpretation of the application performance. The volume of incoming workloads is also monitored outside the application in order to examine the system’s sustainability under the current workload.

The task metrics, on the other hand, depict the resource usages of different tasks and their communication patterns within the DSMS. Acquiring this information requires some custom changes to the Storm core, so we introduce the Task Wrapper as a middle layer between the current task and executor abstractions. Each task wrapper encapsulates a single task following the decorator pattern, with monitoring logic transparently inserted into the task execution. Specifically, it obtains the CPU usages in the execute method by making use of the ThreadMXBean class, and it logs the communication traffics among tasks using a custom metric consumer which is registered in the topology building process.

# 云计算代考

.调度算法

## 计算机代写|云计算代写cloud computing代考| D-Storm Prototype的实现

• 在运行时跟踪流任务，获取流任务的资源使用情况和入/出通信量。该信息对于制定调度决策至关重要，以避免资源争用和最小化节点间通信。
• 它努力将流媒体任务打包得尽可能紧凑，而不引起资源争用，这有效地转化为减少资源占用，同时满足流媒体应用的性能要求。
• 当发现性能问题或识别到可能的任务合并时，它自动重新调度应用程序为了实现这些新特性，D-Storm在标准Storm版本的基础上扩展了几个松散耦合的模块，从而构成了如图5.2所示的MAPE-K(监控、分析、计划、执行和知识)框架。该体系结构概念首先由IBM引入，用于设计具有自我能力的自主系统，如自我管理、自我愈合[21]和自适应[22]。在这项工作中，提出的MAPE-K框架将自适应和运行时感知整合到D-Storm中，允许它处理运行时资源需求和可用性之间的任何性能下降或不匹配D-Storm中的MAPE-K循环本质上是一个反馈控制过程，在制定调度决策时考虑当前系统指标。根据收集相关度量的级别，监视系统通常报告三类信息应用程序度量、任务度量和操作系统(OS)度量应用程序指标，如拓扑吞吐量和完全延迟，${ }^7$通过内置的Storm RESTful API获得，并用作应用程序性能的粗粒度解释。为了检查系统在当前工作负载下的可持续性，还在应用程序外部监视传入工作负载的量另一方面，任务度量描述了不同任务的资源使用情况及其在dms中的通信模式。获取这些信息需要对Storm核心进行一些自定义更改，因此我们引入Task Wrapper作为当前任务和执行器抽象之间的中间层。每个任务包装器都按照装饰器模式封装单个任务，并将监视逻辑透明地插入到任务执行中。具体来说，它通过使用ThreadMXBean类获得execute方法中的CPU使用情况，并使用在拓扑构建过程中注册的自定义度量消费者记录任务之间的通信流量

myassignments-help数学代考价格说明

1、客户需提供物理代考的网址，相关账户，以及课程名称，Textbook等相关资料~客服会根据作业数量和持续时间给您定价~使收费透明，让您清楚的知道您的钱花在什么地方。

2、数学代写一般每篇报价约为600—1000rmb，费用根据持续时间、周作业量、成绩要求有所浮动(持续时间越长约便宜、周作业量越多约贵、成绩要求越高越贵)，报价后价格觉得合适，可以先付一周的款，我们帮你试做，满意后再继续，遇到Fail全额退款。

3、myassignments-help公司所有MATH作业代写服务支持付半款，全款，周付款，周付款一方面方便大家查阅自己的分数，一方面也方便大家资金周转，注意:每周固定周一时先预付下周的定金，不付定金不予继续做。物理代写一次性付清打9.5折。

Math作业代写、数学代写常见问题

myassignments-help擅长领域包含但不是全部: