A quantification of aborting effect for real-time data accesses ...

0 downloads 0 Views 929KB Size Report
real-time scheduling algorithms, conventional concurrency control algorithms, and ..... known PCP, Rate Monotonic Scheduling algorithm (RMS). [8], and Abort ...
670

IEEE TRANSACTIONS ON COMPUTERS, VOL. 52, NO. 5,

MAY 2003

A Quantification of Aborting Effect for Real-Time Data Accesses Ming-Chung Liang, Tei-Wei Kuo, Senior Member, IEEE, and LihChyun Shu, Member, IEEE Abstract—This paper proposes a generic framework to integrate real-time scheduling algorithms, conventional concurrency control algorithms, and aborting algorithms. The schedulability of a transaction system is improved by aborting excessive blocking from lower priority transactions. A schedulability analysis model is proposed to better manage the schedulability of a transaction system. Index Terms—Real-time databases, concurrency control, priority inversion, transaction aborting, real-time data access.

æ 1

INTRODUCTION

W

HILE past work in database performance stressed mostly on throughput, there is an increasing interest in the performance of transaction systems that have stringent response time requirements. These requirements are usually specified as hard or soft deadlines on individual transactions and a concurrency control algorithm must attempt to meet the deadlines as well as preserve data consistency. A number of researchers have looked at the issues in both ensuring data consistency and guaranteeing timeliness of data accesses [1], [3], [5], [9], [13], [14], [16], [17]. The proposed algorithms, in general, can be classified as either conservative or optimisitic. Conservative algorithms [5], [16] prevent any violation of data consistency from happening. As a result, these algorithms are often selfrestrained in the coordination of data access and seldom abort transactions. On the other hand, optimistic algorithms [3], [9], [13], [14], [17] abort transactions whenever necessary, to maintain data consistency. Haritsa et al. [3] and Abbott and Garcia-Molina [1] showed the superiority of the optimistic concurrency control protocol. Their performance metrics were based on the number of transactions that miss their deadlines or were restarted. Nevertheless, their results did not quantify the abortion cost in calculating the schedulability of critical transactions. It should be noted that aborted transactions are often restarted and an abundance of system resources are wasted in servicing aborted transactions. Sha et al. [13], [14] proposed two abort-oriented protocols and demonstrated the strengths of transaction abortings in reducing priority inversion and in the improvement of the

. M.-C. Liang is with the Department of Computer Science and Information Engineering, National Chung Cheng University, Chiayi, Taiwan 621, ROC. . T.-W. Kuo is with the Department of Computer Science and Information Engineering, National Taiwan University, Taipei, Taiwan 106, ROC. E-mail: [email protected]. . L. Shu is with the Department of Accounting, National Cheng-Kung University, Tainan, Taiwan, ROC. E-mail: [email protected]. Manuscript received 1 Jan. 1995; revised 1 Aug. 1996; accepted 18 Jan. 1997. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number 116546. 0018-9340/03/$17.00 ß 2003 IEEE

schedulability of critical transactions. However, the protocols still have room for improvement. Takada and Sakamura [17] also proposed a concurrency control protocol which allows the switchings of the aborting status of transactions to better manage the blocking and aborting costs of transactions. This paper proposes a generic framework to integrate real-time scheduling algorithms, conventional concurrency control algorithms, and aborting algorithms. We consider a schedulability analysis model to better manage the schedulability of a whole transaction system. The schedulability of higher priority transactions is improved by aborting lower priority transactions that may introduce excessive blocking to higher priority transactions. Our results provide various ways of observing and managing the schedulability of a transaction system with respect to the aborting cost and the priority inversion problem. The strength of this work is demonstrated by improving the worst-case schedulability of an avionics example [10] and randomly generated transaction sets.

2

A COMPATIBILITY FRAMEWORK

2.1 Motivation A number of analytic and simulation studies on the performance of scheduling algorithms that meet the specified deadline requirements have been documented in the literature [1], [3], [5], [13], [14]. In these studies, some proposed new real-time concurrency control algorithms, some adopted real-time scheduling algorithms such as the Earliest-Deadline-First algorithm (EDF) [8] to meet the timing requirements of transactions, and some adopted conventional concurrency control algorithms such as the two-phase locking protocol (2PL) to coordinate the data accesses of transactions. The technical question is to determine which real-time scheduling algorithm can be used with which conventional concurrency control algorithm without adverse results. In other words, a real-time scheduling algorithm must allow transactions to access data objects according to the synchronization requirements of a concurrency control algorithm. If that is the case, we say that the real-time Published by the IEEE Computer Society

