?

Log in

No account? Create an account
My dissertation abstract - Lindsey Kuper [entries|archive|friends|userinfo]
Lindsey Kuper

[ website | composition.al ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

My dissertation abstract [Aug. 6th, 2014|05:46 pm]
Lindsey Kuper
[Tags|, ]

So I need to write an abstract for my dissertation. Anyone wanna glance over this and tell me what you think?

If you suggest any edits, keep in mind that it's currently at 300 words, which is the maximum allowed. I'm frustrated that I couldn't explain things in more detail, so if you can think of any way to make things clearer while not increasing the overall word count, I'm all ears.

Deterministic-by-construction parallel programming models guarantee that programs have the same observable behavior on every run, promising freedom from bugs caused by schedule nondeterminism. To make that guarantee, though, they must sharply restrict sharing of state between parallel tasks, usually either by disallowing sharing entirely or by restricting it to one type of data structure, such as single-assignment locations.

I show that lattice-based data structures, or LVars, are the foundation for a guaranteed-deterministic parallel programming model that allows a more general form of sharing. LVars allow multiple assignments that are inflationary with respect to an application-specific lattice. They ensure determinism by allowing only inflationary writes and "threshold" reads that block until a lower bound is reached. After presenting the basic LVars model, I extend it to support event handlers, which enable an event-driven programming style, and non-blocking "freezing" reads, resulting in a quasi-deterministic model in which programs behave deterministically modulo exceptions.

I demonstrate the viability of the LVars model with LVish, a Haskell library that provides a collection of lattice-based data structures, a work-stealing scheduler, and a monad in which LVar computations run. LVish leverages Haskell's type system to index such computations with effect levels to ensure that only certain LVar effects can occur, hence statically enforcing determinism or quasi-determinism. I present two case studies of parallelizing existing programs using LVish: a k-CFA control flow analysis, and a bioinformatics application for comparing phylogenetic trees.

Finally, I show how LVar-style threshold reads apply to the setting of convergent replicated data types (CvRDTs), which specify the behavior of eventually consistent replicated objects in a distributed system. I extend the CvRDT model to support deterministic, strongly consistent threshold queries. The technique generalizes to any lattice, and hence any CvRDT, and allows deterministic observations to be made of replicated objects before the replicas' states converge.

LinkReply

Comments:
[User Picture]From: etb
2014-08-07 01:29 am (UTC)
It feels like you're trying to summarize everything you did in the abstract. You don't have room, and someone trying to decide whether to read your thesis may not want to read 200 words, much less 300. If they want to know everything you did, they need to read the introduction.

The goal shouldn't be "they read my abstract, so now they know exactly what I spent n years of my life on", but "they read my abstract, and now they can make an informed decision about whether to look at the first chapter".

So, for example, in the last paragraph I would probably drop the clause explaining what CvRDTs are—figuring that either the reader already knows, or doesn't know whether to care—and cut other stuff (keeping in mind that you know far more about your research than I do, and I may be cutting the wrong parts), something like

"Finally, I show how LVar-style threshold reads apply to the setting of convergent replicated data types (CvRDTs). I extend the CvRDT model to support deterministic, strongly consistent threshold queries, for all CvRDTs."
(Reply) (Thread)
[User Picture]From: lindseykuper
2014-08-07 01:34 am (UTC)
That's a good point. But I felt like I needed to explain what CvRDTs have to do with distributed systems, because the title of my diss is "Lattice-based Data Structures for Deterministic Parallel and Distributed Programming", so I needed to justify the "Distributed" somehow!
(Reply) (Parent) (Thread)
[User Picture]From: etb
2014-08-07 01:38 am (UTC)
OK, could you say "…to the setting of convergent replicated data types (CvRDTs) in a distributed system."? But if I'm reading your abstract because the title contained the word "distributed", I'd guess that I already know that CvRDTs are a thing you use in distributed systems...
(Reply) (Parent) (Thread)
[User Picture]From: lindseykuper
2014-08-08 01:36 am (UTC)
But if I'm reading your abstract because the title contained the word "distributed", I'd guess that I already know that CvRDTs are a thing you use in distributed systems...

I'm not sure if that's the case. C(v)RDTs are a pretty new idea (the first paper that gave a name to the concept came out in 2011), and a lot of people who do distributed systems aren't necessarily working on eventually consistent systems (which itself is a fairly recent concept) and hence wouldn't know or care about C(v)RDTs.
(Reply) (Parent) (Thread)
From: aleffert
2014-08-07 03:31 am (UTC)
(I have never written a thesis abstract beyond my undergrad one which DEFINITELY doesn't count).

I thought it was really good at telling me what the work covered as long as I know about some vaguely related things. I kind of mostly follow your research so I may have too much background, but I felt like it built up the story pretty well.

The "though" in the first paragraph seems redundant?
(Reply) (Thread)
(Deleted comment)
[User Picture]From: lindseykuper
2014-08-08 01:37 am (UTC)
Thanks, Chris, this is really helpful! I'll mull it over.
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: lindseykuper
2014-08-12 07:58 am (UTC)
It's interesting how divided people are on whether or not to use "I" or "we" and if so, which to use. Amal uses "I" in both the abstract and the main text of her dissertation. Will Byrd uses "I" in the abstract, but "we" in the main text of his. Aaron Turon avoids "I" or "we" in the abstract, and uses "we" in the main text of his. Conor McBride avoids "I" or "we" in the abstract of his, but the text is absolutely peppered with "I". And so on.

Use of "I" or "we" in an abstract sounds really off to me. Using "I" statements in academic text is like using neon das blinkenlights— it's screaming for attention and personal praise.

Do you feel this way for all paper abstracts, or just for dissertations? I ask because I see abstracts for papers with "we" all the time, and to me it just seems like the done thing. (Out of curiosity, I just grabbed the nearest available proceedings (ICFP '13) off the shelf and started reading abstracts to see what they used, and the first ten papers all have abstracts that use "we" (and Ulf Norell's invited talk abstract used "I").)
(Reply) (Parent) (Thread)