Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit fac2497
Showing
168 changed files
with
22,323 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
======= | ||
CONTACT | ||
======= | ||
For questions regarding SILT, please contact the FAWN/SILT developers at | ||
fawn-dev@mailman.srv.cs.cmu.edu. | ||
|
||
|
||
======= | ||
AUTHORS | ||
======= | ||
|
||
SILT authors: | ||
|
||
Hyeontaek Lim <hl@cs.cmu.edu> | ||
Bin Fan <binfan@cs.cmu.edu> | ||
|
||
FAWN-KV authors: | ||
|
||
David Andersen <dga+@cs.cmu.edu> | ||
Alex Crichton <acrichto@andrew.cmu.edu> | ||
Jack Ferris <jhferris@andrew.cmu.edu> | ||
Jason Franklin <jfrankli@cs.cmu.edu> | ||
Alex Gartrell <agartrell@cmu.edu> | ||
Dongsu Han <dongsuh+@cs.cmu.edu> | ||
Michael Kaminsky <michael.e.kaminsky@intel.com> | ||
Wyatt Lloyd <wlloyd@cs.princeton.edu> | ||
Iulian Moraru <iulian@cs.cmu.edu> | ||
Amar Phanishayee <amarp+@cs.cmu.edu> | ||
Lawrence Tan <tlawrence85@cmu.edu> | ||
Vijay Vasudevan <vrv+@cs.cmu.edu> | ||
Reinhard Munz <munz@cmu.edu> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
SILT: A Memory-Efficient, High-Performance Key-Value Store | ||
|
||
Copyright 2011 Carnegie Mellon University | ||
|
||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
|
||
http://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
|
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
0) # requirements: Intel TBB, Google Test Library, PThread, Boost, OpenSSL, Xerces, GSL, NSort, BDB | ||
1) autoreconf -is | ||
2) ./configure | ||
3) make | ||
4) cd test/fawnds/ | ||
5) ./test<something> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
ACLOCAL_AMFLAGS=-I m4 | ||
|
||
SUBDIRS = utils fawnds test | ||
CLEANFILES = core *.core *~ | ||
DISTCLEANFILES = autom4te*.cache config.status config.log | ||
MAINTAINERCLEANFILES = aclocal.m4 install-sh mkinstalldirs \ | ||
missing configure config.guess config.sub config.h.in \ | ||
ltconfig ltmain.sh Makefile.in stamp-h.in depcomp m4/*.m4 |
Empty file.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
AC_PREREQ(2.61) | ||
AC_INIT([silt], [0.1], [fawn-dev@mailman.srv.cs.cmu.edu]) | ||
AM_INIT_AUTOMAKE | ||
LT_PREREQ([2.2]) | ||
LT_INIT([dlopen]) | ||
|
||
AC_CONFIG_HEADER([config.h]) | ||
|
||
CFLAGS="-g -O3" # -fno-omit-frame-pointer | ||
CPPFLAGS="-g -O3" # -fno-omit-frame-pointer | ||
CXXFLAGS="-g -O3" # -fno-omit-frame-pointer | ||
|
||
# Checks for programs. | ||
AC_PROG_CXX | ||
AC_PROG_CC | ||
AC_PROG_MAKE_SET | ||
|
||
AC_PROG_LIBTOOL | ||
AC_CONFIG_MACRO_DIR([m4]) | ||
|
||
|
||
# Checks for libraries. | ||
# FIXME: Replace `main' with a function in `-lgtest': | ||
AC_CHECK_LIB([gtest], [main], [LIBS="-lgtest $LIBS"; no_libgtest=false], | ||
[echo "gtest unittesting framework not found."; no_libgtest=true]) | ||
AC_LANG_CPLUSPLUS | ||
AC_CHECK_LIB([tbb], [main], [], [echo "libtbb not found. Please install the Intel TBB before proceeding."; exit -1]) | ||
AC_CHECK_LIB([gtest_main], [main], [], [echo "gtest_main not found. Please install google test library before proceeding"; exit -1]) | ||
AC_CHECK_LIB([pthread], [pthread_mutex_init], [], [echo "pthreads not found. Please install pthread library before proceeding"; exit -1]) | ||
AC_CHECK_LIB([boost_thread-mt], [main], [], [echo "boost library not found. Please install boost library before proceeding"; exit -1]) | ||
AC_CHECK_LIB([crypto], [main], [], [echo "openssl crypto library not found. Please install openssl library before proceeding"; exit -1]) | ||
AC_CHECK_LIB([xerces-c], [main], [], [echo "Xerces XML parsing library not found. Please install xerces library before proceeding"; exit -1]) | ||
AC_CHECK_LIB([m], [cos], [], [echo "m library not found. Please install m library before proceeding"; exit -1]) | ||
AC_CHECK_LIB([gslcblas], [cblas_dgemm], [], [echo "gsl library not found. Please install gsl library before proceeding"; exit -1]) | ||
AC_CHECK_LIB([gsl], [gsl_blas_dgemm], [], [echo "gsl library not found. Please install gsl library before proceeding"; exit -1]) | ||
AC_CHECK_LIB([nsort], [nsort_define], [], [echo "nsort library not found. An inferior sorting will be used."]) | ||
AC_CHECK_LIB([db], [db_create], [], [echo "Berkeley Database library not found. Support for BDB will be excluded."]) | ||
|
||
|
||
# Checks for header files. | ||
AC_HEADER_STDC | ||
AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h unistd.h]) | ||
|
||
# Checks for typedefs, structures, and compiler characteristics. | ||
AC_HEADER_STDBOOL | ||
AC_C_CONST | ||
AC_C_INLINE | ||
AC_TYPE_INT32_T | ||
AC_TYPE_INT64_T | ||
AC_TYPE_OFF_T | ||
AC_TYPE_SIZE_T | ||
AC_TYPE_SSIZE_T | ||
AC_HEADER_TIME | ||
AC_TYPE_UINT16_T | ||
AC_TYPE_UINT32_T | ||
AC_TYPE_UINT64_T | ||
AC_TYPE_UINT8_T | ||
AC_C_VOLATILE | ||
|
||
|
||
# Checks for library functions. | ||
AC_PROG_GCC_TRADITIONAL | ||
AC_FUNC_MALLOC | ||
AC_FUNC_MEMCMP | ||
AC_FUNC_MMAP | ||
AC_FUNC_REALLOC | ||
AC_FUNC_SELECT_ARGTYPES | ||
AC_TYPE_SIGNAL | ||
AC_CHECK_FUNCS([bzero ftruncate gethostbyname getpagesize gettimeofday inet_ntoa memchr memmove memset munmap select socket strdup strerror strtol strtoul strtoull]) | ||
|
||
#CFLAGS="$CFLAGS -Wall -Wextra" | ||
#CXXFLAGS="$CXXFLAGS -Wall -Wextra" | ||
|
||
AC_CONFIG_FILES([ Makefile | ||
utils/Makefile | ||
fawnds/Makefile | ||
test/Makefile | ||
test/fawnds/Makefile | ||
]) | ||
|
||
AC_OUTPUT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
/* | ||
* Licensed to the Apache Software Foundation (ASF) under one or more | ||
* contributor license agreements. See the NOTICE file distributed with | ||
* this work for additional information regarding copyright ownership. | ||
* The ASF licenses this file to You under the Apache License, Version 2.0 | ||
* (the "License"); you may not use this file except in compliance with | ||
* the License. You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
/* | ||
* $Id: DOMTreeErrorReporter.cpp 471735 2006-11-06 13:53:58Z amassari $ | ||
*/ | ||
|
||
// --------------------------------------------------------------------------- | ||
// Includes | ||
// --------------------------------------------------------------------------- | ||
#include <xercesc/sax/SAXParseException.hpp> | ||
#include "DOMTreeErrorReporter.hpp" | ||
#if defined(XERCES_NEW_IOSTREAMS) | ||
#include <iostream> | ||
#else | ||
#include <iostream.h> | ||
#endif | ||
#include <stdlib.h> | ||
#include <string.h> | ||
|
||
|
||
void DOMTreeErrorReporter::warning(const SAXParseException& toCatch) | ||
{ | ||
XERCES_STD_QUALIFIER cerr << "Warning at file \"" << StrX(toCatch.getSystemId()) | ||
<< "\", line " << toCatch.getLineNumber() | ||
<< ", column " << toCatch.getColumnNumber() | ||
<< "\n Message: " << StrX(toCatch.getMessage()) << XERCES_STD_QUALIFIER endl; | ||
} | ||
|
||
void DOMTreeErrorReporter::error(const SAXParseException& toCatch) | ||
{ | ||
fSawErrors = true; | ||
XERCES_STD_QUALIFIER cerr << "Error at file \"" << StrX(toCatch.getSystemId()) | ||
<< "\", line " << toCatch.getLineNumber() | ||
<< ", column " << toCatch.getColumnNumber() | ||
<< "\n Message: " << StrX(toCatch.getMessage()) << XERCES_STD_QUALIFIER endl; | ||
} | ||
|
||
void DOMTreeErrorReporter::fatalError(const SAXParseException& toCatch) | ||
{ | ||
fSawErrors = true; | ||
XERCES_STD_QUALIFIER cerr << "Fatal Error at file \"" << StrX(toCatch.getSystemId()) | ||
<< "\", line " << toCatch.getLineNumber() | ||
<< ", column " << toCatch.getColumnNumber() | ||
<< "\n Message: " << StrX(toCatch.getMessage()) << XERCES_STD_QUALIFIER endl; | ||
} | ||
|
||
void DOMTreeErrorReporter::resetErrors() | ||
{ | ||
fSawErrors = false; | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
/* | ||
* Licensed to the Apache Software Foundation (ASF) under one or more | ||
* contributor license agreements. See the NOTICE file distributed with | ||
* this work for additional information regarding copyright ownership. | ||
* The ASF licenses this file to You under the Apache License, Version 2.0 | ||
* (the "License"); you may not use this file except in compliance with | ||
* the License. You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
/* | ||
* $Id: DOMTreeErrorReporter.hpp 471735 2006-11-06 13:53:58Z amassari $ | ||
*/ | ||
|
||
#include <xercesc/util/XercesDefs.hpp> | ||
#include <xercesc/sax/ErrorHandler.hpp> | ||
#if defined(XERCES_NEW_IOSTREAMS) | ||
#include <iostream> | ||
#else | ||
#include <iostream.h> | ||
#endif | ||
|
||
|
||
XERCES_CPP_NAMESPACE_USE | ||
|
||
|
||
class DOMTreeErrorReporter : public ErrorHandler | ||
{ | ||
public: | ||
// ----------------------------------------------------------------------- | ||
// Constructors and Destructor | ||
// ----------------------------------------------------------------------- | ||
DOMTreeErrorReporter() : | ||
fSawErrors(false) | ||
{ | ||
} | ||
|
||
~DOMTreeErrorReporter() | ||
{ | ||
} | ||
|
||
|
||
// ----------------------------------------------------------------------- | ||
// Implementation of the error handler interface | ||
// ----------------------------------------------------------------------- | ||
void warning(const SAXParseException& toCatch); | ||
void error(const SAXParseException& toCatch); | ||
void fatalError(const SAXParseException& toCatch); | ||
void resetErrors(); | ||
|
||
// ----------------------------------------------------------------------- | ||
// Getter methods | ||
// ----------------------------------------------------------------------- | ||
bool getSawErrors() const; | ||
|
||
// ----------------------------------------------------------------------- | ||
// Private data members | ||
// | ||
// fSawErrors | ||
// This is set if we get any errors, and is queryable via a getter | ||
// method. Its used by the main code to suppress output if there are | ||
// errors. | ||
// ----------------------------------------------------------------------- | ||
bool fSawErrors; | ||
}; | ||
|
||
inline bool DOMTreeErrorReporter::getSawErrors() const | ||
{ | ||
return fSawErrors; | ||
} | ||
|
||
// --------------------------------------------------------------------------- | ||
// This is a simple class that lets us do easy (though not terribly efficient) | ||
// trancoding of XMLCh data to local code page for display. | ||
// --------------------------------------------------------------------------- | ||
class StrX | ||
{ | ||
public : | ||
// ----------------------------------------------------------------------- | ||
// Constructors and Destructor | ||
// ----------------------------------------------------------------------- | ||
StrX(const XMLCh* const toTranscode) | ||
{ | ||
// Call the private transcoding method | ||
fLocalForm = XMLString::transcode(toTranscode); | ||
} | ||
|
||
~StrX() | ||
{ | ||
XMLString::release(&fLocalForm); | ||
} | ||
|
||
|
||
// ----------------------------------------------------------------------- | ||
// Getter methods | ||
// ----------------------------------------------------------------------- | ||
const char* localForm() const | ||
{ | ||
return fLocalForm; | ||
} | ||
|
||
private : | ||
// ----------------------------------------------------------------------- | ||
// Private data members | ||
// | ||
// fLocalForm | ||
// This is the local code page form of the string. | ||
// ----------------------------------------------------------------------- | ||
char* fLocalForm; | ||
}; | ||
|
||
inline XERCES_STD_QUALIFIER ostream& operator<<(XERCES_STD_QUALIFIER ostream& target, const StrX& toDump) | ||
{ | ||
target << toDump.localForm(); | ||
return target; | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
/* | ||
* Licensed to the Apache Software Foundation (ASF) under one or more | ||
* contributor license agreements. See the NOTICE file distributed with | ||
* this work for additional information regarding copyright ownership. | ||
* The ASF licenses this file to You under the Apache License, Version 2.0 | ||
* (the "License"); you may not use this file except in compliance with | ||
* the License. You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
/* | ||
* $Id: DOMPrintErrorHandler.cpp 471735 2006-11-06 13:53:58Z amassari $ | ||
*/ | ||
|
||
#include <xercesc/util/XMLString.hpp> | ||
#include <xercesc/dom/DOMError.hpp> | ||
#if defined(XERCES_NEW_IOSTREAMS) | ||
#include <iostream> | ||
#else | ||
#include <iostream.h> | ||
#endif | ||
|
||
#include "DOMWriteErrorHandler.hpp" | ||
|
||
bool DOMWriteErrorHandler::handleError(const DOMError &domError) | ||
{ | ||
// Display whatever error message passed from the serializer | ||
if (domError.getSeverity() == DOMError::DOM_SEVERITY_WARNING) | ||
XERCES_STD_QUALIFIER cerr << "\nWarning Message: "; | ||
else if (domError.getSeverity() == DOMError::DOM_SEVERITY_ERROR) | ||
XERCES_STD_QUALIFIER cerr << "\nError Message: "; | ||
else | ||
XERCES_STD_QUALIFIER cerr << "\nFatal Message: "; | ||
|
||
char *msg = XMLString::transcode(domError.getMessage()); | ||
XERCES_STD_QUALIFIER cerr<< msg <<XERCES_STD_QUALIFIER endl; | ||
XMLString::release(&msg); | ||
|
||
// Instructs the serializer to continue serialization if possible. | ||
return true; | ||
} | ||
|
Oops, something went wrong.