Reasoning with geometric information in digital space
Introduction
Deadlock is a major problem in computer science. In this paper, we discuss how to address this geometrically, by representing the resource elements of processes as isothetic rectangles in a diagram. We consider the special case of discrete time steps, which allows us to map these diagrams into digital space. We then apply the techniques of inter-diagrammatic reasoning to solve the deadlock problem, resulting in a dynamic deadlock avoidance technique.
In the 1980s, researchers worked hard on defining concurrency control mechanisms, one of which is using geometrical representation techniques. Dijkstra was the first researcher to explain semaphores using progress graphs [3]. Although he did not use them as a technique to find a safe solution, other researchers used progress graphs as a geometrical representation technique to prove that a schedule was safe and deadlock free. The properties of transaction systems with lock operations were related to the geometry of isothetic rectangles in [12].
The efficient graphical solutions for deadlock require that the set of rectangles be known in advance. The prior knowledge of all requirements is needed to construct the graphical image of the system from which a solution can be calculated. This static mode of operation is a limitation, especially in most of the real concurrent applications. In dynamic operation, as the set of rectangles change, a new solution has to be calculated automatically. This requires a computational framework that works on the rectangle level, in contrast to the Euclidean solution where a processing step works parallel to the axis. There is no known graphical solution that operates dynamically till now; there are non-graphical approaches for deadlock prevention [11], [5] but not avoidance.
In dealing with deadlock, one has to sacrifice convenience or correctness. Some systems ignore the problem, assuming that it happens rarely. But when it happens, restoring the system is a big burden with great loss. Another solution is detection and resolution: the system tries to detect when it happens and then recover from it. If deadlock can be detected, recovery is difficult and some times impossible. The other technique is to avoid deadlock, but is there an algorithm that allocates resources safely? The algorithms known are restricted by the fact that all resources must be requested in advance; no dynamic algorithm exists. The last technique known is to prevent deadlock from occurring, but to find appropriate conditions for prevention is usually unpractical in most systems [10].
The collection of rectangles in the plane is an abstract representation of several real problems. The research in that area works on orthogonal directions—parallel to the axes—called isothetic rectangles according to [8] (other researchers call it iso-oriented, orthogonal, linear and aligned), iso-rectangles for short. The collection of isothetic rectangles is characterized by the unique property that the plane can be subdivided into subintervals, in each direction of the coordinates, where each axis here represents a concurrent transaction. Each rectangle represents two intervals each on each axis, the two intervals are the mutual exclusion period for requesting a single resource by the two transactions.
The goal of this research is to avoid deadlock dynamically—in situations where the resources are not all known in advance. We restrict time to be discrete integer values, which means that the diagrams are in discrete space, where we can use inter-diagrammatic reasoning (IDR) as a reasoning tool. IDR requires an underlying discrete tessellation, isothetic rectangles characterizes such discrete grid. IDR operates over the rectilinear grid, rectangle by rectangle. As a rectangle can represent a requested resource in a concurrent system, requests are handled dynamically to prevent deadlock. At the same time this geometrical reasoning technique allows visual monitoring of the system. The state of the concurrent system can be verified at any given time.
Inter-diagrammatic reasoning (IDR) is a computational framework for digital geometry [1]. IDR can be used to represent digital geometry in two dimensions, as well as providing a concise language for specifying algorithms. In previous work [7], we showed how IDR provides an algorithmic and computational framework for computing in planar digital space. We examined the characteristics of digital geometry and digital pictures, and applied inter-diagrammatic reasoning to represent data and computations relating to planar digital pictures.
We will define some basic notations about the geometry of isothetic rectangles and IDR as a general computational framework. A detailed description of how concurrency can be geometrically represented is given. The reasoning mechanism for a concurrent system of two nodes is first defined and then we generalized the technique to d-transaction system, and finally, we concluded the proposed technique.
Section snippets
Isothetic rectangles
An application involving intervals or subdivision of the domain space is a candidate to be represented computationally using isothetic rectangles. Two well-studied problems represented and solved using isothetic rectangles are concurrency control [2], [6] and VLSI design [4]. Isothetic rectangles can also represent other problems like scheduling, performance and QoS, which are problems in database management, operating systems and networking.
By definition an isothetic rectangle is a rectangle
Inter-diagrammatic reasoning
The fundamental concept of inter-diagrammatic reasoning is that reasoning is done about information in diagrams. The solution is taken from inferences over a set of diagrams and is represented over another diagram (or a set of diagrams). The fundamental computational step is the combination of two diagrams.
Any computational step in IDR depends on the underlying uniform tessellation of the two-dimensional space. The computation step is done on two diagrams of same tessellation by evaluating an
Isothetic rectangles and concurrency
A concurrent system is composed of a set of concurrent nodes or transactions. A node can be a transaction in a database system, a process or task in operating systems, or any entity that requires some resources in a multi-processing system. Each node requests a set of resources as it is running in a certain order, in other words, a set of actions in sequence. The node can be subdivided into time intervals of equal space. Each interval represents an action; a unit time of accessing a certain
Safe and deadlock free reasoning
Safety is achieved by scheduling actions outside of the forbidden areas. However, the use of semaphores (lock/unlock operations in mutual exclusion) can deadlock some nodes, which are cyclic wait relationships between transactions. Thus, besides safety, freedom from deadlock is another important factor.
Deadlock graphically means that a curve on the (T1, T2) relationship graph reached a point where it can not proceed forward any more. The area marked D in Fig. 2 is a deadlock area. If a curve
Conclusion
We proposed a solution for representing and solving the concurrency control problem diagrammatically from the set of isothetic rectangles. Isothetic rectangles are handled in a digital framework. Using IDR the solution is represented and calculated on a pixel by pixel basis. In comparison to the continuous space solution where line sweep technique were used, this algorithm takes O(n log p) time.
The new proposed solution to isothetic rectangles allows the system to work in a dynamic mode of
References (12)
- et al.
Diagram processing: computing with diagrams
Artificial Intelligence
(2003) - et al.
Area and perimeter computation of the union of a set of iso-rectangles in parallel
Journal of Parallel and Distributed Computing
(1995) - et al.
A fast algorithm for testing for safety and detecting deadlocks in locked transaction
Journal of Algorithms
(1981) - et al.
The geometry of semaphore programs
ACM Transactions on Programming Languages and Systems
(1987) Co-operating sequential processes
- K. Lam, C. Pang, S. Son, Resolving executing-committing conflicts in distributed real-time database systems, Computer...
Cited by (3)
Geometric Bonferroni means of interval-valued intuitionistic fuzzy numbers and their application to multiple attribute group decision making
2018, Neural Computing and ApplicationsIntuitionistic fuzzy geometric bonferroni means and their application in multicriteria decision making
2012, International Journal of Intelligent SystemsGraphical deadlock avoidance
2009, ACT 2009 - International Conference on Advances in Computing, Control and Telecommunication Technologies