AllianceDB  0.0.1
AllianceDB is an open-source suite, including benchmarks and libs for evaluating and improving stream operation algorithms on modern hardwares.
INTELLI Namespace Reference

Classes

class  DatasetTool
 The class containing methods to process dataset. More...
 
class  MtBucket
 The multithread-supported bucket. More...
 
class  MultiThreadHashTable
 The multithread-supported hash table, holding buckets. More...
 
class  Tuple
 The class to describe a tuple. More...
 
class  RelationCouple
 
class  WindowCouple
 
class  ConcurrentQWindowCouple
 
class  Result
 
class  VerifyBench
 
class  AbstractJoinAlgo
 The abstraction to describe a join algorithm, providing virtual function of join. More...
 
class  JoinAlgoTable
 The table contains all supported algos. More...
 
class  NestedLoopJoin
 The top class package of Nested Loop Join providing a "join function". More...
 
class  NPJ_thread
 The thread used by NPJ. More...
 
class  NPJ
 The top class package of NPJ, providing a "join function". More...
 
class  NPJSingle
 The top class package of single threadNPJ, providing a "join function". More...
 
class  AbstractJP
 The basic class of join processor. More...
 
class  AbstractLazyJP
 The basic class of lazy join processor. More...
 
class  CellJoinJP
 The class of cell join join processor. More...
 
class  HandShakeJP
 
class  SplitJoinIRJP
 The class of split join join processor, which also shares the intermediate results (IR) More...
 
class  SplitJoinJP
 The class of split join join processor. More...
 
class  AbstractC20Thread
 The base class and abstraction of C++20 thread, and it can be derived into other threads. More...
 
class  C20Buffer
 
class  DupicatedHashTable
 
class  MicroDataSet
 The all-in-one class for the Micro dataset. More...
 
class  SPSCQueue
 
class  PerfEntry
 
class  PerfTool
 pack the perf event in cpp style, remain safe if some std linux perf failed More...
 
class  PerfPair
 Combine PerfTool together with tags. More...
 
class  ThreadPerf
 The all-in-on perf class for thread. More...
 
class  UtilityFunctions
 
class  AbstractEagerWS
 An abstraction of eager window slider (i.e., the CellJoin), also inherited by other eager window slider. More...
 
class  AbstractLazyWS
 An abstraction of lazy window slider, also inherited by other lazy window slider. More...
 
class  AbstractWS
 An abstraction of window slider, also inherited by both eager and lazy. More...
 
class  HandShakeWS
 The eager window slider of handshake join. More...
 
class  SplitJoinIRWS
 The eager window slider of split join, which also shares the intermediate results (IR) More...
 
class  SplitJoinWS
 The eager window slider of split join. More...
 
class  VerifyWS
 The single-thread window slider used for verify results of other WS. More...
 
class  AbstractJoinMethod
 
class  CellJoin
 
class  HandShakeJoin
 
class  OneWayHashJoin
 

Typedefs

typedef std::shared_ptr< MtBucketMtBucketPtr
 
typedef TuplePtr MtTuplePtr
 
typedef std::shared_ptr< MultiThreadHashTableMultiThreadHashTablePtr
 
typedef uint64_t keyType
 
typedef uint64_t valueType
 
typedef int numberType
 
typedef std::mutex mutex
 
typedef INTELLI::DupicatedHashTable< keyType, keyTypehashtable
 
typedef std::queue< numberType > tupleKeyQueue
 
typedef std::shared_ptr< class TupleTuplePtr
 The class to describe a shared pointer to Tuple. More...
 
typedef std::shared_ptr< class RelationCoupleRelationCouplePtr
 
typedef std::shared_ptr< std::barrier<> > BarrierPtr
 
typedef std::vector< TuplePtrWindowOfTuples
 
typedef std::queue< TuplePtrTuplePtrQueueIn
 To describe a local queue of TuplePtr. More...
 
typedef moodycamel::ConcurrentQueue< TuplePtrconcurrentTupleQueue
 
typedef std::shared_ptr< INTELLI::SPSCQueue< INTELLI::TuplePtr > > TuplePtrQueue
 To describe a queue of TuplePtr under SPSCQueue. More...
 
typedef std::shared_ptr< std::queue< INTELLI::TuplePtr > > TupleQueueSelfPtr
 
typedef std::shared_ptr< INTELLI::SPSCQueue< vector< INTELLI::TuplePtr > > > WindowQueue
 
typedef std::shared_ptr< INTELLI::SPSCQueue< INTELLI::join_cmd_t > > CmdQueuePtr
 
