收藏 分销(赏)

SEDA与Java并行编程点滴.ppt

上传人:pc****0 文档编号:13357176 上传时间:2026-03-07 格式:PPT 页数:15 大小:453KB 下载积分:10 金币
下载 相关 举报
SEDA与Java并行编程点滴.ppt_第1页
第1页 / 共15页
SEDA与Java并行编程点滴.ppt_第2页
第2页 / 共15页


点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,Click to edit Master title style,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,SEDA与Java并行编程点滴,谈修竹 Benjamin Tan,Team LeaderDBAppSecurity,Twitter:tanbamboo,Agenda,SEDA架构,Java并行编程点滴,Actor浅探,SEDA,SEDA:A new architecture for Internet services,A general-purpose framework for high concurrency and load conditioning,Decomposes applications into,stages,separated by,queues,Adopt a structured approach to event-driven concurrency,To appear in the Eighteeth Symposium on Operating Systems Principles(SOSP-18),Chateau Lake Louise,Canada,October 21-24,2001.,www.cs.berkeley.edu/mdw/,SEDA features,Enable load conditioning,Event queues allow inspection of request streams,Can perform prioritization or filtering during heavy load,Dynamic control for self-tuning resource management,System observes application performance and tunes runtime parameters,Apply control for graceful degradation,Perform load shedding or degrade service under overload,Simplify task of building highly-concurrent services,Decouple load management from service complexity,Use of stages supports modularity,code reuse,debugging,Dynamic control shields apps from complexity of resource management,SEDA基本结构,每Stage包括一个Queue、一个线程池,Stage之间相互独立、隔离,反馈控制,通过监控每个Stage的Queue,可以对SEDA系统进行反馈控制,队列策略调整,可进行事件丢弃、优先级处理等,线程池调整,拓扑修改,如优雅降级,实现,隔离业务逻辑与并行编程,降低系统复杂度,增强模块化设计,Java并行编程点滴,共享数据并行访问,线程与CPU核心的匹配,Active List,每个线程维护各自独立的列表,采用ThreadLocal,JUC的concurrent容器,Counter,采用AtomicInteger,在1500EPS情况下,每秒需要并发访问1500次。,改进后,每线程进行维护一个独立的计数器,每秒定期汇总全部计数器。,Java并行编程点滴,小小的建议:,尽可能减少共享数据,尽可能减少共享数据的并发访问次数,任务处理异步事件化,线程与CPU核心,CPU、MEM密集型Stage,线程数量可以等于CPU核心数量(或减一),如日志解析处理等,IO密集型Stage,可以通过测试设定线程数量,一般为CPU核心数量的35倍,如HTTP通信模块,Actor浅探,SEDA的问题:,线程切换开销,单Stage中多线程对Queue的并发访问导致竞争条件,全部Stage之间拓扑、流程维护,Actor浅探,Actor协程,应用层轻量级调度,无Context切换开销,每个Actor拥有独立的Mailbox,无并发访问开销,Topology,维护各个Actor的关系,Actor浅探,“self-heals,systems that never stop”,自恢复功能是如何实现的?,轻量级协程位于同一个线程,如何充分利用多核CPU潜能?,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服