LIANG ET AL.: A QUANTIFICATION OF ABORTING EFFECT FOR REAL-TIME DATA ACCESSES

scheduling algorithm is compatible with the concurrency control algorithm; it is likely that the combination of the two algorithms will keep the properties such as serializability preservation of the algorithms. As an example, a real-time scheduling algorithm such as the Earliest-Deadline-First algorithm that schedules transactions/processes with the most urgent deadline is compatible with a concurrency control algorithm like 2PL. This forbids any transaction to obtain any new locks on data objects if the transaction has released any locks. A real-time scheduling algorithm that forbids transactions/processes to hold more than one resource or data object at a time is apparently incompatible with 2PL. As the astute reader can expect, most well-known realtime scheduling algorithms such as EDF [8] and conventional concurrency control algorithms such as 2PL are compatible with each other. The main difficulty lies on the compatibility problem of an aborting algorithm with a realtime scheduling algorithm and a concurrency control algorithm. It is because an aborting algorithm may change the priority structure of transactions such as that adopting priority inheritance [15] or violate the synchronization requirements imposed by a concurrency control algorithm such as serializability. An aborting algorithm must either specify these concerns or leave solutions to these concerns open if it is to be used with or to be compatible with a realtime scheduling algorithm and/or a concurrency control algorithm. As an example, if an aborting algorithm does not reset or does not allow the resetting of the priority of a transaction that was inherited from the priority of an aborted transaction, then the aborting algorithm is not compatible with the Priority Ceiling Protocol (PCP) [15] where PCP depends heavily on the idea of priority inheritance. Furthermore, an aborting algorithm that aborts any transactions involved in certain resource competition must release all resources or data objects held by the transactions to be compatible with 2PL. If an aborting algorithm is, indeed, compatible with a real-time scheduling algorithm and/or a concurrency control algorithm, then the combination of these algorithms might preserve the properties of the algorithms. The minimum requirements for an aborting algorithm to be compatible with a real-time scheduling algorithm and a concurrency control algorithm are to ensure that the aborting algorithm does not harm the priority assignment scheme, scheduling algorithm, and/or data synchronization requirements of the real-time scheduling algorithm and the concurrency control algorithm. For the purpose of this paper, we will use the terms “resource” and “data object” interchangeably. (A data object is one kind of resource.) We will also use the terms “process” and “transaction” synonymously. (A transaction is the template of its instances; an instance of a transaction is scheduled for every request of the transaction.)

2.2 Definitions and Theorem Definition 1. A real-time scheduling algorithm is regular if the algorithm does not abort any transaction instance. Definition 2. A concurrency control algorithm is regular if the algorithm only defines how and when transaction instances can acquire or release a data object.

671

Definition 3. An aborting algorithm is regular if the algorithm releases any data objects owned by the aborted transactions immediately after their abortings. For the purpose of this work, we only considered regular algorithms in this paper. Also, let the priority level of a transaction instance which was inherited from an aborted transaction instance be reset to its original level as soon as the aborting of the aborted transaction instance occurs. Beside the above recovery mechanism of priority inheritance mechansim [15], no regular aborting algorithms considered in this paper manipulate the priorities of transaction instances. Definition 4. A real-time scheduling algorithm and a concurrency control algorithm are compatible with each other if the scheduling algorithm allows transaction instances to acquire and release data objects according to the synchronization requirements of the concurrency control algorithm. Definition 5. A real-time scheduling algorithm and an aborting algorithm are compatible with each other if the aborting algorithm does not affect the resource usages of transaction instances which are not aborted. Definition 6. A concurrency control algorithm and an aborting algorithm are compatible with each other if the aborting algorithm does not abort transaction instances which have updated the database, and the aborting algorithm does not affect the data object usages of transaction instances which are not aborted. Given a compatible real-time scheduling algorithm, concurrency control algorithm, and aborting algorithm, we can show the following theorem. (With limited space, only the main theorem is included in this paper. We refer interested readers to [7] for details.) Theorem 1. Given any compatible real-time scheduling algorithm P , concurrency control algorithm L, and aborting algorithm A, let algorithm P 0 be algorithm P with data synchronization requirements restricted by algorithm L and with transaction aborting regulated by algorithm A. We shall have the following properties: 1. 2.

3.

If P is deadlock-free, P 0 is deadlock-free. P 0 will guarantee the same degree of logical correctness of schedules as what is guaranteed by L. (The transaction views of aborted transaction instances are ignored.) P and P 0 have the same number of priority inversions for any transaction instance in the worst case.

