Coherence

线上直播丨国际人工智能会议AAAI 2021论文北京预讲会,33场报告+31个Poster等你来...

安稳与你 提交于 2020-12-19 08:50:46
注册官网:https://hub.baai.ac.cn/activity/details/119 国际人工智能会议AAAI 2021论文北京预讲会 由中国中文信息学会青年工作委员会主办、智源社区承办,将于 12月19日 在北京北大科技园北领讲堂举办。 AAAI( The National Conference on Artificial Intelligence)会议是国际人工智能领域最高级别的学术会议之一,主要是为促进人工智能(AI)的研究和为人工智能研究人员、从业人员、科学家以及附属学科工程师之间提供一个良好的学术交流平台。正式会议将于明年召开。 本次预讲会对于部分国内研究人员录用的论文进行提前召集以及汇报预讲,旨在加强国内相关学者之间的交流,同时为不能参会的人员提供一次学术分享,从而促进我国人工智能研究的发展。 本届论文预讲会的形式分为特邀报告、口头报告和海报展示三类。此外,还安排了两场面向技术前沿的特邀报告,由本领域的两位优秀青年学者担任报告人。 本次报告会用于提前分享被顶级会议接受的论文,所有报告的著作权/版权由报告人所有,论文的版权/著作权遵从相关会议的约定,也提醒大家尊重作者和会议的相关权利。整个会议报告人和听众均自愿参与,主办方仅承担议程协调和会务组织工作。 时间形式 会议时间:2020年12月19日(周六)08:40-17:50 在线观看:微信扫码入群

带你读懂《Java并发编程》:第3章 助于线程安全的三剑客:final&valitale&线程封闭

依然范特西╮ 提交于 2020-12-14 22:23:25
点击上方 蓝字 关注我们 我们简要的 回顾前文: 《第1章 多线程安全性与风险》 介绍了并发编程, 在维护难度、性能以及活跃性三个方面,所带来的风险与优势 ; 《第2章 影响线程安全性的原子性和加锁机制》 介绍了并发编程核心概念 -- 线程安全性, 介绍了用同步的手段 ,来避免多个线程在同一时刻访问相同的数据 ; 今天分享的是《Java并发编程实战》第3章 -- “对象的共享”: 介绍用安全共享和发布对象的手段,来让多个线程能够安全的同事访问同一数据 。 开始前,我们先回顾下几个重要的基础知识: 缓存一致性 和 Java内存模型 。 现实计算机系统是存在缓存一致性问题的,见下图: 现实因素: 由于计算机存储设备与处理器的运算速度有个数量级的差距( 即便存储设备使用SSD,还是比处理器慢几个数量级 ),所以计算机系统不得不增加一层读写速度尽可能接近处理器速度的高速缓存Cache来作为内存和处理器之间的缓冲。 缓存一致性(Cache Coherence) :基于高速缓存的存储交互解决了处理器和内存的速度矛盾,但是引入了缓存一致性( 在多处理器系统中,每个处理器都有自己的高速缓存,而它们又共享同一个主内存(Main Memory),当多个处理器的运算任务都涉及同一块主内存区域时,将可能导致各自的缓存数据不一致 )。 Java内存模型(Java Memory Model,JMM)

宋宝华:那些年你误会的Linux DMA(关于Linux DMA ZONE和API最透彻的一篇)

ε祈祈猫儿з 提交于 2020-11-28 08:41:46
原创 宋宝华 Linux阅码场 2019-11-29 创作目的 互联网、Linux内核书籍上充满了各种关于Linux DMA ZONE和dma_alloc_coherent、dma_map_single等的各种讲解,由于很多童鞋缺乏自身独立的思考,人云亦云,对这些概念形成了很多错误的理解。本文的目的在于彻底澄清这些误解。 当你发现本文内容与baidu到的内容不一致的时候,以本文内容为准。 本文目录 1.DMA ZONE的大小是16MB? 这个答案在32位X86计算机的条件下是成立的,但是在其他的绝大多数情况下都不成立。 首先我们要理解DMA ZONE产生的历史原因是什么。DMA可以直接在内存和外设之间进行数据搬移,对于内存的存取来讲,它和CPU一样,是一个访问master,可以直接访问内存。 DMA ZONE产生的本质原因是:不一定所有的DMA都可以访问到所有的内存,这本质上是硬件的设计限制。 在32位X86计算机的条件下,ISA实际只可以访问16MB以下的内存。那么ISA上面假设有个网卡,要DMA,超过16MB以上的内存,它根本就访问不到。所以Linux内核干脆简单一点,把16MB砍一刀,这一刀以下的内存单独管理。如果ISA的驱动要申请DMA buffer,你带一个GFP_DMA标记来表明你想从这个区域申请,我保证申请的内存你是可以访问的。 DMA ZONE的大小,以及DMA

