Skip to content

Progress and Upcoming Hurdles

02/28/2012

I have a made a great deal of progress with the algorithm. I have written the safety verification code. This presented a number of hurdles:

Firstly, migrating the code from my custom client back over to YCSB has been difficult, due to a number of threading  problems.

Secondly, since I have to pull values out of the underlying database for checking, I have had to add value-reading functionality to the underlying clients.

Another issue (now solved) was that YCSB-generated entries to the database were not being escaped correctly somewhere in the build pipeline. This was a massive timesink, since I thought I had run into a concurrency bug. For now, all database field values entries are alphanumeric. This should be more than sufficient for testing. The lesson learned is that the rubber ducky debugging should have started sooner rather than later.

Current (high-priority) tasks

The sequential consistency verification algorithm must be written. The algorithm requires that each operation can be traced back to its issuing process:

[To] verify sequential consistency, we need to know which

process issues which operation in the history, in contrast to the pre-

vious three consistency properties. In this section, we assume that

the history includes such information, and that we know in advance

the full set of processes that may issue operations. Both assump-

tions can be realized easily in practice.

Offline verification of sequential consistency is NP-complete if

writes can assign duplicate values [14, 27], but admits straight-

forward solutions if we assume that each write assigns a unique

value.

Due to the way that YCSB launches operations, this may require some cross-thread communication (this is a major hurdle).

Future (low-priority) tasks

The atomicity verification algorithm 

Give value-reading functionality to each YCSB database client. I have already implemented (but not thoroughly tested) this for the CassandraClient10 class. I do not believe this is necessary for my thesis, but plan to contribute the necessary code to the open-source community once my thesis is complete.

Advertisements
No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: