Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >DFS环境中的并行Regex匹配

DFS环境中的并行Regex匹配
EN

Stack Overflow用户
提问于 2010-11-22 17:11:49
回答 1查看 333关注 0票数 0

我正在尝试将grep并行化为一个大学项目。我的假设是,在实际的正则表达式匹配中抛出更多的线程将效率低下:它们处理数据的速度比从磁盘读取数据的速度要快。但是,我正在开发一个MPI集群,它使用Lustre DFS系统,允许我跨多个存储池对数据进行条带化。

我希望以某种方式利用这一点,利用多个磁盘,减少硬盘I/O造成的瓶颈。经过一些初步测试,我无法找到一种将DFS最大化的解决方案。

我试过:

  1. :一个大的、单一的文件,跨多个OST文件。每个线程读取与条带大小相同的数据块(例如条带大小/ ==线程读取大小)。我的意图是,每个线程从不同的OST读取数据(除了重叠/边框cases).
  2. Multiple,较小的文件外,每个线程都被条带化到自己的OST中)。每个线程读取一个完整的文件,但是每个文件位于不同的OST.

上。

如果没有加速的话,每个病例都能提供很少的信息。我希望得到一个合理的加速(最多2倍的整体应该是好的)。

我应该担心I/O瓶颈吗?

在编写C代码时,如何利用DFS?我试着读取与条纹大小匹配的偏移量以及位于不同OST和(我假设)不同磁盘上的文件中的数据。

有办法实现可伸缩的并行grep/regex匹配器吗?

EN

回答 1

Stack Overflow用户

发布于 2010-11-23 02:04:20

这与其说是回答,不如说是延伸的评论.

您是试图编写并行grep,还是试图编写运行在不同数据并行上的grep?我可以读到你的问题,表明你正在考虑其中一个或两者。如果我是对的(请注意,当我试图解释问题时,我通常是错的)我建议你把这两个问题分开,先处理其中一个,然后再加上另一个。

如果您的场景是在许多小文件上运行grep,那么这将非常容易并行化,您只需要某种类型的调度程序将工作打包成大致相等的块。

如果您的场景是在一个(或几个)大文件上使用grep,那么我可以看到以块形式读取文件的好处,每个进程一个块(或)。我看到的问题是,一些匹配的分辨率将跨块。我觉得这是个有趣的问题,但你是一个能接触最新文献的大学生,所以你会比我了解得更多。

如果您的场景是编写并行grep,即在执行时使用多个处理器核的程序,那么这可能是一个更有趣(即困难)的问题。因为grep是通过构造FA来工作的,而且由于FAs通常被建模为图,而且由于图可以(如果满足某些标准)被分解为子图,这可能是可行的--您只需并行化FA的构造,为子图生成线程,并收集结果。我想负载平衡会很困难。

我对并行文件系统没有深入的了解,但我认为我的建议是正确的,即只有当集群中的不同节点读取DFS上的文件的不同部分时,才能获得好处。如果您使用的是线程,这意味着您的线程必须位于集群中不同的节点上?

对你的问题给出一些糟糕的答案。

  • ,我该担心I/O瓶颈吗?-当然。您将在足够精细的级别上度量grep的性能,以确定在其各个阶段(包括构造FA、读取输入文件等)花费了多少时间。grep是一个非常成熟的产品,它已经花费了大量的优化努力,所以你已经为自己设定了一个艰难的目标。您还将测量集群文件系统的特性和线程间通信时间,诸如此类。
  • 在编写C代码时如何利用DFS?-无法帮助您,但我认为文件系统API提供了必要的功能;你似乎试图直接解决磁盘硬件问题。
  • 有办法实现一个可伸缩的并行grep/regex匹配器吗?
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4251823

