Mesos Architecture

这里写图片描述

The above figure shows the main components of Mesos. Mesos consists of a master daemon that manages agent daemons running on each cluster node, and Mesos frameworks that run tasks on these agents.

上面的图形展示了Mesos的主要部件。Mesos由一个管理每个集群节点客户端进程的主进程以及在这些客户端运行任务的Mesos框架组成。

The master enables fine-grained sharing of resources (CPU, RAM, …) across frameworks by making them resource offers. Each resource offer contains a list of <agent ID, resource1: amount1, resource2: amount2, ...> (NOTE: as keyword ‘slave’ is deprecated in favor of ‘agent’, driver-based frameworks will still receive offers with slave ID, whereas frameworks using the v1 HTTP API receive offers with agent ID). The master decides how many resources to offer to each framework according to a given organizational policy, such as fair sharing or strict priority. To support a diverse set of policies, the master employs a modular architecture that makes it easy to add new allocation modules via a plugin mechanism.

master可以在框架之间进行细粒度的资源分配满足它们的资源需求。每个资源需求是由一个列表

A framework running on top of Mesos consists of two components: a scheduler that registers with the master to be offered resources, and an executor process that is launched on agent nodes to run the framework’s tasks (see the App/Framework development guide for more details about framework schedulers and executors). While the master determines how many resources are offered to each framework, the frameworks' schedulers select which of the offered resources to use. When a framework accepts offered resources, it passes to Mesos a description of the tasks it wants to run on them. In turn, Mesos launches the tasks on the corresponding agents.

一个运行在mesos上面的框架由两部门组成:一个用来向master注册并索取资源供应的调度,以及一个运行在代理节点运行框架任务(获取更多信息,请参考App/Framework开发指南)的执行进程。虽然master决定了资源怎么分配给每个框架,每个框架的调度会选择master提供的资源应该怎么来进行使用。当一个框架接受了提供的资源,框架会向mesos传递它想运行在这些资源上面运行任务的描述。反过来,mesos启动对应代理节点的任务。

Example of resource offer

The figure below shows an example of how a framework gets scheduled to run a task.

下面的图片展示了一个框架是如何被调度去运行一个任务。

这里写图片描述

Let’s walk through the events in the figure.

让我们穿越图片。

Agent 1 reports to the master that it has 4 CPUs and 4 GB of memory free. The master then invokes the allocation policy module, which tells it that framework 1 should be offered all available resources.

代理1向master报告,它有4个CPU和4GB的空闲内存。master这个时候调用分配策略模块,告诉它框架1可以被分配所有可用的资源。

The master sends a resource offer describing what is available on agent 1 to framework 1.
The framework’s scheduler replies to the master with information about two tasks to run on the agent, using <2 CPUs, 1 GB RAM> for the first task, and <1 CPUs, 2 GB RAM> for the second task.

master发送一个资源通知描述了啥可以在代理1上的框架1。框架调度回复master关于两个任务运行的代理信息,使用<2CPU,1GB RAM>用于第一个任务,使用<1CPU,2GB RAM>用于第二个任务。

Finally, the master sends the tasks to the agent, which allocates appropriate resources to the framework’s executor, which in turn launches the two tasks (depicted with dotted-line borders in the figure). Because 1 CPU and 1 GB of RAM are still unallocated, the allocation module may now offer them to framework 2.
In addition, this resource offer process repeats when tasks finish and new resources become free.

最后,master把任务发送给代理,代理分配合适的资源给框架的执行者,执行者接下来执行了两个任务(在图片中用虚线边界进行了描述)。由于1CPU和1GB的内存还是未分配状态,分配模块也许现在会提供给框架2。
另外,这个资源通知过程一直在重复,直到任务结束和新资源变成空闲。

