Table 6: Solution specific ontology mappings for Knights
& Forks scenario.
KF 1 KF 2 KF 3
TC
coordinate a choose who to no
schedule of: get rid of and coordination
2 people eating coordinate a each person
and 3 people schedule of: has a set
thinking 2 people eating of forks
and 2 thinking
DC
fork between fork between no
two knights two knights coordination
(shared access) (shared access) each person
has a set
of forks
data distribution.
For example, in the movie theatre scenario, the
task was to wait in line to purchase a ticket while the
data was distributed across two booths. The simplest
solution in terms of coordination was to make use of
only one line up but in looking at the sequential entity
for this scenario it is clear that this would sequential-
ize the solution.
Similarly, with the Knights and Forks scenario,
minimal coordination was required in the solutions
where a knight was removed or the individual knights
took turns eating. Again, the relationship between the
task and data distribution entities that is dictated by
this minimal coordination can be identified by look-
ing at the entities in Table 3. In this case we see that
the task is to eat and think and by giving up one of
the knights in fact computational power is being sac-
rificed. Again, if each night takes a turn eating this
a sequential solution as listed in the top row of the
Knights and Forks scenario of Table 3.
5 CONCLUSIONS
Currently we face the precarious situation where par-
allelism is challenging because developers lack a
means of exploring possible internal dynamics and
causal relationships that tend to be problematic in
these code bases. Our study shows that many impor-
tant relationships are actually concealed or implicit.
This is particularly true in real-world scenarios, of-
ten used in pedagogical practices when introducing
these concepts. Abstractions and mechanisms that
hide these relationships as opposed to accentuating
them maybe in fact do more harm than good in fu-
ture code bases.
Though parallelism itself is not a new challenge,
the current state of flux for applications and the de-
gree to which they need to be transformed is rel-
atively new and somewhat alarming (Sutter, 2005).
The daunting task of efficient programming for highly
parallel systems is currently receiving much atten-
tion from several perspectives within computer sci-
ence (Asanovic et al., 2006). This offers an opportu-
nity for researchers to rethink programming models,
system software, and hardware architectures from the
ground up.
This paper proposes an ontology that would map
to the general conceptual entities of a solution to a
parallel problem. The entity identification, based on
a top-down analysis of conceptual activities was cor-
roborated through consideration of parallel research
and existing mechanisms. The application of the on-
tology onto solutions at the level of activities demon-
strates its support for reasoning about and comparing
solutions in an aim to convey the tradeoffs within a
parallel solution space.
Future work requires a more exhaustive list of
these relationships with advice from experts in par-
allel application development. We also look to ontol-
ogy experts to help us better define the ontology in
order to take full advantage of reasoning engines and
cognitive support.
REFERENCES
Amdahl, G. M. (2000). Validity of the single processor ap-
proach to achieving large scale computing capabili-
ties. Readings in computer architecture, pages 79–81.
Appavoo, J., Uhlig, V., and Waterland, A. (2008). Building
a Global-Scale Computer. SIGOPS Operating System
Review, 42(1):77–84.
Asanovic, K., Bodik, R., Catanzaro, B. C., Gebis, J. J.,
Husbands, P., Keutzer, K., Patterson, D. A., Plishker,
W. L., Shalf, J., Williams, S. W., and Yelick, K. A.
(2006). The Landscape of Parallel Computing Re-
search: A View from Berkeley. Technical Report
UCB/EECS-2006-183, EECS Department, University
of California, Berkeley.
Gunion, K. (2009). FUNdamentals of CS: Designing
and Evaluating Computer Science Activities for Kids.
Master’s thesis, Department of Computer Science,
University of Victoria.
Nvidia (2008). The Nvidia Tesla Supercomputer.
http://www.nvidia.com/object/personal supercompu
ting.html.
Pancake, C. M. and Bergmark, D. (1990). Do parallel lan-
guages respond to the needs of scientific program-
mers? Computer, 23:13–23.
Shah, N., Plishker, W., and Keutzer, K. (2003). NP-Click:
A Programming Model for the Intel IXP1200. In 2nd
Workshop on Network Processors (NP-2) at the 9th
International Symposium on High Performance Com-
puter Architecture (HPCA-9), Anaheim, CA.
Sutter, H. (2005). The Free Lunch Is Over: A Fundamental
Turn Toward Concurrency in Software. Dr. Dobb’s
Journal, 30(3).
KEOD 2010 - International Conference on Knowledge Engineering and Ontology Development
310