• 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

在线社交网络中用户地理位置预测综述

刘乐源, 代雨柔, 曹亚男, 周帆

刘乐源, 代雨柔, 曹亚男, 周帆. 在线社交网络中用户地理位置预测综述[J]. 计算机研究与发展, 2024, 61(2): 385-412. DOI: 10.7544/issn1000-1239.202220417
引用本文: 刘乐源, 代雨柔, 曹亚男, 周帆. 在线社交网络中用户地理位置预测综述[J]. 计算机研究与发展, 2024, 61(2): 385-412. DOI: 10.7544/issn1000-1239.202220417
Liu Leyuan, Dai Yurou, Cao Yanan, Zhou Fan. Survey of User Geographic Location Prediction Based on Online Social Network[J]. Journal of Computer Research and Development, 2024, 61(2): 385-412. DOI: 10.7544/issn1000-1239.202220417
Citation: Liu Leyuan, Dai Yurou, Cao Yanan, Zhou Fan. Survey of User Geographic Location Prediction Based on Online Social Network[J]. Journal of Computer Research and Development, 2024, 61(2): 385-412. DOI: 10.7544/issn1000-1239.202220417
刘乐源, 代雨柔, 曹亚男, 周帆. 在线社交网络中用户地理位置预测综述[J]. 计算机研究与发展, 2024, 61(2): 385-412. CSTR: 32373.14.issn1000-1239.202220417
引用本文: 刘乐源, 代雨柔, 曹亚男, 周帆. 在线社交网络中用户地理位置预测综述[J]. 计算机研究与发展, 2024, 61(2): 385-412. CSTR: 32373.14.issn1000-1239.202220417
Liu Leyuan, Dai Yurou, Cao Yanan, Zhou Fan. Survey of User Geographic Location Prediction Based on Online Social Network[J]. Journal of Computer Research and Development, 2024, 61(2): 385-412. CSTR: 32373.14.issn1000-1239.202220417
Citation: Liu Leyuan, Dai Yurou, Cao Yanan, Zhou Fan. Survey of User Geographic Location Prediction Based on Online Social Network[J]. Journal of Computer Research and Development, 2024, 61(2): 385-412. CSTR: 32373.14.issn1000-1239.202220417

在线社交网络中用户地理位置预测综述

