相关分享
嵌入主线程消息循环的任务调度器
这篇文章记录了 soluna/ltask 在移植到 wasm 和非 Windows 平台过程中遇到的一个典型工程难题:如何在主线程事件循环中执行特定任务,同时仍保留原有多线程调度模型。
问题的核心来自图形 API 和平台约束。sokol 并非线程安全,OpenGL 又依赖当前线程状态,而 wasm 环境下主线程、worker、pthread API 的边界进一步放大了调度复杂度。
作者的解决思路不是重写整个调度器,而是在 ltask 中“打洞”:让某些必须在主线程回调中执行的 Lua 任务,临时从调度表中移出,由主线程接管执行,完成后再归还给调度器。
文章最有价值的地方,是把 coroutine、Lua 虚拟机、C 栈、主线程事件循环和图形 API 约束放在同一个工程场景中分析。它不适合泛泛阅读,但对做游戏引擎、wasm 移植或复杂运行时调度的开发者很有参考价值。
对抗式机器学习攻击与缓解措施分类及术语(上)
本文介绍了NIST在对抗性机器学习中的分类和术语,分析了攻击阶段、目的和对抗措施,帮助提升AI系统的安全性和鲁棒性。
一个任务调度算法引起的性能问题
这两天遇到一个任务调度算法引起的性能问题,花了颇多精力排查和解决。问题出在我写的 ltask 这个 lua 多任务库上。ltask 最初是对 skynet 的一些反思中开始的,最初只是想换一种思路实现 skynet :做一个库而不是框架、更少的锁竞争、避免服务因为消息队列堆积而过载……
数据工程中的任务调度实践
数据工程的任务调度应该以“日志驱动”作为解决方案。而日志驱动的重要部分“日志解耦”正是提高系统健壮性的利器。
部署机器学习方案之困(下)
在工业环境中开发基于机器学习的解决方案包括四个阶段:数据管理、模型学习、模型验证和模型部署,而这些阶段没有严格的时间轴,在一定程度上存在并行和反馈循环。本节将讨论从业者在最后一个阶段中面临的常见问题和挑战,并讨论涉及到的其他问题。
部署机器学习方案之困(上)
近年来,机器学习无论是作为学术研究领域还是实际商业问题的解决方案,都受到了越来越多的关注。然而,就像其他领域一样,在学术环境中起作用的研究和实际系统的要求之间往往存在着显著差异,所以在生产系统中部署机器学习模型可能会带来许多问题。
本文介绍一篇剑桥大学2020年发表的研究综述,其调研了在各种用例、行业和应用中部署机器学习解决方案的公开报告,提取了与机器学习部署工作流阶段对应的实际考虑因素。对于从业者而言,了解在机器学习部署的各个阶段所面临的挑战是非常重要的,本文将对这方面进行主要阐述,最后介绍潜在的解决方案,共分为上、下两篇,本篇为上篇,希望各位能从中受益并引发更多思考。
美团图灵机器学习平台性能起飞的秘密(一)
美团图灵机器学习平台在长期的优化实践中,积累了一系列独特的优化方法。本文主要介绍了图灵机器学习平台在内存优化方面沉淀的优化技术,我们深入到源码层面,介绍了Spark算子的原理并提供了最佳实践。希望为读者带来一些思路上的启发。
机器学习不是你想用,想用就能用
机器学习的目的:更精准地替代经验以及更大面积复用人工。在这个文章中,要回答什么场景下该用机器学习,同时我们也需要回答一个更为本质的问题,什么是机器学习?
基于机器学习的反欺诈研究
互联网应用在给用户带来便利的同时,也引入了新的风险。屡见报端的网络欺诈事件,已经给许多互联网用户带来了严重危害。本文将介绍几种基于机器学习的能够有效监管和防御网络欺诈的技术手段。
如何建设机器学习平台
伴随着数据化、智能化的浪潮,很多大企业为了沉淀通用技术和业务能力;加快企业智能化、规模化智能开发,开始了自建机器学习平台。 从零搭建一个机器学习平台的复杂度是不容小觑的,关于平台的定位、需要解决的问题;及其架构、技术选型等需要提前考量和设计。本文根据几个从零到一的机器学习平台构建经历,再结合目前新兴热门的云上机器学习平台,试图对机器学习平台做一个概念和技术拆解。
