Skip to content

TritonNetworking/themis_tritonsort_cloudburst

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Themis MapReduce/TritonSort CloudBurst Port
August 8, 2015
http://themis.sysnet.ucsd.edu/

This code is made available under 3-clause BSD (see LICENSE file), and is
provided for mainly for eductional purposes. We will not be supporting this
codebase moving forward, so please don't ask for feature requests, bug fixes,
or runtime support. Themis and TritonSort are research prototypes, and were
built for our research testbeds. They may not run on arbitrary platforms, and
significant effort may be required to run them.

This codebase includes a port of the CloudBurst project
(http://sourceforge.net/projects/cloudburst-bio/) for Themis MapReduce.

Place the files within src/ in the same directories in your main Themis directory.

Add the following clause to src/tritonsort/mapreduce/functions/map/MapFunctionFactory.cc
```
  } else if (mapName == "CloudBurstMapFunction") {
      mapFunction = new CloudBurstMapFunction(
        params.get<uint32_t>("CLOUDBURST_MAX_ALIGN_DIFF"),
        params.get<uint32_t>("CLOUDBURST_REDUNDANCY"),
        params.get<int32_t>("CLOUDBURST_MIN_READ_LEN"),
        params.get<int32_t>("CLOUDBURST_MAX_READ_LEN"));
  }
```

Add the following clause to src/tritonsort/mapreduce/functions/reduce/ReduceFunctionFactory.cc:
```
  } else if (reduceName == "CloudBurstReduceFunction") {
    return new CloudBurstReduceFunction(
        params.get<uint32_t>("CLOUDBURST_MAX_ALIGN_DIFF"),
        params.get<uint32_t>("CLOUDBURST_SEED_LEN"),
        params.get<uint32_t>("CLOUDBURST_ALLOW_DIFFERENCES"),
        params.get<uint32_t>("CLOUDBURST_BLOCK_SIZE"),
        params.get<uint32_t>("CLOUDBURST_REDUNDANCY"));
  }
```

Add the following clause to src/tritonsort/mapreduce/functions/partition/PartitionFunctionFactory.cc:
```
  } else if (partitionFunctionName.compare("CloudburstPartitionFunction") == 0) {
    // Use a special (non-order-preserving) hash function for Cloudburst
    partitionFunction = new (themis::memcheck)
      CloudburstPartitionFunction(keyPartitioner);
  }
```

About

CloudBurst port for Themis MapReduce and TritonSort

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published