SC21 论文简读[2] -- DL GPU 云计算

文章时间:2021年11月前
会议/期刊:SC 2021
笔记时间:2021年11月16日周二

3,
论文题目:Representation of women in HPC conferences
作者背景: Reed College
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476164

Session 云和边缘计算

论文题目:Understanding, predicting and scheduling serverless workloads under partial interference
作者背景: 天津大学
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476215

摘要:
在分布式云应用中,干扰分为三类,完全,部分,零。之前的工作主要聚焦于完全干扰,对部分干扰缺乏深入的研究。无服务器计算将应用程序组织成小型的、短期的函数,这进一步加剧了部分干扰。我们将无服务器环境下的部分干扰特征描述为表现出高波动性、时空变化和传播。鉴于这些观察结果,我们提出了一种增量学习预测器,名为Gsight,它可以通过端到端调用路径利用函数的时空重叠代码和配置文件来实现高精度。实验证明效果不错。

论文题目:The hidden cost of the edge: a performance comparison of edge and cloud latencies
作者背景: Chalmers University of Technology
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476142

边缘计算已经成为运行对延迟敏感的应用程序的流行范例,因为它能够为终端用户提供更低的网络延迟。在本文中,我们认为,与云数据中心相比,尽管边缘的网络延迟较低,但其资源受限的特性可能导致更高的端到端延迟,特别是在利用率较高的情况下。我们通过分析比较边缘和云延迟来研究边缘性能反演问题,并分析在什么情况下边缘的性能会比云差。为了验证我们的分析结果,我们使用一个真实的应用程序和真实的云工作负载对边缘和云延迟进行了详细的实验比较。我们的分析和实验结果都表明,即使在适度的利用率下,边缘排队延迟也会抵消较低的网络延迟带来的好处,甚至会导致性能倒置,在云中运行会提供更好的延迟。我们最后讨论了我们的结果的实际影响,并提供了见解,应用程序设计者和服务提供商应该如何设计边缘应用程序和系统的洞察,以避免这些陷阱。

论文题目:RIBBON: cost-effective and qos-aware deep learning model inference using a diverse pool of cloud computing instances
作者背景: 美国东北大学
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476168

深度学习模型推理是许多业务和科学发现过程中的关键服务。本文介绍了一种新的深度学习推理服务系统Ribbon,它满足两个竞争目标:服务质量目标和成本效益。Ribbon背后的关键思想是智能地使用一组不同的云计算实例(异构实例),以满足QoS目标并最大限度地节约成本。
Ribbon设计了一种贝叶斯优化驱动的策略,帮助用户在云计算平台上为他们的模型推理服务需求构建最优的异构实例集——而且,Ribbon展示了它比使用同构实例池的现有推理服务系统方法的优越性。对于不同的学习模型,包括新兴的深度学习推荐系统模型和药物发现支持模型,Ribbon可节省高达16%的推理服务成本。

Session 大规模深度神经网络训练

论文题目: E.T.: re-thinking self-attention for transformer models on GPUs
作者背景:Stevens Institute of Technology
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476138

摘要:首先,我们介绍了一种新的自注意结构,它包括两个定制的自注意操作和相应的序列长度感知优化,以及操作重新排序优化;其次,我们提出了一个注意感知剪枝设计,明智地使用各种剪枝算法来减少更多的计算量,从而大大缩短了周转时间;在剪枝算法方面,我们不仅对现有的剪枝算法进行了改进,而且针对ransformer模型进行了裁剪。总之,我们通过Transformer、BERTBASE和DistilBERT的各种基准来评估E.T.,其中E.T.的性能优于主流项目,包括流行的Nvidia企业解决方案,例如TensorRT和fasttransformer。

论文题目:Parallel construction of module networks
作者背景:Georgia Institute of Technology
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476207

