首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

局部敏感哈希(Locality-Sensitive Hashing, LSH)

本文主要介绍一种用于海量高维数据的近似最近邻快速查找技术——局部敏感哈希(Locality-Sensitive Hashing, LSH),内容包括了LSH的原理、LSH哈希函数集、以及LSH的一些参考资料...而通过一个或多个(d1,d2,p1,p2)-sensitive的hash function对原始数据集合进行hashing生成一个或多个hash table的过程称为Locality-sensitive...(x,y) ≥ d2, 则h(x) = h(y)的概率至多为p2; d(x,y)是x和y之间的一个距离度量(distance measure),需要说明的是,并不是所有的距离度量都能够找到满足locality-sensitive...下面我们介绍一些满足不同距离度量方式下的locality-sensitive的hash functions: 1....Hashing for Finding Nearest Neighbors [2] Approximate Proximity Problems in High Dimensions via Locality-Sensitive

1.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

Spark 延迟调度策略

或spark.locality.wait.node或spark.locality.wait.rack配置),则 currentLocalityIndex 不变,返回myLocalityLevels(currentLocalityIndex...这里是延迟调度的关键,只要当前时间与上一次以某个 locality level 启动 task 的时间只差小于配置的值,不管上次是否成功启动了 task,这一次仍然以上次的 locality level...level 的 tasks 列表,将已经成功执行的或正在执行的该 locality level 的 task 从对应的列表中移除 判断对应的 locality level 的 task 是否还要等待执行的...从另一个角度看,对于每个 task,总是尝试以最高的 locality level 去启动,若启动失败且下次以该 locality 启动时间与上次以该 locality level 启动时间超过配置的值...,则将 locality level 降低一级来尝试启动 task ----

94830

如何提升 HBase 大规模集群下的低延时性能

请继续阅读,以了解更多关于这些问题:什么是 Locality ,为什么如此重要,以及我们如何在不断增长的 HBase 集群中使保持 Locality 成为一个不成问题的问题。...左轴(浅紫色)是第 99 个百分点的延迟,而右轴(蓝色虚线)是 Locality。在这次事件中 ,Locality 约为 10%,延迟在 2~8 秒之间。...当 Locality 下降时,你有两种选择: 利用 Balancer 将区域移回它们有良好 Locality 的地方。这很少是一个好的选择。...就 Locality 而言,还有一个隐藏的成本——很有可能只有某个区域的部分 StoreFile,有非常糟糕的 Locality。...我们喜欢把 Locality 保持在 90% 以上,但注意到当 Locality 低于 80% 时,真正的问题就开始显现出来。

34510

数据本地化及延迟调度

前言 Spark数据本地化即移动计算而不是移动数据,而现实又是残酷的,不是想要在数据块的地方计算就有足够的资源提供,为了让task能尽可能的以最优本地化级别(Locality Levels)来启动,Spark...的延迟调度应运而生,资源不够可在该Locality Levels对应的限制时间内重试,超过限制时间后还无法启动则降低Locality Levels再尝试启动…… 本地化级别(Locality Levels...阶段,data locality更不可能了。...优化建议 可用过Spark UI来查看某个job的task的locality level,根据实际情况调整数据本地化的等待时长: spark.locality.wait 全局的,适用于每个locality...level,默认为3s spark.locality.wait.process spark.locality.wait.node spark.locality.wait.rack

1.1K20

Spark性能调优03-数据本地化调优

数据本地化级别的方法 增加等待时间,默认3s,可以成倍数提高,按照6s,12s,24s…这样的方式来修改,这样可以快速找到最佳值,配置参数: # 可以调整全部级别的task执行等待时间,也可以分别调整 spark.locality.wait...default(3s) spark.locality.wait.process default(3s) spark.locality.wait.node default(3s)...spark.locality.wait.rack default(3s) 在默认情况下,最初的数据本地化级别为PROCESS_LOCAL,如果等待了3s,重试5次后还没有开始执行task,那么会降低级别...,再尝试开始执行task,比如,我们就想让task的数据本地化级别为PROCESS_LOCAL,那么把spark.locality.wait.process修改为一个很大的值,那么这个task会一直等待

93240

Task的调度与执行源码剖析

,从高到低依次遍历每个等级的locality; //< 取出了taskSet及本次要处理的locality后,根据该taskSet及locality遍历所有可用的worker,找出可以在各个worker...根据locality从高到低,对于每个locality,遍历所有worker,结合延迟调度机制,判断TaskSetManager的哪些tasks可以在哪些workers上启动。...优先级从高到低(taskSet.myLocalityLevels返回该taskSet包含的所有task包含的locality,按locality从高到低排列,PROCESS_LOCAL最高)取出locality...若taskSet带有locality属性,则通过getAllowedLocalityLevel函数获得该taskSet能容忍的最低界别locality。...继续返回TaskSetManager.resourceOffer中,获得taskSet能容忍的最差locality后,与maxLocality比较去较差的locality作为最终的 能容忍的最差locality

1K20

Longhorn,企业级云原生容器分布式存储 - 高可用

我们将拥有本地副本的特性称为具有 data locality。 例如,当集群的网络不好时,数据局部性(data locality)会很有用,因为拥有本地副本会增加卷的可用性。...数据局部性(data locality)对于分布式应用程序(例如数据库)也很有用,其中在应用程序级别而不是卷级别实现高可用性。...如何为卷设置数据局部性 可以通过三种方式为 Longhorn 卷设置 data locality: 更改默认全局设置 您可以在 Longhorn UI 设置中更改 data locality 的全局默认设置...当创建卷时未指定(data locality),Longhorn 将使用全局默认设置来确定卷的 data locality。...您还可以在 volume detail 页面中更改卷创建后的 data locality setting。

1.8K30

SSTable详解

目录前记SSTable的定义SSTable作为存储使用SSTable在Compaction过程中的使用SSTable的locality和In MemorySSTable压缩SSTable的读缓存Bloom...SSTable的locality和In Memory在Bigtable中,它的本地性是由Locality group来定义的,即多个column family可以组合到一个locality group中...,在同一个Tablet中,使用单独的SSTable存储这些在同一个locality group的column family。...HBase把这个模型简化了,即每个column family在每个HRegion都使用单独的HFile存储,HFile没有locality group的概念,或者一个column family就是一个locality...在Bigtable中,还可以支持在locality group级别设置是否将所有这个locality group的数据加载到内存中,在HBase中通过column family定义时设置。

2.9K10

局部性原理

时间局部性(Temporal locality):   如果某个信息这次被访问,那它有可能在不久的未来被多次访问。时间局部性是空间局部性访问地址一样时的一种特殊情况。...空间局部性(Spatial locality):   如果某个位置的信息被访问,那和它相邻的信息也很有可能被访问到。 这个也很好理解,我们大部分情况下代码都是顺序执行,数据也是顺序访问的。...内存局部性(Memory locality): 访问内存时,大概率会访问连续的块,而不是单一的内存地址,其实就是空间局部性在内存上的体现。...分支局部性(Branch locality)   这个又被称为顺序局部性,计算机中大部分指令是顺序执行,顺序执行和非顺序执行的比例大致是5:1,即便有if这种选择分支,其实大多数情况下某个分支都是被大概率选中的...等距局部性(Equidistant locality)   等距局部性是指如果某个位置被访问,那和它相邻等距离的连续地址极有可能会被访问到,它位于空间局部性和分支局部性之间。

31220
领券