Information Technology Reference
In-Depth Information
what might be included. Typically, by this stage your research has become focused
on investigation of a small number of specific questions, and you have preliminary
experimental or theoretical results that suggest what the core contribution of the work
is going to be.
You might start, for example, by asking questions such as:
￿
Which results are the most surprising?
￿
What is the one result that other researchers might adopt in their work?
￿
Are the other outcomes independent enough to be published separately later on?
Are they interesting enough to justify their being included?
￿
Does it make sense to explain the new algorithms first, followed by description of
the previous algorithms in terms of how they differ from the new work? Or is the
contribution of the new work more obvious if the old approaches are described
first, to set the context?
￿
What assumptions or definitions need to be formalized before the main theorem
can be presented?
￿
What is the key background work that has to be discussed?
￿
Who is the readership? For example, are you writing for specialists in your area,
your examiners, or a general computer science audience?
Other questions are given in the checklist at the end of this chapter.
A valuable exercise at this stage is to speculate on the format and scope of the
results. Early in the investigation, decisions will have beenmade about how the results
are to be evaluated—that is, about whichmeasures are to be used to determinewhether
the research has succeeded or failed. For example, it may be that network congestion
is the main respect in which the research is expected to have yielded improvements in
performance. But how is network congestion to be measured? As a function of data
volume, number of machines, network bandwidth, or something else? Answering
this question suggests a form of presentation into which the experimental results can
be inserted: a graph, perhaps. The form of this graph can be sketched even before any
coding has begun, and doing so identifies the kind of output that the code is required
to produce.
Consider a detailed example: an investigation of external sorting in database sys-
tems. In this task, a large database table—tens of millions of records, say, constituting
many gigabytes—must be sorted on a field that is specified in a query. An effective
sorting method is to sort the table one block at a time, storing the sorted blocks in a
temporary file then merging them to give the final result. Costs include processing
time for sorting and merging, transfer time to and from disk, and temporary space
requirements. The balance between these costs is governed by available in-memory
buffer space, as large blocks are expensive to sort but cheap to merge. The spe-
cific research question being investigated is whether disk costs can be reduced by
compressing the data while it is sorted.
Speculation about how compression might affect costs suggest how the work
should be measured. For small tables, compression seems unlikely to be of help—
compressing and then decompressing adds processing costs but does not provide
Search WWH ::




Custom Search