Github user zellerh commented on a diff in the pull request:
https://github.com/apache/incubator-trafodion/pull/250#discussion_r49024774
--- Diff: core/sql/sqlcomp/nadefaults.cpp ---
@@ -5914,6 +5866,73 @@ enum DefaultConstants
NADefaults::validateAndInsert(const char *attrName,
} // NADefaults::validateAndInsert()
+float NADefaults::computeNumESPsPerCore(NABoolean aggressive)
+{
+ #define DEFAULT_ESPS_PER_NODE 2 // for conservation allocation
+ #define DEFAULT_ESPS_PER_CORE 0.5 // for aggressive allocation
+
+ // Make sure the gpClusterInfo points at an NAClusterLinux object.
+ // In osim simulation mode, the pointer can point at a NAClusterNSK
+ // object, for which the method numTSEsForPOS() is not defined.
+ NAClusterInfoLinux* gpLinux =
dynamic_cast<NAClusterInfoLinux*>(gpClusterInfo);
+ assert(gpLinux);
+
+ // cores per node
+ Lng32 coresPerNode = gpClusterInfo->numberOfCpusPerSMP();
+
+ if ( aggressive ) {
+ float totalMemory = gpLinux->totalMemoryAvailable(); // per Node, in
KB
--- End diff --
Allocating one ESP per 2 GB seems a bit arbitrary to me. So, rather than
asking the user to set the AGGRESSIVE_ESP_ALLOCATION_PER_CORE to ON (which will
eventually be used, I guess), should we just ask them to pick an appropriate
value for MAX_ESPS_PER_CPU_PER_OP instead?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---