In the paper, we will propose a class of simple and efficient real-time concurrency control protocols based on the notion of compatibility. The protocols are composed of compatible real-time scheduling algorithms, conventional concurrency control algorithms, and simple aborting algorithms.

3

ABORT-ORIENTED PROTOCOLS

We assume that a transaction system consists of a fixed set of transactions. Transactions are classified as abortable or

672

IEEE TRANSACTIONS ON COMPUTERS, VOL. 52, NO. 5,

TABLE 1 Real-Time Scheduling Algorithms

nonabortable in an offline fashion. (Please see Section 4.) Before a transaction can access a data object, the transaction must first obtain a lock on the semaphore that guards the data object. When a transaction terminates (commits or is aborted), it must release all of its locks. A critical section of a transaction is a code segment between the locking operation and its corresponding unlocking operation of the corresponding semaphore. We assume in this paper that critical sections are properly nested. Transactions are required to adopt a delayed write procedure. For each data object updated by a transaction, the update is done in the local area of the transaction and the actual write of the data object is delayed until the commit time of the transaction. As a result, transactions do not release locks of semaphores until they commit or are aborted. The delay write procedure eases the aborting process and avoids any cascading abort. Our scheduling algorithms are the integration of three compatible components: real-time scheduling algorithms in Table 1,1 the two-phase locking protocol (2PL), and simple aborting algorithms. We are interested in the context of uniprocessor priority-driven preemptive scheduling and every transaction has a fixed priority. Real-Time Scheduling Algorithms: The nonpreemptible critical section algorithm (NPCS) is an extension of the kernelized monitor algorithm in [11]. The NPCS algorithm is a priority-driven scheduling algorithm, where the critical sections of every transaction instance are nonpreemptible. The highest locker’s priority algorithm (HLP) documented in [12] is a refinement of the NPCS algorithm. Instead of making all critical sections nonpreemptible, when a transaction instance is executing within a critical section, the transaction instance runs at a priority equal to the highest priority of all transaction instances which may access the corresponding semaphore. The priority ceiling protocol (PCP) in [15] further refines the HLP algorithm, in which processes can inherit the higher priority of a process they block. The priority ceiling of a resource is the priority of the highest priority process which may use the resource. A process’s resource request is blocked if its priority is no higher than the priority ceiling of any resource which has been grabbed by another process, but has not yet been released. The priority ceiling of a semaphore is equal to the highest priority of transactions which may use the semaphore. A related protocol based on the concept of implicit locking has been proposed by Baker [2]. The stack resource policy (SRP) [2] reduces the maximum number of 1. A similar table (excluding SRP) appears in [12].

MAY 2003

context switchings per process to two and can handle certain dynamic priority assignments. Note that PCP, which has the largest overhead among the real-time scheduling algorithms in Table 1, allows the highest degree of a concurrency level in a transaction system. Concurrency Control Algorithm: Transactions are required to access semaphores in a 2PL fashion. For example, if NPCS is used to schedule real-time transactions, transactions tend to have a single nonpreemptible critical section, in which semaphores are accessed in a 2PL fashion. Aborting Algorithms: Simple Aborting Algorithm: Transactions are classified as abortable or nonabortable in an offline fashion (please see Section 4). When transaction instance  requests a semaphore lock and  is blocked (under the chosen NPCS, HLP, SRP, or PCP algorithm) by some lower priority transaction instances,  aborts all of the blocking lower priority transaction instances if the lower priority transaction instances are all abortable. If any one of the blocking lower priority transactions is nonabortable,  is blocked and does not abort any transaction instance. Note that, when a transaction instance is aborted, it releases every lock it owns and restarts immediately. . Table-Driven Aborting Algorithm: Transactions are not simply abortable or nonabortable. Instead, every transaction i has a set of transactions which it can abort. An instance of a lower priority transaction j can be aborted by an instance of a higher priority transaction i only if j is in the set of transactions abortable by i . This aborting relationship can be realized as a table AB½i; jŠ. A scheduling algorithm consists of any real-time scheduling algorithm in Table 1, 2PL, and any of the above aborting algorithms is called a Modulized Scheduling Approach (MSA) algorithm. The set of MSA algorithms is correctly enlarged by considering other compatible realtime scheduling algorithms, concurrency control algorithms, and aborting algorithms. For example, the Dynamic Aborting Protocol [6] is also an MSA algorithm with the aborting relation calculated in an online fashion. .