宋宝华:那些年你误会的Linux DMA(关于Linux DMA ZONE和API最透彻的一篇)

久未见 提交于 2020-11-28 08:39:14
原创 宋宝华 Linux阅码场 2019-11-29 创作目的 互联网、Linux内核书籍上充满了各种关于Linux DMA ZONE和dma_alloc_coherent、dma_map_single等的各种讲解,由于很多童鞋缺乏自身独立的思考,人云亦云,对这些概念形成了很多错误的理解。本文的目的在于彻底澄清这些误解。 当你发现本文内容与baidu到的内容不一致的时候,以本文内容为准。 本文目录 1.DMA ZONE的大小是16MB? 这个答案在32位X86计算机的条件下是成立的,但是在其他的绝大多数情况下都不成立。 首先我们要理解DMA ZONE产生的历史原因是什么。DMA可以直接在内存和外设之间进行数据搬移,对于内存的存取来讲,它和CPU一样,是一个访问master,可以直接访问内存。 DMA ZONE产生的本质原因是:不一定所有的DMA都可以访问到所有的内存,这本质上是硬件的设计限制。 在32位X86计算机的条件下,ISA实际只可以访问16MB以下的内存。那么ISA上面假设有个网卡,要DMA,超过16MB以上的内存,它根本就访问不到。所以Linux内核干脆简单一点,把16MB砍一刀,这一刀以下的内存单独管理。如果ISA的驱动要申请DMA buffer,你带一个GFP_DMA标记来表明你想从这个区域申请,我保证申请的内存你是可以访问的。 DMA ZONE的大小,以及DMA

CVE-2020-14644 weblogic iiop反序列化漏洞

拥有回忆 提交于 2020-10-02 20:38:26
360cert文章地址: https://cert.360.cn/report/detail?id=b747e983cd8f70a9eb315c2c7b38fe24 0x00 weblogic 受影响版本 Oracle WebLogic Server 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0 0x01 环境准备 1、安装weblogic server版本。 2、生成wlfullclient.jar包 安装weblogic_server可以参考 https://blog.csdn.net/qq_36868342/article/details/79967606 。 wlfullclient可以通过,在安装完weblogic服务以后,来到 ~/Oracle/Middleware/Oracle_Home/wlserver/server/lib 目录,运行 java -jar ~/Oracle/Middleware/Oracle_Home/wlserver/modules/com.bea.core.jarbuilder.jar ,就会在lib目录下生成一个wlfullclient.jar包。这个wlfullclient.jar包包含了weblogic的基本所有功能类。 3、在IDEA新建一个工程文件。把coherence.jar包和wlfullclient

Weblogic 远程命令执行漏洞(CVE-2020-14644)分析

十年热恋 提交于 2020-08-19 13:18:44
作者:Sp4rr0vv@ 白帽汇安全研究院 核对:r4v3zn@ 白帽汇安全研究院 本文为作者投稿,Seebug Paper 期待你的分享,凡经采用即有礼品相送! 投稿邮箱:paper@seebug.org 概述 2020 年 7 月 15 日,Oracle 发布大量安全修复补丁,其中 CVE-2020-14644 漏洞被评分为 9.8 分,影响版本为 12.2.1.3.0、12.2.1.4.0, 14.1.1.0.0 。本文基于互联网公开的 POC 进行复现、分析,最终实现无任何限制的 defineClass + 实例化,进行实现 RCE。 前置知识 JDK 的 ClassLoader 类中有个方法是 defindClass ,可以根据类全限定名和类的字节数组,加载一个类到 jvm 中并返回对应的 Class 对象(随带一提,这种加载类的方式不会执行类初始化)。 所以只要参数 name (类名)和 b (类文件的二进制数据)可控,理论上我们可以加载任何类,需要注意的一点是,这个类名 name 一定要和这个类字节数组 b 中对于的类名一致才行,不然就是一个 NoClassDefFoundError 复现 环境 - Weblogic 12.2.1.4.0 - jdk 1.8.0_112 - Windows 10 首先准备一个带包名的恶意类,在构造函数中写入恶意代码 package

独家 | 机器学习真实案例研究:基于文本描述的交易聚类