基金项目: 国家自然科学基金项目(62176043, 62072077, 62272089);四川省自然科学基金项目(2022NSFSC0505);四川省科技计划项目(2022YFSY0006)
详细信息
    作者简介:

    刘乐源: 1982年生. 博士,助理研究员. 主要研究方向为机器学习、图学习、社交网络数据挖掘

    代雨柔: 1997年生. 硕士,研究助理. 主要研究方向为数据挖掘、机器学习、计算机视觉、自动驾驶

    曹亚男: 1985年生. 博士,研究员. CCF会员. 主要研究方向为自然语言处理、社交网络分析、机器学习

    周帆: 1981年生. 博士,教授. 主要研究方向为机器学习、神经网络、时空数据分析、图学习、推荐系统、社交网络数据挖掘

    通讯作者:

    周帆(fan.zhou@uestc.edu.cn

  • 中图分类号: TP391

Survey of User Geographic Location Prediction Based on Online Social Network

Funds: This work was supported by the National Natural Science Foundation of China (62176043, 62072077, 62272089), the Natural Science Foundation of Sichuan province (2022NSFSC0505), and the Sichuan Science and Technology Program (2022YFSY0006).
More Information
    Author Bio:

    Liu Leyuan: born in 1982. PhD, assistant professor. His main research interests include machine learning, graph learning, and social network data mining

    Dai Yurou: born in 1997. Master, research assistant. Her main research interests include data mining, machine learning, computer vision, and autonomous driving

    Cao Yanan: born in 1985. PhD, professor. Member of CCF. Her main research interests include natural language processing, social network analysis, and machine learning

    Zhou Fan: born in 1981. PhD, professor. His main research interests include machine learning, neural networks, spatial-temporal data analysis, graph learning, recommender systems, and social networks data mining

  • 摘要:

    随着智能移动终端的日益普及,人们越来越多地利用社交网络平台(如Twitter、新浪微博等)获取信息、评论和交流. 虽然全球卫星定位系统(GPS)设备能够精确获取位置信息,但是大量用户出于隐私和安全的考虑不会直接共享自己的位置信息. 因此,如何获取在线用户的地理位置成为了一个前沿的研究领域以及学术界和工业界共同关注的重要课题,并且成为众多下游应用的基础,例如基于位置的定向广告投放、事件/地点的推荐、自然灾害或疾病预警和网络犯罪的追踪等. 详细总结了预测社交网络用户地理位置的方法、数据、评价体系和基础算法. 首先,归纳了不同的定位任务以及相应的评价指标;其次,针对不同的任务梳理所用的数据类型和数据融合方式,并且,详尽分析了已有的信息抽取和特征选择方式及其优缺点;再次,对现有定位模型和算法进行分类,从地名词典、传统机器学习和深度学习3个方面对用户定位方法进行阐述和分析;最后,总结了社交网络用户地理位置预测的难点和面临的挑战,并展望该领域的发展趋势和未来研究所需要关注的方向.

    Abstract:

    With the increasing popularity of intelligent mobile terminals, people increasingly use social network platforms (such as Twitter, Sina Weibo, etc.) for information acquisition, comments, and exchanges. Although GPS devices can accurately obtain location information, many users do not directly share their location information for privacy and security considerations. Therefore, obtaining the geographic location of online users has become an important topic in both academia and industry and is the foundation of many downstream applications, such as location-based targeted advertising, event/location recommendations, early warning of natural disasters or diseases, and criminal tracking, etc. We survey in detail the methods, data types, evaluation metrics, and fundamental algorithms for predicting the geographic location of social network users. First, we discriminate different online user geolocation tasks and corresponding evaluation protocols. Subsequently, we assess the data structures and fusion methods used for individual geolocation tasks. Besides, we analyze the existing information extraction and feature selection approaches, as well as their advantages and disadvantages. Moreover, we provide a taxonomy to categorize existing user geolocation models and algorithms, followed by a thorough analysis of different methods from three aspects: geographic dictionary, traditional machine learning, deep learning and graph neural networks. Finally, we summarize the difficulties and challenges in user location prediction while outlining the possible research trend and opportunities to shed light on future work in this field.

  • 事务作为支撑大型复杂场景的技术基石,以一个有限逻辑执行单元为现代应用技术服务提供强有力的可靠性保障[1]. 事务是构建数据管理应用的核心,后来这一理念被广泛运用于数据库系统中,为数据操作提供完整性、一致性、并发性和恢复性4个基本属性[2]. 传统的事务管理系统以硬盘(机械硬盘(hard disk drive, HDD)和固态硬盘(solid state drive, SSD))为数据存储中心,借助主存(dynamic RAM, DRAM)低延迟和随机访问速度快的特性缓存部分数据操作的关键信息,加速事务语义处理. 但是,随着数据存储量的爆炸性增长以及业务种类的扩增,以Oracle[3],SQL Server[4]为代表的传统关系型数据库已经无法满足工业界的需求,低延迟[5]、计算密集型[6]、I/O密集型[7]等新型应用正在不断涌现. 一些学者提出非关系型数据库,如Redis[8], HBase[9], MongoDB[10], Neo4J[11]等适用于联机分析处理(on-line analytic processing, OLAP)[12]的新型数据库. 数据库系统中的事务允许多个操作并发执行并保证数据状态的一致性,但是通常数据库中的一个事务包含多个指令.由于传统数据库中的数据存储在磁盘上,因此事务执行周期较长. 而软件事务内存(soft transaction memory,STM) [13]旨在简化并行编程模型,替代基于锁的数据同步方案,高效服务上层应用程序,使应用程序得以简化.并且,软件事务内存与数据结构中每个模块的加载和存储相处更为融洽,从而使应用程序维护更简便. 软件事务内存与数据库中的事务不同之处在于前者研究的重点是并行编程模型范围内的内存访问效率,并且不保证持久性.

    为了提高软件事务内存的性能,先前的工作利用额外的数据结构、内存脚印等机制[14-15]减少磁盘访问,这些机制在事务执行时产生较高的运行时开销. 近年来,为了最小化软件事务内存的开销,硬件事务内存(hardware transactional memory, HTM)[16-17]逐渐获得了研究人员的关注. HTM通过一系列事务相关的指令集在CPU核心中的专有缓存区域追踪事务的读、写集合,并使用通用的缓存一致性(MESI)协议保持事务的修改状态,利用硬件检测事务冲突并中止相关事务执行. 英特尔的事务同步扩展(transaction synchronization extensions, TSX)[18]是一种商业HTM机制的实现,于2013年添加至CPU处理器中. TSX分为2种实现模型:1) 硬件锁定省略(hardware lock elision, HLE)允许CPU不对事务操作对象集合的锁进行持久化,从而致使资源在程序模型视角是空闲的,进一步提高性能;2) 受限事务内存(restricted transactional memory, RTM)是HLE的替代实现,它可以为应用开发者提供灵活的软件接口,通过相应的指令集为事务代码指定执行区域,这一实现模型被广泛应用于实际场景中.

    HTM无法提供数据的非易失性,因此仍然要借助持久化设备保证数据的完整性.后摩尔时代意味着传统的磁盘存储设备已经到达了发展瓶颈,无法高速迭代产品. 在这种不平衡的现状下,主存(DRAM)和持久化存储介质之间的I/O带宽和延迟会变得越来越大,难以满足上层应用程序的性能需求. 工业界和学术界开始寻求其他新型存储技术的突破,提出了一系列的新型非易失性存储器,如相变存储器(phase change memory, PCM)[19]、电阻式存储器(resistive RAM, ReRAM)[20]、自旋传递扭矩磁性存储器(spin torque transfer magnetic RAM, STT-MRAM)[21]等. 英特尔在2019年发布了首款商用傲腾非易失性内存(optane DC persistent memory, Optane PM)[22],该介质利用一种类似PCM的技术——3D XPoint,打破了硬盘和内存之间的栅栏屏障,提供高密度、大容量的非易失性存储. Optane PM可以直接放置在内存总线上,使用DDR-T协议与内存控制器交互通信,允许程序使用异步命令同时保证数据时序,并且事务可以在非易失性内存控制器中重新排序.

    然而,新型硬件的广泛应用使得传统的事务管理系统面临诸多挑战:1) HTM受限于L1缓存大小的限制,极易产生事务冲突,如何在解决事务冲突的前提下减少事务处理延迟是一个挑战. 2) 持久化内存为事务管理系统提供相较于传统持久化存储介质低1~2个数量级的访问延迟,但是直接替换现有事务管理系统中的持久化存储介质会无法发挥持久化内存的性能特点. 3) 为了保证数据的一致性,事务管理系统往往通过额外写机制维护数据持久化顺序,这容易成为新型硬件中事务管理系统的性能瓶颈,可能面临新的可扩展性难题.

    近年来,新型硬件中的事务管理系统已经成为了研究热点,研究人员聚焦于如何保证事务处理系统的高并发、高可扩展性. 本文梳理了近年来基于新型硬件的事务管理系统研究工作. 首先,从新型硬件在体系结构中的层次架构、事务并发控制协议、软硬件协同设计、崩溃一致性4个方面阐述相关概念及问题. 接着,对事务管理系统所使用的新型硬件进行分类,从事务性能、并发性、可扩展性等方面论述相关工作,明确基于新型硬件的事务管理系统设计目标. 最后,对现有基于新型硬件事务管理系统设计的缺陷和瓶颈进行总结,指出基于新型硬件的事务管理系统的未来研究方向和具有价值性的设计原则.

    新型硬件在计算机体系结构中的层次架构如图1所示,本文聚焦于新型硬件对现有的事务管理系统的影响,因此仅从硬件本身带来的挑战和性能提升进行分析描述.

    图  1  新型硬件层次架构
    Figure  1.  Architecture of the new hardware hierarchy

    HTM为事务提供原子性(atomicity)、一致性(consistency)、隔离性(isolation)属性. 为了保证数据在共享内存中操作原语的原子性,程序编程模型通常采用锁机制确保原子性. 由于该机制在数据争用时会阻塞其他进程处理,并且同步开销较大, HTM以更简单的事务编程模型允许事务推测性执行,从而提高并发性能.

    由于目前商用的持久化内存较少,因此本文的新型持久化内存硬件特性以傲腾非易失性内存(Optane PM)为例进行描述,后文若描述非易失性内存对象不是Optane PM,则用持久化内存替代. Optane PM 提供低延迟的数据访问,并且保证在机器发生意外崩溃时保证数据的完整性.傲腾非易失性内存具有3种模式:Memory模式、AppDirect模式和混合内存模式. Memory模式与DRAM相同,目的是为上层程序应用提供高速、大容量的易失性存储;AppDirect模式具有与硬盘类似的特性,它可以为上层程序应用提供更低延迟的持久化存储;混合内存模式下,用户可以根据需求对Optane PM空间进行区域划分,既可以提供大容量内存,又可以提供低延迟的持久化存储.

    上述HTM和Optane PM的特性为事务管理系统带来了新的机遇,本文针对HTM和Optane PM特性对上层应用程序的性能增益进行评估,如表1所示.

    表  1  新型硬件的性能评估
    Table  1.  Performance Evaluation of New Hardware
    存储设备延迟吞吐非易失性性能增益
    DRAM
    Optane PM较低较高较高
    SSD
    HDD
    下载: 导出CSV 
    | 显示表格

    表1中可以观察到,Optane PM在延迟和吞吐上略差于DRAM,但是它在应用程序的性能增益上远超过传统的硬盘存储. 这是由于应用程序无需复杂的I/O路径,通过load/store指令直接在Optane PM上读写数据. 图2展示了Optane PM在存储层次结构中的3种不同访问路径类型:1) Optane PM作为主存和二级存储之间的中间层,可以降低数据的访问延迟并提高系统整体吞吐,相较于价格高昂的主存,可以有效降低数据总拥有成本. 2) 将主存和Optane PM放置在同一层,使得Optane PM既可以拥有类似主存高速随机访问的优势,又可以提供非易失性存储. 3) 将Optane PM放在二级存储层次,但是此架构下的数据关键路径可以绕过主存,使用相应的指令集直接对Optane PM上的数据进行访问,仅适用于数据需要实时持久化存储并对延迟有一定容忍度的场景.

    图  2  不同的内存组织布局架构
    Figure  2.  Different memory organization layout architectures

    研究人员对Optane PM特性进行深入测试[23-24],发现Optane PM中的持久域无需额外的电池就可以提供系统崩溃或者意外断电后的数据完整性服务,并且可以保证8 B的原子写,即只要程序以8 B的粒度写入Optane PM,无需额外的数据结构即可保证数据一致性. 如图1中的ADR区域,只要数据进入ADR区域即可保证数据完整性,该区域已经在目前支持Optane PM的第2代英特尔至强可扩展CPU上得到广泛支持;eADR区域与ADR的区别之处在于它的持久域包括整个内存层次架构及CPU缓存,只要数据进入CPU缓存中就可以保证数据的完整性,不会因为系统崩溃以及意外断电而导致数据丢失.

    如果将Optane PM直接放置在现有的应用程序上,具有3点局限性:1)读写不对称,已有的研究[23-24]表明在最理想的测试环境下,Optane PM的顺序读延迟是DRAM的2倍,随机读延迟是DRAM的3倍,但是Optane PM使用专有指令集的写延迟与DRAM相差不大. 2) 访问粒度不匹衡,Optane PM的带宽不能随着访问粒度的增大而线性增长,研究表明小于256 B的随机访问Optane PM会引起写放大,导致Optane PM的使用寿命减少[23-24]. 3) 可扩展性差,Optane PM 的吞吐率无法随着线程数量的增长而线性扩展,在高并发场景下,这将会造成大量的资源浪费,并且产生性能瓶颈.

    随着新型硬件商业化应用的兴起,事务管理系统的发展面临新的挑战,主要包括2个方面:

    1) HTM的区域容量以及并发控制协议增加了事务中止概率

    HTM可以提供硬件级别的事务冲突检测,并减少各个核心之间的锁同步开销. 在HTM中,事务以类似乐观并发控制协议(OCC)的方式执行. 然而,互联网正在重塑我们的日常生活,各种新型业务需求正在爆炸性增长,大事务和长事务等类型的事务所读取或写入的缓存行数量会溢出HTM区域. 因为HTM中的事务在执行时是在CPU核心的私有核心区域中处理.如果此时事务发生冲突,则有可能中止其他对相同缓存行读取的事务,从而造成资源浪费. 此外,事务的冲突检测、冲突解决时机以及一致性保证也会制约事务管理系统的吞吐性能. 仅使用单个核心的HTM可以避免核间数据通信,减少事务冲突中止率,但是这种方案无法高度并行化. 因此,如何扩展HTM区域并选择合适的冲突检测时机,是设计硬件事务内存驱动的事务管理系统的重要挑战.

    2) Optane PM的硬件特性限制了事务系统的性能

    Optane PM的延迟、吞吐特性会限制现有的事务管理系统的性能. 相比较于传统事务管理系统中的磁盘访问方式,Optane PM已经将访问延迟降低至纳秒级别. 从理论层面分析得知事务管理系统没有完全发挥Optane PM的性能极限,主要原因有2个方面:一方面,Optane PM可以提供持久化存储,但是它无法保证系统崩溃之后较大数据粒度存储至Optane PM上的数据一致性. 而且,由于Optane PM的读写不对称以及访问粒度等硬件本身特性的限制,目前现有的机制如日志等会造成大量的带宽浪费并减少Optane PM的使用寿命. 另一方面,当前的事务并发控制协议需要重新设计冲突检测策略以及持久化顺序. Optane PM无法随着现代多核架构中内核数量的增加而线性扩展事务吞吐性能. 并且Optane PM可以为HTM提供持久化存储,但是当前的并发控制协议无法充分发挥硬件级别的性能以及Optane PM访问模式特性也会对HTM进行制约,直接将二者结合会因为事务执行和存储关键路径上的等待问题而降低事务吞吐性能.

    本文将从事务并发机制、软硬协同、事务崩溃恢复机制3个维度着手进行综述.事务并发机制是保证事务性能的软件基础,软硬协同是设计高性能事务管理系统的重要方向,事务崩溃一致性机制是保证事务管理系统的可用性.

    并发控制协议是事务管理系统的重要组件,其代表允许事务并发执行的最大限度为多少,而隔离级别则控制事务并发执行的性能. 事务的隔离级别一般可以分为强、弱2种级别. 事务中强隔离级别为串行化(serializable),它意味着一次仅执行一个事务,一个事务结束之后才处理下一个事务. 虽然这种隔离级别无需额外的机制保障数据一致性,但是它会制约事务管理系统的扩展性,这与语义模型的并发性趋势相违背. 弱隔离级别可以分为快照隔离(snapshot isolation, SI)和可串行化快照隔离级别(serializable snapshot isolation, SSI). 快照隔离级别指的是事务在读数据时并没有读取最新的数据项,而是选择某个时间点具有一致性保障的数据快照(副本),目的是减少等待其他并发事务完成的时间. 对于此隔离级别下的写事务,事务容易发生“写倾斜”异常. 因为快照隔离级别并发执行的2个事务存在修改同一个数据项的可能性,但是它们无法获取双方事务更新后的数据项状态,从而无法保证数据一致性. 可串行化快照隔离追踪并发执行多个事务之间发生的冲突(读-写、写-读和写-写冲突),一旦检测到冲突事务,系统则选择中止其中一个事务达到可串行化执行的目的.

    以上的并发控制协议隔离级别的实现机制分为基于锁的协议和基于时间戳的协议.基于锁的并发控制协议的典型代表是数据库中的2阶段锁(two-phase locking, 2PL). 2PL在事务的执行过程中分为2个阶段:1) 增长阶段,这个阶段事务获取相应读写的数据项,并对其上锁,阻塞其他事务对数据项操作. 2) 缩减阶段,这个阶段释放增长阶段获取的数据锁,并不获取新的锁. 基于时间戳的并发控制协议对每个事务赋予唯一的时间戳,通过时间戳的大小避免并发事务之间的冲突,保证事务可串行化执行.

    根据事务冲突类型以及并发控制协议的实现机制,并发控制协议可以分为悲观并发控制、客观并发控制和乐观并发控制. 2PL就是典型的悲观并发控制协议,适用于解决读-写和写-写冲突. 但是悲观并发控制对事务操作数据单元集合中的每个数据项都需要获取锁,而频繁的锁管理操作会降低事务处理性能. 因此,客观并发控制为了减少锁开销,使用基于时间戳的机制. 每个事务开始时会获取唯一的时间戳作为事务的开始标志,通过时间戳的逻辑顺序,事务管理系统可以保证事务的读写操作有序执行. 乐观并发控制认为事务执行期间不会相互干扰,因此事务可以在执行期间不获取任何锁,直接对事务操作逻辑单元集合中的数据项进行更新. 但是在事务提交之前,乐观并发控制会验证读写数据是否存在冲突. 如果验证失败,则中止事务并回滚相关数据项;否则说明事务执行期间没有任何冲突,则可以提交事务并持久化更新相关数据项.

    HTM的思想是“尽力而为”,因此当事务在硬件层面没有成功提交时,需要使用软件回退保证事务的执行进度. 通常采用全局锁序列化执行未能成功执行的事务. 根据冲突检测时机,现有的方案分为2类:急切检测和惰性检测. 急切检测指的是在硬件事务启动后立刻检查全局锁的状态,如果发现已经上锁,则该事务立刻中止;否则,事务则在硬件路径上执行. 并且,事务追踪锁的更新状态,一旦发现其他事务获取锁,则中止事务. 但是,急切检测机制无法同时执行推测性事务和软件回退路径上的事务,而惰性检测则是在事务提交之前获取锁状态,类似于乐观并发控制算法. HTM通过黑盒和强原子性操作保证事务的一致性. 但是当发生冲突时,非事务性访问的位置都在事务性访问之前进行排序,从惰性检测的角度无法观察到数据不一致的状态,从而导致事务错误提交.

    随着新型硬件技术的发展,仅使用新型硬件直接替代传统事务管理系统中持久化介质的技术路线并不能发挥硬件本身的最大性能. 原因是新型硬件的特性无法透明支持上层程序应用,导致软件栈限制了事务吞吐性能,具体原因为:

    研究表明[23-24]Optane PM内部的访问粒度为256 B,这与CPU中的缓存行粒度64 B不匹配,如果不对程序编程模型进行重构,将造成大量的写放大. 并且第3代英特尔可扩展至强CPU提供了有效的缓存行刷新(CLFLUSH)、优化的缓存行刷新(CLFUSHOPT)、缓存行写回(CLWB)、非临时存储(NT-STORE)和内存屏障(FENCE)原语. CLFLUSH指令能够将指定内存地址的缓存行从CPU缓存中淘汰,并向所有CPU核通知. 如果该缓存行是脏数据,则在缓存行失效前写回主存中. CLFUSHOPT指令则是CLFLUSH的优化版,其支持在访问不同的缓存行时,可以不按照顺序淘汰缓存行. CLWB作为目前只有第3代英特尔可扩展至强CPU支持的指令,它的功能与CLFLUSH相似,但是在缓存行的数据写回主存之后,该缓存行仍显示为未被修改的状态,即写回数据后不让缓存行失效. NT-STORE指令可以使数据绕过缓存,直接将数据写入Optane PM. 而FENCE的功能则是保证访存指令按照程序的逻辑顺序执行,即在高并发场景中,多个load/store指令对Optane PM上的数据进行并发操作,缓存行刷回可能会并行执行,导致脏缓存行无法保证有序写回,这时则需要FENCE指令来约束缓存行的写回顺序. 但是,Optane PM相关的指令如CLFLUSH和FENCE在保证串行持久化时会产生较大的持久化开销,降低系统性能.

    HTM作为底层硬件级别的冲突解决方案,其可以与Optane PM结合. 但是由于高速缓存行逐出策略具有黑盒属性,Optane PM的指令集无法对高速缓存行的状态进行有效推测,从而可能出现事务数据持久化顺序无法受到指令集约束的情况.

    由于Optane PM具有异步刷新功能,加载至ADR区域的数据并不会丢失.在系统意外断电或者程序发生崩溃错误后是否可以维护数据一致性,是衡量事务管理系统可靠性的一个重要指标. 即使事务管理系统发生故障,系统在恢复后仍然可以访问正确状态的数据. 但是在实际程序语义模型中,由于一个事务内部可能需要修改多个数据项,系统崩溃故障可能发生在事务部分数据项已经完成变更状态并持久化之后. 而故障恢复模型可以在系统恢复时追踪数据状态,将数据恢复至正确状态.

    持久化模型保证事务管理系统的崩溃一致性,但是一致性模型规定的持久化顺序会限制事务管理系统的吞吐性能. 按照数据上下文持久化顺序可以将持久化模型分为2类:严格持久化和宽松持久化. 程序语义中的严格持久化与Optane PM上数据存储顺序一致.如果前面的数据没有存储完成,会阻塞后续的数据存储,这种模型受到了排序约束从而导致性能瓶颈.宽松持久化模型允许数据持久化的顺序与程序语义中上下文中的数据可见性顺序不同,通过设计新的持久化屏障控制数据的可见性和存储排序约束性.

    构建在Optane PM上的事务管理系统在崩溃恢复时对数据的操作原语同样需要原子性操作. 目前用作实现崩溃一致性的技术分为2类:预写日志和影子分页. 预写日志要求在数据写入Optane PM之前将数据的变化记录在日志中,日志先于数据持久化. 当前主流的预写机制分为undo日志和redo日志.undo日志在每一个数据持久化之前首先创建一条日志并持久化,使多个独立写原子化地执行.系统崩溃重启后利用undo日志的内容将未完成的原子单元中的修改回退到一致性状态. redo日志采用异地更新方案,在日志中记录更新后的数据版本,当事务单元的所有更新结束后首先将日志持久化,之后再将数据写回到原位置. 影子分页与预写机制的不同之处在于允许数据异地更新,从而减少预写机制的冗余写入. 影子分页也叫做写时复制(CoW),它创建一个新的数据副本,并将原始数据以及后续的更新内容写入到持久存储,然后改变指针来指示新的对象/数据,而旧的对象/数据则可以被丢弃.影子数据对整合数据区域维护2个(或多个)版本,每次只更新一个版本,保证了在任何时刻至少有一个副本处于一致性状态,系统崩溃后通过观察持久性状态信息来选择具有一致性版本的数据恢复.

    本文对上述方案进行了总结,如表2所示. 表2N为一个事务内修改的单元数,内存屏障数量表示持久化约束指令,flush表示需要手动将缓存刷回到Optane PM的次数.

    表  2  预写日志和影子分页的性能对比
    Table  2.  Performance Comparison of Write-ahead Logs and Shadow Paging
    方案 内存屏障数量 flush复制开销 更新位置
    undo日志 2+2N 2+3N 就地更新
    redo日志 2 2+N 异地更新
    CoW12N异地更新
    下载: 导出CSV 
    | 显示表格

    undo日志中每个单元更新引入2个顺序限制:日志数据必须在日志头更新之前持久化,以及日志头的持久化必须在更改数据之前. 因此需要2个内存屏障,并且需要对日志、日志头以及数据本身执行3次缓存刷回,除此之外还需要保证每个事务的日志清空要在数据更新完成之后.

    redo日志异地更新数据,日志数据持久化后需要更新日志大小,之后才能原地更新Optane PM对象,其中每个对象需要1次缓存刷回,日志区域以及日志大小各需要1次持久化写入.

    CoW只需要保证事务在更新对象指针之前,每个操作对象的更新已经完成持久化,每次更新需要将对象本身以及对象指针刷回. 并且,在以数据块为单位的事务管理系统中,CoW需要拷贝整个数据块的内容,如果数据块的容量被设置得很大将会导致较高的复制开销.

    虽然表1所述方案的实现方式不同,但是它们有4条共同原则:1)一定会有一个数据副本;2)一定会有一个持久性状态信息来指示哪一个副本处于一致性状态;3)要求至少一个持久化写的顺序限制;4)只有经历一次与持久性设备之间的往返屏障之后才能保证数据持久化.这4条共同的性质也是保证崩溃一致性的基本要求.

    为了应对新硬件带来的挑战,相关研究学者针对新硬件本身特性和事务属性展开了一系列相关工作. 本节仅从单机事务管理系统相关文献出发,并将这些文献划分为硬件事务内存驱动的事务策略研究、面向持久化内存的事务管理系统技术研究和面向新硬件的软硬协同事务技术研究,并在最后对这3个研究进行总结.研究框架图如图3所示,从硬件本身、事务并发控制机制和持久化机制3个维度进行分类分析.

    图  3  基于新硬件的事务管理系统技术框架
    Figure  3.  The technical framework of transaction management system based on new hardware

    随着多核架构的发展,并行编程已经成为了当前程序语义模型的主流实现方案. 为了保证同步访问共享内存中的数据,传统的方法容易导致程序上下文出错,并且基于软件运行时开销较大. HTM作为一个抽象的硬件级别解决方案,减少额外冲突检测开销,但是HTM受限于区域容量限制,并且操作系统上下文中的原语操作容易中止事务,限制了HTM的可扩展性. 降低HTM中的事务中止率,减少HTM的软件栈路径开销对于HTM驱动的事务管理系统至关重要. 表3对目前主流的HTM驱动的事务管理系统进行总结.表3中的冲突检测代表事务冲突检测时机,其中惰性检测意味着事务冲突检测在提交时才进行检测,急切检测则反之.数据版本含义为数据持久化是否立即发生,惰性代表事务提交后数据进入缓冲区,急切则代表数据被日志所记录.回退路径则代表HTM不提供进度保证,需要采用其他机制保证软件回退. 悲观回退路径代表事务回退时,需要对相关的数据项获取锁,重试则代表事务会丢弃所有执行的更新并重新启动更新.

    表  3  HTM驱动的事务策略研究分类
    Table  3.  Classification of Transaction Strategy Research Driven by HTM
    方案冲突检
    测策略
    数据
    版本
    一致性协
    议修改
    并发性回退
    路径
    LogTM-SE[25]急切检测急切悲观
    EazyHTM[26]惰性检测惰性重试
    Pi-TM[27]混合检测惰性
    PleaseTM[28]急切检测惰性悲观
    Forgive-TM[29]惰性检测惰性
    CIT[30]惰性检测急切悲观
    Leis’s[31]惰性检测急切悲观
    HTCC[32]惰性检测惰性悲观
    下载: 导出CSV 
    | 显示表格

    LogTM-SE[25]发现目前HTM方法中的数据版本控制以及冲突检测严重依赖L1缓存. 然而,这样做一方面增加了L1缓存的存储压力,另一方面也不利于访问事务的状态信息. LogTM-SE利用签名以及日志来存储事务状态信息,将事务执行路径与L1缓存解耦. 签名用来检测事务冲突,在收到缓存一致性请求时,处理器立刻利用签名信息检查读写集合是否冲突. 日志则用来保证事务冲突后可正确回退,因此LogTM-SE发生数据更新时使用日志记录数据的变化,出现事务中止回退时采用悲观机制即获取锁的方式保证数据有序回退. 签名以及日志的实现仅需要少量修改现有硬件提供的缓存阵列,实现了事务执行路径与L1缓存的解耦. 在此基础上其允许事务状态信息可以被软件访问,操作系统内核和运行时软件可以利用这些信息来支持事务虚拟化,支持任意大小的事务,并且可以接受内存页切换等操作系统活动.

    EazyHTM[26]发现在事务之间发生冲突时立刻中止会增加级联等待时间. 为了解决事务潜在冲突,事务管理系统需要推测事务之间的优先级顺序. 但是,由于事务在执行时缺少先验性知识,无法得到最优结果.即使得出正确结论,事务之间也无法保证高度串行化. 基于此观察,EazyHTM将冲突检测和冲突解决任务分离,在事务执行的同时进行冲突检测,但是冲突解决推迟至事务尝试提交时进行,从而实现惰性冲突检测机制. 这种机制类似于乐观并发控制协议,但是与之不同的是,EazyHTM可以避免事务提交时的验证,减少验证等待时间. 为了保证在多个CPU核中的数据一致性,EazyHTM通过对MESI协议进行微小修改. 其使用位图维护事务提交时必须中止的事务列表,并且允许事务通过向其他CPU核心广播特殊请求,中止每个CPU核心上正在执行的事务. 通过设置2个额外的标记位扩展私有缓存,分别代表关联缓存行已被读取和缓存行已被修改. EazyHTM允许事务管理系统在事务生命周期内维护一个完整的冲突快照,使用该快照可以进一步地提高事务处理性能.

    由于EazyHTM从事务中止中恢复服务时,无法确定与其他CPU核心上的事务是否发生冲突,从而引发事务长时间等待处理的结果,降低事务性能. Pi-TM[27]可以加速这一过程,采用温和的悲观机制,在私有缓存中维护一个额外的单位,称为Pi位. 当事务中止时,只有事务执行过程中操作的缓存行才会失效. 并且事务可以立即重试,使用私有缓存的数据进行处理,无需额外的通信开销. 为了保证数据一致性,事务提交时会强制读取集合中存在冲突的缓存行无效. 当系统中事务冲突率较高时,Pi-TM使用混合检测方法,同时采用惰性冲突检测以及使用之前的Pi机制. 这2种模式都发生在私有缓存中,因此可以安全交互.

    HTM的“请求者获胜”原则在发生事务冲突时,会重复导致相同的事务中止,迫使执行更慢的非推测性路径,并且对长时间运行的事务极为不友好. 针对此场景,PleaseTM[28]解耦事务冲突一致性检测路径,仅在一致性请求中添加请求位,同时追踪缓存行状态,透明支持更深层次的一致性协议. PleaseTM中的事务在接收到请求者消息时,可以根据实际执行过程自由选择是否中止事务. 为了保证序列化原子性执行,事务在重新请求缓存行时,需要重新获取事务执行之前的旧数据来验证数据是否发生变化. 如果数据不一致,则中止事务. 该机制的优势是发生事务冲突时减少一致性协议中的数据传输,并可以与软件事务内存协议协同工作,进一步提高性能.

    “尽力而为”的HTM的一个关键设计约束是避免修改一致性协议,因为在实际场景中,高速缓存行中的数据和状态都是转瞬即逝的,并且对缓存一致性协议进行修改容易引起程序语义模型崩溃. Forgive-TM[29]提出一种惰性冲突检测模型,无需修改现有的缓存一致性协议,并且支持延迟冲突检测. 它采用“先行动,后请求”的原则,推测性写入会立即写入特殊缓冲区中,无需获取全局写入权限,仅在事务提交时才获取写入权限. 在延迟写入时,处理器仅检查数据的读取权限,只在读取权限不可用时,才会对其他核心广播获取读取权限. 当事务对缓存行具有读取权限时,该缓存行则被添加至LazySet,在本地私有缓存中该缓存行状态则为脏数据,并且对于全局是不可见状态. 事务对缓存行检索或存储时,不会发生任何改变数据一致性的操作. 当该事务提交时,Forgive-TM分为2阶段提交:第1阶段是提交准备阶段,对LazySet中的所有数据获取全局写入权限,任何推测性访问LazySet中的数据都将被中止. 第2阶段是提交阶段,该阶段的原则是尽力而为. 如果该阶段发生冲突,事务则向对等方发送一条特殊消息,阻止其他事务提交. 由于延迟检测与处理冲突会直接影响事务延迟,因此Forgive-TM限制了LazySet的大小,并采用打分机制推理缓存行发生事务中止的可能性. 通过打分机制可以对一部分缓存行进行惰性写入,从而降低延迟. 并且Forgive-TM在事务到达提交时,发送写权限请求,允许操作重新排序为多核应用程序提供更高的可扩展性.

    HTM需要提供一个回退计划来保证事务在经历HTM区域空间不足、页错误以及高竞争导致的频繁崩溃等场景时不会永远阻塞下去,常用的手段例如Intel提供的RTM中采用积极的单一全局锁机制,所有的事务在开始阶段都需要检查全局锁是否被上锁. 如果是表明当前有事务正在执行回退计划,则本事务直接崩溃,否则事务正常执行.然而这种机制严重限制了系统的并发性,当有一个事务执行回退计划时,即使其他事务与回退计划中的事务没有冲突,也不得不等待其结束.CIT[30]对硬件做了少量修改,在缓存一致性协议的请求消息中增加推测位,在响应消息中增加请求位,并在L1缓存中增加冲突队列,冲突的事务请求将会被放置在冲突队列,并在事务结束或者崩溃后移出队列.CIT借助冲突队列使系统执行回退计划时允许其他事务并发地执行,只有当冲突真正发生时才会中止事务,从而提高系统的并行性. CIT通过消除或者避免获取回退锁的方式增加事务之间的并发性,并且所需的指令和硬件更改远少于现有方法,可以显著提高事务性能.

    针对数据库中事务内存同步数据开销大的瓶颈, Leis等人[31]对每个事务的读写集合分配一个时间戳,使用乐观并发控制协议执行事务. 由于事务发生冲突后回滚事务恢复数据时,为了保证数据一致性,需要对相应的数据项上锁,产生较大的开销. Leis等人[31]分析了HTM原理,发现HTM可以捕获冲突,并保证较低的回滚成本. 当发生事务冲突时,因为HTM内部有latch,只需要将事务修改的缓存行失效即可.而原本的数据副本依然存在L2/L3缓存中,后续事务执行可以直接从高速L2/L3区域中读取. 为了避免事务回滚时无限次重试,Leis等人[31]使用事务开始执行时分配的时间戳计算安全时间窗口,以序列化的语义模型重新执行事务. 为了提高HTM中事务冲突错误识别率并提高事务插入性能,Leis等人[31]提出一种友好的HTM存储模型,将内存区域分成多个zone segement,避免集中访问同一内存位置造成的事务高冲突率. 实验结果表明该方法与数据库结合可以提高事务并发性能,并且在多核处理器上具有较好的可扩展性.

    新加坡国立大学的研究者分析了HTM应用于OCC时的性能变化. 虽然在一些场景下可以取得较高的事务吞吐率. 但是,在处理高争用的工作负载时,性能远低于理想情况. 并且在事务中止后重新执行时,需要检索相关数据进行处理. 因此,HTCC[32]将数据冷热分离,根据数据争用热度自适应选择悲观并发控制或者乐观的HTM访问数据. 为了降低事务中止后的频繁重试执行,HTCC维护一个工作集缓存,对事务操作原语进行保存,该机制可以减少频繁的磁盘I/O. 为了防止在高争用时工作集缓存区中的数据项出现死锁,HTCC使用HTM简化程序语义模型. 在事务处理时,HTCC可以自动跟踪事务的冲突访问,对引发事务验证失败的记录进行原子性来增加其计数器. 为了保证事务的序列化提交,HTCC采用时间戳机制为每个事务分配唯一标识进行排序. 为了兼容数据库中的操作原语,HTCC使用标识位对每个记录进行标识,并结合数据库本身的操作原则进行处理. HTCC通过降低事务冲突中止率,无需频繁地重试执行,因此可以在多线程场景中展现较高的性能.

    澳大利亚国立大学的Cai等人[33]对HTM特性进行了更加深入的研究,发现之前关于HTM的工作仅仅考虑了容量对程序模型的影响,并没有考虑缓存替换策略是决定事务读取有效缓存行的关键因素. Cai等人[33]对当前主流的英特尔处理器模拟了HTM的事务执行过程,通过观察得出结论:事务管理系统在执行事务之前应该预热相关数据. 其目的是为了提高事务成功提交率,减少由于缓存行频繁逐出而造成的事务高中止率,并且Cai等人[33]事务管理系统应该优先逐出未被事务访问的缓存行.

    持久化内存可以将数据持久化的延迟降低至纳秒级别,由于持久化内存的特性与现有的传统硬件并不相同,因此需要重新设计更适合新型硬件的事务管理系统,这是系统设计者的当务之急. 为了全面理解面向持久化内存的事务管理系统技术,本文从事务自身的宏观角度出发,对其进行总结,如表4所示. 表4中的持久化方案意味着确保数据持久化和崩溃一致性的机制. 并发机制代表事务并发执行时的事务管理机制. 隔离级别包括最严格的线性化(linearizability,LN)、可串行化(serializability,SR)以及快照隔离(snapshot isolation,SI)机制. LN保证事务内的读写操作完全按照事务的执行顺序执行.SR相对放松了顺序限制,允许不同事务的读写事务交错进行,但是最终事务从整体上符合某一种线性顺序. 而SI只需保证事务读取的数据是在某一时刻具有一致性状态的内存快照,但是可能会出现写倾斜的问题. 事务标识用来区别每一个事务,也可以用来作为恢复阶段日志执行的顺序,中心化分配的ID通常会成为系统的瓶颈,去中心化分配事务唯一标识以及使用逻辑时间戳等方案更符合事务系统高扩展的趋势. 写放大遵循TimeStone[34]的计算规则,是持久化内存上实际持久化数据大小和事务请求之间的比率.写放大出现的原因是为了保证事务一致性从而引入了额外写操作. 管理粒度是指事务系统操作持久化内存区域的单元大小或者其锁粒度,较小的管理粒度可以提高事务并发性能.

    表  4  面向持久化内存的事务管理系统技术分类
    Table  4.  Classification of Persistent Memory-Based Transaction Management System
    方案年份持久化方案并发机制隔离级别事务标识写放大管理粒度
    DCT[35]2016undolock-逻辑时钟2 对象级别
    Kamino-Tx[36]2017backuplockLN中心化分配ID≥2 对象级别
    Romulus[37]2018backuplock+bufferLN中心化分配ID2 对象级别
    ATOM[38]2017undolock--2 缓存行级别
    Mnemosyne[39]2011redolockSR中心化分配ID4~7 地址区间
    LOC[40]2014redomv-cache+sp-window-去中心化分配ID>2 块级别
    SoftWrAP[41]2015redo+CoWlock-free-中心化分配ID≥2 对象级别
    DudeTM[42]2017redo+CoWTM-中心化分配ID4~6 字节级别
    Pisces[43]2019redoDVCCSI中心化分配ID≥2 对象级别
    TimeStone[34]2020redo+operationMVCC/OCCSI/SR/LN物理时间戳≤1 对象级别
    SP3[44]2020CoWOCCSR去中心化分配ID1~2 对象级别
    ArchTM[45]2021CoWlockSI物理时间戳1~2 对象级别
    注:“-”代表该属性不是该机制重点关注的对象,†”代表该数据来源于TimeStone;“‡”代表该数据通过分析设计得出.
    下载: 导出CSV 
    | 显示表格

    Marathe等人[46]通过实验对比了基于undo, redo, CoW机制的事务管理系统在模拟的持久化内存环境上的表现,综合考虑了持久域、工作负载访问模式、缓存一致性等因素. 实验结果显示,每项技术在不同的场景中都有自己的优势和缺点. 基于预写日志的技术需要写日志以及数据本身,但是额外的写操作会导致较大的开销. 为了保证数据一致性,预写日志一定要在更新数据之前完成持久化操作. 而undo日志由于无法事先获取写集合,因此集合中每一个更新都需要保持严格的顺序,对于N个日志项会增加2N个持久化屏障,从而导致性能急剧下降. redo日志直接在日志中创建新版本数据并直接更新. 但是由于新值仅出现在日志中,随后而来的读操作必须查阅日志才可以获得最新值,有可能出现遍历整个日志才可以找到最新值的情况. CoW机制可以避免这些问题,但是引入了大量的元数据更新,例如对象的指针、内存分配器的元数据,这些元数据的更新主要是由较小的数据结构(小于64 B)组成,而非易失性内存内部的访问粒度为256 B,大量较小的随机元数据更新会导致严重的写放大问题. 同时CoW也会产生较大的缓存局部性开销.

    1) 基于undo的日志事务管理系统

    Kolli等人[35]发现由于持久化内存存在较高的写延迟,减少写操作的顺序限制对提高事务系统的性能至关重要. Kolli等人[35]首先分析了理想情况下,即软件可以识别出所有持久性写之间的顺序依赖时系统能够实现的最小持久化关键路径长度,并以此为基准优化现实的工作负载. 文献[35]总结了4种持久化模型,分别是严格持久化(strict persistency)、阶段持久化(epoch persistency)、链持久化(strand persistency)以及乐观同步(eager sync). 严格持久化限制任何2个持久化操作之间的顺序,保证强一致性,但是由于严格序列化,导致事务无法乱序持久化,降低事务吞吐率. 阶段持久化宽松了持久化顺序的限制,要求保证2个阶段之间的持久化顺序. 链持久化将程序的执行划分为链,新的链将会得到之前的事务持久化顺序限制,从而保证每个链都是独立的,链内通过持久化屏障保证顺序. 乐观同步利用Intel x86提供的缓存行刷新指令以及PCOMMIT指令保证持久化的顺序以及其对外可见的顺序. Kolli等人[35]在这4种持久化模型的基础上进一步引入延迟提交事务(DCT)减少了持久化操作之间不必要的顺序限制,提高事务的性能.为了保证一致性,Kolli等人[35]采用undo日志记录数据项的变化,并为每个线程维护一个日志来提高可扩展性. Kolli等人只关注静态事务,即执行前可以知道事务修改的内容,同时利用校验和的方式保证日志的完整性,降低每次写日志所需的内存屏障. 由于使用了延迟提交,需要保证事务之间的顺序,他们使用向量时钟来排序事务,在系统崩溃后逆序恢复数据. DCT在保证事务一致性时需要完成2次数据持久化,即undo日志项和写入对象数据本身,因此该方法写放大为2. DCT中静态事务的先验性知识并不适用于通用的场景,无法预先获取现实场景中事务修改的数据集合.

    与DCT不同的是,Kamino-Tx[36]支持动态事务,它主要关注如何减少事务提交关键路径上耗时较长的对象拷贝操作,通过对事务逻辑执行单元中的数据对象维护2个版本,将数据拷贝操作移出了事务提交的关键路径,缩短了事务的提交延迟. 传统的事务一致性机制如预写日志以及CoW等,它们需要在事务提交之前持久化旧版本的数据. 由于持久化内存写延迟较高,Kamino-Tx选择维护一个后备版本的堆结构,事务在执行过程就地读取或更新主区域数据对象,提交之后将本事务的修改拷贝到后备堆区域中,缩短了提交延迟. 这种后备堆区域本质上也是一种undo日志. 然而直接备份整个堆空间将导致持久化内存中的内存开销翻倍,Kamino-Tx提出只备份频繁访问的数据对象,利用一个并发的哈希表来查找对象是否已经备份.系统支持设定备份空间的大小,当空间超过设定阈值时,将利用LRU算法替换备份区域的对象并更新查找表. Kamino-Tx在持久化内存中记录事务修改的内容,将更新数据从主区域拷贝到备份区域或者在系统崩溃后从备份区域恢复.需要注意的是,Kamino-Tx在持久化内存上备份热点数据可以显著提高具有倾斜特征的工作负载下的事务性能,但是直接在非易失性内存上同时记录事务修改内容会增加持久性写的开销.

    为了减少Kamino-Tx的持久性指令带来的开销,Romulus[37]机制利用高速主存记录修改的内容,在持久化内存中维护数据的双副本,并存储在2个不同的区域,即主区域和后备区域. 由于在某个时间点,Romulus保证主区域和后备区域中的数据副本状态至少存在一个是一致的. 因此,系统崩溃后直接恢复整个数据存储区域. Romulus将持久化内存空间分为3个区域:控制头、主区域以及后备区域.控制头存储了系统的元数据信息,其中最重要的是事务状态信息,包括“空闲”“执行”“拷贝”3种状态.“空闲”即系统内没有事务执行,“执行”表示当前有事务正在执行并且修改了内存状态,“拷贝”状态表示事务执行完成正在备份事务的更新. Romulus利用这3种状态判断系统崩溃后如何恢复.后备区域是主区域的一个备份,事务执行过程中直接修改主区域,事务提交之后将更新拷贝到后备区域.为了减少数据拷贝开销,Romulus在修改主区域的同时在DRAM中生成redo日志(此日志不需要持久化),记录主区域中被修改的地址以及修改的大小,因此事务执行结束后只需要拷贝redo日志中记录的数据区间即可. Romulus避免了重定向读,读取事务仅需要单个指令加载数据,并且将每个事务的内存屏障数目限制为4. 因此,Romulus在读场景下的性能可以和线程数量呈线性关系,并且较少的持久性指令和较低的写放大可以提高事务整体性能. 但是由于Romulus中的主、备区域大小是相同的,因此事务数据存储空间只能使用持久化内存区域一半的空间,显著降低了持久化内存的空间利用率.

    ATOM[38]采用缓存行级别的undo日志来保证持久化内存更新的数据一致性,利用内存控制器(硬件层次)创建日志. 日志控制器位于L1缓存,每个store操作都创建一条日志.由于undo日志只需要保存事务开始前的数据版本,因此ATOM利用一个日志位标记缓存行是否已经被记入日志,避免重复的日志持久化操作. undo日志的性能瓶颈在于强制了日志操作与数据更新之间的顺序,因此,ATOM在硬件层面将日志与数据发送到同一个内存控制器,更新缓存之前首先在内存控制器对缓存行上锁并写日志. 同时缓存控制器可以将数据更新到存储缓冲区,不需要等待日志的持久化完成,等待日志持久化完成之后对缓存行解锁使数据可以写回至持久化内存,保证了日志与数据之间的持久化顺序.在缓存不命中时,内存控制器加载到的数据是undo日志需要记录的版本,因此内存控制器直接对缓存获取锁,向缓存传递数据时添加日志位,避免了日志控制器向内存控制器的冗余数据传输. ATOM利用类似数据库中组提交的思想将7个数据缓存行与一个元数据缓存行作为一个日志单元,减少57%的日志写操作,并通过跟踪日志更新的依赖关系和硬件更新的数据,将日志更新移出数据原子更新的关键路径,提高事务执行效率. ATOM通过更新缓存行级别的undo日志以及记录数据对象本身实现事务一致性,在内存控制器对缓存行中的日志进行修改时所使用的锁并未持久化,因此ATOM的写放大为2.

    2) 基于redo的日志事务管理系统

    Mnemosyne[39]方法实现了一个简单的持久内存编程接口,并且提供了4种不同粒度的一致性保障机制:单字更新、追加更新、影子更新以及就地更新,这4种机制随着通用性的提高逐渐呈现性能下降的趋势.Mnemosyne中利用高性能的 raw word log(RAWL)日志结合现有的软件事务内存系统TinySTM[47]来支持持久化内存事务. Mnemosyne支持在代码中用“atomic”关键字注释事务代码段,编译器识别出事务代码后触发底层TinySTM中提供的事务原语,系统为每个线程维护一个基于RAWL的日志,事务更新数据时在DRAM中创建redo日志记录更新的地址及数据,事务提交后日志刷回到持久化内存上持久化,数据原位置中仍然保留着未更新的数据,当访问数据时首先检查数据是否被更新,若被更新则到对应的日志中读取最新的版本.为了保证系统的可扩展性,Mnemosyne将地址空间分区,每个区域维护一个单独的锁,当访问持久化内存空间时需要对该区域获取锁,若已经被其他事务持有锁则该事务崩溃. Mnemosyne的优势是支持同步或异步地将日志中的数据刷回到原位置,不需要等待写回操作,直接提交事务,缩短了事务提交的延迟. 但是,Mnemosyne的直接利用为DRAM主存设计的TinySTM提供事务语义,忽略了持久化内存的内部特性,无法充分利用持久化内存的性能优势.

    为了进一步提高持久性事务的性能,LOC[40]将持久化内存事务系统中的顺序限制区解耦为事务内的顺序执行和事务间的顺序执行:事务内的顺序执行指事务提交之前必须等待本事务所有更新的数据全部持久化,并且更新提交标记;事务间的顺序执行指不同事务间持久化的顺序一定要与它们提交的顺序一致. 这2个顺序执行原则保证了系统的崩溃一致性. 但存在由于事务提交标记以及事务间的顺序执行等待导致事务性能大幅下降的问题. LOC提出“积极提交”与“推测持久化”2种策略分别解决此问题. “积极提交”通过特殊的日志组织方式,即采用数据块组来存放日志及其元数据,1个数据块组包含7个数据块和1个元数据块. 并利用基于计数的事务提交协议,即统计事务修改的数据块数设置阈值,将日志的完整性检验推迟到了恢复阶段,而不是在提交之前等待日志完整的持久化完成,解决了事务内顺序执行的限制,从而降低了事务提交的延迟.“推测持久化”策略通过设置一个推测窗口(sp-window),允许sp-window内的事务可以乱序地持久化,但是可以保证事务顺序提交. 为了实现“推测持久化”,LOC利用多版本CPU缓存(mv-cache)保证多个线程并发执行并且跟踪记录事务的提交顺序. 多版本缓存将窗口内多个事务的修改都暂存在缓存之中,保证了不同事务重叠写的可恢复性,并且可以将多个修改合并写回持久化内存. 恢复阶段以整个推测窗口为单元执行整体恢复,一个事务成功提交的条件为该事务满足计数提交协议并且同个窗口中之前执行的事务都已经成功提交. LOC旨在提高事务持久化性能,首次分析了事务之间的依赖关系并分类阐述,针对事务内部与事务之间的依赖关系,减少持久化的顺序开销,在硬件层面以很小的开销完成事务的执行管理并提供了较高的处理效率. 但是,LOC实现中使用WAL机制,在事务执行时需要利用日志记录修改对象的新版本,并且为每个事务分配1个日志块记录事务执行状态.在事务执行完成后,LOC通过更新指针修改数据版本. 通常一个指针的大小小于数据对象本身. LOC为了提高事务崩溃恢复性能,通过静态组织日志空间机制利用1个元数据块和7个日志数据块组成日志数据块组进行持久化存储. 因此,LOC的写放大大于2.

    Giles等人[41]提出一种基于软件的写辅助持久性(SoftWrAP)机制,解耦事务生命周期路径,分离事务执行和持久化路径. SoftWrAP在持久化内存中维护一个redo日志来保证事务更新的原子性,日志中记录数据更新后的值. 该日志仅在崩溃恢复时使用,通过缓存行追加写的方式进行有效更新,并定期删除无效日志. SoftWrAP使用软件别名机制,允许在后台中重定向持久化内存中被管理的区域数据,从而可以在DRAM中直接修改,减少缓存行淘汰顺序限制带来的性能瓶颈,并且可以加速主存访问持久化内存的访问效率. SoftWrAP利用2个无锁别名表来记录重定向的关系,一个处于活跃状态用来接收新的请求,另一个用来将数据写回持久化内存从而可以释放日志空间,实现了事务执行与持久化的并发执行. 由于SoftWrAP使用双缓存别名表,1次读操作可能导致3次重定向,降低读操作的效率. 并且其采用的1对1页级别映射引入了较大的内存开销,同时SoftWrAP在保证事务一致性的前提下额外持久化一些元数据,因此该机制的写放大不小于2. 虽然SoftWrAP声称可以与并发控制解耦,但是为了保证事务正确的隔离性,其仍然需要使用别名表等机制对系统作出较大的修改,无法透明支持事务管理系统.

    DudeTM[42]利用“影子内存”(shadow DRAM)来避免redo和undo日志存在的问题,DudeTM提供了一个开箱即用的持久化组件,可以结合任何现有的STM或HTM共同构建一个持久内存事务系统. 因此,DudeTM并发机制依赖于事务内存进行实现. DudeTM以内存页为单位将持久化内存上的内容映射到DRAM中,事务执行过程中原地更新或读取DRAM中的影子页,避免了redo日志带来的重定位读以及undo日志频繁地刷回持久化内存操作. 事务更新影子页的同时构建redo日志,记录修改的内存地址和内容,执行完成之后需要将日志持久化到持久化内存. 为了提高事务的可扩展性,每个线程维护一个日志. DudeTM在 “再现”阶段利用构建的redo日志将更新写回,日志的写回顺序必须与事务的执行顺序一致,否则无法保证一致性. 为了保证事务的串行化执行,DudeTM利用一个全局递增的事务ID来为每一个事务分配唯一的标识进行排序,并将日志顺序写回持久化内存. 但是由于每个线程都需要频繁的读取并更新全局的事务ID,导致其成为整个系统的扩展瓶颈. 并且DudeTM只使用单一的线程来执行“再现”过程,写密集场景下单线程的数据刷回操作会造成很高的延迟,同时日志回收产生相关的同步成本也会成为阻碍系统可扩展性的关键因素.

    Pisces[43]是一个“读友好”的事务系统,通过快照隔离机制降低事务隔离级别从而获得了更高的事务性能. 为了利用缓存局部性并减少快照隔离数据的查找开销, Pisces采用双版本并发控制来实现快照隔离,每个对象只有原始版本以及利用redo日志构建的新拷贝版本. 当事务试图更新一个对象时,它创建一个原始对象的拷贝并直接修改拷贝对象,事务提交时再将新版本数据拷贝至原始对象. 读操作根据事务的时间戳来判断读取新/旧版本,并发写操作利用对象锁来避免冲突. 但是,事务提交时旧版本的数据仍可能被其他线程正在运行的事务访问,因此不能简单地将新版本数据直接拷贝回原始版本. Pisces利用RCU(read copy update)机制[48]确保写回操作的正确性,即写回之前需要等待所有可能访问旧版本数据的事务(开始时间小于本事务结束时间的所有事务)都结束后才将新版本写回. Pisces的优点是利用3阶段提交法避免了Optane PM持久化开销对读操作的性能影响. 首先是持久化阶段将事务的日志持久化到Optane PM;之后是并发提交阶段,在这一阶段保证更新的数据对其他事务可见;最后是写回阶段,在这阶段执行RCU机制并将新版本数据写回到原始对象. 3阶段提交法使事务的更新不必等待耗时较长的数据持久化操作结束即可对其他事务可见,实现了近乎非阻塞的读操作. 并且,Pisces的快照隔离可以确保事务的无锁读取操作,进一步地提高读场景下的性能. 但是,Pisces采用的双版本并发控制机制和日志回收期间的同步写同样会影响事务的可扩展性.

    TimeStone[34]在Pisces的基础上进一步利用多版本并发控制(MVCC)来提高系统的可扩展性,并且首次提供了多种隔离级别. TimeStone使用多层日志结构TOC来保证数据崩溃一致性并最小化写放大问题,MVCC实现事务系统的高扩展性并以此为基础提供了多种隔离级别. 当一个线程上的事务更新数据对象时,首先在当前线程的TLog(位于DRAM)创建数据副本并直接更新,同时在OLog(位于Optane PM)记录执行的操作保证立即持久化,事务成功提交后会利用ordo机制[49]获取事务的提交时间,并将TLog中的副本添加到对象的版本链中. 当事务读取数据时,需要在对象的版本链中查找提交时间早于本事务开始时间并且最新的版本,获得数据的引用,使得事务并行性得以提升. 当TLog或者OLog空间不足时TimeStone会执行检查点机制,仅需要将被更新对象的最新版本持久化到CLog(位于Optane PM)上,减少对Optane PM的直接访问. 由于日志中的数据可能正在被引用,TimeStone采用MV-RLU[50-51]的策略回收日志,等待所有可能引用待回收数据版本的事务结束之后再执行回收操作. TimeStone利用多层日志架构机制最小化写放大开销,并且支持3种事务隔离级别:快照隔离、可串行化、序列化,允许用户可以通过其提供的接口在事务执行时指定隔离级别. TimeStone的实验结果表明,TLog减少了日志写入,仅有6%的TLog被写入CLog,因此TOC机制有效降低了事务的写放大.

    3) 基于CoW的日志事务管理系统

    Wang等人[44]通过实验发现持久化内存事务系统的扩展瓶颈在于不同线程事务之间的依赖与冲突,并且基于时间戳的持久化顺序引入了不必要的依赖. 因此他们提出了SP3方法来提高多核场景下事务系统的并发性能. SP3利用OCC并发地执行和提交事务. SP3首先创建一个对象的索引表,将对象映射到一个控制条目,这个控制条目包含了对象的锁、最新版本的指针以及最近一次更新的事务ID等.在OCC的读阶段,事务使用无锁机制读取数据并添加到读集合(read set),事务的更新暂存到写集合(write set)中.SP3采用CoW策略,即修改对象前先拷贝,并直接在拷贝版本上更新,因此写集合只需要记录拷贝对象的新地址. 同时SP3也会生成redo日志,这一阶段最重要的是需要记录事务之间的依赖关系. 事务访问或更新对象前都需要先访问其控制条目,获取该对象最近修改的事务ID并添加到依赖集合中. SP3在事务提交阶段引入了预测持久化机制来提高并行性,即在更新持久化之前允许更新对其他线程可见. 提交阶段首先执行OCC并发控制协议验证依赖数据是否已经被更新,通过比较访问依赖集合中对象的控制条目记录的最新地址与读集合中记录的地址判断是否发生冲突. 验证完成之后将暂存的写集合映射到控制条目中,即将对象的新地址以及本事务ID更新到控制条目中,此时事务的更新将对其他线程可见. 之后持久化日志以及依赖集合等待其依赖集合中的事务全部执行结束后提交事务,保证崩溃后的可恢复性. 在恢复阶段通过每个事务的依赖集合构建有向无环图,并删除未提交事务的日志. 有向无环图构建成功后利用拓扑排序决定恢复阶段事务执行的顺序. SP3目标是提高多核之间的事务可扩展性,无需等待事务中的数据持久化阶段完成即可允许更新后的数据对其他线程可见,减少因事务持久化时间过长而引发的事务冲突中止率. SP3的逻辑时间戳可以提高系统的扩展性,但是全局的对象索引表依旧会成为系统扩展的瓶颈. SP3在日志中记录事务操作对象的指针变化,通常小于对象本身,因此该方法写放大小于2.

    Wu等人[45]观察到Optane PM的特性,即随机写与顺序写之间有较大的性能差距,并基于避免较小的写和尽量顺序写2项原则设计以CoW为基础的原型系统. 由于CoW机制的元数据更新导致很多较小的写操作,因此ArchTM将内存分配元数据、对象CoW索引元数据放置在了DRAM中以减少Optane PM上的元数据写. 同时利用注释机制来保证崩溃一致性,即将对象的元数据与对象本身存储在一起. 为了尽可能地提高顺序写,ArchTM中采用了全局单链表内存分配结构对小对象数据项分配空间,充分利用空间局部性.因为连续分配的对象很可能会连续访问或修改,每个线程有自己的私有分配链表,只有私有分配空间耗尽才会从全局链表中获取新的空间. 由于对象以64 B为单元进行分配,这种方式容易导致内存碎片,ArchTM中使用后台线程以4KB粒度统计空间利用率,当小于50%时就对数据进行聚合. 通过Optane PM感知架构,ArchTM避免了小的数据写入,聚合可合并的数据,并将其写入Optane PM,充分利用Optane PM硬件内部的优势. 为了提高事务吞吐率,ArchTM需要维护额外的元数据,同时为了确保事务崩溃一致性需要将这部分元数据持久化,因此ArchTM的写放大为1~2.

    HTM仅支持事务的ACI属性,持久化内存可以提供内存映射的持久化数据存储,简单的编程模型可以将2种新型硬件结合在一起. 但是大部分软硬件协同策略为了保证事务的一致性语义,使用额外的机制集中式维护事务执行顺序.事务的集中式处理不仅会影响系统的吞吐率,还会限制事务系统在现代多核架构上的可扩展性. 明确软硬协同策略的缺点并提出新型软硬协同的事务协议,对于新型硬件环境下的软硬协同事务管理系统至关重要.表5对新硬件的软硬协同技术进行了总结分类. 硬件是否修改代表该研究对硬件是否进行修改,以及代表该机制移植性是否简便. HTM区域代表研究中HTM控制的区域空间. 日志机制代表研究采用何种机制加速事务处理以及保证崩溃一致性. 持久化代表研究中允许数据持久化是否可以等待,以便于减少频繁的写入. 可扩展性则代表该机制是否在多线程模型下随着线程数量的增加吞吐率也随之增加. 事务标识意味着研究方法如何区分事务的唯一性以及事务之间的顺序.

    表  5  新硬件环境下软硬件协同设计的分类
    Table  5.  Classification of Soft/Hardware Co-design in New Hardware Environment
    方案硬件是否修改HTM区域日志机制持久化可扩展性事务标识
    DHTM[52]LLCredo缓冲区
    cc-HTM[53]L1redo+CoW缓冲区+即时全局计数器
    NV-HTM[54]L1redo+CoW即时物理时间戳
    PHTM[55]L1undo即时集中式
    PHyTM[56]L1redo缓冲区+即时时间戳
    NV-PhTM[57]L1redo+CoW即时物理时间戳
    Crafty[58]L1undo缓冲区逻辑时间戳
    SPHT[59]L1redo+CoW即时非集中式
    下载: 导出CSV 
    | 显示表格

    由于RTM受限于L1缓存的区域大小,数据只能短暂滞留在LLC 缓存行中,并且LogTM-SE[25]在中止事务时会阻塞其他修改同样数据单元的事务并发执行. 为了快速实现ACID编程模型,DHTM[52]使用HTM与非易失性内存相结合,从而加速事务处理性能. DHTM采用一种基于HTM的redo 日志,在内存中维护一个单独的区域,允许写入覆盖缓存中先前的值,提供持久化和原子性保证,并对L1中的缓存行设置标签位,目的是跟踪读取和写入集合,从而将RTM从L1缓存扩展至LLC中. 为了保证隔离性,推测性读取的缓存行必须在事务提交之前交由另外一个处理器修改,并且推测行读取的缓存不得被修改和写入. 当正在执行的事务的缓存行从L1缓存溢出时,事务会中止执行. 因此,DHTM维护一个溢出列表,记录缓存行的状态以及内容地址. 为了减少从LLC到持久化内存的数据移动,并利用日志先于数据落盘的特性,DHTM在LLC上创建时间缓冲窗口,使用写合并机制减少数据持久化延迟. DHTM通过减少持久化开销提高了事务整体性能,但是DHTM在硬件中构建redo日志为事务提供的崩溃原子性操作,无法扩展到其他高级语言的持久化模型中. 并且,合并写机制仍然会将冗余写入这一过程放置在持久化内存的关键路径上,可能会增加后续事务延迟,从而影响事务管理系统的服务质量.

    cc-HTM [53]不需要对硬件作任何修改,它将事务分为执行阶段和持久化阶段:执行阶段利用Intel处理器提供的HTM原语并发执行,为了防止缓存替换导致的持久化内存中的数据不一致,写操作会被映射到DRAM中的 ALIAS TABLE,同时在易失性的缓存中生成日志,事务执行结束后再将日志持久化到持久化内存,避免HTM事务执行期间访问持久化内存延迟过高导致的事务崩溃.执行阶段结束之前,cc-HTM用RDTSCP指令获取“持久化时间戳”,并以此为序将事务放入优先队列,事务进入“等待”状态.专用持久化线程按照顺序从优先队列取出事务并将其更新的数据写回到持久化内存上的原地址,形成一个符合一致性的“检查点”,写回后通知事务结束等待并提交.cc-HTM 还提供一个延迟参数,允许事务在持久化完成之前提交事务,应用可以根据自己的需求权衡更短的延迟与更高的一致性来设置参数区间.cc-HTM利用递增的全局事务计数器来作为开始与结束的时间戳,并且采用只有一个持久化线程来从优先队列取出事务并将其更新写回到原位置. cc-HTM允许从事务关键路径中移除延迟较大的内存屏障指令,由上层应用决定持久性时机,但是这种方法会增加上层应用的复杂性.

    NV-HTM[54]与DudeTM[42]类似,同样使用“影子页”以及redo日志的方式解耦事务的执行与持久化.NV-HTM使用CPU提供的物理时间戳来作为事务ID的唯一标识,支撑事务的序列化执行顺序,避免了全局逻辑事务ID带来的扩展瓶颈. 每个线程记录当前正在运行的事务时间戳,事务提交之前需要等待所有线程中更早开始或提交的事务结束以保证一致性. NV-HTM通过检查点策略来将日志写回释放日志空间.首先对每个线程的日志结尾指针进行一个原子快照,快照之前的日志都是可以回收的区域,使用反向过滤检查点机制反向遍历线程的日志快照,以更新的地址为键、内容为值创建一个键值对,只记录最近的更新并且合并相关的数据项,减少回写次数;遍历完所有的线程后将键值对中的内容写回持久化内存,并刷回缓存;最后利用“检查点日志”(CPLog)原子性更新所有线程日志的起始指针. NV-HTM 通过将日志刷新延迟到事务提交之后,消除了事务执行关键路径中的日志刷新延迟. 但是,NV-HTM需要事务按照顺序线性提交来保证一致性,这样引入了过多的等待,导致系统性能下降.

    Avni等人[55]发现随着处理器核心数目的增加,基于锁的原子性操作越来越成为系统的瓶颈,利用HTM可以避免这个问题,但HTM无法直接访问持久化内存介质使其难以构建HTM和持久内存的事务系统. Avni等人提出一种PHTM方法,对硬件作出修改,同时引入了新的指令透明刷回(TransparentFlush,TF). TF支持在HTM执行过程中将数据从缓存刷回到持久化内存并且不会使事务崩溃,也不会使缓存行失效,Avni等人[55]利用TF指令结合HTM与持久化内存构建了PHTM.事务执行过程首先在线程自己的缓存中修改对象并构建undo日志,此时的修改内容是私有的,外部没有可见性. 在事务提交之前,PHTM首先利用TF指令持久化本事务的日志,提交之后持久化提交状态标记并将事务的修改写回到持久化内存中的原始位置,写回成功之后即可回收日志空间.PHTM利用标记来保证每个地址最多允许出现在1个日志中,这样避免了日志回收过程中多线程日志之间的通信.标记类似于一个写锁,事务写数据地址之前需要等待标记被释放才能继续执行. PHTM仅对日志中记录的部分事务顺序执行,通过额外的锁机制实现,可以有效防止发生冲突的事务刷新日志,同时保证重放阶段的正确性. 但是,PHTM在事务执行期间一直持有锁直至事务的所有日志都刷新到持久化内存才释放. 在此期间,PHTM可能遭受锁争用,从而引发大量的事务中止.

    PHTM仅允许顺序执行事务,无法支持硬件和软件之间的事务并发执行,这将导致硬件事务内存在回退时会中止软件事务内存的执行,降低事务并发性.PHyTM[56]提出一种基于持久化内存的混合事务机制,提供3种事务路径. 首先是基于软件事务内存(STM)路径,PHyTM使用类似2PL的悲观并发控制协议,对相应数据项获取锁阻塞其他事务访问. STM路径通过日志回放机制实现数据持久化操作. 其次是Slow HTM路径,不同于STM路径的是它无需获取写入地址的锁,而是只需检查写入地址的锁状态. 由于HTM本身的特性,Slow HTM可以提供原子性操作,因此该路径下的事务无需等待回放日志即可实现数据持久化写入. 如果事务在执行阶段和验证阶段发现冲突,则中止该事务. 当事务重试次数超过阈值时,则交由STM路径执行. 最后一个是Fast HTM路径,允许事务在读取数据时使用类似数据多版本的机制,仅保证当前数据在某个状态下的一致性,无需查看锁的状态. 为了保证数据一致性,该路径下的每个事务通过验证STM路径上是否有正在写回阶段的执行事务. 如果有,则中止该事务;否则,继续处理. 当事务中止次数超过阈值时,事务会交由Slow HTM执行.Fast HTM在只读场景中没有额外的同步开销. 同时,为了减少锁同步开销,PHyTM维护一个类似数组结构的共享地址锁存储体,通过散列计算内存中的地址获取唯一的锁存储位置,防止对同一位置的内容重复获取锁. PHyTM通过自主切换事务执行路径机制有效减少事务并发执行时由于回退引发的事务中止,但是PHyTM仅关注了软硬件之间的事务并发执行,忽略了可扩展性对事务性能的影响.

    NV-PhTM[57]指出在持久化内存系统中提供事务模型,软件与硬件事务内存各有优缺点. 软件模式更加灵活且不受限制,但是对于短事务造成很严重的性能下降;硬件模式开销更小,效率更高,但是受到硬件资源的限制,并且提供的是一种“尽力而为”机制,不保证事务的成功提交. 因此,NV-PhTM提出结合硬件与软件的模式,将系统分为3个阶段,分别对应执行硬件事务内存(HW),软件事务内存(SW)以及串行化模式(GLOCK)这3种不同的路径,并利用启发式动态选择最合适的执行路径. HTM利用NV-HTM[54]结合CoW技术将持久化内存区域映射到DRAM中,软件事务内存基于PSTM[55]结合日志提供事务模型. 启发式阶段转换综合考虑系统的事务崩溃率、事务大小以及日志剩余容量等因素. 比如事务较小则会切换到HTM模式,多次资源受限导致事务崩溃将会切换到软件模式,崩溃率过高将会进入到串行化执行等机制.

    Crafty[58]通过构造无损undo日志(nondestructive undo logging)来解决HTM与持久化之间的矛盾,即在事务提交前将日志持久化,但是在HTM执行过程中持久化会导致事务崩溃.“无损undo日志”将事务的完整执行过程分为2个HTM事务和一次日志持久化操作:1) 第1阶段Crafty利用HTM执行事务,每一次修改数据前需要构建一条undo日志,在这一阶段的结尾,HTM事务执行前后的新旧数据都具有可见性,利用暂时还没有持久化的undo日志逆序将这个HTM事务所作的更新还原并利用新数据构建redo日志. 2)在上一个HTM事务结束之后与下一个HTM事务开始之前将undo日志持久化. 3) 事务在这个阶段的开始时利用逻辑时间戳来检查第1阶段结束后是否有事务成功提交. 如果没有,则没有发生冲突,Crafty利用HTM与第1阶段构建的redo日志更新数据;否则,需要通过验证阶段进一步检查是否真正有冲突产生,验证阶段即重新执行事务逻辑,检查undo日志中每一个条目地址所在位置的值.如果没有冲突则可以提交事务,否则需要崩溃事务重新执行. Crafty使用2个策略保证事务的执行. 当事务间竞争激烈导致的系统频繁崩溃且一段时间内没有事务成功提交时,系统将回退到单个全局锁(single global lock,SGL)模式,即事务执行前首先需要验证是否有事务获取了全局锁,如果有则直接中止. 这项策略保证了系统至少有一个事务可以正常进行. 其次,Crafty允许将事务拆分成多个小的事务执行,防止缓存不足而导致的崩溃,当事务更新的数据达到预设的阈值后将构建undo与redo日志. 但是,Crafty可能出现事务重复执行的情形. 因为在使用HTM启动事务时,Crafty需要使用全局时钟检查该事务是否是首次执行. 如果验证失败,则需要重新执行事务. 在高并发时全局时钟的更新可能会产生争用,导致事务频繁执行,产生额外开销.

    Castro 等人[59]为了更好地发挥HTM和Optane PM的性能,提出一种可扩展的持久硬件事务 SPHT. SPHT不需要额外的硬件支持,就可以提供强一致性,即所有成功提交的事务及其依赖事务在系统崩溃后都可以被恢复. 为了避免顺序持久化日志带来的扩展性瓶颈,SPHT允许不同线程的事务能够并发刷回日志. 每个线程记录当前正在执行的事务ID及其持久化标记,当时间戳小于等于当前事务ID的事务都全部完成持久化操作,当前事务才可以成功提交. 全局持久化的“提交标记”记录最新的事务ID,用作恢复阶段找到最新具有一致性的恢复点. 多个事务并发提交时,只有具有最大时间戳的事务会更新标记,避免了Optane PM上冗余的数据写入而引发的高延迟以及线程间的争用. 目前的日志回写阶段具有2个扩展瓶颈:1)必须遍历所有线程的日志才能确定日志的执行顺序;2)必须执行顺序回写日志操作来保证一致性. 为了解决这2个瓶颈,SPHT将日志按照事务的时间戳顺序用指针链接起来,不再需要遍历日志来构建事务间的顺序关系. 同时,SPHT将Optane PM内存区域分区,不同的日志写回线程写入不相交的区域,这种空间分片机制使日志回写操作得以并行扩展.

    新型硬件中的事务管理系统的2个基本要素为崩溃一致性和事务并发性能. 崩溃一致性需要通过额外的日志等机制保证数据一致性[60-61],顺序化和持久化操作可能会对事务并发性能造成影响. 同时,事务并发机制为了提高性能,可能会乱序执行并提交事务,这也会对崩溃一致性造成影响,二者的关系相辅相成. 目前新型硬件上的事务管理系统使用数据库中广泛使用的技术保证崩溃一致性,通过比较观察得到5点结论:1) 对于更新数据较多的场景,使用redo日志可以使事务系统达到更高的性能;2) 对于读为主的工作负载,使用undo日志可以获取更好的性能;3) CoW解决了日志中的2次写入问题,但是复制开销会产生写放大. 4) redo+CoW混合机制可以灵活应用于事务系统,提高事务系统性能.比如SoftWrAP[41]和DudeTM[42]利用该机制减少写放大和写入次数. 并且,软硬结合的事务系统如cc-HTM [53],NV-HTM[54],NV-PhTM[57],SPHT[59]使用该机制获得了更高的性能. 5) 事务应避免昂贵的持久化内存指令使用,尽可能地使用合并写机制. 对于事务并发性能, LOC[40]和SP3[44]等机制的目的是减少硬件顺序化开销. Pisces[43]和TimeStone[34]等机制通过提供不同的隔离级别有效提高不同工作负载下的事务并发性能. ArchTM[45]和SPHT[59]充分利用Optane PM内部特性,打破了事务管理系统的可扩展性瓶颈. 总之,面向新型硬件的事务管理系统可以通过修改事务提交顺序和降低事务持久化开销,在保证数据一致性的前提下减少额外的冗余数据写入,实现高可扩展性的并发控制协议,从整体上提高面向新型硬件中的事务管理系统性能.

    新型硬件具有与传统硬件不同的特性,如HTM支持原子性写入,持久化内存既可以保证类似主存的高速访问,又可以提供二级存储的非易失性. 现有的事务管理系统无法有效发挥新型硬件的最大性能,因此需要对传统事务管理系统中的关键路径和技术路线进行重新抽象化,结合现实场景中的业务需求进一步地对新型硬件环境下的事务管理系统进行设计.

    1) 设计新型硬件环境中多核架构下的并发控制协议. NUMA架构已经成为当前服务器的主流趋势,未来可能出现数十核乃至上千核的平台架构. 跨NUMA节点的数据访问会造成一定的开销和访问延迟. 虽然传统事务管理系统中已经针对NUMA架构下的数据访问进行了一系列的优化,但是目前新型硬件环境下的并发控制协议并没有对此进行重新设计. NUMA架构已经成为了制约新型硬件环境下并发控制协议的前置放大器,事务无法具有高扩展性. 并且随着业务场景的工作负载日益复杂,不同场景下的应用程序语义与不同并发控制协议之间的结合各有优势. 如何感知程序语义、智能化实时调整并发控制协议是未来的研究工作. 虽然当前其他新型硬件如ReRAM技术尚不成熟,没有在工业界大面积推广使用,但这种存算一体化的新型硬件可以打破现有的冯·诺伊曼架构瓶颈,提供高性能、低功耗的硬件服务,减少数据从内存单元移动至计算单元的开销,这为研究者带来更多的机遇与挑战. 但是,如何高效利用存算一体化新型硬件的内部特性设计并发控制协议可能是未来的研究路线,如带宽、访问粒度、硬件介质内部数据处理最大并行度等维度对事务管理系统的性能影响. 并且,如何保证基于存算一体化事务管理系统的一致性可能会得到更多的关注.

    2) 设计异构事务管理系统. 当前HTM和非易失性内存结合的工作主要考虑了事务管理系统执行路径如何实现1+1 > 2的高性能优势,并没有针对硬件本身特性进行优化,也没有在性能和硬件寿命之间进行权衡. 非易失性内存的持久域已经扩展到LLC层次,可以有效延展HTM的区域. 各种新兴的异构硬件架构正在对现有的体系结构产生挑战. 如CPU和GPU/FPGA结合为上层应用提供更高效率和低延迟的处理性能. 但是,由于异构硬件本身硬件特性的不同,无法在不同的工作负载下发挥最大性能. 因此,研究者可以进一步考虑异构硬件下的耦合事务执行路径,抽象化表征属性设计事务模型. 并且,服务质量是衡量事务管理系统的一项重要指标,即事务管理系统在保证高并发的同时保障尾延迟被用户所接受. 新型硬件环境下的长尾延迟出现的原因主要包括事务并发原语冲突和持久化屏障开销大. 异构事务管理系统可以从底层构建与传统事务系统不同的组织布局,消除事务执行冗余路径.异构事务管理系统可以进一步设计相关程序模型,如异构一致性模型,该模型从底层构建原子性存储,从而提供系统可靠性服务.

    利用新型硬件可以为事务管理系统提供高效的运行效率,但是设备工艺本身的不足同样会成为新的挑战. 由于HTM受限于区域容量限制,无法从根本上减少事务冲突率;并且非易失性内存访问粒度、读写不均衡、持久化屏障开销大等问题制约了事务管理系统性能,导致事务管理系统无法真正发挥高并发、可扩展性强的优势.

    本文从新型硬件本身特性、事务层面特性和持久性路径等方面出发,介绍了目前相关研究工作,并且结合实际应用场景需求给出了未来基于新型硬件的事务管理系统的重要研究方向. 未来复杂的业务需求对事务管理系统的设计也提出了更高的要求,因此相关研究人员要结合新型硬件特性,立足于未来存算一体化的发展趋势,设计智能感知事务管理系统,保证新型硬件环境下的事务管理系统的可靠性.

    作者贡献声明:胡浩负责搜集相关研究工作以及文章整体撰写;梁文凯负责硬件特性分析并协助文章撰写;李诗逸负责讨论论文框架和修改论文;王鸿鹏负责对目前研究热点和未来发展方向的内容进行补充;夏文负责文章框架调整、整体思路的指导,并修改论文.

  • 图  1   OSN示意图

    Figure  1.   Illustration of OSN

    图  2   用户资料中包含地理信息示意图

    Figure  2.   Illustration of user profiles containing geo-information

    图  3   基础算法及模型示意图

    Figure  3.   Illustration of basic algorithms and models

    表  1   基于OSN数据的用户位置预测的文献总结

    Table  1   Literatures Summary of User Location Prediction Based on OSN Data

    文献 预测粒度 输入数据类型 任务类型 数据集 数学模型 评价指标
    [2] 坐标 文本数据 Text位置 Twitter 地名词典 Top@k
    [10] POI 签到数据 Future位置 Foursquare, Gowalla GNN Top@k
    [18] 街区 文本数据 Text位置 Twitter 标签传播 精确率、召回率、F1
    [24] 坐标 文本数据 Text位置 Twitter POI 签到数据
    [27] 场所类型 签到数据、图像数据 Future位置 Foursquare, Brightkite 矩阵分解 精确率、召回率
    [28] 网格 文本数据 Text位置 Twitter 核密度估计 Acc、Top@k、中值误差
    [32] POI 签到数据、评级数据 Future位置 Foursquare 矩阵分解 Top@k
    [37] 坐标 文本数据 Text位置 Twitter 贝叶斯、LSTM Acc@d
    [39] 城市 文本数据 Text位置 Weibo 聚类 消息文本、上下文
    [52] 城市 文本数据 Home位置 Tweets 地名词典 精确度
    [53] 城市 文本数据 Text位置 Twitter 注意力、Bi-LSTM Acc@d、中值误差、平均误差
    [72] 坐标 文本数据 Mentioned位置 Twitter 地名词典 精确率、召回率
    [80] 城市 签到数据 Home位置 Foursquare 最大似然估计 Top@k
    [88] 城市 文本数据 Home位置 Twitter 概率方法 精确率、召回率、F1
    [98] POI 签到数据 Future位置 Foursquare, Douban 核密度估计 Top@k
    [103] POI 签到数据 Text位置 Foursquare, Gowalla 变分注意力、CNN Top@k
    [109] 坐标 文本数据 Text位置 Twitter 贝叶斯 平均误差、中值误差
    [122] POI 签到数据 Future位置 Yelp 矩阵分解 MSE
    [128] POI 签到数据 Future位置 Gowalla,Yelp 协同过滤 精确率、召回率
    [132] 网格 文本数据 Home位置 Twitter MLP Acc@d、中值误差、平均误差
    [133] 坐标 文本数据 Home位置 Twitter GMM Acc@d、中值误差、平均误差
    [134] 城市 文本数据 Home位置 Twitter 注意力、RNN Acc、中值误差
    [136] 坐标 文本数据 Text位置 Twitter 卷积混合密度网络 中值误差、平均误差
    [138] 坐标 文本数据 Text位置 Twitter LSTM, NER 精确率、召回率、F1
    [140] 坐标 文本数据 Text位置 Twitter CNN 中值误差、平均误差
    [142] 坐标 文本数据 Home位置 Tweets 深层神经网络 精确率、召回率
    [143] POI 文本数据 Text位置 Twitter 注意力、Bi-LSTM 精确率、召回率、F1
    [150] POI 签到数据 Future位置 Foursquare,Gowalla 注意力机制、RNN Top@k
    [151] 坐标 文本数据 Text位置 Twitter 多头注意力 Acc、平均误差、中值误差
    [157] 城市 文本数据 Home位置 Twitter 注意力机制、GNN Acc@d、中值误差、平均误差
    [170] POI 文本数据 Text位置 Foursquare, Twitter 朴素贝叶斯 平均倒数秩
    [171] 场所类型 签到数据 Future位置 Brightkite, Foursquare 朴素贝叶斯 Top@k
    [172] 坐标 文本数据 Home位置 Twitter 标签传播 Top@k、平均误差、中值误差
    [173] 坐标 文本数据 Home位置 Twitter 标签传播 Acc@d、中值误差
    [174] 城市 文本数据 Home位置 Twitter 机器学习 Acc、Top@k、平均误差
    [175] 场所类型 签到数据 Future位置 Foursquare 矩阵分解 Top @k
    [176] 城市 文本数据 Home位置 Twitter 朴素贝叶斯 Acc、Top@k、平均误差、中值误差
    [177] POI 签到数据 Future位置 Foursquare 矩阵分解 精确率、召回率
    [178] POI 签到数据 Future位置 Gowalla 马尔可夫模型 精确率、召回率
    [179] 区域 签到数据 Future位置 Gowalla, Brightkite 聚类 Top@k
    [180] 区域 签到数据 Future位置 Geolife LSTM 召回率
    [181] POI 签到数据 Future位置 Instagram 矩阵分解 精确率、召回率
    [182] POI 签到数据 Future位置 Foursquare 矩阵分解 精确率、召回率
    [183] POI 签到数据 Future位置 Foursquare, Gowalla 统计 精确率、召回率
    [184] POI 签到数据 Future位置 Foursquare 最大似然估计 Top@k、召回率
    [185] 场所类型 签到数据 Future位置 Foursquare, Gowalla 矩阵分解 精确率、召回率
    下载: 导出CSV

    表  1   基于OSN数据的用户位置预测的文献总结

    Table  1   Literatures Summary of User Location Prediction Based on OSN Data

    文献 预测粒度 输入数据类型 任务类型 数据集 数学模型 评价指标
    [2] 坐标 文本数据 Text位置 Twitter 地名词典 Top@k
    [10] POI 签到数据 Future位置 Foursquare, Gowalla GNN Top@k
    [18] 街区 文本数据 Text位置 Twitter 标签传播 精确率、召回率、F1
    [24] 坐标 文本数据 Text位置 Twitter POI 签到数据
    [27] 场所类型 签到数据、图像数据 Future位置 Foursquare, Brightkite 矩阵分解 精确率、召回率
    [28] 网格 文本数据 Text位置 Twitter 核密度估计 Acc、Top@k、中值误差
    [32] POI 签到数据、评级数据 Future位置 Foursquare 矩阵分解 Top@k
    [37] 坐标 文本数据 Text位置 Twitter 贝叶斯、LSTM Acc@d
    [39] 城市 文本数据 Text位置 Weibo 聚类 消息文本、上下文
    [52] 城市 文本数据 Home位置 Tweets 地名词典 精确度
    [53] 城市 文本数据 Text位置 Twitter 注意力、Bi-LSTM Acc@d、中值误差、平均误差
    [72] 坐标 文本数据 Mentioned位置 Twitter 地名词典 精确率、召回率
    [80] 城市 签到数据 Home位置 Foursquare 最大似然估计 Top@k
    [88] 城市 文本数据 Home位置 Twitter 概率方法 精确率、召回率、F1
    [98] POI 签到数据 Future位置 Foursquare, Douban 核密度估计 Top@k
    [103] POI 签到数据 Text位置 Foursquare, Gowalla 变分注意力、CNN Top@k
    [109] 坐标 文本数据 Text位置 Twitter 贝叶斯 平均误差、中值误差
    [122] POI 签到数据 Future位置 Yelp 矩阵分解 MSE
    [128] POI 签到数据 Future位置 Gowalla,Yelp 协同过滤 精确率、召回率
    [132] 网格 文本数据 Home位置 Twitter MLP Acc@d、中值误差、平均误差
    [133] 坐标 文本数据 Home位置 Twitter GMM Acc@d、中值误差、平均误差
    [134] 城市 文本数据 Home位置 Twitter 注意力、RNN Acc、中值误差
    [136] 坐标 文本数据 Text位置 Twitter 卷积混合密度网络 中值误差、平均误差
    [138] 坐标 文本数据 Text位置 Twitter LSTM, NER 精确率、召回率、F1
    [140] 坐标 文本数据 Text位置 Twitter CNN 中值误差、平均误差
    [142] 坐标 文本数据 Home位置 Tweets 深层神经网络 精确率、召回率
    [143] POI 文本数据 Text位置 Twitter 注意力、Bi-LSTM 精确率、召回率、F1
    [150] POI 签到数据 Future位置 Foursquare,Gowalla 注意力机制、RNN Top@k
    [151] 坐标 文本数据 Text位置 Twitter 多头注意力 Acc、平均误差、中值误差
    [157] 城市 文本数据 Home位置 Twitter 注意力机制、GNN Acc@d、中值误差、平均误差
    [170] POI 文本数据 Text位置 Foursquare, Twitter 朴素贝叶斯 平均倒数秩
    [171] 场所类型 签到数据 Future位置 Brightkite, Foursquare 朴素贝叶斯 Top@k
    [172] 坐标 文本数据 Home位置 Twitter 标签传播 Top@k、平均误差、中值误差
    [173] 坐标 文本数据 Home位置 Twitter 标签传播 Acc@d、中值误差
    [174] 城市 文本数据 Home位置 Twitter 机器学习 Acc、Top@k、平均误差
    [175] 场所类型 签到数据 Future位置 Foursquare 矩阵分解 Top @k
    [176] 城市 文本数据 Home位置 Twitter 朴素贝叶斯 Acc、Top@k、平均误差、中值误差
    [177] POI 签到数据 Future位置 Foursquare 矩阵分解 精确率、召回率
    [178] POI 签到数据 Future位置 Gowalla 马尔可夫模型 精确率、召回率
    [179] 区域 签到数据 Future位置 Gowalla, Brightkite 聚类 Top@k
    [180] 区域 签到数据 Future位置 Geolife LSTM 召回率
    [181] POI 签到数据 Future位置 Instagram 矩阵分解 精确率、召回率
    [182] POI 签到数据 Future位置 Foursquare 矩阵分解 精确率、召回率
    [183] POI 签到数据 Future位置 Foursquare, Gowalla 统计 精确率、召回率
    [184] POI 签到数据 Future位置 Foursquare 最大似然估计 Top@k、召回率
    [185] 场所类型 签到数据 Future位置 Foursquare, Gowalla 矩阵分解 精确率、召回率
    下载: 导出CSV
  • [1]

    Hui Bo, Chen Haiquan, Yan Da, et al. EDGE: Entity-diffusion Gaussian ensemble for interpretable tweet geolocation prediction[C] //Proc of the 37th IEEE Int Conf on Data Engineering (ICDE). Piscataway, NJ: IEEE, 2021: 1092−1103

    [2]

    Qazi U, Imran M, Ofli F. Geocov19: A dataset of hundreds of millions of multilingual Covid19 tweets with location information[J]. SIGSPATIAL Special, 2020, 12(1): 6−15 doi: 10.1145/3404820.3404823

    [3]

    Wang Shuihua, Govindaraj V V, Górriz J M, et al. Covid-19 classification by FGCNet with deep feature fusion from graph convolutional network and convolutional neural network[J]. Information Fusion, 2021, 67: 208−229 doi: 10.1016/j.inffus.2020.10.004

    [4]

    Rill S, Reinel D, Scheidt J, et al. Politwi: Early detection of emerging political topics on Twitter and the impact on concept-level sentiment analysis[J]. Knowledge-Based Systems, 2014, 69: 24−33 doi: 10.1016/j.knosys.2014.05.008

    [5]

    Unankard S, Li Xue, Sharaf M A. Emerging event detection in social networks with location sensitivity[J]. World Wide Web, 2015, 18(5): 1393−1417 doi: 10.1007/s11280-014-0291-3

    [6]

    Luceri L, Andreoletti D, Giordano S. Infringement of tweets geo-location privacy: An approach based on graph convolutional neural networks[J]. arXiv preprint, arXiv: 1903. 11206, 2019

    [7]

    Eligüzel N, Çetinkaya C, Dereli T. Comparison of different machine learning techniques on location extraction by utilizing geo-tagged tweets: A case study[J]. Advanced Engineering Informatics, 2020, 46: 101151 doi: 10.1016/j.aei.2020.101151

    [8]

    Suwaileh R, Imran M, Elsayed T, et al. Are we ready for this disaster? Towards location mention recognition from crisis tweets[C] //Proc of the 28th Int Conf on Computational Linguistics. Red Hook, NY: Curran Associates, 2020: 6252−6263

    [9]

    Hu Yingjie, Wang Jimin. How do people describe locations during a natural disaster: An analysis of tweets from hurricane Harvey[C] //Proc of the 11th Int Conf on Geographic Information Science. Dagstuhl, Germany: Schloss Dagstuhl-Leibniz-Zentrum für Informatik, 2021: 6: 1−6: 16

    [10]

    Xie Min, Yin Hongzhi, Wang Hao, et al. Learning graph-based POI embedding for location-based recommendation[C] //Proc of the 25th ACM Int Conf on Information and Knowledge Management. New York: ACM, 2016: 15−24

    [11]

    Ajao O, Hong Jun, Liu Weirui. A survey of location inference techniques on Twitter[J]. Journal of Information Science, 2015, 41(6): 855−864 doi: 10.1177/0165551515602847

    [12]

    Zheng Xin, Han Jialong, Sun Aixin. A survey of location prediction on Twitter[J]. IEEE Transactions on Knowledge and Data Engineering, 2018, 30(9): 1652−1671 doi: 10.1109/TKDE.2018.2807840

    [13]

    Xu Shuai, Fu Xiaoming, Cao Jiuxin, et al. Survey on user location prediction based on geo-social networking data[J]. World Wide Web, 2020, 23(3): 1621−1664 doi: 10.1007/s11280-019-00777-8

    [14]

    Cheng Zhiyuan, Caverlee J, Lee K. A content-driven framework for geo-locating microblog users[J]. ACM Transactions on Intelligent Systems and Technology, 2013, 4(1): 1−27

    [15]

    Roller S, Speriosu M, Rallapalli S et al. Supervised text based geolocation using language models on an adaptive grid[C] //Proc of the 2012 Joint Conf on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Stroudsburg, PA: ACL, 2012: 1500−1510

    [16]

    Java A, Song Xiaodan, Finin T, et al. Why we Twitter: An analysis of a microblogging community[C] //Proc of the Int Workshop on Social Network Mining and Analysis. Berlin: Springer, 2007: 118−138

    [17]

    Graham M, Hale S A, Gaffney D. Where in the world are you? Geolocation and language identification in Twitter[J]. The Professional Geographer, 2014, 66(4): 568−578 doi: 10.1080/00330124.2014.907699

    [18]

    Shen Wei, Wang Jianyong, Han Jiawei. Entity linking with a knowledge base: Issues, techniques, and solutions[J]. IEEE Transactions on Knowledge and Data Engineering, 2014, 27(2): 443−460

    [19]

    MacEachren A M, Jaiswal A, Robinson A C, et al. Senseplace2: Geotwitter analytics support for situational awareness[C] //Proc of the IEEE Conf on Visual Analytics Science and Technology (VAST). Piscataway, NJ: IEEE, 2011: 181−190

    [20]

    Feng Shanshan, Cong Gao, An Bo, et al. Poi2vec: Geographical latent representation for predicting future visitors[C] //Proc of the 31st AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2017: 102−108

    [21]

    Li Rui, Wang Shengjie, Deng Hongbo, et al. Towards social user profiling: Unified and discriminative influence model for inferring home locations[C]//Proc of the 18th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2012: 1023−1031

    [22]

    Schulz A, Hadjakos A, Paulheim H, et al. A multi-indicator approach for geo-localization of tweets[C] //Proc of the 7th Int AAAI Conf on Weblogs and Social Media. Palo Alto, CA: AAAI, 2013: 573−582

    [23]

    Compton R, Jurgens D, Allen D. Geotagging one hundred million Twitter accounts with total variation minimization[C] //Proc of the IEEE Int Conf on Big Data, Palo Alto, CA: AAAI, 2014: 393-401

    [24]

    Flatow D, Naaman M, Xie K E, et al. On the accuracy of hyper-local geotagging of social media content[C] //Proc of the 8th ACM Int Conf on Web Search and Data Mining. New York: ACM, 2015: 127−136

    [25]

    Ritter A, Clark S, Etzioni O, et al. Named entity recognition in tweets: An experimental study[C] //Proc of the 2011 Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2011: 1524−1534

    [26]

    Anantharam P, Barnaghi P, Thirunarayan K, et al. Extracting city traffic events from social streams[J]. ACM Transactions on Intelligent Systems and Technology, 2015, 6(4): 1−27

    [27]

    Liu Bo, Yuan Quan, Cong Gao, et al. Where your photo is taken: Geolocation prediction for social images[J]. Journal of the Association for Information Science and Technology, 2014, 65(6): 1232−1243 doi: 10.1002/asi.23050

    [28]

    Ozdikis O, Ramampiaro H, Nørvåg K. Locality-adapted kernel densities of term co-occurrences for location prediction of tweets[J]. Information Processing & Management, 2019, 56(4): 1280−1299

    [29]

    Young S D, Zhang Qingpeng, Zeng D D, et al. Social media images as an emerging tool to monitor adherence to COVID-19 public health guidelines: Content analysis[J]. Journal of Medical Internet Research, 2022, 24(3): e24787 doi: 10.2196/24787

    [30]

    Zhou Fan, Dai Yurou, Gao Qiang, et al. Self-supervised human mobility learning for next location prediction and trajectory classification[J]. Knowledge-Based Systems, 2021, 228: 107214 doi: 10.1016/j.knosys.2021.107214

    [31]

    Ye Jihang, Zhu Zhe, Cheng Hong. What’s your next move: User activity prediction in location-based social networks[C] //Proc of the 2013 SIAM Int Conf on Data Mining. Philadelphia, PA: SIAM, 2013: 171−179

    [32]

    Gao Huiji, Tang Jiliang, Hu Xia, et al. Content-aware point of interest recommendation on location-based social networks[C] //Proc of the 29th AAAI Conf on Artificial Intelligence, Palo Alto, CA: AAAI, 2015: 1721−1727

    [33]

    Zhang Zhiyuan, Liu Yun, Zhang Zhenjiang, et al. Fused matrix factorization with multi-tag, social and geographical influences for POI recommendation[J]. World Wide Web, 2019, 22(3): 1135−1150 doi: 10.1007/s11280-018-0579-9

    [34]

    Manotumruksa J, Macdonald C, Ounis I. Modelling user preferences using word embeddings for context-aware venue recommendation[J]. arXiv preprint, arXiv: 1606. 07828, 2016

    [35]

    Giridhar P, Abdelzaher T, George J, et al. On quality of event localization from social network feeds[C] //Proc of the IEEE Int Conf on Pervasive Computing and Communication Workshops (PerCom Workshops). Piscataway, NJ: IEEE, 2015: 75−80

    [36]

    Imran M, Castillo C, Diaz F, et al. Processing social media messages in mass emergency: A survey[J]. ACM Computing Surveys, 2015, 47(4): 1−38

    [37]

    Li Pengfei, Lu Hua, Kanhabua N et al. Location inference for non-geotagged tweets in user timelines[J]. IEEE Transactions on Knowledge and Data Engineering, 2018, 31(6): 1150−1165

    [38]

    Lin Yucheng, Lai Chunming, Chapman J W, et al. Geo-location identification of Facebook pages[C] //Proc of 2018 IEEE/ACM Int Conf on Advances in Social Networks Analysis and Mining (ASONAM). Piscataway, NJ: IEEE, 2018: 441−446

    [39]

    Ao J, Zhang Peng, Cao Yanan. Estimating the locations of emergency events from Twitter streams[J]. Procedia Computer Science, 2014, 31: 731−739 doi: 10.1016/j.procs.2014.05.321

    [40]

    Sakaki T, Okazaki M Matsuo Y. Tweet analysis for real-time event detection and earthquake reporting system development[J]. IEEE Transactions on Knowledge and Data Engineering, 2012, 25(4): 919−931

    [41]

    Lee R, Sumiya K. Measuring geographical regularities of crowd behaviors for Twitter-based geo-social event detection[C] //Proc of the 2nd ACM SIGSPATIAL Int Workshop on Location Based Social Networks. New York: ACM, 2010: 1−10

    [42]

    Wing B, Baldridge J. Simple supervised document geolocation with geodesic grids[C] //Proc of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg, PA: ACL, 2011: 955−964

    [43]

    Abrol S, Khan L. Tweethood: Agglomerative clustering on fuzzy k-closest friends with variable depth for location mining[C] //Proc of the 2nd IEEE Int Conf on Social Computing. Piscataway, NJ: IEEE, 2010: 153−160

    [44]

    Backstrom L, Sun E, Marlow C. Find me if you can: Improving geographical prediction with social and spatial proximity[C] //Proc of the 19th Int Conf on World Wide Web. New York: ACM, 2010: 61−70

    [45]

    McGee J, Caverlee J, Cheng Zhiyuan. Location prediction in social media based on tie strength[C] //Proc of the 22nd ACM Int Conf on Information & Knowledge Management. New York: ACM, 2013: 459−468

    [46]

    Jurgens D. That’s what friends are for: Inferring location in online social media platforms based on social relationships[C] //Proc of the 7th Int AAAI Conf on Weblogs and Social Media. Palo Alto, CA: AAAI, 2013: 273−282

    [47]

    Kossinets G, Watts D J. Empirical analysis of an evolving social network[J]. Science, 2006, 311(5757): 88−90 doi: 10.1126/science.1116869

    [48]

    McGee J, Caverlee J A, Cheng Zhiyuan. A geographic study of tie strength in social media[C] //Proc of the 20th ACM Int Conf on Information and Knowledge Management. New York: ACM, 2011: 2333−2336

    [49]

    Hecht B, Hong L, Suh B, et al. Tweets from justin bieber’s heart: The dynamics of the location field in user profiles[C] //Proc of the SIGCHI Conf on Human Factors in Computing Systems. New York: ACM, 2011: 237−246

    [50]

    Achrekar H, Gandhe A, Lazarus R, et al. Online social networks flu trend tracker: A novel sensory approach to predict flu trends[C] //Proc of the Int Joint Conf on Biomedical Engineering Systems and Technologies. Berlin: Springer, 2012: 353−368

    [51]

    Yin Jie, Karimi S, Lampert A, et al. Using social media to enhance emergency situation awareness[C] //Proc of the 24th Int Joint Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2015: 4234−4239

    [52]

    Mahmud J, Nichols J, Drews C. Home location identification of twitter users[J]. ACM Transactions on Intelligent Systems and Technology, 2014, 5(3): 1−21

    [53]

    Huang Binxuan, Carley K M. A hierarchical location prediction neural network for twitter user geolocation[C] //Proc of the 2019 Conf on Empirical Methods in Natural Language Processing and the 9th Int Joint Conf on Natural Language Processing. Stroudsburg, PA: ACL, 2019: 4731−4741

    [54]

    Van Der Maaten L, Hinton G. Visualizing data using t-SNE[J]. Journal of Machine Learning Research, 2008, 9(11): 2579−2605

    [55]

    Li Chenliang, Sun Aixin. Fine-grained location extraction from tweets with temporal awareness[C] //Proc of the 37th Int ACM SIGIR Conf on Research & Development in Information Retrieval. New York: ACM, 2014: 43−52

    [56]

    Ikawa Y, Enoki M, Tatsubori M. Location inference using microblog messages[C] //Proc of the 21st Int Conf on World Wide Web. New York: ACM, 2012: 687−690

    [57]

    Sankaranarayanan J, Samet H, Teitler B E, et al. Twitterstand: News in tweets[C] //Proc of the 17th ACM SIGSPATIAL Int Conf on Advances in Geographic Information Systems. New York: ACM, 2009: 42−51

    [58]

    Teitler B E, Lieberman M D, Panozzo D, et al. NewsStand: A new view on news[C/OL] //Proc of the 16th ACM SIGSPATIAL Int Conf on Advances in Geographic Information Systems. New York: ACM, 2008 [2022-11-11].https://dl.acm.org/doi/10.1145/1463434.1463458

    [59]

    Chauhan A, Kummamuru K, Toshniwal D. Prediction of places of visit using tweets[J]. Knowledge and Information Systems, 2017, 50(1): 145−166 doi: 10.1007/s10115-016-0936-x

    [60]

    Manotumruksa J, Macdonald C, Ounis I. Matrix factorisation with word embeddings for rating prediction on location-based social networks[C] //Proc of the European Conf on Information Retrieval. Berlin: Springer, 2017: 647−654

    [61]

    Lim W L, Ho C C, Ting C Y. Sentiment analysis by fusing text and location features of geo-tagged tweets[J]. IEEE Access, 2020, 8: 181014−181027 doi: 10.1109/ACCESS.2020.3027845

    [62]

    Abdelhaq H, Sengstock C, Gertz M. Eventweet: Online localized event detection from Twitter[J]. Proceedings of the VLDB Endowment, 2013, 6(12): 1326−1329 doi: 10.14778/2536274.2536307

    [63]

    Samuel A, Sharma D K. Location estimation of non-geo-tagged tweets[J]. Evolutionary Intelligence, 2021, 14(2): 205−216 doi: 10.1007/s12065-018-0163-3

    [64]

    Ozdikis O, Oguztuzun H, Karagoz P. Evidential location estimation for events detected in Twitter[C] //Proc of the 7th Workshop on Geographic Information Retrieval. New York: ACM, 2013: 9−16

    [65]

    Ozdikis O, Oğuztüzün H, Karagoz P. Evidential estimation of event locations in microblogs using the Dempster–Shafer theory[J]. Information Processing & Management, 2016, 52(6): 1227−1246

    [66]

    Nadeau D, Sekine S. A survey of named entity recognition and classification[J]. Lingvisticae Investigationes, 2007, 30(1): 3−26 doi: 10.1075/li.30.1.03nad

    [67]

    Roick O, Heuser S. Location based social networks-definition, current state of the art and research agenda[J]. Transactions in GIS, 2013, 17(5): 763−784 doi: 10.1111/tgis.12032

    [68]

    Gelernter J, Mushegian N. Geo-parsing messages from microtext[J]. Transactions in GIS, 2011, 15(6): 753−773 doi: 10.1111/j.1467-9671.2011.01294.x

    [69]

    Lingad J, Karimi S, Yin Jie. Location extraction from disaster-related microblogs[C] //Proc of the 22nd Int Conf on World Wide Web. New York: ACM, 2013: 1017−1020

    [70]

    Hinduja S, Patchin J W. Bullying, cyberbullying, and suicide[J]. Archives of Suicide Research, 2010, 14(3): 206−221 doi: 10.1080/13811118.2010.494133

    [71]

    Malmasi S, Dras M. Location mention detection in tweets and microblogs[C] //Proc of the Conf of the Pacific Association for Computational Linguistics. Berlin: Springer, 2015: 123−134

    [72]

    Zhang Wei, Gelernter Judith. Geocoding location expressions in Twitter messages: A preference learning method[J]. Journal of Spatial Information Science, 2014, 2014(9): 37−70

    [73]

    Paradesi S M. Geotagging tweets using their content[C] //Proc of the 24th Int FLAIRS Conf. Palo Alto, CA: AAAI, 2011: 355−356

    [74]

    Vieweg S, Hughes A L, Starbird K, et al. Microblogging during two natural hazards events: What Twitter may contribute to situational awareness[C] //Proc of the SIGCHI Conf on Human Factors in Computing Systems. New York: ACM, 2010: 1079−1088

    [75]

    Pennacchiotti M, Popescu A. A machine learning approach to Twitter user classification[C] //Proc of the 5th Int AAAI Conf on Weblogs and Social Media. Palo Alto, CA: AAAI, 2011: 281−288

    [76]

    Gültekin G, Bayat O. A Naïve Bayes prediction model on location-based recommendation by integrating multi-dimensional contextual information[J]. Multimedia Tools and Applications, 2022, 81(5): 6957−6978 doi: 10.1007/s11042-021-11676-4

    [77]

    Stock K, Jones C B, Russell S, et al. Detecting geospatial location descriptions in natural language text[J]. International Journal of Geographical Information Science, 2022, 36((3): ): 547−584 doi: 10.1080/13658816.2021.1987441

    [78]

    Giridhar P, Wang Shiguang, Abdelzaher T F, et al. Joint localization of events and sources in social networks[C] //Proc of the Int Conf on Distributed Computing in Sensor Systems. Piscataway, NJ: IEEE, 2015: 179−188

    [79]

    Cheng Zhiyuan, Caverlee J, Lee K. You are where you tweet: A content-based approach to geo-locating Twitter users[C] //Proc of the 19th ACM Int Conf on Information and Knowledge Management. New York: ACM, 2010: 759−768

    [80]

    Huang Chao, Wang Dong, Zhu Shenglong. Where are you from: Home location profiling of crowd sensors from noisy and sparse crowdsourcing data[C/OL] //Proc of the IEEE Conf on Computer Communications (INFOCOM 2017). Piscataway, NJ: IEEE, 2017 [2023-03-29].https://ieeexplore.ieee.org/abstract/document/8057112

    [81]

    Eisenstein Ja, O’Connor B, Smith N A, et al. A latent variable model for geographic lexical variation[C] //Proc of the 2010 Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2010: 1277−1287

    [82]

    Hong Liangjie, Ahmed A, Gurumurthy S, et al. Discovering geographical topics in the Twitter stream[C] //Proc of the 21st Int Conf on World Wide Web. New York: ACM, 2012: 769−778

    [83]

    Grover A, Leskovec J. Node2Vec: Scalable feature learning for networks[C] //Proc of the 22nd ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2016: 855864

    [84]

    Chang H, Lee D, Eltaher M, et al. @Phillies tweeting from Philly? Predicting Twitter user locations with spatial word usage[C] //Proc of the IEEE/ACM Int Conf on Advances in Social Networks Analysis and Mining. New York: ACM, 2012: 111−118

    [85]

    Sakaki T, Okazaki M, Matsuo Y. Earthquake shakes twitter users: Real-time event detection by social sensors[C] //Proc of the 19th Int Conf on World Wide Web. New York: ACM, 2010: 851−860

    [86]

    Arulampalam M S, Maskell S, Gordon N, et al. A tutorial on particle filters for online nonlinear/nongaussian Bayesian tracking[J]. IEEE Transactions on Signal Processing, 2002, 50(2): 174−188 doi: 10.1109/78.978374

    [87]

    Li Wen, Eickhoff C, de Vries A P. Want a coffee? Predicting users’ trails[C] //Proc of the 35th Int ACM SIGIR Conf on Research and Development In Information Retrieval. New York: ACM, 2012: 1171−1172

    [88]

    Rodrigues E, Assunção R, Pappa G L, et al. Exploring multiple evidence to infer users’location in Twitter[J]. Neuro Computing, 2016, 171: 30−38

    [89]

    Zhang Jiadong, Chow C Y, Li Yanhua. Lore: Exploiting sequential influence for location recommendations[C] //Proc of the 22nd ACM SIGSPATIAL Int Conf on Advances in Geographic Information Systems. New York: ACM, 2014: 103−112

    [90]

    Lian Defu, Xie Xing, Zheng Vincent W, et al. CEPR: A collaborative exploration and periodically returning model for location prediction[J]. ACM Transactions on Intelligent Systems and Technology, 2015, 6(1): 1−27

    [91]

    Cheng Chen, Yang Haiqin, Lyu M R, et al. Where you like to go next: Successive point-of-interest recommendation[C] //Proc of the 23rd Int Joint Conf on Artificial Intelligence. Los Altos, CA: IJCAI, 2013: 2605−2611

    [92]

    Feng Shanshan, Li Xutao, Zeng Yifeng, et al. Personalized ranking metric embedding for next new POI recommendation[C] //Proc of the 24th Int Joint Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2015: 2069−2075

    [93]

    Chen Sijia, Zhang Jian, Meng Fanwei, et al. A Markov chain position prediction model based on multidimensional correction[J]. Complexity, 2021, 2021: 6677132

    [94]

    Good I J. The population frequencies of species and the estimation of population parameters[J]. Biometrika, 1953, 40(34): 237−264

    [95]

    Rendle S, Freudenthaler C SchmidtThieme L. Factorizing personalized Markov chains for nextbasket recommendation[C] //Proc of the 19th Int Conf on World Wide Web. New York: ACM, 2010: 811−820

    [96]

    Lu Jing, Anjiri S N, Liu Cong. Compredict: A location prediction method by mining semantic trajectories and mobile intention[J/OL]. Available at SSRN, 2022 [2022-05-06].https://ssrn.com/abstract=4034463

    [97]

    Han Jiawei, Kamber M, Tung A. Spatial clustering methods in data mining: A survey[J]. Geographic Data Mining and Knowledge Discovery, 2001, 1: 188−217

    [98]

    Yin Hongzhi, Hu Zhiting, Zhou Xiaofang, et al. Discovering interpretable geosocial communities for user behavior prediction[C]//Proc of the IEEE 32nd Int Conf on Data Engineering (ICDE). Piscataway, NJ: IEEE, 2016: 942−953

    [99]

    Kong Longbo, Liu Zhi, Huang Yan. Spot: Locating social media users based on social network context[J]. Proceedings of the VLDB Endowment, 2014, 7(13): 1681−1684 doi: 10.14778/2733004.2733060

    [100]

    Poulston A, Stevenson M, Bontcheva K. Hyperlocal home location identification of Twitter profiles[C]//Proc of the 28th ACM Conf on Hypertext and Social Media. New York: ACM, 2017: 45−54

    [101]

    Alaskar H, Vaiyapuri T, Sbai Z. Twitter analytics for discovering socially important locations for business improvement[C/OL] //Proc of the IEEE Int Symp on Signal Processing and Information Technology (ISSPIT). Piscataway, NJ: IEEE, 2019 [2023-03-29].https://ieeexplore.ieee.org/abstract/document/9001873

    [102]

    Senefonte H C M, Delgado M R, Lüders R, et al. PredicTour: Predicting mobility patterns of tourists based on social media user’s profiles[J]. IEEE Access, 2022, 10: 9257−9270 doi: 10.1109/ACCESS.2022.3143503

    [103]

    Gao Qiang, Zhou Fan, Trajcevski G, et al. Predicting human mobility via variational attention[C] //Proc of the World Wide Web Conf. New York: ACM, 2019: 2750−2756

    [104]

    Ester M, Kriegel H P, Sander J, et al. A density-based algorithm for discovering clusters in large spatial databases with noise[C] //Proc of the 2nd Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 1996: 226−231

    [105]

    Boettcher A, Lee D. Eventradar: A real-time local event detection scheme using Twitter stream[C] //Proc of the IEEE Int Conf on Green Computing and Communications. Piscataway, NJ: IEEE, 2012: 358−367

    [106]

    Tamura K, Ichimura T. Density-based spatiotemporal clustering algorithm for extracting bursty areas from georeferenced documents[C] //Proc of the IEEE Int Conf on Systems, Man, and Cybernetics. Piscataway, NJ: IEEE, 2013: 2079−2084

    [107]

    Sakai T, Tamura K. Identifying bursty areas of emergency topics in geotagged tweets using density-based spatiotemporal clustering algorithm[C] //Proc of the 7th IEEE Int Workshop on Computational Intelligence and Applications (IWCIA). Piscataway, NJ: IEEE, 2014: 95−100

    [108]

    Ebrahimi M, ShafieiBavani E, Wong R, et al. Exploring celebrities on inferring user geolocation in Twitter[C] //Proc of the Pacific-Asia Conf on Knowledge Discovery and Data Mining. Piscataway, NJ: IEEE, 2017: 395−406

    [109]

    Hulden M, Silfverberg M, Francom J. Kernel density estimation for text-based geolocation[C] //Proc of the 29th AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2015: 145-150

    [110]

    Yin Zhijun, Cao Liangliang, Han Jiawei, et al. Geographical topic discovery and comparison[C] //Proc of the 20th Int Conf on World Wide Web. New York: ACM, 2011: 247−256

    [111]

    Van L O, Quinn J, Schockaert S, et al. Spatially aware term selection for geotagging[J]. IEEE Transactions on Knowledge and Data Engineering, 2013, 26(1): 221−234

    [112]

    Priedhorsky R, Culotta A, Del V S Y. Inferring the origin locations of tweets with quantitative confidence[C] //Proc of the 17th ACM Conf on Computer Supported Cooperative Work & Social Computing. New York: ACM, 2014: 1523−1536

    [113]

    Bakerman J, Pazdernik K, Wilson A, et al. Twitter geolocation: A hybrid approach[J]. ACM Transactions on Knowledge Discovery from Data, 2018, 12(3): 1−17

    [114]

    Lu Yafeng, Hu Xia, Wang Feng, et al. Visualizing social media sentiment in disaster scenarios[C] //Proc of the 24th Int Conf on World Wide Web. New York: ACM, 2015: 1211−1215

    [115]

    Lichman M, Smyth P. Modeling human location data with mixtures of kernel densities[C] //Proc of the 20th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2014: 35−44

    [116]

    Zhang Jiadong, Chow C Y. iGSLR: Personalized geo social location recommendation: A kernel density estimation approach[C] //Proc of the 21st ACM SIGSPATIAL Int Conf on Advances in Geographic Information Systems. New York: ACM, 2013: 334−343

    [117]

    Botev Z I, Grotowski J F, Kroese D P. Kernel density estimation via diffusion[J]. The Annals of Statistics, 2010, 38(5): 2916−2957

    [118]

    Chen Wei, Wang Weiqing, Yin Hongzhi, et al. HFUL: A hybrid framework for user account linkage across location-aware social networks[J]. The VLDB Journal, 2023, 32(1): 1−22 doi: 10.1007/s00778-022-00730-8

    [119]

    Cai Liangqi, Wen Wen, Wu Biao, et al. A coarse-to-fine user preferences prediction method for point-of-interest recommendation[J]. Neurocomputing, 2021, 422: 1−11 doi: 10.1016/j.neucom.2020.09.034

    [120]

    Lian Defu, Zhao Cong, Xie Xing, et al. GeoMF: Joint geographical modeling and matrix factorization for point-of-interest recommendation[C] //Proc of the 20th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2014: 831−840

    [121]

    Lian Defu, Zheng Kai, Ge Yong, et al. GeoMF++ scalable location recommendation via joint geographical modeling and matrix factorization[J]. ACM Transactions on Information Systems, 2018, 36(3): 1−29

    [122]

    Manotumruksa J, Macdonald C, Ounis I. Regularising factorised models for venue recommendation using friends and their comments[C] //Proc of the 25th ACM Int on Conf on Information and Knowledge Management. New York: ACM, 2016: 1981−1984

    [123]

    Zhao Shenglin, Zhao Tong, Yang Haiqin, et al. STELLAR: Spatial-temporal latent ranking for successive point-of-interest recommendation[C] //Proc of the 30th AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2016: 315−322

    [124]

    Liu Bin, Xiong Hui, Papadimitriou S, et al. A general geographical probabilistic factor model for point of interest recommendation[J]. IEEE Transactions on Knowledge and Data Engineering, 2014, 27(5): 1167−1179

    [125]

    Liu Bin, Fu Yanjie, Yao Zijun, et al. Learning geographical preferences for point-of-interest recommendation[C] //Proc of the 19th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2013: 1043−1051

    [126]

    Zhao Pengpeng, Xu Xiefeng, Liu Yanchi, et al. Exploiting hierarchical structures for POI recommendation[C] //Proc of the 2017 IEEE Int Conf on Data Mining (ICDM). Piscataway, NJ: IEEE, 2017: 655−664

    [127]

    Li Xin, Jiang Mingming, Hong Huiting, et al. A time-aware personalized point-of-interest recommendation via high-order tensor factorization[J]. ACM Transactions on Information Systems, 2017, 35(4): 1−23

    [128]

    Yang Dingqi, Zhang Daqing, Zheng V W, et al. Modeling user activity preference by leveraging user spatial temporal characteristics in LBSNs[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2014, 45(1): 129−142

    [129]

    Zhang Chenyi, Wang Ke. POI recommendation through cross-region collaborative filtering[J]. Knowledge and Information Systems, 2016, 46(2): 369−387 doi: 10.1007/s10115-015-0825-8

    [130]

    Liu Qiang, Wu Shu, Wang Liang, et al. Predicting the next location: A recurrent model with spatial and temporal contexts[C] //Proc of the 30th AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2016: 194−200

    [131]

    Miura Y, Taniguchi M, Taniguchi T, et al. A simple scalable neural networks based model for geolocation prediction in Twitter[C] //Proc of the 2nd Workshop on Noisy User-generated Text (WNUT). New York: ACM, 2016: 235−239

    [132]

    Rahimi A, Cohn T, Baldwin T. A neural model for user geolocation and lexical dialectology[C] //Proc of the 55th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2017: 209−216

    [133]

    Rahimi A, Baldwin T, Cohn T. Continuous representation of location for geolocation and lexical dialectology using mixture density networks[C] //Procs of the 2017 Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2017: 167−176

    [134]

    Miura Y, Taniguchi M, Taniguchi T, et al. Unifying text, metadata, and user network representations with a neural network for geolocation prediction[C] //Proc of the 55th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2017: 1260−1272

    [135]

    Collobert R, Weston J, Bottou L, et al. Natural language processing (almost) from scratch[J]. Journal of Machine Learning Research, 2011, 12: 2493−2537

    [136]

    Iso H Wakamiya S, Aramaki E. Density estimation for geolocation via convolutional mixture density network[J]. arXiv preprint, arXiv: 1705. 02750, 2017

    [137]

    Mousset P, Pitarch Y, Tamine L. End-to-end neural matching for semantic location prediction of tweets[J]. ACM Transactions on Information Systems, 2020, 39(1): 1−35

    [138]

    Chen Zi, Pokharel B, Li Bingnan, et al. Location extraction from twitter messages using a bidirectional long short-term memory neural network with conditional random field model[C] //Proc of the Int Conf on Geographical Information Systems Theory, Applications and Management. Berlin: Springer, 2020: 18−30

    [139]

    Ajao O, Bhowmik D, Zargari S. Content-aware tweet location inference using quadtree spatial partitioning and Jaccard-cosine word embedding[C] //Proc of the IEEE/ACM Int Conf on Advances in Social Networks Analysis and Mining (ASONAM). New York: ACM, 2018: 1116−1123

    [140]

    Izbicki M, Papalexakis V, Tsotras V. Geolocating tweets in any language at any location[C]//Proc of the 28th ACM Int Conf on Information and Knowledge Management. New York: ACM, 2019: 89−98

    [141]

    Xu Shuai, Cao Jiuxin, Legg P, et al. Venue2vec: An efficient embedding model for fine-grained user location prediction in geosocial networks[J]. IEEE Systems Journal, 2019, 14((2): ): 1740−1751

    [142]

    Ghaffari M, Srinivasan A, Liu Xiuwen. High resolution home location prediction from tweets using deep learning with dynamic structure[C] //Proc of the 2019 IEEE/ACM Int Conf on Advances in Social Networks Analysis and Mining. Piscataway, NJ: IEEE, 2019: 540−542

    [143]

    Xu Canwen, Li Jing, Luo Xiangyang, et al. Dlocrl: A deep learning pipeline for fine grained location recognition and linking in tweets[C] //Proc of the World Wide Web Conf. New York: ACM, 2019: 3391−3397

    [144]

    Bao Yi, Huang Zhou, Li Linna, et al. A BiLSTM-CNN model for predicting users’ next locations based on geotagged social media[J]. International Journal of Geographical Information Science, 2021, 35(4): 639−660 doi: 10.1080/13658816.2020.1808896

    [145]

    Dat V A D, Yoon S. A human location prediction-based routing protocol in mobile crowdsensing-based urban sensor networks[J]. Applied Sciences, 2022, 12(8): 3898 doi: 10.3390/app12083898

    [146]

    Chiu J P C, Nichols E. Named entity recognition with bidirectional LSTM-CNNs[J]. Transactions of the Association for Computational Linguistics, 2016, 4: 357−370 doi: 10.1162/tacl_a_00104

    [147]

    Kumar A, Singh J P. Location reference identification from tweets during emergencies: A deep learning approach[J]. Internatinal Journal of Disaster Risk Reduction, 2019, 33: 365−375 doi: 10.1016/j.ijdrr.2018.10.021

    [148]

    Huang Binxuan, Carley K M. On predicting geolocation of tweets using convolutional neural networks[C] //Proc of the Int Conf on Social Computing, Behavioral-Cultural Modeling and Prediction and Behavior Representation in Modeling and Simulation. Berlin: Springer, 2017: 281−291

    [149]

    Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C] //Proc of the Advances in Neural Information Processing Systems. Piscataway, NJ: IEEE, 2017: 5998−6008

    [150]

    Feng Jie, Li Yong, Zhang Chao, et al. Deepmove: Predicting human mobility with attentional recurrent networks[C] //Proc of the 2018 World Wide Web Conf. New York: ACM, 2018: 1459−1468

    [151]

    Huang Chieh Yang, Tong Hanghang, He Jingrui, et al. Location prediction for tweets[J]. Frontiers in Big Data, 2019, 2: 5 doi: 10.3389/fdata.2019.00005

    [152]

    Wang Zhixiao, Yan Wenyao, Gao Ang. Fine-grained user location prediction using meta-path context with attention mechanism[J]. Journal of Web Engineering, 2021, 20(3): 597−614

    [153]

    Wang Shuang, Li Anlian, Xie Shuai, et al. A spatial-temporal self-attention network for location prediction[J/OL]. Complexity, 2021 [2022-11-11]. https://downloads.hindawi.com/journals/complexity/2021/6692313.pdf

    [154]

    Liu Yuwen, Song Zuolong, Xu Xiaolong, et al. Bidirectional GRU networks-based next POI category prediction for healthcare[J]. International Journal of Intelligent Systems, 2022, 37(7): 4020−4040 doi: 10.1002/int.22710

    [155]

    Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks[C/OL] //Proc of the 5th Int Conf on Learning Representations. 2017 [2022-05-05].https://openreview.net/pdf?id=SJU4ayYgl

    [156]

    Velickovic P, Cucurull G, Casanova A, et al. Graph attention net-works[C/OL] //Proc of the 6th Int Conf on Learning Representations. 2018 [2022-05-05].https://openreview.net/pdf?id=rJXMpikCZ

    [157]

    Zhong Ting, Wang Tianliang, Wang Jiahao, et al. Multiple-aspect attentional graph neural networks for online social network user localization[J]. IEEE Access, 2020, 8: 95223−95234 doi: 10.1109/ACCESS.2020.2993876

    [158]

    Zhou Fan, Wang Tianliang, Zhong Ting, et al. Identifying user geolocation with hierarchical graph neural networks and explainable fusion[J/OL]. Information Fusion, 2022 [2023-03-29].https://www.sciencedirect.com/science/article/pii/S1566253521002293

    [159]

    Miyazaki T, Rahimi A, Cohn T, et al. Twitter geolocation using knowledge-based methods[C] //Proc of the 4th Workshop on Noisy User-generated Text. Stroudsburg, PA: ACL, 2018: 7−16

    [160]

    Tian Hechan, Zhang Meng, Luo Xiangyang, et al. Twitter user location inference based on representation learning and label propagation[C] //Proc of the Web Conf. New York: ACM, 2020: 2648−2654

    [161]

    Elmi S, Tan K L. Influence-based deep network for next POIs prediction[C] //Proc of the 44th European Conf on Information Retrieval. Berlin: Springer, 2022: 170−183

    [162]

    Wu Xian, Huang Chao, Zhang Chuxu, et al. Hierarchically structured transformer networks for fine-grained spatial event forecasting[C] //Proc of the Web Conf 2020. New York ACM, 2020: 2320–2330

    [163]

    Chaitanya J. Transformers are graph neural networks [EB/OL]. 2020 [2022-05-05].https://graphdeeplearning.github.io/post/transformers-are-gnns/

    [164]

    Tsochantaridis I, Joachims T, Hofmann T, et al. Large margin methods for structured and interdependent output variables[J]. Journal of Machine Learning Research, 2005, 6(9): 1453−1484

    [165]

    Guo S, Chang Mingwei, Kiciman E. To link or not to link? A study on end-to-end tweet entity linking[C] //Proc of the 2013 Conf of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg, PA: ACL, 2013: 1020−1030

    [166]

    Hua Wen, Zheng Kai, Zhou Xiaofang. Microblog entity linking with social temporal context[C] //Proc of the 2015 ACM SIGMOD Int Conf on Management of Data. New York: ACM, 2015: 1761−1775

    [167]

    Shen Wei, Wang Jianyong, Luo Ping, et al. Linking named entities in tweets with knowledge base via user interest modeling[C] //Proc of the 19th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2013: 68−76

    [168]

    Do T H, Nguyen D M, Tsiligianni E, et al. Multiview deep learning for predicting Twitter users’ location[J]. arXiv preprint, arXiv: 1712. 08091, 2017

    [169]

    Wang Dong, Al Amin M T , Abdelzaher T, et al. Provenance-assisted classification in social networks[J]. IEEE Journal of Selected Topics in Signal Processing, 2014, 8(4): 624−637

    [170]

    Chong W H, Lim E P. Tweet geolocation: Leveraging location, user and peer signals[C] //Proc of the 2017 ACM on Conf on Information and Knowledge Management. New York: ACM, 2017: 1279−1288

    [171]

    Likhyani A, Padmanabhan D, Bedathur S, et al. Inferring and exploiting categories for next location prediction[C] //Proc of the 24th Int Conf on World Wide Web. New York: ACM, 2015: 65−66

    [172]

    Rahimi A, Cohn T, Baldwin T. Twitter user geolocation using a unified text and network prediction model[C] //Proc of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th Int Joint Conf on Natural Language Processing of the Asian Federation of Natural Language Processing. Stroudsburg, PA: ACL, 2015: 630−636

    [173]

    Rahimi A, Vu D, Cohn T, et al. Exploiting text and network context for geolocation of social media users[C] //Proc of the 2015 Conf of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg, PA: ACL, 2015: 1362−1367

    [174]

    Han B, Cook P, Baldwin T. Text-based Twitter user geolocation prediction[J]. Journal of Artificial Intelligence Research, 2014, 49: 451−500 doi: 10.1613/jair.4200

    [175]

    Liao Dongliang, Zhong Yuan, Li Jing. Location prediction through activity purpose: Integrating temporal and sequential models[C] //Proc of Pacific-Asia Conf on Knowledge Discovery and Data Mining. Berlin: Springer, 2017: 711−723

    [176]

    Han B, Cook P, Baldwin T. Geolocation prediction in social media data by finding location indicative words[C]//Proc of the Int Conf on Computational Linguistics 2012. New York: ACM, 2012: 1045−1062

    [177]

    Gao Huiji, Tang Jiliang, Liu Huan. Exploring social-historical ties on location-based social networks[C] //Proc of the 6th Int AAAI Conf on Weblogs and Social Media. Palo Alto, CA: AAAI, 2012: 114−121

    [178]

    Mazumdar P, Patra B K, Babu K S, et al. Hidden location prediction using check-in patterns in location-based social networks[J]. Knowledge and Information Systems, 2018, 57(3): 571−601 doi: 10.1007/s10115-018-1170-5

    [179]

    Hai N T, Nguyen H H, Thai-Nghe N. A mobility prediction model for location-based social networks[C] //Proc of the Asian Conf on Intelligent Information and Database Systems. Berlin: Springer, 2016: 106−115

    [180]

    Wong M H, Tseng V S, Tseng J C, et al. Long-term user location prediction using deep learning and periodic pattern mining[C] //Proc of the Int Conf on Advanced Data Mining and Applications. Berlin: Springer, 2017: 582−594

    [181]

    Wang Yingzi, Yuan N J, Lian Defu, et al. Regularity and conformity: Location prediction using heterogeneous mobility data[C] //Proc of the 21st ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2015: 1275−1284

    [182]

    Gao Huiji, Tang Jiliang, Hu Xia, et al. Modeling temporal effects of human mobile behavior on location-based social networks[C] //Proc of the 22nd ACM Int Conf on Information & Knowledge Management. New York: ACM, 2013: 1673−1678

    [183]

    Li Xutao, Cong Gao, Li Xiaoli, et al. Rank-geofm: A ranking based geographical factorization method for point of interest recommendation[C] //Proc of the 38th Int ACM SIGIR Conf on Research and Development in Information Retrieval. New York: ACM, 2015: 433−442

    [184]

    Pang Jun, Zhang Yang. Exploring communities for effective location prediction[C] //Proc of the 24th Int Conf on World Wide Web. New York: ACM, 2015: 87−88

    [185]

    Yang Dingqi, Qu Bingqing, Yang Jie, et al. Revisiting user mobility and social relationships in lbsns: A hypergraph embedding approach[C] //Proc of the World Wide Web Conf. New York: ACM, 2019: 2147−2157

    [186]

    Hristova D, Williams M J, Musolesi M, et al. Measuring urban social diversity using interconnected geo-social networks[C]//Proc of the 25th Int Conf on World Wide Web. New York: ACM, 2016: 21−30

    [187]

    Rahimi A, Cohn T, Baldwin T. Semi-supervised user geolocation via graph convolutional networks[C] //Proc of the 56th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2018: 2009−2019

  • 期刊类型引用(0)

    其他类型引用(2)

图(3)  /  表(2)
计量
  • 文章访问数:  313
  • HTML全文浏览量:  93
  • PDF下载量:  122
  • 被引次数: 2
出版历程
  • 收稿日期:  2022-05-20
  • 修回日期:  2023-04-02
  • 网络出版日期:  2023-11-09
  • 刊出日期:  2024-02-01

目录

/

返回文章
返回