4

SCHEDULABILITY ANALYSIS

4.1 Aborting Cost Definition 7. The direct aborting cost charged to a lower priority transaction instance  by a higher priority transaction instance  0 is the CPU time that has been consumed by  when  is aborted by  0 . Definition 8. A-costi;j denotes the maximum direct aborting cost possibly charged to an instance of transaction j by an instance of transaction i . Definition 9. Given a set of transactions 1 ; 2 ;    ; n listed in the nondecreasing order of their priorities, the maximum aborting cost charged to an instance of transaction j by an instance of transaction i is -costi;j ¼ maxðA-costi;k Þ, where i < k  j.

LIANG ET AL.: A QUANTIFICATION OF ABORTING EFFECT FOR REAL-TIME DATA ACCESSES

With limited space, the proofs of the following theorems are not included in this paper. We refer interested readers to [7], [4] for details. Theorem 2. A request of a lower priority transaction can be aborted at most once by a higher priority transaction within a period of the higher priority transaction. Let  ¼ f1 ; 2 ;    ; n g be a set of periodic transactions listed in the nonincreasing order of their priorities and HP Ci ¼ f1 ; 2 ;    ; iÿ1 g is the set of transactions with a priority no less than that of i . Lemma 1. The worst-case aborting cost for a request of transaction ljm between time  0 and time t  pj is at most P t i 2HP Cj pi  -costi;j .

4.2 Blocking Cost Theorem 3. A request of a transaction can be blocked for at most one critical section of at most one lower priority transaction instance under MSA. In other words, a transaction request can experience at most one time of priority inversion under MSA. 4.3 Schedulability Analysis Procedure The purpose of this section is to provide a schedulability analysis procedure for a transaction system. The underlying idea is that, if a lower priority transaction may introduce excessive blocking to a higher priority transaction such that the higher priority transaction may miss its deadline in the worst case, the lower priority transaction is made abortable by the higher priority transaction. The schedulability analysis procedure is based on the scheduling theorems of the rate monotonic theory [12]. Let  ¼ f1 ; 2 ;    ; n g be a set of periodic transactions listed in the nondecreasing order of their priorities. HP Ci ¼ f1 ; 2 ;    ; iÿ1 g is a set of transactions with a priority no less than that of i . Let bi , di , pi , and ci be the worst-case blocking time (from lower priority transactions), deadline, period, and worst-case computation requirement of a transaction i , respectively. Lemma 2. A transaction i scheduled by MSA will always meet its deadline for all process phases if there exists a pair ðk; mÞ 2 Ri such that X  mpk  þ ci þ bi þ abi  mpk ; cj pj j2HP C i

where bi and abi are the worst-case blocking cost and aborting cost of transaction i , respectively, and    pI : Ri ¼ ðk; mÞj1  k  i; m ¼ 1; 2;    ; pk Each pair ðk; mÞ represents a scheduling time point mpk to test the schedulability of process i . Proof. The worst-case aborting cost of i is modeled as an extra computation time of i . The correctness of the proof follows from lemmas in [12]. u t When a lower priority transaction is abortable by a higher priority transaction, the worst-case blocking cost of

673

the higher priority transaction may decrease, but at the cost of increasing the worse case aborting cost of the lower priority transaction. Lower priority transactions may become unschedulable because of excessive aborting costs. On the other hand, higher priority transactions become schedulable because of less blocking costs. Lemma 2 provides the best interpretation of the idea in trading the aborting costs of some transactions with the blocking costs of some other transactions. Note that, when transactions are assigned priorities out of the rate monotonic order, the Rate Monotonic Theory [12] models the execution times of higher priority, but larger period transactions as the blocking times of lower priority but smaller period transactions. We refer interest readers to [12] for details.

5

PERFORMANCE EVALUATION