While the thin interface provided by Mesos allows it to scale and allows the frameworks to evolve independently, one question remains: how can the constraints of a framework be satisfied without Mesos knowing about these constraints? For example, how can a framework achieve data locality without Mesos knowing which nodes store the data required by the framework? Mesos answers these questions by simply giving frameworks the ability to reject offers. A framework will reject the offers that do not satisfy its constraints and accept the ones that do. In particular, we have found that a simple policy called delay scheduling, in which frameworks wait for a limited time to acquire nodes storing the input data, yields nearly optimal data locality.

虽然mesos提供的细微的接口允许它进行扩展以及框架可以独立的扩展,有一个问题:如何在mesos没有知道这些限制的情况下,使得框架的限制得到满足?例如,一个框架需要有数据本地化需求,如何在mesos不知道哪些节点存储了这些数据的情况下,使得框架的需求得到满足?mesos的回答很简单,简单的赋予光甲有能力拒绝提供的资源。一个框架会拒绝没有满足限制,接受满足限制的提供。尤其是,我们找到了一个简单的策略叫做延迟调度,框架使用一定的限制时间等待节点装在输入的数据,达到最佳的数据本地化。

You can also read much more about the Mesos architecture in this technical paper.

你可以在科技白皮书阅读关于mesos架构更多的咨询。

内容概要:《2024年中国城市低空经济发展指数报告》由36氪研究院发布,指出低空经济作为新质生产力的代表,已成为中国经济新的增长点。报告从发展环境、资金投入、创新能力、基础支撑和发展成效五个维度构建了综合指数评价体系,评估了全国重点城市的低空经济发展状况。北京和深圳在总指数中名列前茅,分别以91.26和84.53的得分领先,展现出强大的资金投入、创新能力和基础支撑。低空经济主要涉及无人机、eVTOL(电动垂直起降飞行器)和直升机等产品,广泛应用于农业、物流、交通、应急救援等领域。政策支持、市场需求和技术进步共同推动了低空经济的快速发展,预计到2026年市场规模将突破万亿元。 适用人群:对低空经济发展感兴趣的政策制定者、投资者、企业和研究人员。 使用场景及目标:①了解低空经济的定义、分类和发展驱动力;②掌握低空经济的主要应用场景和市场规模预测;③评估各城市在低空经济发展中的表现和潜力;④为政策制定、投资决策和企业发展提供参考依据。 其他说明:报告强调了政策监管、产业生态建设和区域融合错位的重要性,提出了加强法律法规建设、人才储备和基础设施建设等建议。低空经济正加速向网络化、智能化、规模化和集聚化方向发展,各地应找准自身比较优势,实现差异化发展。
数据集一个高质量的医学图像数据集,专门用于脑肿瘤的检测和分类研究以下是关于这个数据集的详细介绍:该数据集包含5249张脑部MRI图像,分为训练集和验证集。每张图像都标注了边界框(Bounding Boxes),并按照脑肿瘤的类型分为四个类别:胶质瘤(Glioma)、脑膜瘤(Meningioma)、无肿瘤(No Tumor)和垂体瘤(Pituitary)。这些图像涵盖了不同的MRI扫描角度,包括矢状面、轴面和冠状面,能够全面覆盖脑部解剖结构,为模型训练提供了丰富多样的数据基础。高质量标注:边界框是通过LabelImg工具手动标注的,标注过程严谨,确保了标注的准确性和可靠性。多角度覆盖:图像从不同的MRI扫描角度拍摄,包括矢状面、轴面和冠状面,能够全面覆盖脑部解剖结构。数据清洗与筛选:数据集在创建过程中经过了彻底的清洗,去除了噪声、错误标注和质量不佳的图像,保证了数据的高质量。该数据集非常适合用于训练和验证深度学习模型,以实现脑肿瘤的检测和分类。它为开发医学图像处理中的计算机视觉应用提供了坚实的基础,能够帮助研究人员和开发人员构建更准确、更可靠的脑肿瘤诊断系统。这个数据集为脑肿瘤检测和分类的研究提供了宝贵的资源,能够帮助研究人员开发出更准确、更高效的诊断工具,从而为脑肿瘤患者的早期诊断和治疗规划提供支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值