摘要:模块网络(MoNets)是贝叶斯网络的一种参数共享专门化,用于对变量组之间协同交互的多维实体进行推理。MoNets的构建是计算密集型的,顺序的方法需要花费数月的时间来学习有几千个变量的网络。在本文中,我们提出了第一个可扩展的分布式内存并行解决方案,通过并行化Lemon-Tree(一种广泛使用的顺序软件)来构建MoNets。我们在MoNets的一个关键应用上展示了我们的并行方法的可扩展性——基因组规模的基因调控网络的构建。使用4096核心,我们的并行实现在24分钟和4.2小时内构建了两个模型生物的5716和18373个基因的调控网络,而使用Lemon-Tree分别估计生成完全相同的网络需要49天和1561天。我们的方法有着广泛的应用。

论文题目:Chimera: efficiently training large-scale neural networks with bidirectional pipelines
作者背景:ETH Zurich, Switzerland,[Torsten Hoefler]
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476145

摘要:大规模训练大型深度学习模型非常具有挑战性。本文提出了一种新的管道并行方案Chimera,该方案结合了双向管道,可以有效地训练大规模模型。Chimera是一种同步方法,因此不会损失准确性,它比异步方法更易于收敛。与最新的同步管道方法相比,Chimera最多减少了50%的气泡数量;得益于双向管道的复杂调度,Chimera拥有更平衡的激活内存消耗。在基于Transformer的语言模型上进行评估。对于在Piz Daint超级计算机的2048个GPU节点上运行的带有13亿个参数的GPT-2模型,Chimera比最先进的同步和异步管道方法提高了1.16x-2.34x的训练吞吐量。

Session 高效的DL工具

1,
论文题目:KAISA: an adaptive second-order optimizer framework for deep neural networks
作者背景: 芝加哥大学,UTA等,美国大学
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476152

Abstract
在DNN训练中,人们发现K-FAC方法的收敛速度快过SGD,然而,K-FAC方法需要更大的内存,阻碍了它应用到大模型上。我们提出一个新的框架,基于K-FAC,提升性能和增加扩展性。我们在128块A100上做了实验,比较内存和通信开销的tradeoffs,在大模型,如ResNet50,Mask R-CNN,U-Net,BERT等。相比较于最初的模型,KAISA的收敛速度快了18%-36%,等等提升。

其他
K-FAC方法是什么,为什么比SGD快,本文的优化方法是什么

2,
论文题目:Tensor processing primitives: a programming abstraction for efficiency and portability in deep learning workloads
作者背景: Intel
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476206

Abstract
过去的十年里,新颖的DL、算法,workloads和硬件层出不穷,然而DL系统的编程方法论是相对停滞不前的。DL的workload要么使用高度优化的,DL库中平台定制的不可修改的kernels,要么就是新的operators,使用dl框架的源语来实现,然而性能不佳。
本文介绍了tensor processing primitives,一个编程抽象,目标是高效,便携的实现DL workload,且有着高生产效率。TPPs定义了一个紧凑的,但通用的二维张量算子集(或虚张量ISA),它随后可以作为构建块在高维张量上构造复杂的算子。TPP规范是平台无关的,因此通过TPPs表达的代码是可移植的,而TPP实现是高度优化的和平台特定的。我们使用独立的内核和完全通过tpp表达的端到端DL工作负载来证明我们的方法的有效性,这些tpp在多个平台上的性能优于sota。

3,

论文题目:Enable simultaneous DNN services based on deterministic operator overlap and precise latency prediction
作者背景: 上海交通大学
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476143

Abstract
虽然面向用户的服务经历了每天的负载模式,但共存的服务提高了硬件利用率。在gpu上的协同定位服务之前的工作是顺序运行查询的,因为查询的延迟既不稳定,也无法预测同时运行时的延迟。输入敏感性和非确定性算子重叠是造成延迟不可预见性的两个主要因素。因此,我们提出Abacus,一个同时运行多个服务的运行时系统。Abacus允许确定性操作符重叠,以增强延迟的可预测性。Abacus由一个重叠感知的延迟预测器、一个基于头部空间的查询控制器和分段模型执行器组成。预测器预测确定性算子重叠的延迟。控制器确定适当的操作符重叠,以保证所有服务的QoS。执行程序根据需要运行操作符,以支持确定性操作符重叠。我们的评估表明,与最先进的解决方案相比,Abacus减少了51.3%的QoS冲突,平均提高了29.8%的吞吐量。