The experiments and case study described in this section are meant to assess the capabilities of MSA in reducing the number of deadline violations of critical transactions. With limited space, only partial results of the simulation experiments of three MSA algorithms, i.e., the Basic Aborting Protocol (BAP), Table-Driven Aborting Protocol (TAP), and Dynamic Aborting Protocol (DAP) [7], are included in this paper. BAP is an integration of compatible modules: 2PL, PCP, and a simple aborting algorithm (please see Section 3). TAP is an extension of BAP in which the aborting relationship is managed by the table-driven aborting algorithm (please see Section 3). DAP is also an extension of BAP in which transaction abortings are determined in a totally online fashion. We make the following assumptions based on simple memory accesses for most operations since many real-time databases are memory-resident: 1) Each read/write of a data object takes at most 0.5 us. 2) The setting/releasing of a lock takes at most 50 us. 3) Each write operation of a data object in a delayed write list takes at most 10 us. Table 2 shows the analysis results of the transaction system based on an avionics example [10]. The schedulability analysis procedure (in Section 4.3) demonstrates in Table 2 that BAP can successfully schedule the first six most critical transactions, comparing with the observation that only the most critical transaction, i.e., Timer_Interrupt, can be scheduled by the above pure locking PCP. Note that the cumulative processor utilization of transactions with priorities no less than that of transaction Weapon_Release is about 6.6 percent. The improvement of the schedulability of critical transactions is achieved at the cost of aborting less critical transactions and less critical transactions are more likely to miss their deadlines because of higher aborting costs. Fig. 1 shows the miss ratio of the transactions which have the top 1=4 highest priorities in their respective transaction sets. We compared BAP, TAP, and DAP with the wellknown PCP, Rate Monotonic Scheduling algorithm (RMS) [8], and Abort Ceiling Protocol (ACP) [14], where ACP is an abort-oriented protocol derived from PCP. Note that RMS

674

IEEE TRANSACTIONS ON COMPUTERS, VOL. 52, NO. 5,

MAY 2003

TABLE 2 Schedulability Anaysis of BAP for the Generic Avionics Example (Unit: ms)

represents an ideal situation where no data conflicting and priority inversion occurs. In general, abort-oriented protocols, especially TAP and DAP, resulted in a much less number of deadline violations of critical or higher priority transactions than PCP did. Note that the performance of BAP is about the same as that of the more complicated ACP in the experiments and DAP and TAP greatly outperformed BAP. Our other experimental results [6] also shows that the differences between BAP, TAP, DAP, PCP, ACP, and RMS were smaller when the size of the database increased.2

6

CONCLUSION

promising approach to boost the performance and stability of a transaction system. One future research direction of this work is to investigate the application semantics of a transaction system and its implications on transaction abortings and restartings. We also want to extend the proposed framework into a distributed database system by integrating distributed real-time scheduling algorithms and other compatible concurrency control and aborting algorithms. We believe that more research in classifying and analyzing real-time concurrency control algorithms and transaction systems to derive proper benchmarks may prove to be very rewarding.

This paper considers a generic framework to integrate realtime scheduling algorithms, conventional concurrency control algorithms, and aborting algorithms. We propose a class of simple and efficient abort-oriented protocols based on the notion of compatibility. The results of this work provide various ways in observing and managing the schedulability of a transaction system with respect to the aborting cost and the priority inversion problem. We consider a schedulability analysis model to better manage the schedulability of a whole transaction system. The schedulability of higher priority transactions is improved by aborting lower priority transactions that may introduce excessive blocking to higher priority transactions. The strengths of this work is demonstrated by improving the worst-case schedulability of an avionics example [10] and randomly generated transaction sets. Trading the priority inversion times of critical transactions with the aborting costs of less critical transactions is a 2. Some of the detailed performance study of MSA can be found in [4].

Fig. 1. Top 1/4 priority transactions, DB size = 25.

LIANG ET AL.: A QUANTIFICATION OF ABORTING EFFECT FOR REAL-TIME DATA ACCESSES

ACKNOWLEDGMENTS This work was supported in part by a research grant from the US National Science Council under Grants NSC85-2213E-194-008 and NSC85-2213-E-309-001.

REFERENCES [1] [2] [3]

[4] [5] [6] [7]

[8] [9] [10] [11] [12] [13] [14] [15] [16] [17]

