From 7949956303e5e8182829ab8ca61f0120cc5a88db Mon Sep 17 00:00:00 2001 From: audreyc Date: Mon, 9 Dec 2019 00:46:40 -0500 Subject: [PATCH] added warmup --- OHRgoal/PFOO-L/lib/parse_trace.cpp | 25 ++++++++++++++++++++----- OHRgoal/PFOO-L/lib/parse_trace.h | 2 +- OHRgoal/PFOO-L/lib/solve_mcf.cpp | 2 +- OHRgoal/PFOO-L/pfool | Bin 0 -> 36712 bytes OHRgoal/PFOO-L/pfool.cpp | 7 ++++--- 5 files changed, 26 insertions(+), 10 deletions(-) create mode 100755 OHRgoal/PFOO-L/pfool diff --git a/OHRgoal/PFOO-L/lib/parse_trace.cpp b/OHRgoal/PFOO-L/lib/parse_trace.cpp index 3b9da69..1171a5d 100644 --- a/OHRgoal/PFOO-L/lib/parse_trace.cpp +++ b/OHRgoal/PFOO-L/lib/parse_trace.cpp @@ -3,24 +3,39 @@ #include #include #include +#include #include #include #include "parse_trace.h" -void parseTraceFile(std::vector & trace, std::string & path) { +void parseTraceFile(std::vector & trace, std::string & path, uint64_t warmup) { std::ifstream traceFile(path); uint64_t time, id, size, reqc=0; + uint64_t count = 0; + uint64_t count2 = 0; std::unordered_map, uint64_t> lastSeen; + std::unordered_set> warmup_objs; while(traceFile >> time >> id >> size) { - const auto idsize = std::make_pair(id,size); - if(size > 0 && lastSeen.count(idsize)>0) { - trace[lastSeen[idsize]].hasNext = true; + count++; + const auto idsize = std::make_pair(id,size); + if (count < warmup && size > 0) { + warmup_objs.insert(idsize); + continue; + } + count2++; + trace.emplace_back(size); + if(size > 0 && lastSeen.count(idsize)==0 && warmup_objs.count(idsize)>0) { + trace[reqc].hasNext = true; + const uint64_t volume = (reqc-0) * size; + trace[reqc].volume = volume; + } else if(size > 0 && lastSeen.count(idsize)>0) { + trace[lastSeen[idsize]].hasNext = true; const uint64_t volume = (reqc-lastSeen[idsize]) * size; trace[lastSeen[idsize]].volume = volume; } - trace.emplace_back(size); lastSeen[idsize]=reqc++; } + std::cerr << "total requests: " << count << " after warmup: " << count2 << "\n"; } diff --git a/OHRgoal/PFOO-L/lib/parse_trace.h b/OHRgoal/PFOO-L/lib/parse_trace.h index 36f4593..07d7fa2 100644 --- a/OHRgoal/PFOO-L/lib/parse_trace.h +++ b/OHRgoal/PFOO-L/lib/parse_trace.h @@ -35,4 +35,4 @@ struct trEntry { }; }; -void parseTraceFile(std::vector & trace, std::string & path); +void parseTraceFile(std::vector & trace, std::string & path, uint64_t warmup); diff --git a/OHRgoal/PFOO-L/lib/solve_mcf.cpp b/OHRgoal/PFOO-L/lib/solve_mcf.cpp index a6972c4..b3efe0a 100644 --- a/OHRgoal/PFOO-L/lib/solve_mcf.cpp +++ b/OHRgoal/PFOO-L/lib/solve_mcf.cpp @@ -33,7 +33,7 @@ void printRes(std::vector & trace, std::string algName, uint64_t cacheS } // fill in the gaps (if the cache fits the whole trace) // keep outputting the last hit count (as trace is too short) - while(nextCsizePrint < lcacheSizeMax) { + while(nextCsizePrint <= lcacheSizeMax) { std::cerr << "filling in gaps, trace too short\n"; *resultfile << algName << " " << nextCsizePrint << " " << hitc << " " << trace.size() << " " << (double)hitc/trace.size() << " " << csize << " " << reqcDiff << "\n"; nextCsizePrint*=2; diff --git a/OHRgoal/PFOO-L/pfool b/OHRgoal/PFOO-L/pfool new file mode 100755 index 0000000000000000000000000000000000000000..639938087cf38f7b62bd917fd3e584ddc3081bd4 GIT binary patch literal 36712 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%0ANXB#*Y+)qdEr$5p(tN7+B< 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 literal 0 HcmV?d00001 diff --git a/OHRgoal/PFOO-L/pfool.cpp b/OHRgoal/PFOO-L/pfool.cpp index 8dea48c..6b56f94 100644 --- a/OHRgoal/PFOO-L/pfool.cpp +++ b/OHRgoal/PFOO-L/pfool.cpp @@ -9,8 +9,8 @@ int main(int argc, char* argv[]) { - if (argc != 4) { - std::cerr << argv[0] << " traceFile cacheSizeMax resultPath" << std::endl; + if (argc != 5) { + std::cerr << argv[0] << " traceFile cacheSizeMax resultPath warmup" << std::endl; return 1; } @@ -18,11 +18,12 @@ int main(int argc, char* argv[]) { std::string path(argv[1]); uint64_t cacheSizeMax(std::stoull(argv[2])); std::string resultPath(argv[3]); + uint64_t warmup(std::stoull(argv[4])); std::ofstream * resultFile = new std::ofstream(resultPath); // parse trace file std::vector trace; - parseTraceFile(trace, path); + parseTraceFile(trace, path, warmup); std::cerr << "parsed up\n"; cacheAlg(trace);