Session 分布式训练和图

论文题目:Distributed multigrid neural solvers on megavoxel domains
作者背景:Iowa State University
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476218

摘要:我们考虑了作为PDE(偏微分方程)求解器的大规模神经网络的分布式训练,产生全域输出。我们特别考虑了megavoxel域上的广义三维泊松方程的神经求解器。提出了一个可扩展的框架,集成了两个不同的进展。
首先,我们通过一种类似于在数值线性代数中使用的多重网格技术的方法来加速大模型的训练。在这里,网络是使用一个不断增加分辨率的序列输入层次来训练的,类似于多网格方法中使用的‘V’、‘W’、‘F’和‘Half-V’周期。结合多网格方法,我们实现了一个分布式深度学习框架,大大减少了求解时间。
我们展示了这种方法在GPU (Azure云上虚拟机)和CPU集群(PSC bridgees2)上的可扩展性。该方法用于训练一个广义三维泊松解算器,它可以很好地预测输出512 X 512 X 512分辨率的高维输入族的全域解。该策略为神经PDE求解器在异构簇上的快速和可扩展训练提供了可能性

论文题目:EIGA: elastic and scalable dynamic graph analysis
作者背景:Georgia Institute of Technology
论文地址:https://dl.acm.org/doi/10.1145/3458817.3480857

摘要:现代图表不仅大,而且变化迅速。变化的速率会随着计算成本的变化而发生显著变化。现有的分布式图分析系统在很大程度上都是设计来操作静态图的。这些系统中的基础架构更改需要在系统空闲时发生,这可能导致严重的资源浪费或无法处理更改。
我们提出了一个弹性和可扩展的动态图分析系统ElGA。使用无共享架构和一致的哈希,ElGA可以随着图的增长或需要更多的计算而弹性伸缩。通过应用草图,我们对图进行边划分,其中高度顶点可以在多个节点中分割。ElGA支持同步和异步以点为中心的应用程序,这些应用程序在不断变化的图上批量操作。
我们通过实验证明,ElGA在支持客户端查询、弹性基础设施更改和动态算法的同时,其性能优于最先进的静态系统

论文题目:Krill: a compiler and runtime system for concurrent graph processing
作者背景:中山大学
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476159

摘要:随着大量新兴的图应用在不同领域的传播,大量并发图作业(CGJs)的处理需求日益增加。但是,现有的图形处理系统无法有效地处理多个cgj,存在内存访问模式干扰和物业管理效率低下的问题。本文介绍了一种用于并行图形作业处理的编译和运行时系统Krill。提出了一种将图结构、算法和属性解耦的SAP模型。在编译器中,我们建议利用属性缓冲区来轻松地编写和管理属性数据。在运行时系统中,为了减少内存访问,我们提出了一种新的图核融合技术,它融合了所有的作业,并将它们作为一个整体进行处理。
实验结果表明,我们的系统对CGJs的内存访问次数比基线减少了6倍以上,与目前最先进的并发图形处理系统GraphM相比,达到了6.76倍的加速,3.84倍的响应延迟。

Session GPU和流处理

1,
论文题目:MAPA: multi-accelerator pattern allocation policy for multi-tenant GPU servers
作者背景:UCR
论文地址:https://dl.acm.org/doi/10.1145/3458817.3480853

摘要:为了满足大规模计算密集型工作负载的需求,越来越多的多加速器服务器部署在共享的多租户环境中(例如云数据中心)。此外,这些加速器在复杂的拓扑结构中越来越相互连接,工作负载显示出更广泛的加速器间通信模式。然而,现有的分配策略并不适合这些新出现的用例。具体来说,这项工作确定了多加速器工作负载通常是分段的,这导致了加速器间通信的带宽减少和延迟增加。