R. Abbott and H. Garcia-Molina, “Scheduling Real-Time Transactions: A Performance Evaluation,” Proc. 14th Very Large Databases Conf., pp. 1-12, 1988. T.P. Baker, “A Stack-Based Resource Allocation Policy for Real Time Processes,” Proc. IEEE 11th Real-Time Systems Symp., Dec. 1990. J.R. Haritsa, M.J. Carey, and M. Livny, “On Being Optimistic About Real-Time Constraints,” Proc. Ninth ACM SIGACT-SIGMOD-SIGART Symp. Principles of Database Systems, pp. 331-343, Apr. 1990. T.-W. Kuo, M.-C. Liang, and L. Shu, “Abort-Oriented Concurrency Control for Real-Time Databases,” IEEE Trans. Computers, vol. 50, no. 7, pp. 660-673, July 2001. T.-W. Kuo and A.K. Mok, “SSP: A Semantics-Based Protocol for Real-Time Data Access,” Proc. IEEE 14th Real-Time Systems Symp., Dec. 1993. M.-C. Liang, “Real-Time Database-Abort-Oriented Concurrency Control,” master thesis, Dept. of Computer Science and Information Eng., Nat’l Chung Cheng Univ., June 1996. M.-C. Liang, T.-W. Kuo, and L. Shu, “BAP: A Class of AbortOriented Protocols Based on the Notion of Compatibility,” Proc. Third Int’l Workshop Real-Time Computing Systems and Applications, pp. 118-127, Oct. 1996. Y. Lin and S.H. Son, “Concurrency Control in Real-Time Databases by Dynamic Adjustment of Serialization Order,” Proc. IEEE 11th Real-Time Systems Symp., Dec. 1990. C.L. Liu and J.W. Layland, “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,” J. ACM, vol. 20, no. 1, pp. 46-61, Jan. 1973. C.D. Locke, D.R. Vogel, and T.J. Mesler, “Building a Predictable Avionics Platform in Ada: A Case Study,” Proc. IEEE 12th RealTime Systems Symp., Dec. 1991. A.K. Mok, “The Design of Real-Time Programming Systems Based on Process Models,” Proc. IEEE Real-Time System Symp., 1984. L. Sha, “Distributed Real-Time System Design Using Generalized Rate Monotonic Theory,” lecture note, Software Eng. Inst., Carnegie Mellon Univ. 1992. L. Sha, R. Rajkumar, and J.P. Lehoczky, “Concurrency Control for Distributed Real-Time Databases,” ACM SIGMOD Record, vol. 17, pp. 82-98, Mar. 1988. L. Sha, R. Rajkumar, and J.P. Lehoczky, “Priority Inheritance Protocols: An Approach to Real-Time Synchronization,” IEEE Trans. Computers, vol. 39, no. 9, Sept. 1990. L. Shu and M. Young, “A Mixed Locking/Abort Protocol for Hard Real-Time Systems,” Proc. IEEE 11th Workshop Real-Time Operating Systems and Software, pp. 102-106, May 1994. L. Shu, M. Young, and R. Rajkumar, “An Abort Ceiling Protocol for Controlling Priority Inversion,” Proc. First Int’l Workshop RealTime Computing Systems and Applications, pp. 202-206, Dec. 1994. H. Takada and K. Sakamura, “Real-Time Synchronization Protocols for Controlling Priority Inversion,” Proc. First Int’l Workshop Real-Time Computing Systems and Applications, pp. 202-206, Dec. 1994.

675

Ming-Chung Liang received the BSE degree in computer science and information engineering from Tatung Insititute of Technology in Taiwan, in 1994. He received the MS degree in computer science and information engineering from National Chung Cheng University in Taiwan in 1996. He is currently an engineer in the Pou Chen Group in Taiwan. His research interests include real-time database and real-time operating system. He graduated from the National Chung Cheng University under the thesis supervision of Tei-Wei Kuo. Tei-Wei Kuo received the BSE degree in computer science and information engineering from National Taiwan University in Taipei, Taiwan, in 1986. He received the MS and PhD degrees in computer sciences from the University of Texas at Austin in 1990 and 1994, respectively. He is currently a professor in the Department of Computer Science and Information Engineering of the National Taiwan University, Taiwan, ROC. He was an associate professor in the Department of Computer Science and Information Engineering of the National Chung Cheng University, Taiwan, ROC, from August 1994 to July 2000. His research interests include real-time databases, real-time process scheduling, real-time operating systems, and embedded systems. He is the program cochair of the IEEE Seventh Real-Time Technology and Applications Symposium, 2001, and an associate editor of the Journal of Real-Time Systems since 1998. He has consulted for government and industry on problems in various realtime systems design. Dr. Kuo is a senior member of the IEEE and a member of the IEEE Computer Society. LihChyun Shu received the PhD degree in computer sciences from Purdue University, West Lafayette. He is an associate professor in the Department of Accounting at the National Cheng-Kung University, Tainan, Taiwan, ROC. He has been an associate professor in the Department of Information Management at Chang Jung University, Tainan County, Taiwan, ROC. His research interests are real-time systems, databases, and data warehousing. He is a member of the IEEE and the IEEE Computer Society.

. For more information on this or any computing topic, please visit our Digital Library at http://computer.org/publications/dlib.

Suggest Documents