# This file is part of SECONDO. # Copyright (C) 2004, University in Hagen, Department of Computer Science, # Database Systems for New Applications. # SECONDO is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # SECONDO is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with SECONDO; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # --- Secondo Configuration --- # # This is an example file. copy or rename it to SecondoConfig.ini # # Note: every parameter explained below can be overruled by an environment # variable with name SECONDO_PARAM_, # e.g.: export SECONDO_PARAM_SecondoHome="/tmp/databases" [Environment] # Home directory of Secondo database, in fact the place where the Berkeley DB will # store all record files used by Secondo. Note: By default, the directory /home/secondo-databases # is used for the Berkeley DB files. A directory different from this will be used iff it is # specified below AND it exists! # Note: On windows you need absolute path names, e.g. # C:\msys\1.0\home\user\secondo-dbtest SecondoHome=$(HOME)/secondo-databases # Algebralevel after startup (Executable|Descriptive|Hybrid). AlgebraLevel=Executable # Name prefix of the local socket used by the registar process. The # process id will be appended in order to generate a unique name. # On linux each socket is represented as a file in the /tmp directory. RegistrarSocketNamePrefix=SECREGIS # Name of the executable of the Secondo registrar programm RegistrarProgram=SecondoRegistrar # Name of the executable of the Secondo listener program ListenerProgram=SecondoListener # Host address of the Secondo server SecondoHost=127.0.0.1 # Port of the Secondo server (default: ) SecondoPort=1234 # Runtime Flags (refer to class RTFlags). This key can be used to define # a comma separated list of runtime flags which switch on some special messages # (for debugging or profiling) or some features like creating binary # list formats for CS-communication. Please document new flags otherwise # this mechanism is not useful. Note: a += assignment will extend the list. # It is also possible to change flags interactively by typing # # (set "" = TRUE | FALSE) # # at the SECONDO command prompt. ### ### SECONDO INTERFACE ### # Print the counter values of Class Counter (refer Counter.h) after every query # command #RTFlags = SI:PrintCounters # Show the used times for every Secondo Command RTFlags += SI:PrintCmdTimes # Supress to measure cpu-time, real-time # for all steps of query processing RTFlags += SI:NoQueryTimers # Suppress the output of the command in NL format before execution RTFlags += SI:NoCommandEcho # Repeats the command and its starting time before execution RTFlags += SI:ShowCommandTime # Various statistical information about tuples and relations. #RTFlags += SI:RelStatistics # Print out nested list of the result before copying it into # the applications list memory. #RTFlags += SI:ResultList #Adds the buffer operator to marked operators #RTFlags += SI:AUTO_BUFFER # passwords: uncomment this line if you want to # restrict the access to secondo #RTFlags += SI:UsePasswd #File containing the passwords, default is "passwd" #PASSWD_FILE=passwd ### ### CLIENT / SERVER ### # This flag controls if binary encoded or textual lists are transferred. RTFlags += Server:BinaryTransfer # trace network communicaion # Tracing Server # The the filename given here is extended by an # underscore, the processid, and .log # Note that the server sends also binary coded nested # lists. The file for TraceServerOut may be very large # and unreadable by usual text editors #TraceServerIn=traceserverin #TraceServerOut=traceserverout # Tracing clients # Th filename given here will be extended by an # underscore, the process id, a further underscore, # a running number, and .log # Note that for TraceClientIn hold the same as for the # TraceServerOut. #TraceClientIn=traceclientin #TraceClientOut=traceclientout # If set, a result.bnl file is created on the server side. #RTFlags += Server:ResultFile # Measure the time for writing the result list to the socket object. #RTFlags += Server:SendTimeMsg ### ### SMI ### # Switch off the transaction and logging subsystem of Berkeley-DB #RTFlags += SMI:NoTransactions # Remove non required log files , this will only take effekt if berkeley db version >4.8 is used RTFlags += SMI:AutoRemoveLogs #RTFlags += SMI:DbHandles # Show how often the requested buffersize could not be # transferred and the number of sleep calls; #RTFlags += Socket:SendStat # Send a "simple" message to the message center, when requesting for a new file # id or construnction of a filename #RTFlags += SMI:LogFileCreation ### ### ALGEBRA SPECIFIC SWITCHES ### # Print out messages in methods of the FTextAlgebra. #RTFlags += FText:Trace # Print extra output in the ExtRelationAlgebra #RTFLAGS += ERA:TraceMergeJoin #RTFLAGS += ERA:ShowMemInfo #RTFLAGS += ERA:Sort:PartitionInfo # Extra output for the RelationAlgebra #RTFLAGS += RA:TupleBufferInfo #RTFLAGS += RA:ShowMemInfo # Extra output for the ArrayAlgebra #RTFLAGS += Array::ShowTimePerFunctionCall ### ### SCANNER AND PARSER ### #RTFlags += SecondoScanner:Debug #RTFlags += SecondoParser:Debug #RTFlags += NLScanner:Debug #RTFlags += NLParser:Debug #RTFlags += NL:BinaryListDebug # Uncomment the next line if you don't want # to see a stack trace when Secondo chrashes. # Note: The stack trace is not available on windows! RTFlags += DEBUG:DemangleStackTrace RTFlags += QP:OpTree2SVG RTFlags += QP:ProgDisable #Flobcache section-- [FlobCache] # maximum size used by the native flob cache in bytes , default = 67108864 Native_MaxSize=67108864 # maximum size of a single slot in bytes, default : 16777216 Native_SlotSize=16777216 # average size of a native flob, default = 512 Native_AvgSize=512 # maximum size used by the native flob cache in bytes , default = 67108864 Persistent_MaxSize=67108864 # maximum size of a single slot in bytes, default : 16777216 Persistent_SlotSize=16777216 # average size of a native flob, default = 512 Persistent_AvgSize=512 # --- QueryProcessor Section --- [QueryProcessor] # Max memory in kb available for an operator (e.g. hashjoin or sort) # default is 16348 # MaxMemPerOperator=4096 # Global memory available for all operators in MB # default is 512 GlobalMemory=4096 # disable printing out the number of operators sharing global memory #RTFLAGS += QP:DISABLE_PRINT_NO_MEM_OPS # enable update of the heartbeat file # if not enabled, the file is created but not updated during a query #RTFLAGS += QP:HEARTBEAT # Main memory buffers for global nested list storage used by the QueryProcessor. # Values are given in kB. # Defaults are NodeMem=2048, StringMem=1024, TextMem=1024 #NodeMem=2048 #StringMem=1024 #TextMem=1024 # --- ProgressEstimation Section --- [ProgressEstimation] # Disable progress estimation #RTFlags += QP:ProgDisable # define the file containing the progress constats, default "ProgressConstants.csv" #PROGRESS_CONSTANTS_FILE = ProgressConstants.csv # ProgNorm normalizes the progressbar to n points # Example: ProgNorm=50 ProgNorm=50 # PogProt controls the verbose TTY-Output (1 enables, 0 disables) ProgProt=0 # PogLog controls the Log-Output to files proglog.csv and proglogt.csv # in the bin-folder (1 enables, 0 disables) ProgLog=1 # ProgTypeCard controls the progress estimation by using the message # CARDINALITY (1 enables, 0 disables) ProgTypeCard = 0 # ProgTypeProg controls the progress estimation by using the message # PROGRESS (1 enables, 0 disables) ProgTypeProg = 1 # --- Berkeley DB Section --- # # If Secondo is configured to use the Berkeley DB for persistent # storage, the parameters in this section need to be specified [BerkeleyDB] # Name of the executable of the Secondo server program ServerProgram=SecondoBDB #ServerProgram=SecondoServerBDB # Name of the executable of the Berkeley DB checkpoint program CheckpointProgram=SecondoCheckpoint CheckpointTime=5 # Directory where logging files are stored (may be relative to home directory) #LogDir= # Cache Size in kB CacheSize=65536 # Lock System Configuration MaxLockers=100 MaxLocks=300000 MaxLockObjects=300000 # --- Context sections --- # # To allow fine tuning of the storage management it is possible to # define several "context" sections which can be referenced when # creating or opening SmiFiles. The "Default" context section lists # all possible parameters. [Default] #Bdbxxx= # --- Secondo Replay Client Configuration Section --- [# --- Secondo Replay Client Configuration Section --- [Replay] DefaultReplayClusterConfig = Replay.cfg #ReplayImportMode = Replication ReplayImportMode = Partitioning Master = ReplayHost1:127.0.0.1:1234:12 Node = ReplayHost2:192.168.40.131:1234:2 Node += Replayhost3:192.168.40.132:1234:3 # --- Secondo configuration section to enable multithreading query processing --- [MultithreadedQueryProcessing] # Number of working threads processing execution contexts in parallel. # The multithreaded query processing needs at least 2 threads. If the property is # set to 1, the regular, single threaded query processing is used. All values < 1 # let the query processor choose the number of concurrent threads depending on the # number of processors (cores) used by the system MaxNumberOfConcurrentThreads=4 # Maximum buffer size in MB for all execution contexts in total. If the value is set # to 0, then the buffers size will be adjusted by the query processor as part of # the operator memory assignment. If the query processor assigned less memory to # the related par-Operator this setting is ignored. TotalBufferSizeInByte=0 # Maximum number of tuples stored in one data block. After a data block is complete filled or # the stream answered cancel, the block is submitted to the shared buffer and is available for # consuming par operators. MaxNumberOfTuplesPerBlock=1000 # The maximum time in microseconds per request task. The timeout is checked after # every tuple block is completly filled. If set to 0 the timeout is not used and # the task ends after the first filled tuple block TimeoutPerTaskInMicroseconds=0 # The maximum capacity of tuple blocks in the queue to start producers. If the buffers capacity # exceeds the threshold, no producers are triggered. QueueCapacityThreshold=8 # A value of >1 enables the use of multiple threads to execute instances # of the same execution context in parallel. Set to 1 indicates that only independent and # pipeline parallelism is used. MaxDegreeOfDataParallelism=4 # A value of 1 enables the use of pipeline parallelism, otherwise it is deactivated UsePipelineParallelism=1 # A value 1 enables the automatic integration of parallel oparators. Set to 0 # disables the parallel optimization, but all user defined parallel operators # will still be checked and removed if inappropriate inserted in the query expression. UseStaticParallelOptimization=0 # Enables the logging mechanism. 0 disables logging, 1 enables just debug messages, # 2 enables tracing LoggerMode=2 # The full path to the directory where trace logs are stored DebugOutputPath=$(HOME)/secondo/Algebras/ParThread/Tests/TestResults # Operators which can be part of a dataparallized context. Value is a list of # operator names delimitered by spaces. OperatorsSupportingDataParallelism=filter renameAttr rename project attr and = > < hashjoin starts delayS makepoint extend * distanceOrthodrome intersects # Operators which rely on a tuple order. All contexts after such a operator can't use dataparallelism, # because this can change the order of tuples. Value is a list of operator names delimitered by spaces. OperatorsRetainingOrder=sort # Operators in this list need a partitioning by hashvalues to work correct with dataparallelism. # Value is a list of operator names delimitered by spaces. OperatorsRequiringHashPartitioning=hashjoin ######### End of Secondo Configuration ###########