我们提出了多加速器模式分配(Multi-Accelerator Pattern Allocation, MAPA),一种图模式挖掘方法,为多加速器服务器上的多加速器工作负载分配提供通用分配支持。我们演示了MAPA能够提高多加速器工作负载的执行时间,并且MAPA能够跨各种加速器拓扑提供通用的好处。最后,我们演示了使用MAPA对75个百分点的作业进行12.4%的加速,在最坏情况下执行时间比基线策略减少了35%。

2,
论文题目:Online evolutionary batch size orchestration for scheduling deep learning workloads in GPU clusters
作者背景:新加坡国立
论文地址:https://dl.acm.org/doi/10.1145/3458817.3480859

摘要:高效的GPU资源调度对于GPU共享集群中不断增加的深度学习工作量,实现资源利用率最大化和节省培训成本至关重要。现有的GPU调度程序在很大程度上依赖于静态策略来利用深度学习任务的性能特征。但由于缺乏弹性,很难达到最优效率。为了解决这一问题,我们提出了一种在线演化调度程序ONES。ONES根据训练批大小自动管理每个作业的弹性,从而最大化GPU利用率,提高调度效率。它通过在线进化搜索来确定每个作业的批大小,可以不断优化调度决策。我们评估了在TACC Longhorn超级计算机上使用64个gpu的ONES的有效性。结果表明,ONES在平均作业完成时间上显著缩短,优于现有的深度学习调度算法。

3,
论文题目:Whale: efficient one-to-many data partitioning in RDMA-assisted distributed stream processing systems
作者背景:华中科技大学
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476192

摘要:为了处理大规模的实时数据流,现有的分布式流处理系统(DSPSs)利用不同的流分区策略。一对多数据分区策略在各种应用中发挥着重要作用。通过一对多数据分区,上游处理实例将生成的元组发送给可能大量的下游处理实例。现有的DSPSs利用面向实例的通信机制,其中上游实例分别向不同的下游实例传输元组。然而,在一对多数据分区中,多个下游实例通常运行在同一台机器上,以利用多核资源。因此,DSPS实际上会将数据项多次发送到机器,从而增加了大量不必要的串行化和通信成本。我们发现,由于CPU过载,这种机制会导致严重的性能瓶颈。

为了解决这一问题,我们设计并实现了一种高效的RDMA(远程直接内存访问)辅助分布式流处理系统Whale。有两个因素有助于这种设计的效率。首先,我们提出了一种新的rdma辅助的流组播方案,该方案具有自调整的无阻塞树结构,以减轻上游实例在一对多数据分区时的CPU负载。其次,我们重新设计了DSPSs中的通信机制,将面向实例的通信机制替换为面向工作者的通信机制,节省了大量的冗余串行化和通信成本。我们在Apache Storm上实现了Whale,并通过大规模的真实数据集进行了全面的实验来评估它的性能。结果表明,与现有设计相比,Whale系统吞吐量提高了56.6倍,处理延迟降低了97%。

Session 工具和建模

1,
论文题目:Pilgrim: scalable and (near) lossless MPI tracing
作者背景:UIUC,ANL,Facebook
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476151

摘要:许多性能分析和可视化工具都使用MPI通信的跟踪。由于大规模MPI应用程序的容量很大,因此不可能存储详尽的跟踪。聚合或有损MPI跟踪更小,但提供的信息更少。在本文中,我们提出了Pilgrim,一种近乎无损的MPI跟踪工具,它通过使用复杂的压缩技术,产生适度的开销和大规模的小跟踪文件。此外,对于具有常规通信模式的代码,Pilgrim可以将它们的踪迹存储在不变的空间中,而不管问题的大小、处理器的数量和迭代的次数。与现有工具相比,Pilgrim在我们测试的所有程序中保留了更多的信息,空间更小。

论文题目:Hybrid, scalable, trace-driven performance modeling of GPGPUs
作者背景:New Mexico State University
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476221

