Permalink
Browse files

Added NVM backend to AntiCacheDB interface.

  • Loading branch information...
jdebrabant committed Sep 26, 2013
2 parents 89964e8 + edfe8dd commit 4e007dba60f5b067e4f392134ffc658c82e9c438
View
@@ -91,7 +91,10 @@
CTX.CPPFLAGS += " -Wno-ignored-qualifiers -fno-strict-aliasing"
# linker flags
CTX.LDFLAGS = """-g3 -rdynamic -ldl"""
CTX.LDFLAGS = """-g3 -ldl"""
# Done by default on Darwin -- unrecognized option for the linker on Darwin
if CTX.PLATFORM == "Linux":
CTX.LDFLAGS +=" -rdynamic"
if CTX.COVERAGE:
CTX.LDFLAGS += " -ftest-coverage -fprofile-arcs"
# for the google perftools profiler and the recommended stack unwinder
@@ -7,4 +7,4 @@ builder = edu.brown.benchmark.ycsb.YCSBProjectBuilder
# If 'fixed_size' is set to true, then then the YCSBLoader will
# only add the number of tuples defined in 'num_records'
fixed_size = true
num_records = 1000000
num_records = 100000
@@ -31,8 +31,7 @@
public abstract class YCSBConstants {
public static final int NUM_RECORDS = 1000000; // Note: this should match value in YCSB.properties
public static final int NUM_RECORDS = 100000; // Note: this should match value in YCSB.properties
public static final double ZIPFIAN_CONSTANT = 1.001;
public static final int HOT_DATA_WORKLOAD_SKEW = 50;
View
@@ -43,23 +43,23 @@ namespace voltdb
inline UndoQuantum* generateUndoQuantum(int64_t nextUndoToken) {
VOLT_TRACE("Generating token %ld / lastUndo:%ld / lastRelease:%ld / undoQuantums:%ld",
nextUndoToken, m_lastUndoToken, m_lastReleaseToken, m_undoQuantums.size());
(long int)nextUndoToken, (long int)m_lastUndoToken, (long int)m_lastReleaseToken, (long int)m_undoQuantums.size());
// Since ExecutionSite is using monotonically increasing
// token values, every new quanta we're asked to generate should be
// larger than any token value we've seen before
#ifdef VOLT_ERROR_ENABLED
if (nextUndoToken <= m_lastUndoToken) {
VOLT_ERROR("nextUndoToken[%ld] is less than or equal to m_lastUndoToken[%ld]",
nextUndoToken, m_lastUndoToken);
(long int)nextUndoToken, (long int)m_lastUndoToken);
}
#endif
assert(nextUndoToken > m_lastUndoToken);
#ifdef VOLT_ERROR_ENABLED
if (nextUndoToken <= m_lastReleaseToken) {
VOLT_ERROR("nextUndoToken[%ld] is less than or equal to m_lastReleaseToken[%ld]",
nextUndoToken, m_lastReleaseToken);
(long int)nextUndoToken, (long int)m_lastReleaseToken);
}
#endif
assert(nextUndoToken > m_lastReleaseToken);
@@ -77,7 +77,7 @@ namespace voltdb
new (pool->allocate(sizeof(UndoQuantum)))
UndoQuantum(nextUndoToken, pool);
m_undoQuantums.push_back(undoQuantum);
VOLT_TRACE("Created new UndoQuantum %ld", nextUndoToken);
VOLT_TRACE("Created new UndoQuantum %ld", (long int)nextUndoToken);
return undoQuantum;
}
@@ -96,7 +96,7 @@ namespace voltdb
#ifdef VOLT_ERROR_ENABLED
if (undoToken < m_lastReleaseToken) {
VOLT_ERROR("undoToken[%ld] is less than m_lastReleaseToken[%ld]",
undoToken, m_lastReleaseToken);
(long int)undoToken, (long int)m_lastReleaseToken);
}
#endif
assert(undoToken >= m_lastReleaseToken);
@@ -153,11 +153,11 @@ namespace voltdb
#ifdef VOLT_ERROR_ENABLED
if (startToken < m_lastReleaseToken) {
VOLT_ERROR("startToken[%ld] is less than m_lastReleaseToken[%ld]",
startToken, m_lastReleaseToken);
(long int)startToken, (long int)m_lastReleaseToken);
}
if (stopToken < m_lastReleaseToken) {
VOLT_ERROR("stopToken[%ld] is less than m_lastReleaseToken[%ld]",
stopToken, m_lastReleaseToken);
(long int)stopToken, (long int)m_lastReleaseToken);
}
#endif
assert(startToken >= m_lastReleaseToken);
@@ -237,7 +237,7 @@ namespace voltdb
#ifdef VOLT_ERROR_ENABLED
if (m_lastReleaseToken >= undoToken) {
VOLT_ERROR("m_lastReleaseToken[%ld] is greater than or equal to undoToken[%ld]",
m_lastReleaseToken, undoToken);
(long int)m_lastReleaseToken, (long int)undoToken);
}
#endif
assert(m_lastReleaseToken < undoToken);
@@ -732,7 +732,7 @@ bool VoltDBEngine::rebuildTableCollections() {
// need to re-map all the table ids.
getStatsManager().unregisterStatsSource(STATISTICS_SELECTOR_TYPE_TABLE);
map<string, catalog::Table*>::const_iterator it = m_database->tables().begin();
//map<string, catalog::Table*>::const_iterator it = m_database->tables().begin();
map<string, CatalogDelegate*>::iterator cdIt = m_catalogDelegates.begin();
// walk the table delegates and update local table collections
@@ -85,9 +85,9 @@ bool AbstractExecutor::init(VoltDBEngine *engine, const catalog::Database* catal
AbstractScanPlanNode *scan_node = dynamic_cast<AbstractScanPlanNode*>(abstract_node);
AbstractOperationPlanNode *oper_node = dynamic_cast<AbstractOperationPlanNode*>(abstract_node);
bool requires_target_table = false;
//bool requires_target_table = false;
if (scan_node || oper_node) {
requires_target_table = true;
//requires_target_table = true;
Table* target_table = NULL;
std::string targetTableName;
@@ -17,6 +17,8 @@
#include "PlanColumn.h"
#define _UNUSED(x) ((void)x)
using namespace json_spirit;
using namespace std;
using namespace voltdb;
@@ -28,6 +30,12 @@ PlanColumn::PlanColumn(Object& colObject) : m_colObject(colObject)
bool contains_type = false;
bool contains_size = false;
bool contains_input_column_name = false;
_UNUSED (contains_guid);
_UNUSED (contains_name);
_UNUSED (contains_type);
_UNUSED (contains_size);
for (int attr = 0; attr < m_colObject.size(); attr++)
{
if (m_colObject[attr].name_ == "GUID")
@@ -52,6 +52,8 @@
#include <sstream>
#include <stdexcept>
#define _UNUSED(x) ((void)x)
using namespace json_spirit;
using namespace std;
using namespace voltdb;
@@ -319,6 +321,12 @@ AggregatePlanNode::loadFromJSONObject(Object &obj,
bool containsName = false;
bool containsGuid = false;
bool containsOutputColumn = false;
_UNUSED (containsType);
_UNUSED (containsName);
_UNUSED (containsGuid);
_UNUSED (containsOutputColumn);
for (int zz = 0; zz < aggregateColumn.size(); zz++)
{
if (aggregateColumn[zz].name_ == "AGGREGATE_TYPE")
@@ -52,6 +52,8 @@
#include <stdexcept>
#include <string>
#define _UNUSED(x) ((void)x)
using namespace std;
using namespace voltdb;
@@ -172,6 +174,10 @@ OrderByPlanNode::loadFromJSONObject(json_spirit::Object& obj,
{
json_spirit::Object sortColumn = sortColumnsArray[ii].get_obj();
bool hasName = false, hasDirection = false;
_UNUSED (hasName);
_UNUSED (hasDirection);
for (int zz = 0; zz < sortColumn.size(); zz++)
{
if (sortColumn[zz].name_ == "COLUMN_NAME")
@@ -220,7 +220,7 @@ bool PersistentTable::evictBlockToDisk(const long block_size, int num_blocks) {
// int64_t origEvictedTableSize = m_evictedTable->activeTupleCount();
#endif
size_t current_tuple_start_position;
//size_t current_tuple_start_position;
int32_t num_tuples_evicted = 0;
out.writeInt(num_tuples_evicted); // reserve first 4 bytes in buffer for number of tuples in block
@@ -236,7 +236,7 @@ bool PersistentTable::evictBlockToDisk(const long block_size, int num_blocks) {
tuple_length = tuple.tupleLength();
}
current_tuple_start_position = out.position();
//current_tuple_start_position = out.position();
// remove the tuple from the eviction chain
eviction_manager->removeTuple(this, &tuple);

0 comments on commit 4e007db

Please sign in to comment.