Atomic K-Mer

From CSE231 Wiki
Jump to navigation Jump to search

Motivation

With many more buckets than processors there is reason to be optimistic. Dramatic performance improvements can be achieved by using atomics to ensure thread safety instead of locks.

Background

AtomicReferenceArray

volatile

Code To Implement

class: OptimisticConcurrencyKMerCounter.java Java.png
methods: parse
package: kmer.extracredit
source folder: student/src/main/java

method: public KMerCount parse(List<byte[]> sequences, int k) Parallel.svg (parallel implementation required)

Testing Your Solution

Correctness

class: OpenEndedKMerTestSuite.java Junit.png
package: kmer.extracredit
source folder: testing/src/test/java

Performance

class: ExtraCreditKMerTiming.java Noun Project stopwatch icon 386232 cc.svg
package: kmer.extracredit
source folder: src/main/java