From e712df5d0b59d50abd20dd81c6eaa3f8c51cf3a2 Mon Sep 17 00:00:00 2001 From: jmrojas2332 Date: Thu, 21 Nov 2019 06:08:49 +0000 Subject: [PATCH] MCOL 3585 update some defaults in config file --- dbcon/joblist/resourcemanager.cpp | 31 +++++++++++++++++++++++----- dbcon/joblist/resourcemanager.h | 4 +++- oam/etc/Columnstore.xml | 8 +++---- oam/etc/Columnstore.xml.singleserver | 8 +++---- tools/configMgt/autoConfigure.cpp | 2 -- 5 files changed, 37 insertions(+), 16 deletions(-) diff --git a/dbcon/joblist/resourcemanager.cpp b/dbcon/joblist/resourcemanager.cpp index 03d05bfda..cbf44109f 100644 --- a/dbcon/joblist/resourcemanager.cpp +++ b/dbcon/joblist/resourcemanager.cpp @@ -87,7 +87,8 @@ ResourceManager::ResourceManager(bool runningInExeMgr) : 0), fHJPmMaxMemorySmallSideSessionMap( getUintVal(fHashJoinStr, "PmMaxMemorySmallSide", defaultHJPmMaxMemorySmallSide)), - isExeMgr(runningInExeMgr) + isExeMgr(runningInExeMgr), + fJlMaxOutstandingRequests(defaultMaxOutstandingRequests) { int temp; int configNumCores = -1; @@ -127,9 +128,27 @@ ResourceManager::ResourceManager(bool runningInExeMgr) : temp = getIntVal(fJobListStr, "ProcessorThreadsPerScan", -1); + if (temp > 0) fJlProcessorThreadsPerScan = temp; + temp = getIntVal(fJobListStr, "MaxOutstandingRequests", -1); + + if (temp > 0) + fJlMaxOutstandingRequests = temp; + else + { + oam::Oam oam; + oam::ModuleTypeConfig moduletypeconfig; + oam.getSystemConfig("pm", moduletypeconfig); + const auto temp = moduletypeconfig.ModuleCount * fNumCores * 4 / fJlProcessorThreadsPerScan; + + if (temp > defaultMaxOutstandingRequests) + { + fJlMaxOutstandingRequests = temp; + } + } + temp = getIntVal(fJobListStr, "NumScanReceiveThreads", -1); if (temp > 0) @@ -140,7 +159,7 @@ ResourceManager::ResourceManager(bool runningInExeMgr) : if (temp > 0) fTwNumThreads = temp; - pmJoinMemLimit = getIntVal(fHashJoinStr, "PmMaxMemorySmallSide", + pmJoinMemLimit = getUintVal(fHashJoinStr, "PmMaxMemorySmallSide", defaultHJPmMaxMemorySmallSide); // Need to use different limits if this instance isn't running on the UM, @@ -200,10 +219,12 @@ ResourceManager::ResourceManager(bool runningInExeMgr) : nt = fConfig->getConfig("RowAggregation", "RowAggrThreads"); if (nt.empty()) - if ( numCores() < 4 ) + { + if ( numCores() > 0 ) fAggNumThreads = numCores(); else - fAggNumThreads = 4; + fAggNumThreads = 1; + } else fAggNumThreads = fConfig->uFromText(nt); @@ -213,7 +234,7 @@ ResourceManager::ResourceManager(bool runningInExeMgr) : fAggNumBuckets = fAggNumThreads * 4; else fAggNumBuckets = fConfig->uFromText(nb); - + nr = fConfig->getConfig("RowAggregation", "RowAggrRowGroupsPerThread"); if (nr.empty()) diff --git a/dbcon/joblist/resourcemanager.h b/dbcon/joblist/resourcemanager.h index 4a92a35b2..d9190419c 100644 --- a/dbcon/joblist/resourcemanager.h +++ b/dbcon/joblist/resourcemanager.h @@ -261,7 +261,8 @@ public: } uint32_t getJlMaxOutstandingRequests() const { - return getUintVal(fJobListStr, "MaxOutstandingRequests", defaultMaxOutstandingRequests); + return fJlMaxOutstandingRequests; + //getUintVal(fJobListStr, "MaxOutstandingRequests", defaultMaxOutstandingRequests); } uint32_t getJlJoinerChunkSize() const { @@ -577,6 +578,7 @@ private: uint32_t fJlProcessorThreadsPerScan; uint32_t fJlNumScanReceiveThreads; uint8_t fTwNumThreads; + uint32_t fJlMaxOutstandingRequests; /* old HJ support */ ResourceDistributor fHJUmMaxMemorySmallSideDistributor; diff --git a/oam/etc/Columnstore.xml b/oam/etc/Columnstore.xml index 78ecc633e..d07d0c0de 100644 --- a/oam/etc/Columnstore.xml +++ b/oam/etc/Columnstore.xml @@ -486,8 +486,8 @@ 128 128K - 128 - 64M + 64 + 1G 50% 10% 100 @@ -500,7 +500,7 @@ 16K - 32 + 16 1 - 20 + 100 diff --git a/oam/etc/Columnstore.xml.singleserver b/oam/etc/Columnstore.xml.singleserver index de91668f0..260f0caf7 100644 --- a/oam/etc/Columnstore.xml.singleserver +++ b/oam/etc/Columnstore.xml.singleserver @@ -477,8 +477,8 @@ 128 128K - 128 - 64M + 64 + 1G 25% 10% 100 @@ -491,7 +491,7 @@ 16K - 32 + 16 1 - 20 + 100 diff --git a/tools/configMgt/autoConfigure.cpp b/tools/configMgt/autoConfigure.cpp index 04754cb5c..2f30a14bd 100644 --- a/tools/configMgt/autoConfigure.cpp +++ b/tools/configMgt/autoConfigure.cpp @@ -2122,7 +2122,6 @@ int main(int argc, char* argv[]) { ColScanReadAheadBlocks = sysConfigOld->getConfig("PrimitiveServers", "ColScanReadAheadBlocks"); PrefetchThreshold = sysConfigOld->getConfig("PrimitiveServers", "PrefetchThreshold"); - MaxOutstandingRequests = sysConfigOld->getConfig("JobList", "MaxOutstandingRequests"); PmMaxMemorySmallSide = sysConfigOld->getConfig("HashJoin", "PmMaxMemorySmallSide"); ThreadPoolSize = sysConfigOld->getConfig("JobList", "ThreadPoolSize"); } @@ -2133,7 +2132,6 @@ int main(int argc, char* argv[]) { sysConfigNew->setConfig("PrimitiveServers", "ColScanReadAheadBlocks", ColScanReadAheadBlocks); sysConfigNew->setConfig("PrimitiveServers", "PrefetchThreshold", PrefetchThreshold); - sysConfigNew->setConfig("JobList", "MaxOutstandingRequests", MaxOutstandingRequests); sysConfigNew->setConfig("HashJoin", "PmMaxMemorySmallSide", PmMaxMemorySmallSide); sysConfigNew->setConfig("JobList", "ThreadPoolSize", ThreadPoolSize); }