摘要:在本文中,我们提出了一个可扩展的gpu性能预测工具包PPT-GPU。PPT-GPU通过混合高级建模方法实现可扩展性,其中一些计算是外推的,模型的多个部分是并行的。工具的主要预测模型使用预先收集的内存和工作负载的指令跟踪来准确捕获内核的动态行为。
PPT-GPU准确地报告了大量GPU性能指标,同时易于扩展。我们使用一套广泛的基准来验证预测的准确性。我们将结果与使用供应商分析工具和周期精确模拟器收集的硬件指标进行比较。
结果表明,性能预测与实际硬件高度相关(MAPE: < 16%, Correlation: > 0.98)。而且,PPT-GPU比循环精确模拟器快几个数量级。收集的度量的这种全面性可以指导架构师和开发人员执行设计空间探索。此外,该工具的可伸缩性允许对性能关键的应用程序进行高效和快速的敏感性分析。

3
论文题目:G-SEPM: building an accurate and efficient soft error prediction model for GPGPUs
作者背景:吉林大学
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476170

摘要:随着gpu在大规模通用HPC系统(gpgpu)中变得无处不在,在出现软错误时确保此类系统的可靠执行变得越来越重要。为了深入了解GPU程序对软错误的容忍度,研究人员通常依靠随机故障注入(FI)来评估程序的容忍度。然而,获取统计上显著的弹性配置文件是昂贵的,而且不适合识别GPU程序的所有错误临界故障点。
为了解决上述问题,我们建立了一种基于gpgpu的软错误预测模型(G-SEPM),该模型可以代替FI准确有效地估计单个故障点的弹性特征。我们观察到,指令类型、位位置、位反转方向和错误传播信息能够表征故障现场的弹性。
利用这些启发式功能,G-SEPM驱动机器学习模型,揭示故障站点弹性之间的隐藏交互和我们观察到的特征。实验结果表明,G-SEPM在引入可忽略的开销时实现了对故障站点误差估计和关键故障站点识别的高精度。此外,G-SEPM可以为程序员/架构师提供必要的洞察,以设计更具成本效益的软错误缓解解决方案。

Session 大规模神经网络训练 part 2

论文题目:Efficient large-scale language model training on GPU clusters using megatron-LM
作者背景:Deepak Narayanan,NVIDIA,微软
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476209

摘要:大型语言模型已经在多个任务中实现了最先进的准确性。然而,有效地训练这些模型是具有挑战性的,因为:a) GPU内存容量有限,即使在多GPU服务器上也不可能适合大型模型,b)所需的计算操作数量可能导致不切实际的长训练时间。因此,提出了新的模型并行度计算方法,如张量并行度和管道并行度。不幸的是,这些方法的天真使用导致数千个GPU的问题。在本文中,我们展示了如何构成张力,管道和数据并行性如何扩展到数千个GPU。我们提出了一种新的交错流水线调度,可以通过与现有方法相当的内存足迹来提高10 +%的吞吐量。我们的方法允许我们在3072GPUs(理论峰的52%的PER-GPU吞吐量)上以502 PETAFLOP / S的模型对具有1万亿参数的模型进行训练迭代。

2,
论文题目:ZeRO-infinity: breaking the GPU memory wall for extreme scale deep learning
作者背景:微软
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476205

摘要:ZeRO-Infinity可以拟合具有数十万亿甚至数百万亿参数的模型,用于在当前一代GPU集群上进行训练。它可以用于在单个NVIDIA DGX-2节点上微调万亿参数模型,使大型模型更容易访问。在训练吞吐量和可伸缩性方面,它在512 NVIDIA V100 gpu上维持超过25千万亿次每秒(峰值的40%),同时还展示了超线性可伸缩性。ZeRO-Infinity的开源实现可以通过DeepSpeed 1获得。

3,
论文题目:FedAT: a high-performance and communication-efficient federated learning system with asynchronous tiers
作者背景:George Mason University
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476211

摘要:联邦学习(FL)涉及在大规模分布式设备上训练模型,同时保持训练数据本地化和私有。这种形式的协作学习暴露了模型收敛速度、模型准确性、跨客户的平衡和通信成本之间的新的权衡,其中包括新的挑战,(1)离散问题——客户端由于数据或(计算和网络)资源的异质性而延迟;(2)通信瓶颈——大量客户端将他们的本地更新通信到中央服务器,从而使服务器陷入瓶颈。许多现有的FL方法只关注在权衡空间的一个维度上进行优化。现有的解决方案使用异步模型更新或基于分层的同步机制来处理离散问题。