复制
相关文章
mysql -- 清空表中数据
注 : truncate操作中的table可以省略,delete操作中的*可以省略
互联网-小阿宇
2022/11/21
5.1K0
mysql — 清空表中数据
注 : truncate操作中的table可以省略,delete操作中的*可以省略
全栈程序员站长
2022/06/29
6.4K0
清空表与删除表mysql
为某基于wordpress搭建的博客长久未除草,某天升级的时候发现已经被插入了几万条垃圾留言,如果一条条删除那可真是累人的活。遂考虑直接进入mysql直接清空表或者删除表中数据。
hankleo
2020/09/16
8.2K0
MYSQL 清空表和截断表
清空表只是清空表中的逻辑数据,但是物理数据不清除,如主键值、索引等不被清除,还是原来的值。
OwenZhang
2021/12/08
5.3K0
Mysql清空表中数据「建议收藏」
第一种方法 是删除表中数据且主键ID是继续顺序排下去 第二种方法 是彻底清空表中数据 把数据结构恢复至刚建表的时候 数据全部清空
全栈程序员站长
2022/09/05
3.4K0
Sqlite清空表数据
命令如下 delete from TableName;//清空数据 update sqlite_sequence SET seq = 0 where name ='TableName';//自增长ID为0
孤鸿
2022/09/23
3.3K0
MySQL清空表数据
说明:删除内容、释放空间但不删除定义,也就是数据表的结构还在。与drop不同的是,它只是清空表数据而已,它比较温柔。
全栈程序员站长
2022/07/01
6.4K0
mysql清空表数据_mysql数据库之如何清空表中数据「建议收藏」
本篇文章主要讲述的是在数据库中使用清空命令,具有一定学习价值,有需要的朋友可以了解一下,希望能够对你有所帮助。
全栈程序员站长
2022/06/29
9.7K0
mysql清空表数据_mysql数据库之如何清空表中数据「建议收藏」
清空mysql 表数据
删除表数据,相当于一条条删除,需要注意的是,如果有字段是自增的(一般为id),这样删除后,id 值还是存在的。
全栈程序员站长
2022/08/26
5.5K0
php清空mysql数据表,mysql怎么清空数据表数据[通俗易懂]
在mysql中,可以利用“DELETE”和“TRUNCATE”关键字来清空数据表中的数据,具体语法为“DELETE FROM 数据表;”和“TRUNCATE TABLE 数据表;”。
全栈程序员站长
2022/08/25
12.4K0
php清空mysql数据表,mysql怎么清空数据表数据[通俗易懂]
sql清空表数据命令
有三种清空方式: 1.delete from 表名 :逐行删除表数据速度比较慢,不适合删除数据量大的表。 2.truncate table 表名 :删除表中所有数据并且保留表结构,但是不能撤消还原。 3.drop from 表名 :表数据和表结构一起删除,在实践过程中删除大数据量表数据。使用 1,2这两种方法需要等待好久才能清空完成。 有一个较快的方法是先导出表结构,对原先表进行删除,然后再重建。
全栈程序员站长
2022/07/01
2.9K0
MySQL快速清空表数据
相较而言知,完全删除一个表所有记录,道truncate 比 delete速度快的多。
全栈程序员站长
2022/08/24
4.2K0
Leetcode No.217 存在重复元素(hash表)
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
week
2022/01/07
1860
mysql清空数据库所有表的命令_mysql清空表数据命令是什么?_数据库,mysql,清空表数据…[通俗易懂]
2、在mysql安装目录下,新建my.ini文件,设置默认字符集、端口、存储引擎等;
全栈程序员站长
2022/06/28
19.8K0
mysql清空数据库所有表的命令_mysql清空表数据命令是什么?_数据库,mysql,清空表数据…[通俗易懂]
SQL 清空表数据的方法
一般建議盡可能使用delete去刪除表的字段,它具有選擇 性刪除的作用,所以常常delete from tablename where 條件 delete和truncate作用其實是一樣的,隻是truncate后面不跟where條件句,它的作用是刪除表中所有的行(記錄) 兩者最大的區別就是delete是寫日誌文件的,而truncate則不寫日誌直接刪除,前者可恢復,而后者無法恢復,后者的危險性更高,所以一般不建議 使用truncate,常用delete
全栈程序员站长
2022/09/06
1.3K0
SQL:删除表中重复的记录
--创建测试表 if object_id('test') is not null drop table test create table test ( id int identity(1,1) primary key, name varchar(50) ) --插入几条测试数据 insert into test select 'a' union all select 'a' union all select 'a' union all select 'a' union all select 'a
用户8983410
2021/11/02
4.8K0
sql删除或清空表数据[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132352.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/12
10K0
删除MySQL表中的重复数据?
一般我们将数据存储在MySQL数据库中,它允许我们存储重复的数据。但是往往重复的数据是作废的、没有用的数据,那么通常我们会使用数据库的唯一索引 unique 键作为限制。问题来了啊,我还没有创建唯一索引捏,数据就重复了(我就是忘了,怎么滴)。
青衫染红尘
2023/02/28
7.3K0
删除表中重复数据「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/105915.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/09
9760
Mysql truncate 清空表数据「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138902.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/02
2.3K0

相似问题

用改变的像素值openCV显示图像

13

数着不。使用OpenCV显示图像中的黑白像素

20

如何将像素值转换为opencv中的显示图像

12

Python:图像显示中的像素值?

10

如何使用抖动显示只有黑白像素的灰色图像?

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文