From c9a48840f856f0671c8c94d775903be4110f359c Mon Sep 17 00:00:00 2001 From: Reshi Adavan Date: Sat, 19 Apr 2025 22:36:35 -0400 Subject: [PATCH] SC-07: Chunk-based parallelization --- mfind/aho/ahoCorasick.h | 6 +++++ mfind/helpers/chunkScanner.h | 45 +++++++++++++++++++++++++++++++++++ mfind/helpers/searchHelper.h | 38 +++++++++++++---------------- mfind/mfind | Bin 560840 -> 672424 bytes mfind/mfind.cpp | 10 ++++---- 5 files changed, 73 insertions(+), 26 deletions(-) create mode 100644 mfind/helpers/chunkScanner.h diff --git a/mfind/aho/ahoCorasick.h b/mfind/aho/ahoCorasick.h index 131ff7e..18a1e3f 100644 --- a/mfind/aho/ahoCorasick.h +++ b/mfind/aho/ahoCorasick.h @@ -17,6 +17,7 @@ class AhoCorasick { Node* root; std::vector insertedKeywords; + size_t maxPatternLength = 0; public: AhoCorasick() { @@ -43,12 +44,17 @@ class AhoCorasick { } node->output.push_back(keyword); insertedKeywords.push_back(keyword); + maxPatternLength = std::max(maxPatternLength, keyword.size()); } const std::vector& getKeywords() const { return insertedKeywords; } + size_t getMaxPatternLength() const { + return maxPatternLength; + } + // Failure links void build() { std::queue q; diff --git a/mfind/helpers/chunkScanner.h b/mfind/helpers/chunkScanner.h new file mode 100644 index 0000000..a463fde --- /dev/null +++ b/mfind/helpers/chunkScanner.h @@ -0,0 +1,45 @@ +#ifndef CHUNK_SCANNER_H +#define CHUNK_SCANNER_H + +#include +#include +#include +#include +#include +#include +#include "../aho/ahoCorasick.h" +#include "formatHelper.h" + +class ChunkScanner { +public: + static void scan(const std::string& chunk, + const AhoCorasick& ac, + std::function callback, + size_t baseOffset = 0, + size_t threadCount = std::thread::hardware_concurrency(), + size_t contextSize = 30) { + + size_t chunkLength = chunk.size(); + size_t sliceSize = std::max(chunkLength / threadCount, 4096); + std::vector> futures; + + for (size_t i = 0; i < chunkLength; i += sliceSize) { + size_t start = i; + size_t end = std::min(chunkLength, i + sliceSize + ac.getMaxPatternLength()); + + futures.push_back(std::async(std::launch::async, [&, start, end] { + std::string slice = chunk.substr(start, end - start); + auto matches = ac.search(slice); + for (const auto& [localPos, word] : matches) { + size_t absolute = baseOffset + start + localPos; + std::string context = extractContext(chunk, localPos + start, word.length(), contextSize); + callback(absolute, word, context); + } + })); + } + + for (auto& f : futures) f.get(); + } +}; + +#endif diff --git a/mfind/helpers/searchHelper.h b/mfind/helpers/searchHelper.h index e9d40ca..1711795 100644 --- a/mfind/helpers/searchHelper.h +++ b/mfind/helpers/searchHelper.h @@ -3,22 +3,25 @@ #include #include -#include -#include +#include #include "../aho/ahoCorasick.h" -#include "configHelper.h" +#include "formatHelper.h" +#include "chunkScanner.h" inline void searchFile(const std::string& filename, const AhoCorasick& ac, - std::function onMatch) { + std::function callback, + size_t chunkSize = 8192) { std::ifstream file(filename, std::ios::binary); - if (!file.is_open()) return; + if (!file.is_open()) { + std::cerr << "Error: Could not open file " << filename << std::endl; + return; + } - const size_t overlap = 100; - const size_t chunkSize = 8192; + size_t overlap = ac.getMaxPatternLength() - 1; std::vector buffer(chunkSize + overlap); - size_t offset = 0; + while (!file.eof()) { if (offset != 0) { std::copy(buffer.end() - overlap, buffer.end(), buffer.begin()); @@ -28,21 +31,12 @@ inline void searchFile(const std::string& filename, std::streamsize bytesRead = file.gcount(); if (bytesRead == 0) break; - size_t totalSize = (offset == 0 ? bytesRead : bytesRead + overlap); - std::string chunkText(buffer.data(), totalSize); + size_t total = (offset == 0 ? bytesRead : bytesRead + overlap); + std::string chunk(buffer.data(), total); - auto matches = ac.search(chunkText); - for (const auto& [pos, word] : matches) { - size_t absPos = offset + pos; - - // Get context - size_t ctxSize = 30; - size_t ctxStart = (pos > ctxSize) ? (pos - ctxSize) : 0; - size_t ctxEnd = std::min(pos + word.length() + ctxSize, chunkText.length()); - std::string context = chunkText.substr(ctxStart, ctxEnd - ctxStart); - - onMatch(filename, absPos, word, context); - } + ChunkScanner::scan(chunk, ac, [&](size_t pos, const std::string& word, const std::string& context) { + callback(filename, pos, word, context); + }, offset); offset += bytesRead; } diff --git a/mfind/mfind b/mfind/mfind index 70630155a58919384c9026b8c266dd5e312ab8db..1d0fc9d58df7b8d5405a50c907d649a4b4bd6eb3 100755 GIT binary patch delta 119856 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

G(CSp^ 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∓#1;u?l-a3SNOmWDuav@eK^;1@qDVWw2=I^PEuo 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%0D?5Ib>>9iO9i4OiJ-w5^5^f@|# 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 Qg#KJn*+V)2000000C4iK3;+NC diff --git a/mfind/mfind.cpp b/mfind/mfind.cpp index 5cd8ec8..8317635 100644 --- a/mfind/mfind.cpp +++ b/mfind/mfind.cpp @@ -1,15 +1,17 @@ #include +#include #include -#include #include +#include #include +#include +#include "../aho/ahoCorasick.h" +#include "../helpers/searchHelper.h" #include "../helpers/formatHelper.h" #include "../helpers/configHelper.h" -#include "ahoCorasick.h" #include "walkers/walker.h" #include "queues/fileQueue.h" #include "workers/workerPool.h" -#include "../helpers/searchHelper.h" int main(int argc, char* argv[]) { if (argc < 3) { @@ -44,6 +46,6 @@ int main(int argc, char* argv[]) { walker.join(); fileQueue.setFinished(); pool.join(); - + return 0; }