老子叫甜甜 提交于 2020-08-13 16:20:35
作者:Ravindra Reddy Tamma 翻译:方星轩 校对:欧阳锦 本文约 2200字 ,建议阅读 5分钟。 本文为大家介绍了在日常的电子交易中对用户的交易信息进行聚类分析和建模,提供了用户分析的思路和建议。 标签: 聚类 机器学习 我们正生活在数字技术时代。还记得你上次去到没有PayTM或BHIM UPI的商店是什么时候吗?很显然,这些数字交易技术已迅速成为我们日常生活的关键部分。 数字技术不仅是个人,也是各大金融机构的核心。依托着可靠的后台运行系统,执行多种选项的支付交易或资金转帐(例如,网上银行,ATM,信用卡或借记卡,UPI,POS机等)是一件非常顺利的事。 对于我们进行的每笔交易,都会针对它生成一个适当的描述消息,如下所示: 在本文中,我们将讨论一个金融机构的实际使用案例,该案例使用-聚类clustering(一种流行的机器学习算法)来为其客户群定制其产品。 本案例研究的动机 作为一家金融机构,始终根据客户的兴趣为他们量身定制报价,并以此来吸引现有客户群是很重要的事。对于任何金融机构而言,把握全方位的客户信息是一项重大挑战。 Twitter,WhatsApp,Facebook等社交媒体平台已成为描述客户兴趣和偏好的主要信息来源。金融机构使用第三方来源的数据通常会付出巨大的成本。即使如此,将社交媒体帐户映射到每一个客户也非常困难。 那么我们该如何解决呢? “A

2020 存储技术热点与趋势总结

我是研究僧i 提交于 2020-08-08 23:22:01
2 年前我们发表了一遍文章 2018 存储技术热点与趋势总结,受到了不少朋友的关注。2 年过去了,存储行业也在不断的发生着变化。今天,我们就结合过去两年学术界和工业界的进展,帮大家做一次总结,供大家参考。 本文内容会涉及到 Persistent Memory、Consensus、Consistency、 Persistent Memory(PMem) PMem 在 2018 年的时候还仅限于学术界的探讨,而如今已经来到了工业界。Intel 在 2019 年 4 月份发布了第一款 Intel Optane DC Persistent Memory(内部产品代号 Apache Pass),可以说是一个划时代的事件。如果你完全没有听说过 PMem,那么可以先通过我之前的文章了解一下。 我们先来看一下实物的样子 是的,DIMM 接口,看起来就像内存。所以很多人会把 Optane PMem 和 Optane SSD 弄混,因为都叫 Optane。实际上 Optane SSD 是 NVMe 接口,走 PCIe 总线。由于接口和总线不同,Optane PMem 和 Optane SSD 的使用方式也完全不同的。 目前单条(因为长得像内存,所以就用“条”来做量词了)容量一共有三种选择:128G、256G、512G,价格还是相当贵的。 这里我想强调的是:PMem 并不是更慢的内存,也不是更快的

NAS读取延时问题及NFS缓存机制

丶灬走出姿态 提交于 2020-07-28 17:58:43
业务场景: 前台通过RPC调用后台,在NAS指定路径生成图片 前台直接到NAS盘中获取该图片,在浏览器中进行展示 问题: 前台tomcat报出404错误,提示找不到该资源 问排查过程: 分别登录前后台服务器,进入上述图片路径, ls 图片名 检查图片是否存在。发现前后台服务器均能看到该图片。 在后台服务器上使用 mv 图片名 test ,将图片改名为test。再次 ls 检查,发现后台服务器上原图片已变为test,但前台服务器上任然只能看到原图片,无法看到test。间隔50s再次检查,发现前台服务器上原图片也已变为test。 小结: 在后台服务器上对NAS盘内文件进行变更,无法被前台服务器立即捕获到。 检查磁盘加载配置 cat /etc/fstab 发现对应NAS盘加载配置为 XXX.XX.XXX.XX:/XXX_NAS_0001 /appnas nfs vers=3,rsize=1048576,wsize=1048576,hard,intr 0 0 man nfs 查看/etc/fstab的说明文档,发现这样一段话 ac / noac Selects whether the client may cache file attributes. If neither option is specified (or if ac is specified), the client

锁分类(独占锁、分拆锁、分离锁、分布式锁)

旧城冷巷雨未停 提交于 2020-04-21 05:52:39
在共享内存的多处理器体系 架构 中,每个处理器都拥有自己的缓存,并且定期地与主内存进行协调。 在不同的处理器架构中提供了不同级别的缓存一致性(Cache Coherence), 其中一部分只提供最小的保证,即允许不同的处理器在任意时刻从同一个存储位置上看到不同的值。 操作系统 、编译器以及运行时(有时甚至包括应用程序)需要弥合这种在硬件能力与线程安全之间的差异。 java内存模型 抽象出线程独有的运行内存和共有的主存储 为了使java开发人员无须关心不同架构内存模型之间的差异, Java还提供了自己的内存模型,并且JVM通过在适当的位置上插入 内存栅栏(内存屏障) 来屏蔽在JVM与底层之平台内存模型之间的差异。 线程中的变量何时同步回到内存是不可预期的 java内存模型规定,通过关键词”synchronized“、”volatile“可以让java保证某些约束。 “volatile” - 保证读写的都是主内存变量。 “synchronized” - 保证在块开始时,都同步主内存值到工作内存,而快结束时,将工作内存同步会主内存。 指令重排序:: public class PossibleReordering { static int x = 0, y = 0; static int a = 0, b = 0; public static void main(String[] args