但是,异步方法可以轻松创建通信瓶颈,而分层可能会引入偏差,这些偏差有利于更短的响应延迟。为了解决这些问题,我们呈现Fedat,这是一个新的联合学习系统,其中非I.I.D下的异步层训练数据。FedAT协同地结合了同步的、层内的培训和异步的、跨层的培训。FedAT通过分层连接同步和异步训练,最大限度地减小了杂散效应,提高了收敛速度和测试精度。

FedAT使用一种能感知散点的加权聚合启发式来引导和平衡客户端的培训,以进一步提高准确性。FedAT压缩上行和下行通信使用一种高效的、基于折线编码的压缩算法,使通信成本最小化。结果表明,与最先进的FL算法相比,FedAT算法的预测性能提高了21.09%,通信成本降低了8.5倍

Session 稀疏神经网络

1,
论文题目:DistGNN: scalable distributed training for large-scale graph neural networks
作者背景: Intel
论文地址:https://dl.acm.org/doi/10.1145/3458817.3480856

摘要
利用图神经网络进行全批训练以学习大型图的结构是一个关键问题,需要扩展到数百个计算节点才能实现。由于单个计算节点的内存容量和带宽要求很大,而且跨多个节点的通信量很大,因此具有挑战性。在本文中,我们提出了DistGNN,该算法优化了众所周知的深度图库(Deep Graph Library, DGL),通过高效的共享内存实现,使用最小顶点切割图划分算法来减少通信,使用一系列延迟更新算法来避免通信。我们在四个常见的GNN基准数据集:Reddit、OGB-Products、OGB-Papers和Proteins上的结果显示,使用单个CPU插槽时的提速达到3.7倍,使用128个CPU插槽时的提速达到97倍。

2,
论文题目:Efficient scaling of dynamic graph neural networks
作者背景: IBM 印度
论文地址:https://dl.acm.org/doi/10.1145/3458817.3480858

摘要
我们提出了一种分布式算法,用于在跨多节点、多gpu系统的大规模图上训练动态图神经网络。据我们所知,这是第一次对动态GNN进行标度研究。我们设计了减少GPU内存使用的机制,并确定了两个执行时间瓶颈:CPU-GPU数据传输;体积和沟通。利用动态图的特性,我们设计了一种基于图差的策略来显著减少传输时间。我们开发了一种简单但有效的数据分发技术,在这种技术下,对于任意数量的gpu,通信容量在输入大小上保持固定和线性。我们在128个gpu系统上使用十亿图进行的实验表明:(i)该分布方案在128个gpu上达到了30倍的加速;(ii)图差技术将传输时间减少了4.1倍,总执行时间减少了40%。

3,
论文题目:Efficient tensor core-based GPU kernels for structured sparsity under reduced precision
作者背景: University of California
论文地址:https://dl.acm.org/doi/10.1145/3458817.3476182

摘要
DNN的成功是以过度的内存/计算成本为代价的,这可以通过联合利用降低的精度和稀疏性来解决。然而,现有的稀疏GPU内核在半精度下无法实现cuBLASHgemm的实际加速。细粒度稀疏性的数据重用率较低,而粗粒度稀疏性的数据重用率则受到不同粒度下内核性能和模型质量之间的权衡的限制。

在相同的复用率下,我们提出了列向量稀疏编码,与块稀疏编码相比,它具有更小的粒度。列向量稀疏编码可以同时应用于SpMM和SDDMM这两种主要的稀疏DNN操作。我们还介绍了基于张量核的一维八元组贴片,在小粒径下具有高效的内存访问和计算模式。在此基础上,设计了SpMM和SDDMM内核,实现了比cuSPARSE提高1.71-7.19倍的速度。实际的加速是实现超过cuBLASHgemm在>70%和>90%稀疏与4x1颗粒大小和半精度。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容