使用EHPC实现“完美并行”的高效批处理方案 (yq.aliyun.com)

【简介】

在高性能计算场景中,用户一次业务计算可以划分为大量的任务,每个任务的处理逻辑相同,但是输入文件、参数设置和输出文件不同。由于每个任务处理逻辑相似,执行时彼此没有依赖,按照高性能计算的并行计算模式,可归为 “embarrassing parallel”一类(又被称为完美并行问题),这类问题很少或根本不需要将问题分成许多并行任务的工作,通这些并行任务之间很少或没有依赖或需要通信,这类问题有一个另外的名称,叫做“批处理”,是高性能计算领域最“完美”的一种场景。在此,给出了基于阿里云弹性高性能计算场景的数组作业解决方案——利用E-HPC集成的作业调度系统,将用户的批处理任务自动分配到数组作业,实现在云超算集群上高并发执行。同时,依靠“云”弹性,动态扩展集群的计算资源,控制批处理的完成时间。

点击查看原文 >>

@可耐芊小仙女 2019-02-25 16:18 / 0个评论
要不要再学学下面的文章?
Agent是如何工作的:概念及LangChain实现 (it.deepinmind.com)
LLM(大型语言模型)在自主Agent领域的应用受到了广泛关注。你可能已经在诸如Auto-GPT、BabyAGI等流行应用中了解过它们的用法,这些应用几乎每天都层出不穷。

理解这些应用的基本原理并不复杂,因为大多数工具的工作流程大致相同。
by @技术头条 2024-03-31 21:13 查看详情
对比脚本型和编译型游戏服务器的热更新方案 (www.codedump.info)
本文对比游戏服务器中C++搭配脚本语言(Lua、Python)以及纯编译型语言(C++、Golang)来进行开发时,进行线上服务器热更新的方案。
by @技术头条 2024-03-21 23:21 查看详情
使用零一万物 200K 模型和 Dify 快速搭建模型应用 (soulteary.com)
本篇文章,我们聊聊如何使用 LLM IDE (Dify) 快速搭建一个模型应用,以及使用超长上下文的 200K 模型,完成懒人式的电子书翻译。
by @技术头条 2024-03-21 22:55 查看详情
Go 中的高速数据包处理:从 net.Dial 到 AF_XDP (colobu.com)
最近编写了一个Go程序,向数百万个IP地址发送ICMP ping消息。显然,希望这个过程能尽可能快速高效地完成。因此,这促使我研究各种与网络栈交互和快速发送数据包的各种方法。这是一个有趣的旅程,所以在本文中,我将分享一些学习成果,并记录下来供将来参考:)你将看到,仅使用8个内核就可以达到1880万数据包/秒。这里还有一个GitHub仓库,其中包含了示例代码,可以方便地跟随学习。
by @技术头条 2024-03-21 22:55 查看详情
为 log 实现的无锁 Ringbuffer (blog.codingnow.com)
这两天在改 log 模块。我们需要一个并发写 log 的模块,它有多个 log 生产者一个消费者,这个唯一的消费者在 log 线程中把 log 数据持久化。

大多数 log 生产者是在第三方库的 callback 函数中调用的,比如 bgfx ,如果写 log 不够快的话,就会阻塞渲染。这个 callback 需要自己保证线程安全。因为 bgfx 支持多线程渲染,所以写 log 的 callback 可能在不同的线程触发。

过去在实现 bgfx 的 luabinding 时,我实现了一个简单的 mpsc 队列,get_log 这个函数就是那个单一消费者,它取出队列中所有的 log 信息,返回到 lua 虚拟机中。

它是用 spin_lock 实现的。这两天,我想应该可以实现一个更通用的无锁版本。

在我的需求中,log 信息是允许丢掉的。所以我开了一个固定大小的 ri
by @技术头条 2024-03-12 22:45 查看详情
使用 llama.cpp 在本地部署 AI 大模型的一次尝试 (blog.yuanpei.me)
本文旨在尝试使用 llama.cpp 在本地部署 AI 大模型,随着人工智能的快速发展,我们逐渐认识到私有化部署的重要性和潜力。在此背景下,llama.cpp 作为一个纯 C/C++ 实现的 LLaMA 模型推理工具,提供了在本地环境下高性能的 AI 推理能力。在这篇文章中,我们可以了解到 llama.cpp 具有在 GPU 和 CPU 环境下运行的灵活性,满足私有化部署的需求。文章详细介绍了 llama.cpp 编译和部署的过程,为读者提供了一份在本地部署 AI 大模型的教程。私有化部署的 AI 大模型,相比于 ChatGPT 这类通用大模型,更注重数据隐私和安全性,对云服务的依赖更少,可以做到更好的本地化控制。虽然编译 llama.cpp 有一定的复杂性,AI 大模型的下载、转化、量化需要一定的耐心,可当本地的 AI 应用运行起来的那一刻,博主觉得这一切完全值得。
by @技术头条 2024-03-12 22:29 查看详情
iOS备用机自动充电方案 (www.leavesongs.com)
炫酷一下,为了能让备用机一直有电,计划将备用机插在智能插座上,然后通过iOS的Shortcuts来监控手机电量——当手机电量小于30%的时候自动开启插座;当手机电量充到80%的时候自动关闭插座。
by @技术头条 2024-01-28 23:59 查看详情
解析Java动态代理机制的实现 (l1n.wang)
代理模式主要是Proxy对原始方法做了一层包装,用以增加一些新的统一处理逻辑,来增强目标对象的功能。静态代理是传统设计模式中一种传统的实现方案,动态代理能将代理对象的创建延迟到程序运行阶段。
by @技术头条 2024-01-17 23:16 查看详情
golang uretprobe的崩溃与模拟实现 (www.cnxct.com)
Go程序崩溃的核心原因为Go的栈在runtime管理时,被插入了异常的内存地址。Go中常见的堆栈变化为协程goroutine的创建与销毁。栈内 被插入异常内存地址是因为eBPF的实现机制是向函数的返回地址前,插入了断点指令(i386和x86_64是INT3)。 两个条件的叠加,就出现了这个错误。
by @技术头条 2024-01-17 23:12 查看详情
MinIO的分布式存储实践方案 (l1n.wang)
MinIO是一个开源的分布式对象存储组件,它兼容Amazon S3API,适合于存储大容量的非结构化数据,支持单个对象最大5TB。MinIO特点:部署简单,仅需要单独一个二进制文件;支持纠删码机制,能恢复部分数据块丢失的情况;读写性能高。
by @技术头条 2024-01-17 23:07 查看详情