INTERNATIONAL JOURNAL OF NATURAL AND APPLIED SCIENCES (IJNAS), VOL. 6, NOS.1& 2 (2011); P. 63 – 71, 1TABLE,
.
Issues on concurrency controls in transactional database system: The automatic teller
machine (ATM) problem.
F. U. Ogban
1*
and P. Asagba
2
INTRODUCTION
Concurrent computing is a form of computing in which programs
are designed as collections of interacting computational processes that
may be executed in parallel (Taubenfeld, 2006). Concurrent programs
can be executed sequentially on a single processor by interleaving the
execution steps of each computational process, or executed in parallel
by assigning each computational process to one of a set of processors
that may be close or distributed across a network (Ben-Ari, 2006).
Above understanding if considered strictly, would limit our avenues
for implementing concurrent computing in some instance. It must be
noted that the main challenges in designing concurrent programs are
ensuring the correct sequencing of the interactions or communications
between different computational processes, and coordinating access to
resources that are shared among processes. In such design, especially
in transactional computing, where database contents are read and
written, our target is to avoid interferences of a process (with its
associated data) and other processes (with its own associated data). A
number of different methods can be used to implement concurrent
programs, such as implementing each computational process as an
operating system process. (Brinch, 1993, Hoare, 1974) or
implementing the computational processes as a set of threads within a
single operating system process (Taubenfeld; 2006).
The concept of nested transactions offers more decomposable
execution units and finer-grained control over concurrency and
recovery than "flat" transactions. Furthermore, it supports
the decomposition of a "unit of work" into subtasks and their
appropriate distribution in a computer system as a prerequisite of
intra-transaction parallelism. However, to exploit its full potential,
suitable granules of concurrency control as well as access modes for
shared data are necessary (Ben-Ari, 2006). In this paper, we
investigate various issues of concurrency control for nested
transactions.
Communication in concurrent computing
In some concurrent computing systems, communication between
the concurrent components is hidden from the programmer (e.g., by
using futures), while in others it must be handled explicitly. Explicit
communication can be divided into two classes as fellows
a).Shared memory communication: Concurrent components
communicate by altering the contents of shared memory locations
(exemplified by Java and C#). This style of concurrent programming
usually requires the application of some form of locking (e.g.,
mutexes (means mutual exclusion), semaphores, or monitors) to
coordinate between threads.
b). Message passing communication: Concurrent components
communicate by exchanging messages (exemplified by Erlang and
occam). The exchange of messages may be carried out
asynchronously (sometimes referred to as "send and pray", although it
is standard practice to resend messages that are not
ABSTRACT
Concurrency control issues like the “isle-of-March” has come but not gone. It is not surprising that several models designed to handle
concurrency control in databases; there still exist some overheads in transactional database controls. One of such problems is the
incompletion of the execution of necessary codes within the critical region of a lock transaction implementation thus generating data
integrity fault (–such as dirty read, non-repeated read and phantom read) and inconsistent data (- such as non-submitted data, late submitted
data etc). In this work, the locks paradigms were reappraised to suit situations of usage and recommend particular areas of application of the
different locking strategies so designed. New construct of control issues were recreated vis-à-vis the application situation found on ground
like the Automatic Teller Machine problem.
*Corresponding author. Email:
1
Department of Mathematics/Statistics & Computer Science, University of Calabar, Calabar, Nigeria
2
Department of Computer Science, University of Port Harcourt, Port Harcourt, Nigeria
© 2011 International Journal of Natural and Applied Sciences (IJNAS). All rights reserved.
63