typedef std::shared_ptr< AbstractJoinAlgoAbstractJoinAlgoPtr
 
typedef std::shared_ptr< JoinAlgoTableJoinAlgoTablePtr
 
typedef std::shared_ptr< NestedLoopJoinNestedLoopJoinPtr
 
typedef std::shared_ptr< AbstractLazyJPAbstractLazyJPPtr
 
typedef std::shared_ptr< CellJoinJPCellJoinJPPtr
 
typedef std::shared_ptr< HandShakeJPHandShakeJPPtr
 
typedef INTELLI::DupicatedHashTable< keyType, keyTypedpHashtable
 
typedef shared_ptr< dpHashtabledpHashtablePtr
 
typedef std::shared_ptr< SplitJoinIRJPSplitJoinIRJPPtr
 
typedef std::shared_ptr< SplitJoinJPSplitJoinJPPtr
 
typedef std::shared_ptr< PerfToolPerfToolPtr
 
typedef enum INTELLI::perfTrace perfIdx
 
typedef std::shared_ptr< NPJNPJPtr
 
typedef std::shared_ptr< NPJSingleNPJSinglePtr
 

Enumerations

enum  join_type_t { CNT_BASED = 1 , TIME_STAMP_BASED = 2 }
 
enum  join_cmd_t {
  CMD_ACK = 1 , CMD_STOP = 2 , CMD_NEXT_WSTR , CMD_NEXT_WSTS ,
  CMD_NEXT_TSWR , CMD_NEXT_TSTR , CMD_NEXT_TS_ONLY , CMD_NEXT_TR_ONLY
}
 
enum  join_algo_index_t { JOINALGO_NULL = 0 , JOINALGO_NESTEDLOOP = 1 , JOINALGO_NPJ = 2 , JOINALGO_NPJ_SINGLE = 3 }
 The system default index for join algorithms. More...
 
enum  lwj_status_t { LWJ_IDLE = 0 , LWJ_COLLECTING , LWJ_PROCESSING }
 The status of lazy join processor. More...
 
enum  perfTrace {
  TRACE_RUNNING_TIME = -1 , COUNT_SW_CPU_CLOCK = 0 , COUNT_SW_TASK_CLOCK = 1 , COUNT_SW_CONTEXT_SWITCHES = 2 ,
  COUNT_SW_CPU_MIGRATIONS = 3 , COUNT_SW_PAGE_FAULTS = 4 , COUNT_SW_PAGE_FAULTS_MIN = 5 , COUNT_SW_PAGE_FAULTS_MAJ = 6 ,
  COUNT_HW_CPU_CYCLES = 7 , COUNT_HW_INSTRUCTIONS = 8 , COUNT_HW_CACHE_REFERENCES = 9 , COUNT_HW_CACHE_MISSES = 10 ,
  COUNT_HW_BRANCH_INSTRUCTIONS = 11 , COUNT_HW_BRANCH_MISSES = 12 , COUNT_HW_BUS_CYCLES = 13 , COUNT_HW_CACHE_L1D_LOADS = 14 ,
  COUNT_HW_CACHE_L1D_LOADS_MISSES = 15 , COUNT_HW_CACHE_L1D_STORES = 16 , COUNT_HW_CACHE_L1D_STORES_MISSES = 17 , COUNT_HW_CACHE_L1D_PREFETCHES = 18 ,
  COUNT_HW_CACHE_L1I_LOADS = 19 , COUNT_HW_CACHE_L1I_LOADS_MISSES = 20 , COUNT_HW_CACHE_LL_LOADS = 21 , COUNT_HW_CACHE_LL_LOADS_MISSES = 22 ,
  COUNT_HW_CACHE_LL_STORES = 23 , COUNT_HW_CACHE_LL_STORES_MISSES = 24 , COUNT_HW_CACHE_DTLB_LOADS = 25 , COUNT_HW_CACHE_DTLB_LOADS_MISSES = 26 ,
  COUNT_HW_CACHE_DTLB_STORES = 27 , COUNT_HW_CACHE_DTLB_STORES_MISSES = 28 , COUNT_HW_CACHE_ITLB_LOADS = 29 , COUNT_HW_CACHE_ITLB_LOADS_MISSES = 30 ,
  COUNT_HW_CACHE_BPU_LOADS = 31 , COUNT_HW_CACHE_BPU_LOADS_MISSES = 32
}
 The valid idx for perf. More...
 

Detailed Description

Note
If new algorithm is added, please change this file and its .cpp

This group provides common functions to support the Intelli Stream programs. ++20

This package covers some common C++20 new features, such as std::thread to ease the programming