<%BANNER%>

Voltage-clock scaling and scheduling for energy-constrained real-time systems

University of Florida Institutional Repository

PAGE 1

VOLTAGE-CLOCK SCALING AND SCHEDULING FOR ENERGY-CONSTRAINED REAL-TIME SYSTEMS By YOONMEE DOH A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2003

PAGE 2

Copyright 2003 by Yoonmee Doh

PAGE 3

To my son Minjae, my husband Daeyoung, and my families, with love

PAGE 4

iv ACKNOWLEDGMENTS I would like to thank many individuals for the care and support they have given me during my doctoral study. First of all, I would like to express my gratitude to Professor Jih-Kwon Peir. As my advisor, he has provided me with guidance, insightful comments, and suggestions. I wish to extend my thanks to my main advisor, Professor Yann-Hang Lee at the CSE Department of Arizona State University, not only for his invaluable academic guidance but also for his strong support, encouragement, and his caring ways through the years he has supervised my research. I would also like to thank Professor C. Mani Krishna at University of Massachusetts for his priceless advice. My appreciation also goes to the professors on my supervisory committee, Randy Y. Chow, Douglas D. Dankel, Richard Newman, and Paul W. Chun, for their valuable and constructive advice. I would also like to thank former and current members of the Real-Time Systems Research Group at the University of Florida and Arizona State University for their invaluable help, friendship, and discussion. Thanks also go to the CSE Department of Arizona State University for giving me an opportunity to visit and to work as a visiting research scholar and for providing administrative support during my stay. I am also deeply grateful to my middle school teacher, Jongyee Choo at Sungwha High School. Without his continued encouragement and moral support, I could never be what I am. My thanks should also go to the former director of ETRI, Professor Munkee Choi, at Information and Communications University and the current members of KCISE at the University of Florida for their help with all the details needed at UF to complete a degree during my stay at ASU. Finally, I would like to give special thanks to the people who are most dear to me, my dear mother, Seeok Han, my brothers Jinwoong, Youngjin, Younghyo, and my sister, Sunmee, to

PAGE 5

v whom I owe everything. Their blessing, guidance, and love made me what I am today. I am also grateful to my parents, my sisters, and my brothers-in-law since they have always encouraged me in my studies and believed in me. Many thanks go to my various friends near and far, for hanging in there with me. Especially, I thank Wendy Tiedemann and Okehee Goh for their endless support. My final acknowledgements go to my wonderful husband, Daeyoung, and my lovely son, Minjae, for their continued love and support given to me until now.

PAGE 6

vi TABLE OF CONTENTS Page ACKNOWLEDGMENTS...............................................................................................................i v LIST OF TABLES................................................................................................................. ......viii LIST OF FIGURES................................................................................................................ .........ix ABSTRACT....................................................................................................................... ............xii CHAPTER 1 INTRODUCTION................................................................................................................ ........1 1.1 Low-power and Power-aware Real-Time Systems................................................................1 1.2 Research Background and Related Works.............................................................................5 1.2.1 Dynamic Power Management.........................................................................................5 1.2.2 Low Power vs. Power-aware Computing.......................................................................6 1.2.3 Dynamic Voltage-Clock Scaling....................................................................................8 1.2.4 Fundamental Scheduling Theories...............................................................................10 1.2.5 Low Power Real-Time Computing...............................................................................12 1.2.6 Power-aware Real-Time Computing............................................................................14 1.3 Main Contributions......................................................................................................... .....17 1.4 Organization of the Dissertation..........................................................................................1 8 2 TWO-MODE VCS-EDF SCHEDULING FOR HARD REAL-TIME SYSTEMS...................21 2.1 Introduction............................................................................................................... ...........21 2.2 System Model............................................................................................................... .......23 2.3 Voltage-Clock Scaling under EDF Scheduling...................................................................24 2.4 Simulation Evaluation of VCS-EDF Algorithm..................................................................28 2.5 Optimal Voltage Setting in VCS-EDF scheduling..............................................................33 2.6 Conclusion................................................................................................................. ..........36 3 CONSTRAINED ENERGY BUDGET ALLOCATION...........................................................37 3.1 Introduction............................................................................................................... ...........37 3.2 Design Concepts............................................................................................................ ......39 3.3 System Model for Energy Sharing.......................................................................................41 3.3.1 Schedule for Periodic Tasks.........................................................................................41 3.3.2 Schedule for Aperiodic Tasks.......................................................................................42 3.3.3 Voltage-Clock Scaling..................................................................................................43 3.3.4 Bounded Energy Consumption.....................................................................................44 3.4 Profiling Energy and Utilization Usages in a Real-time Embedded System.......................44 3.4.1 Periodic Tasks........................................................................................................... ....45

PAGE 7

vii 3.4.2 Aperiodic Tasks.......................................................................................................... ..46 3.4.3 Energy Budget Allocation............................................................................................47 3.5 Constrained Energy Allocation using VCS-EDF Scheduling..............................................48 3.5.1 Energy Allocation Factors............................................................................................48 3.5.2 Algorithm for Energy Budget Allocation.....................................................................51 3.6 Simulation Evaluation...................................................................................................... ....52 3.7 Conclusion................................................................................................................. ..........58 4 DUAL-POLICY DYNAMIC SCHEDULING..........................................................................60 4.1 Introduction............................................................................................................... ...........60 4.2 Design Concepts............................................................................................................ ......63 4.2.1 Simple Two Voltage Settings.......................................................................................63 4.2.2 Total Bandwidth Server for Aperiodic Tasks...............................................................64 4.2.3 Energy Budget Allocations using Two-mode VCS-EDF Scheme...............................65 4.2.4 Elementary Schedules...................................................................................................65 4.3 Dynamic Dual-Policy Scheduling Model............................................................................68 4.3.1 Schedule for Only Periodic Tasks................................................................................69 4.3.2 Schedule for Both Periodic and Aperiodic Tasks.........................................................70 4.3.3 Schedules for Transition between Elementary Schedules............................................71 4.4 Dual-Policy Dynamic Scheduling Using VCS-EDF............................................................80 4.4.1 Terms and Conditions...................................................................................................80 4.4.2 Switching Scheduling Policies.....................................................................................81 4.5 Algorithm for Dual-Policy Dynamic Scheduling................................................................89 4.6 Performance Evaluation..................................................................................................... ..96 4.6.1 Energy Consumption....................................................................................................98 4.6.2 Average Response Time.............................................................................................108 4.7 Conclusion................................................................................................................. ........115 5 SCALING OF ENERGY CONSUMPTION AND RESPONSIVENESS...............................117 5.1 Introduction............................................................................................................... .........117 5.2 Feasible Ranges of Utilization and Energy Consumption for Periodic Tasks...................120 5.3 Scaling Energy Saving and Responsiveness in Dual-Policy Dynamic Scheduling...........122 5.3.1 Scaling Factor ..........................................................................................................124 5.3.2 S1 Schedule with Scaling Factor................................................................................125 5.3.3 Scaling under a Constrained Energy Budget..............................................................125 5.4 Performance Evaluation..................................................................................................... 126 5.5 Conclusion................................................................................................................. ........139 6 CONCLUSIONS AND FUTURE WORK...............................................................................141 6.1 Contributions.............................................................................................................. .......141 6.2 Future Research Directions................................................................................................1 42 LIST OF REFERENCES............................................................................................................. 144 BIOGRAPHICAL SKETCH........................................................................................................151

PAGE 8

viii LIST OF TABLES Table Page 1-1 Microprocessors that allow the core to operate at different voltages and frequencies.............9 4-1 Switching Scheduling Policies with respect to the Interval Changes......................................89 4-2 An example of increased L-mode execution times for periodic tasks when UA= 0.3..............102 4-3 An example of increased L-mode execution times and energy saving for periodic tasks when UA= 0.3.......................................................................................................................... ..106 5-1 Average response times with respect to energy saving factor (S1 schedule) when EC= Emax, UP =1.2, UA =0.3...............................................................................................................132

PAGE 9

ix LIST OF FIGURES Figure Page 2-1 On-line reclamation algorithm for voltage-clock scaling.......................................................27 2-2 The percentage of execution time in H-mode .........................................................................29 2-3 The percentage of the reduction for the time in H-mode ........................................................31 2-4 The relative energy consumption of fixed, static, and dynamic approaches...........................32 2-5 An example of finding the optimal L....................................................................................34 2-6 The optimal L-mode voltages VL (VH= 3.3 V, 1.3 Watts, and 50 MHz).................................35 3-1 An example of the deadline assigning algorithm in Total Bandwidth Server........................43 3-2 The relationship between power consumption and utilization for a set of periodic tasks.......46 3-3 The algorithm for constrained energy budget allocation........................................................51 3-4 The responsiveness to the energy allocation of aperiodic tasks..............................................54 3-5 The ratios of available utilization to the minimum utilization for aperiodic tasks.................55 3-6 Energy allocation percentage to the maximum energy demand.............................................56 3-7 Minimum average response time with respect to the bounded energy budget.......................57 4-1 An example of scheduling mixed real-time tasks and two explicit intervals in the event pattern........................................................................................................................ .............66 4-2 Switching schedules for a busy cycle starting with a periodic task and non-zero WD ...........82 4-3 Switching schedules for a busy cycle starting with a periodic task and all WD (t) 0 ...........85 4-4 Switching schedules for a busy cycle starting with an aperiodic task and WD (t) >0 ............86 4-5 Switching from S1 to S2 schedules.........................................................................................87 4-6 Switching from S2 to S1 schedules.........................................................................................88

PAGE 10

x 4-7 The algorithm for Dual-Policy Dynamic Scheduling.............................................................92 4-8 The percentages of executed times to the total execution times over a various energy budget in cases of UP =0.8 and 1.0 for a fixed UA =0.3...........................................................100 4-9 The percentages of executed times to the total execution times over a various energy budget in cases of UP =1.2 and 1.4 for a fixed UA =0.3...........................................................101 4-10 The percentages of time executed in high-speed mode to the total execution times over a various energy budget in cases of UP =1.2..............................................................................103 4-11 The percentages of time executed in low-speed mode to the total execution times over a various energy budget in cases of UP =1.2..............................................................................104 4-12 Energy consumption ratios of dual and single-policy dynamic scheduling to static analysis for the variation of the real execution time demands of periodic task when UP =1.2.............107 4-13 Average response times in regard to the actual workload demands of periodic tasks when UP =1.2........................................................................................................................... .........109 4-14 The responsiveness with respect to the bounded energy budgets when UP =1.2....................110 4-15 The responsiveness with respect to the bounded energy budgets when UP =0.8 and 1.0.......111 4-16 The responsiveness with respect to the bounded energy budgets when UP =1.2 and 1.4.......112 4-17 The percentages of execution time in changed mode execution from assigned mode to the total execution times when UP =1.2........................................................................................114 5-1 The relationship between power consumption and utilization for a set of periodic tasks.......121 5-2 Sharing of energy consumption and utilization in Dual-Policy Dynamic Scheduling...........123 5-3 The range of energy scaling factor .......................................................................................124 5-4 Feasible scaling ranges of energy consumption and responsiveness under a constraint energy budget.................................................................................................................. ........126 5-5 The percentages of executed times to the total execution times over a various energy budget in cases of UP =1.2 for a fixed UA =0.3.......................................................................127 5-6 The increases in highand low-speed mode execution times and energy saving by them when UP =1.2 for a fixed UA =0.3...........................................................................................128 5-7 Energy saving with respect to Single-Policy Dynamic Scheduling with the variations of ( S1 schedule) and constraint energy budgets when UP =1.2 and UA =0.3...............................130 5-8 Average response times with respect to energy scaling factor ( S1 schedule) and constraint energy budgets when UP =1.2 and UA =0.3............................................................131

PAGE 11

xi 5-9 Comparisons of responsiveness between SPDS and DPDS with respect to constraint energy budget, EC = Emin + Ediff, and energy scaling factor .............................................133 5-10 The percentages of switched execution times from assigned mode in worst-case for the intervals when the transitory schedule S12 is selected to total execution time.......................135 5-11 The percentages of execution time in changed mode execution from assigned mode in the worst-case with respect to constraint energy budget, EC = Emin + Ediff, and energy scaling factor ............................................................................................................................... .....136 5-12 Comparisons of energy consumption ratios to static analysis between SPDS and DPDS with respect to constraint energy budget EC = Emin + Ediff over the variation of workload demand in periodic tasks....................................................................................................... ..137 5-13 Comparisons of average response times between SPDS and DPDS with respect to constraint energy budget EC = Emin + Ediff over the variation of workload demand in periodic tasks................................................................................................................. .........138

PAGE 12

xii Abstract of Dissertation Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy VOLTAGE-CLOCK SCALING AND SCHEDULING FOR ENERGY-CONSTRAINED REAL-TIME SYSTEMS By Yoonmee Doh May 2003 Chairman: Jih-Kwon Peir Major Department: Computer and Information Science and Engineering Nowadays, exponentially increasing demands for portable devices and more sophisticated and intelligent functionalities in embedded applications make processors much power-hungrier. Due to a limited energy budget, low-power computing at a relatively low level of power consumption or power-aware computing with the knowledge of power source plays important role in extending systems’ lifetime. In the dissertation, we study how to reduce power consumption using a low power voltage-clock scaling scheme in real-time systems that require strict time and energy constraints. The property of power-delay tradeoff has significant impact on the schedulability as well as on the performance of the systems. First, we focus on dynamic reclaiming of early released resources in earliest deadline first (EDF) scheduling using voltage-clock scaling. In addition to a static voltage assignment, we propose a new dynamic-mode assignment, which has a flexible voltage mode setting at run-time, enabling much larger energy savings. Using simulation results and exploiting the interplay among power supply voltage, frequency, and circuit delay in CMOS technology, we find the optimal two-level voltage settings that minimize energy consumption. Next, we study battery-driven real-

PAGE 13

xiii time systems that jointly schedule hard periodic tasks and aperiodic (sporadic) tasks, whose power sources are bounded in a feasible range decided by a set of tasks. Therefore, reducing power consumption is not the only objective of task scheduling in this case. To make the most of the available energy budget, an effective energy-sharing scheme is proposed using two-mode voltage-clock scaling-EDF scheduling. Based on the proposed energy allocation model for energy-constrained real-time systems, a dual-policy dynamic scheduling method is proposed not only for faster responsiveness but also for reducing power consumption. The feature of the approach is an intermixing of two schedules; the one consumes minimum energy and the other the worst-case energy, respectively, leading to much longer lifetime under a bounded energy budget. Lastly, we build a scaling mechanism that optimizes energy saving and responsiveness to the aim of the system’s performance. Fully utilizing the property in sharing constrained-energy and processor’s capacity in total bandwidth server, we adjust total power consumption and average response time of aperiodic tasks by simply controlling the utilization of periodic tasks.

PAGE 14

1 CHAPTER 1 INTRODUCTION 1.1 Low-power and Power-aware Real-Time Systems In recent years, the rapidly increasing popularity of portable battery-operated computing and communication devices have motivated research efforts toward low power and energy consumption. Battery life is the primary constraint for energy-constrained systems such as personal mobile phones, laptop computers, digital cameras, and personal digital assistants (PDA’s) [1]. On the other hand, limiting power is also important in the field of general or highperformance systems. In the report of examination of electricity usages in U.S., total power use by office equipment and network equipment is about 74 TWh per year, which is about only 2% of total electricity use in the U.S., and power management currently saves 23 TWh/year [2]. An exponential growth of Internet usage also requires power-efficient server farms, which are warehouse-sized buildings filled with servers of Internet service providers (ISP). For example, an ISP with 8,000 servers needs 2 megawatt of power [3]. The power demanded by information technology (IT) will grow exponentially to overpass all other power uses combined in the near future. Therefore, it is obvious that both energy-constrained electronics and servers need processors that consume less energy. Due to the confined battery capacity in portable systems and power efficiency in highend systems, to maintain adequate computing performance levels without useless drainage is the main purpose in power-aware computing. Therefore there has been tremendous interest in power management for portable and mobile embedded systems, showing evident advances in the fields of circuit designs, processor architecture, and operating systems, and moving toward system-level or high-levels in design architecture.

PAGE 15

2 From research during the past several years, we can easily catch two major shifts in the field of power-aware computing. First, power-efficient designs, i.e., low power designs, are no longer only for portable computing systems. Power dissipation has rapidly become a first-order design constraint in almost every type of computing system including hand-held devices, desktop computers, and even high performance computing servers. The second is that computing efforts based on the state of power capacity and the power estimation of system components or whole system level have been introduced as power-aware computing. For the power-efficient designs, significant reduction in power consumption is possible from techniques ranging from low-power CMOS circuit design to power management software tools. Initial power management efforts focused on putting the system in a low-power/lowperformance sleep mode when it was idle. With the advent of the advance configuration power interface (ACPI) standard, such power management has been successfully employed in real-life systems. However, such approaches depend for their efficacy on efficient ways to decide when and which device should be shut down and woken up. An energy characteristic called voltage-clock scaling (VCS) in CMOS technology allows the designers to obtain revolutionary power reduction. Power is proportional to the square of the operating voltage and proportional to clock frequency. Modern processor cores can operate at different voltage ranges to achieve different levels of energy efficiency showing a property of operating voltage-frequency tradeoff. In other words, lowering the voltage means lowering the frequency and vice versa. Scaling down both operating voltage and clock frequency allows the low power design to save energy consumption and to be studied actively. For instance an ARM7D processor can run at 33MHz and 5V as well as at 20MHz and 3.3V. The energyperformance measures at these two operation modes are 185 MIPS/WATT and 579 MIPS/WATT, and the MIPS measures are 30.6 and 19.1, respectively. Another example is Motorola’s PowerPC 860 processor that can be operated in a high-performance mode at 50MHz and with a supply voltage of 3.3V, or a low-power mode at 25MHz and with an internal voltage of 2.4V. The power

PAGE 16

3 consumption in the high-performance mode is 1.3 Watts, as compared to 241mW in the lowpower mode. Advances in low power circuit design and power management have introduced a new research field of low power computing, which emphasizes running at a low energy consumption level, if possible, while conserving the performance of an application. In addition to low power designs, power-aware computing that reflects the state of battery capacity and the characteristics of batteries is widely studied. But, in general, the timeliness of computing is not greatly considered in power-aware computing. Real-time systems are often needed in specific and hard environments, such as stand-alone or isolated locations, so that power consumption becomes a critical design issue. More importantly, they have strict requirements of temporal correctness as well as functional correctness. Missing timeliness in real-time systems is considered as a failure and may have catastrophic consequences. For instance, a missed deadline in the control loop of the auto landing system may cause a crash. Even for non-time-critical tasks that are with soft or firm deadlines, a delay in task completion greatly reduces the value of their computation results. Thus, we can generalize system failures to include non-responsiveness or tardy outputs of the system. Therefore, to get effective power-savings requirements in real-time systems without violating time constraints of real-time applications, we propose a new concept of power-aware real-time computing and its system model. It supports an integration of hard and soft real-time tasks and multi-task soft real-time applications like multimedia application currently attracting much attention. In this dissertation, first we investigate the issues related to the low-power real-time scheduling and significantly improve energy-efficiency in real-time systems by combining the power reduction characteristics with real-time scheduling. For hard real-time scheduling for a single processor, we propose VCS-EDF scheduling focused on dynamic reclaiming of early released resources in earliest deadline first scheduling using voltage clock scaling. In addition to a

PAGE 17

4 static voltage assignment, we propose a new dynamic-mode assignment, which has a flexible voltage mode setting at run-time enabling much larger energy savings. Using simulation results in VCS-EDF scheduling and exploiting the interplay among power supply voltage, frequency, and circuit delay in CMOS technology, we find the optimal two-level voltage settings that minimize energy consumption. Secondly, we study battery-driven real-time systems, which jointly schedule hard periodic tasks and aperiodic (sporadic) tasks, whose available energy is bounded in the range possibly given by a set of tasks. Therefore, reducing power consumption is not the only objective of task scheduling in this case since response time may be unrestricted when it concerns only concerning total energy reduction. To make the best of an available energy budget constrained for specific time period, an effective energy-sharing scheme should be provided for the combined objectives. We model and solve these problems for a real-time system based on the tasks’ requirements, their characteristics of energy and utilization demands, and the power-utilization property in VCS-EDF scheduling. We first profile energy and utilization usages of periodic and aperiodic tasks focusing on EDF scheduling using static VCS. Then for the sharing of the bounded energy budget in a real-time system, an energy budget allocation method is proposed. We also propose a static scheduling algorithm to determine the optimal two-level voltage settings of all tasks under bounded energy consumption, while guaranteeing that no deadline of periodic task is missed and average response time of aperiodic tasks is minimized. The algorithm selects the voltage settings that have the minimum average response time among the schedulable ones within a given energy consumption. To schedule aperiodic tasks, we adopt Total Bandwidth Server proposed by Spuri and Buttazzo, which can be expressed by bandwidth preserving algorithm that guarantees the isolation of bandwidth between periodic and aperiodic tasks. Thirdly, we expand our energy budget allocation model to a dual-policy dynamic scheduling that significantly improves energy-efficiency and extends the lifetime of batterydriven real-time systems. The proposed dynamic scheduling switches its scheduling policies

PAGE 18

5 between two schedules utilizing an explicit pattern of event occurrence at run-time, exploiting the interplay between utilization and energy consumption in VCS-EDF and devising a new view of total bandwidth server algorithm in terms of sharing constrained energy. One scheduling policy is a set of worst-case voltage settings from the proper allocations of energy budget. The other is for a given periodic task set to consume minimum energy under allocated energy consumption. During the intervals having only periodic tasks, the switched mode execution from high-speed in the worst-case schedule to low-speed enables the Dual-Policy Dynamic Scheduling to outperform in the reduction of energy consumption, compared with the scheduling method that sticks to the running modes by the worst-case. Finally, in the proposed Dual-Policy Dynamic Scheduling, we build a scaling mechanism that can optimize energy consumption and responsiveness to the aim performance of a system. Fully utilizing the property of energy and utilization sharing in total bandwidth server having a restriction of limitation in energy consumption, we characterize the performance of the DualPolicy Dynamic Scheduling and show scaling up/down total power consumption and average response time by controlling the utilization of periodic tasks in their plausible range. 1.2 Research Background and Related Works 1.2.1 Dynamic Power Management An approach to low power is to utilize power down features to minimize the power consumption of unused hardware. For instance, turning off (or dimming) the screen while a laptop computer is idle and shutting down hard disks while it is not accessed conserves the energy without affecting any functionality. Packing message transmission delays state change from the listening mode to the transmit mode of radio part such that it extends the battery life for mobile devices in the wireless communication environment. But, re-activation of hardware can take some time, affecting performance like response times. The simple-power-down-when-idle techniques can significantly reduce the system’s power consumption [1]. Dynamic power management (DPM) reduces power consumption by

PAGE 19

6 selectively putting idle system components to low-power states. Thus there are several power states for each component in a system and the state transitions are controlled by commands issued by a power manager (PM) that decides when and how to force the power state transitions based on its observations and/or assumptions on the workload. The power manager makes state transition decisions according to the power management policy [4]. Because shutting down an active device and waking up a sleeping device take time and extra energy, changing power states has delay and/or energy overhead and the policies trade off the performance for the power consumption. Microsoft proposed OnNow Initiative that controls power/performance through the software layer [5]. Intel, Microsoft, and Toshiba proposed the open industrial standard called advance configuration power interface (ACPI) such that system-level power management has been successfully settled down in real-life [6]. Linux also supports ACPI from kernel 2.4 [7]. But because the policies depend on the workload predictions and/or assumptions, such approaches should be more refined for the systems to be optimally power managed. 1.2.2 Low Power vs. Power-aware Computing Limiting power consumption presents a critical issue in computing, particularly for portable and mobile devices. The field of computer architecture has recently seen a rapidly expanding interest in power reduction at the architectural and software level. Low power computing has traditionally been the primary focus of designers of portable and battery-powered computing systems and has in the past largely been considered a low-level circuit design issue. There are many facets in modern computers where the system designer can get energy saving because most computing systems generally do not consume all of their resources all of the time. Slack time can be exploited to either slow down computation or save energy by shutting off components while not in use. And much previous research on low power design techniques tries to minimize average power consumption either by transition to a low power consumption state when it is idle [8, 9, 10, 11] by reducing the active current drawn by a circuit keeping the supply

PAGE 20

7 voltage fixed, or by scaling the supply voltage statically or dynamically. But, from the viewpoints of power-aware computing, the goal targets not only saving energy without sacrificing performance in intended applications to get longer battery life, but also making the best use of the available power for power-confined devices. For example, power-aware computing/ communication (PAC/C) is carried in DARPA project [12], in which promising areas such as power-aware algorithm designs/libraries, power-aware compilation, power-aware operating systems as well as a novel integrated software/hardware technology suite incorporating innovative individual power reduction technologies are being pioneered. In power-aware computing, the remaining power capacity and the consumption management of power source are very important such that a system can effectively use the available power. Battery-driven systems like handheld devices have more stringent power consumption limits. In such systems, battery management is also highly emphasized on an extent of mission duration and quality of services due to the increasing requirement of miniaturization and complicated functionalities. Therefore, a lot of works have been carried to understand the behavior and properties of the power source in power-aware computing [13, 14, 15, 16, 17]. Sometimes, to prolong the lifetime of the power source, the reduction of workload to be done is required to fit the power consumption into the available level, but leads to unnoticeably degraded performance in applications. Available energy should be well allocated among applications in the system. Regarding proper allocation, components in a system including hardware and software need to be redefined as power-aware ones such that they enable the applications to become acceptable for the user at some power level. Power-awareness of components requires that the energy consumption be quantified in component basis. Much work has been done to measure and abstract the quantities in every system level, from circuits to applications. One of the well-known frameworks of energy consumption estimation is the advanced configuration and power interface that provides system-wide power states. For lowpower software development Simulators such as Wattch [18] and SimplePower [19] estimate the

PAGE 21

8 power consumption of microprocessor-based systems in an instructionalor architecture-level. As a profiling application energy usage, PowerScope quantifies what fraction of the total energy is consumed for specific processes in the system [20]. For system-on-chip (SOC) components such as memory hierarchies and system buses, power estimation and optimization techniques have been proposed [21]. X. Fan et al. investigate the memory’s influence on selecting the appropriate voltage/operating frequency and extract the factors that affect the clock scaling decision to meet the system’s energy/performance goals [22]. Furthermore, a circuit level energy-monitoring tool is proposed for the embedded systems, in which it collects power consumption data even in a cycle-by-cycle resolution [23]. 1.2.3 Dynamic Voltage-Clock Scaling The basic concept of power reduction in the variable voltage processors is a technique called voltage-clock scaling or dynamic-voltage-scaling in CMOS circuit technology. CMOS circuits have both dynamic and static power consumption. Static power consumption is caused by bias and leakage currents and is insignificant in most designs that consume more than 1mW. The dominant power consumption for CMOS microprocessors is the dynamic power. Every transition of digital circuit consumes power, because every charge or discharge of the digital circuit’s capacitance drains power. The dynamic power consumption is equal to ,2f V N C PDD sw L cmos (1-1) where CL is the output capacitance, Nsw the number of switches per clock, and f the clock frequency. It is clear that power consumption in CMOS digital circuits is proportional to the square of the supply voltage ( VDD) and the clock frequency such that lowering VDD is the most effective mean to reduce the power consumption. Lowering VDD, however, causes the problem of increased circuit delay. The circuit delay td is given by the following equation [24]: ,2 T DD DD dV V V k t (1-2)

PAGE 22

9 where k is a constant depending on the output the gate size and the output capacitance, and VT is the threshold voltage. As the clock frequency is inversely proportional to the circuit delay, it is expressed using td and the logic depth of a critical path, Ld [25] 1d dt L f (1-3) Obviously, from the equations, we can see that there is a fundamental trade-off between circuit delay and supply voltage. Processor can operate at a lower supply voltage, but only if the clock frequency is reduced to tolerate the increased propagation delay. Kuroda et al use voltage scaling in the design of a processor core, in which they can adjust internal supply voltages to the minimum automatically according to its operating frequency [26]. More recently, there are a number of variable voltage processors that allow the supply voltage to be changed. Based on the VCS technique, most of today’s processor cores have been designed to operate at different voltage ranges to achieve different levels of energy efficiency as shown in Table 1-1. Table 1-1 Microprocessors that allow the core to operate at different voltages and frequencies Processors Voltage Speed (MHz) Power Consumption (Watt) Features StrongARM SA-2 1.30 0.75 600 150 0.45 0.04 12-fold energy reduction Pentium-III 1.60 1.35 650 500 22 9 SpeedStep Technology 2 modes Crusoe (TM5400) 1.65 1.10 700 200 2 1 16 levels in steps of 33MHz XScale 0.75 1.6 150 800 0.04 0.9 185 MIPS 1000 MIPS ARM7D 5.0 3.3 33 20 0.165 0.033 185 MIPS/W 579 MIPS/W PowerPC860 3.3 2.4 50 25 1.3 0.241 2 modes The StrongARM SA-2 processor, designed by Intel, is estimated to dissipate 500 mW at 600 MHz, but only 40 mW when running at 150 MHz, showing a 12-fold energy reduction for a 4-fold performance reduction [27] and the Pentium-III processor with SpeedStep technology dissipates 22W at 650MHz but 9W at 500 MHz [28]. Likewise, AMD has added clock and

PAGE 23

10 voltage scaling to the AMD Mobile K6 Plus processor family and Transmeta has also announced TM5400 or Crusoe processor [29] that actually supports voltage scaling and 16 levels ranging from 1.65V at 700 MHz to 1.1 V at 200 MHz in steps of 33 MHz. For wireless and networking services, Intel also introduces XScale micro-architecture that features on-the-fly-scaling of voltage and frequency in the range from 40mW at 150MHz up to 0.9W at 800MHz [30]. Pouwelse et al show several levels of the clock frequency versus supply voltage for the Transmeta Crusoe processor and carried an actual implementation in a wearable computer for low-power computing [31]. Digital CMOS circuits are very amenable to implementing DVS because their performance and energy consumption scale together over a wide range of supply voltage. Although the maximum supply voltage drops with improved process technology, reducing the range, DVS will continue to be a viable technique for future process technologies. 1.2.4 Fundamental Scheduling Theories 1.2.4.1 RMA and EDF Scheduling Rate monotonic analysis (RMA) is a collection of quantitative methods and algorithms with which we can specify, understand, analyze, and predict the timing behavior of real-time system designs. RMA grew out of the theory of fixed priority scheduling. A theoretical treatment of the problem of scheduling periodic tasks was first discussed by Serlin in 1972 [32] and then more comprehensively discussed by Liu and Layland in 1973 [33]. They studied an idealized situation, in which all tasks are periodic, do not synchronize with one another, do not suspend themselves during execution, can be instantly preempted by higher priority tasks, and have deadlines at the end of their periods. The term "rate monotonic" originated as a name for the optimal task priority assignment in which higher priorities are accorded to tasks that execute at higher rates (that is, as a monotonic function of rate). Rate monotonic scheduling is a term used in reference to fixed priority task scheduling that uses a rate monotonic prioritization. Although a

PAGE 24

11 fixed priority scheduler is used widely due to the feature of analysis for a system’s feasibility, RMA cannot commit to the feasibility of a system that uses more than in worst case 69% [33] or in an average case 88% [34] of available CPU time. And the worst problem with fixed priority scheduling is that it is oblivious to deadlines, that is, blindness to hard real-time. Compared to rate monotonic scheduling, which is a static priority driven scheduling method, earliest deadline first is a dynamic priority driven scheduling method. In EDF, the task with the earliest deadline is always executed first and fairly easy to implement. The execution queue is sorted by the time of the next deadline. When a task becomes active it must be inserted in the execution queue, or if its deadline is before the deadline of the currently executing task, it must preempt the currently executing task. EDF has only one serious drawback: the theory is optimal only for loads that can be scheduled. It does not address overloads. EDF degrades ungracefully when it is overloaded. Another big point is that dynamic priority scheduling tends to be complex and sometimes uses heuristics comparing to the guaranteed feasibility based on an analysis in fixed priority scheduling. But a processor can be fully utilized by dynamic priority scheduling. 1.2.4.2 Aperiodic task scheduling Contrary to the guarantee of meeting deadlines in the hard task scheduling, there is no form of guarantee for aperiodic tasks. They are usually served in background with respect to hard tasks in order not to jeopardize the schedulability of hard tasks or served by an aperiodic server to improve responsiveness. Substantial research has been done in the scheduling of aperiodic tasks in both fixed and dynamic priority systems. The sporadic server algorithm [35], the deferrable server algorithm [36], and the slack stealer algorithm [37] are for the fixed priority environment. A number of algorithms that solve the aperiodic task scheduling in dynamic priority systems using EDF scheduler can be found in literatures; deferrable server [38], slack stealing [39], or sporadic server [39, 40]. To improve the response time of aperiodic requests, an efficient

PAGE 25

12 approach called total bandwidth server (TBS) has been proposed by Spuri and Buttazzo [40, 41]. Yielding much faster responsiveness under sharing resources among periodic and aperiodic tasks, the algorithm has been extended to reflect in the environment of resource sharing [42, 43]. The TBS allocates feasible priority by assigning suitable deadlines to arrived aperiodic tasks while guaranteeing deadlines of other periodic tasks and schedules them as hard periodic tasks. By handling aperiodic tasks like periodic tasks within the reserved bandwidth, the TBS can produce better responsiveness than other aperiodic mechanisms, sporadic server, slack stealing, and so on, based on the idea of using idle time of periodic scheduling or “stealing” all the possible processing time from the periodic tasks, without causing their deadlines to be missed. 1.2.5 Low Power Real-Time Computing Low energy consumption has already shown up as a critical feature in high-end systems as well as power confined real-time systems. Dynamic voltage scaling and frequency scaling in variable voltage processors are outstanding techniques because the power consumed by a component implemented in CMOS technology is quadratically proportional to voltage and linearly proportional to frequency. In other words, operation takes even longer, while greater energy reductions can be achieved with slower clock and lower voltage. The longer execution time affects performance degradation in application or meeting strict time constraints in real-time systems. Therefore there have been a number of techniques that combine low-power techniques and scheduling algorithms in systems. The benefits of reducing the supply voltage and clock speed in a processor to save energy have been primarily studied based on simulations. Weiser et al showed the potentials of voltage scaling for general-purpose processors using traces gathered from UNIX-based applications [44]. Their scheduling algorithms are interval-based voltage schedulers, which set clock speed depending on processor utilization in previous intervals. By employing the same traces, Govil et al extend the work of Weiser et al and study several dynamic speed-setting policies that slow the processor when it is mostly idle and speed it up when it is mostly active [45]. Also using interval-

PAGE 26

13 based clock scheduling Pering et al achieve considerable reduction of energy consumption comparing to full speed running [46] and later they present a heuristic based on EDF scheduling [47]. Unlike previous studies in voltage scaling that rely on simulations, there are several raw measurements of the power-delay trade-off in voltage scaling. Grunwald et al have investigated the power consumption of the Itsy Pocket Computer [48] for previously proposed intervalschedulers and found that frequent voltage and clock changes incur unnecessary overhead. Throughout a wireless multimedia terminal called InfoPad, Truman et al measure the power consumption in the portable system and DVS scheme to reduce the power consumption [49]. With the importance of the prediction of appropriate performance for the next interval, a workload prediction strategy using adaptive filtering is proposed [50]. However, since the gain is extremely dependent on the interval length, the optimal setting varies per application, and even the individual requirements of running tasks, e.g., deadlines and computation estimates, were not considered, interval-based voltage schedulers result in poor behavior for more complex workloads such as burst applications. In DVS approaches for real-time systems, scheduling is done at the task level using the task execution times based on worst execution times (WCET) in general and exploiting slack times from static analysis and runtime workload variation. The concept of real-time scheduling is firstly applied to dynamic speed setting by Pering and Broderson [51]. Non-preemptive EDF scheduling based on the ILP method is also presented [52]. The authors controlled two different operating speeds/voltages through OS system calls to minimize the energy consumed by a periodic task set. A minimum-energy scheduler for dynamic speed-setting based on the EDF scheduling policy is proposed [53] and they compare some online algorithms to an off-line algorithm executed by assigning the optimal processor speed setting to a critical interval that requires maximum processing. Similarly, Hong et al consider a low energy heuristic for non-preemptive scheduling with a dynamically variable range of [0.8, 3.3] V [54]. They also present a heuristic even for preemptive model with a limited speed changes [55].

PAGE 27

14 Quan and Hu study the optimal voltage setting for fixed-priority scheduling [56]. All these approaches require that the task release times must be known a priori Hong et al describe an online scheduling algorithm for hard real-time tasks assuming the release times of jobs are not known a priori [57]. For the periodic task model and rate-monotonic scheduling, two on-line voltage-scaling methods [58] were proposed, which change voltage levels at the execution stage from the initially assigned levels as such changes become necessary. Using integer linear programming (ILP), Ishihara and Yasuura present a very interesting result regarding the impact on energy of the number of available distinct voltage levels [59]. They pointed out that at the most two voltage levels are usually enough to minimize energy consumption. In the presence of task synchronization, R. Jejurikar and Gupta use slowdown factors based on DVS for energy saving of EDF scheduling [60]. There are also several hybrid approaches exploiting both DPM and DVS schemes. Transmeta has combined both schemes in a processor called Crusoe [61] targeting mobile computing, which is able to dynamically adjust clock frequency in 33 MHz steps. By running applications at several frequencies even in the active mode of DPM, they can get larger power savings in addition to the one obtained by DPM. Based on the studies of energy efficient design for portable devices [62], another hybrid method has been studied on MPEG applications on top of a Crusoe processor based system [63]. Also Kim and Ha observe trade-offs between DPM and DVS schemes and propose a hybrid method that exploits both workload-variation slack time and shutting off unused components on a timeslot-by-timeslot basis [64]. In this dissertation, we apply VCS scheme to EDF scheduling for hard real-time tasks, reclaiming resources based on the property that actual execution times of tasks in real-world embedded systems change as much as 87% relative to the measured WCET [65]. 1.2.6 Power-aware Real-Time Computing Maximizing the utilization time of energy that can be delivered by a battery have become one of the most important design considerations for a power-limited system, since it directly

PAGE 28

15 impacts the extent of the system life. Instead of focusing on reducing power consumption alone, researchers have begun to study the battery behavior and the effect of the battery discharge pattern on battery capacity as well [66]. Against the result of previous interval-based dynamic voltage scaling scheduling, in the experimental research by using the Itsy hand-held computer [67], Martin and Sieworek show that reducing power consumption is not always the best strategy when taking battery effectiveness into account because most of the batteries are non-ideal [68, 69]. He presents a revised Weiser’s PAST algorithm to account for the non-ideal properties of batteries and the non-linear relationship between system power and clock frequency. Based on the non-linearity in battery discharge, a system-level power estimation methodology is proposed [70], where they have shown the formula of energy-consumed processor, memory and L2 cache, interconnects and pins, DC-DC Converter, and a battery capacity model. Pedram and Wu study tradeoffs between energy dissipation and delay in battery-powered digital CMOS design [71, 71]. Benini et al propose several DPM policies to take into account battery’s charge state study [73]. In particular, they introduce a class of closed-loop policies, whose decision rules used to control the system operation state are based on the observation of both system workload and output voltage of the battery. Power-aware real-time scheduling must carry out two key features, not only being aware of domain-specific knowledge such as the power source, battery status, and other operating conditions, but also guaranteeing requirements of real-time tasks, assuring the best performance of real-time applications, and even efficient utilization of power constraints under the powerawareness. Much research has been done to introduce the power-awareness into real-time computing, from the properties of power source to instructional level by an assistance of compiler. For distributed real-time embedded systems having voltage-scalable capability, Luo and Jha suggest two schemes to optimize the battery lifetime by modeling a battery [74]. The one is a batteryaware scheduling scheme based on heuristics of minimization of the peak power consumption

PAGE 29

16 and reduction of the variance of the discharge current profile to get the battery efficiency. The other is a variable-voltage scheduling scheme via efficient slack-time re-allocation. Motivated by the task requirements and power source characteristics of Mars rover having two power sources: a solar panel and non-rechargeable battery, Liu et al propose a power-aware real-time scheduling [75]. All prior studies try to reduce total energy consumption exploiting the property of scaling scheme or power source. Besides, real-time embedded systems having a constrained energy budget lower than the maximum, which the tasks can consume, demand an efficient scheme to share a limited energy budget among competing real-time and non-real-time tasks as well as reduction of total energy consumption. For systems consisting of soft aperiodic tasks, the objective of minimizing power consumption using a popular energy reduction technique, voltage-clock scaling, will result in slow execution. On the other hand, in many cases, the battery capacity can be replenished or there is a finite mission lifetime. Minimizing power consumption that doesn’t utilize all available energy may not lead to optimal system performance. A better power control strategy in such cases is to minimize the response times of soft real-time tasks, providing that the deadlines of hard realtime tasks are met and the average power consumption is bounded. In spite of widespread recognition of the importance of energy, there is no convenient abstraction of the power consumption and sharing in real-time scheduling. One of goals in this dissertation is to abstract energy usage and utilization required by real-time tasks and to allocate the confined energy budget as a first criterion in real-time scheduling. On top of the quantitative analysis for the system’s power-awareness such as system component or instructional level power estimation/monitoring, we abstract energy and utilization usages on task basis by exploiting the property of voltage-clock scaling. Also, we build a constrained energy budget allocation model that enables tasks to share the available energy concerning the requirements of real-time tasks and present a static analysis based on voltage-clock scaling. Furthermore, we propose an energy efficient real-time dynamic scheduling, which switches two scheduling policies to get energy

PAGE 30

17 saving, and construct an algorithm to optimize energy consumption and responsiveness according to real-time application’s requirement. 1.3 Main Contributions The objectives of the dissertation are to design a low-power scheduling reducing total power consumption for hard-real-time applications and to build power-aware real-time systems supporting energy efficiency for real-time application under bounded energy budget. The main contributions of the dissertation are as follows: A low-power scheduling for hard real-time systems We devise comprehensive scheduling algorithms for integrated real-time systems. They include (1) a fundamental two-mode scheduling theory, (2) reduction of power consumption using power-aware voltage-clock scaling, (3) dynamic reclaiming of early released resources, and (4) optimal voltage setting in VCS-EDF scheduling. Power-aware scheduling for mixed real-time tasks under a constrained energy budget In order to develop a power-aware static analysis for real-time embedded system, the relationship of energy and workload demands is investigated. We develop an energy budget allocation model for battery-driven real-time systems, including not only small appliances being widely used, but also sensor network nodes for special purposes. The model concerns (1) integrated scheduling of both hard and soft real-time tasks in a system, (2) profiling of energy and processor’s capacity usages on the basis of task (3) efficient share of a bounded energy budget for battery-driven real-time systems, and (4) better performance in non-real-time applications. Dynamic scheduling for mixed real-time tasks considering power efficiency We demonstrate that more sophisticated and effective power-aware dynamic scheduling may enhance the overall power consumption for real-time systems. They include (1) a fundamental dual-policy dynamic scheduling theory,

PAGE 31

18 (2) static analysis using the energy budget allocation model, (3) modified Total Bandwidth Server for scheduling aperiodic tasks, and (4) reduction of total energy consumption. Optimizing energy efficiency and responsiveness Given the energy-utilization tradeoffs in power-aware real-time scheduling, we show that the adjustment of the periodic tasks’ workload within schedulable range can lead to an effective utilization of the limited energy budget from the understanding of the energy and performance implications. The tuning of periodic tasks’ workload implies (1) making the best use of a constraint energy budget, (2) appropriate sharing of energy and processor’s computation capacity in run-time scheduling, (3) proper adjustment of energy consumption and responsiveness to the system’s performance, and (4) reduction of total energy consumption pursuing system’s target performance. 1.4 Organization of the Dissertation The rest of the dissertation is organized as follows. Chapter 2 presents a solution for reduction of total energy consumption in hard real-time systems. The two-mode Voltage-Clock Scaling EDF scheduler is proposed, which uses a simple setting arrangement that the processor in a real-time system can be dynamically configured in one of two modes named low-voltage ( L) mode and high-voltage ( H)-mode In L -mode, the processor is supplied with a low voltage ( VL) and runs at a slow clock rate. And, the processor can be set in H-mode, i.e. be supplied with a high voltage ( VH) and run at a fast clock rate. Chapter 3 investigates the VCS problem in sharing a limited energy in battery-driven real-time embedded systems. To provide real-time guarantees, the delay penalty in VCS needs to be carefully considered in real-time scheduling. In addition to real-time requirements, the systems may contain non-real-time tasks whose response time should be minimized. Thus, a combination of optimization objectives should be addressed when we establish a scheduling policy under a

PAGE 32

19 power consumption constraint. In this dissertation, we devise the VCS-EDF scheduling to get proper allocation of energy budget that is limited to mixed hard and soft real-time tasks. Based on schedulability of VCS-EDF, we first analyze the characteristics of energy and utilization demand of periodic and aperiodic tasks, and then profile energy and utilization usages in the viewpoint of real-time scheduling. The profiling enables developers to build an energy-efficient or poweraware real-time schedule and is directly related to how definitely it assigns a bounded energy cost to tasks for specific real-time application. Then, we build a model for sharing constrained energy budget to real-time tasks and propose a static real-time scheduling to assign operation voltage/frequency to tasks, satisfying the requirements of hard and soft real-time applications. To get a better performance for aperiodic tasks, voltage settings resulting in the fastest responsiveness are selected among the schedulable ones under a given energy budget. Chapter 4 proposes an efficient energy saving scheme for run-time scheduling called dual-policy dynamic real-time scheduling. It is for the real-time embedded systems, which jointly schedule both hard and soft tasks, and whose energy usage is bounded. By the constrained energy allocation scheme proposed in chapter 3, a set of voltage settings that make the best use of assigned energy and gives better performance for aperiodic tasks is decided. In the chapter, based on the voltage settings determined in the constrained energy allocation, we propose a dynamic scheduling to ensure an extended lifetime of the system under the given energy budget. The proposed approach is featuring an intermixing of two elementary schedules with the following observations. As total bandwidth server algorithm is applied to mixed tasks under a constrained energy budget, we notice the share of the processor’s capacity is directly related to the energy sharing among them. Also, we observe a change of pattern in a joint scheduling of both periodic and aperiodic tasks, which consists of two intervals assorted by the existence of any aperiodic event. As for energy consumption in two-mode voltage-clock scaling EDF scheduler based on total bandwidth server algorithm, the voltage settings for only periodic tasks consumes less energy than the ones for mixed tasks. In the intervals having only periodic tasks, applying worst-

PAGE 33

20 case voltage settings determined for the mixed tasks leads to more energy consumption to the voltage settings assigned for periodic tasks only. Therefore, the proposed algorithm switches running modes (scheduling policies) along with the change of pattern in event occurrences. For the intervals having mixed events of periodic and aperiodic tasks, the worst-case schedule is taken. For the other intervals having only events of periodic tasks, the voltage settings only for periodic tasks are allowed for energy saving. Chapter 5 considers a scaling mechanism in total energy saving and responsiveness of aperiodic tasks in the dual-policy dynamic real-time scheduling and proposes a method to adjust energy consumption and response times to the aimed performance. When we introduce a set of scheduling policies as a set of voltage settings/running speeds for periodic tasks in chapter 4, they fall upon extremes in feasible ranges of their energy consumption and utilization. Due to the difference in energy consumption between the two extreme schedules, the dual-policy dynamic scheduling can save energy consumption. In-between the extreme schedules for periodic tasks, there exist other combinations of voltage settings/running speeds, which have different energy consumption and utilization. If a set of voltage settings other than extremes is used for the intervals consist of only periodic tasks, the amount of energy consumption and average response time that the scheduler can acquire is changed accordingly. Thus, we introduce a new scaling factor, which can control the energy consumption/responsiveness, such that the dual-policy dynamic scheduling optimize the system’s performance to the requirement of the real-time system under a specific energy budget. Chapter 6 summarizes the main contributions of the dissertation, and discusses future research directions.

PAGE 34

21 CHAPTER 2 TWO-MODE VCS-EDF SCHEDULING FOR HARD REAL-TIME SYSTEMS 2.1 Introduction In recent years, the rapidly increasing popularity of portable battery-operated computing and communication devices have motivated research efforts toward low power and energy consumption. Battery life is the primary constraint for energy-constrained systems such as personal mobile phones, laptop computers, and PDA’s. Significant reduction in power consumption is possible from techniques ranging from low-power CMOS circuit design to power management software tools. Initial power management efforts focused on putting the system in a low-power/lowperformance sleep mode when it was idle. With the advent of the Advance Configuration Power Interface (ACPI) standard, such power management has been successfully employed in real-life systems. However, such approaches depend for their efficacy on efficient ways to decide when and which device should be shut down and woken up [4, 5, 6]. Processor cores can operate at different voltage ranges to achieve different levels of energy efficiency. For instance an ARM7D processor can run at 33MHz and 5V as well as at 20MHz and 3.3V. The energy-performance measures at these two operation modes are 185 MIPS/WATT and 579 MIPS/WATT, and the MIPS measures are 30.6 and 19.1, respectively [76]. Another example is Motorola’s PowerPC 860 processor, which can be operated in a highperformance mode at 50MHz and with a supply voltage of 3.3V, or a low-power mode at 25MHz and with an internal voltage of 2.4V [77]. The power consumption in the high-performance mode is 1.3 Watts, as compared to 241mW in the low-power mode.

PAGE 35

22 The basic concept of power reduction in the variable voltage processors is a technique called Voltage-Clock-Scaling in CMOS circuit technology. The power consumed for transitions in digital circuit is equal to f V N C PDD sw L cmos2(2-1). Due to the quadratic relationship between the supply voltage ( VDD) and the clock frequency, a small reduction in voltage can produce a significant reduction in power consumption. However, lowering VDD increases the circuit delay by the amount of the equation 2 T DD DD dV V V k t (2-2). Obviously, the longer execution time affects performance degradation in application or meeting strict time constraints in real-time systems. From equation (2-1), lowering supply voltage will reduce power consumption. However, it also slows down the logic. Based on these equations, a voltage-scaling scheme was introduced in many studies by dynamically adjusting clock speed, allowing a system to operate at a lower voltage level to save energy without missing task deadlines. Clearly, if low energy consumption is a desirable feature in real-time systems, voltage-clock scaling must cooperate with the task scheduling algorithms since the power-delay tradeoff property in low power design affects meeting the strict timeconstraints of real-time systems. For instance, the execution of a high-priority at a low voltage and slow clock rate may cause a low-priority task to miss the deadline due to the additional delay from the execution of the high priority task. In this dissertation we extend the resource reclaiming [78] with EDF scheduling algorithms. Energy saving is made possible by running tasks in low-voltage mode during reclaimed slack periods that are released by tasks that do not consume their entire worst-case execution times. The algorithm proposed in this paper makes the slack time reclamation possible even if the task arrival instances or phases are not known a priori. We also propose a new dynamic voltage assignment which can result in much greater energy saving. We then discuss and demonstrate how the voltage setting should be chosen so that the dynamic algorithm and slack period reclamation can be most effective.

PAGE 36

23 The chapter is organized as follows. In Section 2.2, we outline the preliminary system model. In Section 2.3, we describe the detail algorithms of voltage assignment and slack period reclamation. To illustrate the effectiveness of the proposed algorithms, we evaluate the energy saving performance in Section 2.4. In the following section, we present how to get the optimal voltage settings. Finally, a short conclusion is provided in Section 2.6. 2.2 System Model In real-time systems, tasks may arrive periodically or sporadically and have individual deadlines. For Earliest Deadline First (EDF) scheduling, a task i is modeled as a cyclic processor activity characterized by two parameters, Ti and Ci, where Ti is minimum inter-arrival time between two consecutive instances and Ci the worst-case execution time of task i. The EDF scheduling algorithm always executes the earliest-deadline task awaiting service. To apply voltage-clock scaling under EDF scheduling, we make several assumptions as follows: A1. Voltage switching consumes negligible overhead. This is analogous to the assumption, made in classical real-time scheduling theory, that preemption costs are negligible. Voltage switching typically takes a few microseconds. In fact, a bound of the total overhead can be calculated by considering the number of task arrivals and departures since voltage switches are only done at task-dispatch moments. A2. Tasks are independent: no task depends on the output of any other task. A3. The worst-case execution demand of each task i, Ci, is known. The actual execution demand is not known a priori and may vary from one arrival instance to the other. A4. The overhead of the scheduling algorithm is negligible when compared to the execution time of the application. A5. The system operates at two different voltage levels. Ideally, a variable voltage processor that has continuous voltage and clock setting in the operational range is available. The first four assumptions are analogous to assumptions made in real-time scheduling theory. As for A5, we assume a simple setting arrangement that the processor in a real-time system can be dynamically configured in one of two modes: low-voltage ( L) -mode and highvoltage ( H)-mode In L -mode, the processor is supplied with a low voltage ( VL) and runs at a

PAGE 37

24 slow clock rate. Thus, task execution may be prolonged but the processor consumes less energy. On the other hand, the processor can be set in H-mode, i.e. be supplied with a high voltage ( VH) and run at a fast clock rate, in order to complete tasks sooner at the expense of more energy consumption. The processing speeds at L-mode and H-mode are denoted as L and H, respectively, in terms of some unit of computational work Depending upon the voltage setting for task i, the worst-case execution time (WCET) is Ci/L or Ci/H. Assume that in the system there are n tasks, 1,2,..., and n, that are numbered in decreasing priority order. That is, D1 D2... Dn where Di is the deadline of task i. Thus, the total utilization demand by all tasks is n i i iT C1. Also, upon each invocation, the task i must be completed before its deadline period Di. This is the real-time requirement. To minimize energy consumption in real-time systems, the voltage-clock scaling problem is imposed when L H. The task set is schedulable if the processor is entirely run in Hmode and misses at least one deadline if running in L-mode completely. Keeping the processor entirely in H-mode to meet the deadlines of all the tasks results in extra energy consumption. Therefore, an algorithm is called for to determine the optimal voltage settings and to minimize Hmode execution, while guaranteeing that no deadline is missed 2.3 Voltage-Clock Scaling under EDF Scheduling The VCS-EDF scheduling is composed of mode assignment and resource reclaiming phases. Assuming tasks run to their WCETs on EDF scheduling, mode assignment picks the voltage setting for each task, i.e. Hor L-mode that will minimize the total energy consumed and ensure schedulability under EDF. The reclaiming phase dynamically switches voltage settings taking into account the resources released by tasks that complete their work ahead of WCET. The difference between WCET of a task and the execution time it consumes is called a slack period The optimization problem can be stated as follows: Pick H and L such that H L = {1,2, ..., n}

PAGE 38

25 H L = !iHCi/Ti is minimized subject to the well-known sufficient condition1 for the schedulability of periodic tasks under EDF, i.e., 1 ) min( 1 ) min( 1 ! L i i i i L H i i i i HD T C D T C (2-3) This optimization problem can be treated equivalently as the decision problem of the subset sum, which is NP -complete. Consequently, efficient search techniques e.g., branch-andbound algorithms, should be employed to find a solution if n is large. For dynamic mode assignment, the subsets H and L are determined for each busy cycle during which the scheduler is busy continuously without any idle intervals. We assume that H = {1,2, ..., n} and L = at the beginning of a busy cycle. At the first arrival instance of task j, the subsets can be modified to H-{j} and L{j} respectively, if 1 ) min( 1 ) min( 1} { } { ! j jL i i i i L H i i i i HD T C D T C (2-4) In other words, the tasks will be assigned to the low voltage mode subject to the schedulability constraint and the assignment is done in the order of the tasks’ first arrival instances during each busy cycle. While the dynamic assignment is not aimed at the minimization of the execution period in H-mode it takes advantage of short busy cycles where no H-mode execution should be invoked. Given the voltage assignments defined in H and L tasks can be dispatched and run in the assigned mode. The sufficient condition guarantees that, if every task takes up to its WCET, there is enough system capacity for each task to be completed before its deadline. When a task consumes less execution time than its WCET, there is a slack period to indicate the remaining budget that is no longer needed before the task’s deadline. Since the slack period will not exist 1 The condition is also necessary if DiTi for all i

PAGE 39

26 any more after the task’s deadline, we denote this deadline as the expiration time of the slack period. Thus, a waiting task that has a deadline greater than the expiration time of a slack period can use up this slack period and run in low-voltage mode. This reclamation algorithm is given in Figure 2-1 where the following definitions are used: ST-Q : the slack-time queue to track the slack periods given from the tasks that don’t use up the whole WCETs. Each element in the ST-Q indicates an amount of slack period of a completed task. A slack period has an expiration time that is the deadline of the task and can be consumed by any other tasks that have a deadline earlier than the expiration time. TK-Q : the normal EDF task queue for all tasks in the system. cti : the computing time that task i has consumed for its scheduled period of the EDF schedule. It doesn’t include the running time during any available slack periods of other tasks st i : the slack time of task i. The initial slack time is equal to Ci / cti at the completion instance of i where is the speed factor of the assigned voltage mode. enQueue(element, Q) : insert an element into the queue of Q deQueue(Q) : delete the first element from the queue of Q head(Q) : the element at the head of queue Q. SL-decrement : the flag to indicate the slack period in the head of ST-Q must be decremented as time progresses. The flag will be on when a task is using up the slack period or when the system is idle. To track the slack periods for all tasks and to combine online EDF scheduling and voltage-clock scaling, we employ two queues, i.e., TK-Q and ST-Q in which tasks and slack periods are ordered according to their deadlines and expiration times, respectively. A task’s slack period is computed when it completes the actual computation. The slack period is inserted into ST-Q if it is greater than zero. At the dispatch instance of task i, the task is executed at low voltage if there is a slack period can be reclaimed (i.e. the expiration time of the slack period is less than the task’s deadline). Otherwise, it is executed at its assigned voltage mode.

PAGE 40

27 Algorithm Slack-time Reclamation: at the arrival instance avi of task i { if (TK-Q != empty) adjust-ct-st; cti = 0; set task deadline to avi+Di; enQueue(i, TK-Q); // enqueue the arriving task dispatch(TK-Q, ST-Q); } at the completion instance of a task { adjust-ct-st; i = deQueue(TK-Q); if (i H) s ti = Ci/H – cti // set slack period else s ti = Ci/L – cti set s ti’s expiration time to the deadline of task i if (sti > 0 ) enQueue(sti, ST-Q); dispatch(TK-Q, ST-Q); } at the end of a slack period { sti = deQueue(ST-Q); dispatch(TK-Q, ST-Q); } Procedure adjust-ct-st {// adjust accumulated execution // time and available slack periods j = head(TK-Q); exec_time = the execution time since the last dispatch instance; if (SL-decrement==off) ctj = ctj + exec_time; else { stk = head(ST-Q); stk = stk exec_time; } } Procedure dispatch(TK-Q, ST-Q) { // dispatch a task // and a slack period, assign execution mode if (TK-Q != empty) { j = head(TK-Q); SL-decrement = off; // assume no slack time if (ST-Q != empty ) { stk = head(ST-Q); if (deadlinej >= expiration_timek) { SL-decrement = on; // reclaim set voltage_mode to L; // Lmode set the end of slack period to (current instance + stk ); } if (SL-decrement == off) { // no reclamation, // run the task with the assigned voltage if (j H) set voltage-mode to H; else set voltage_mode to L; } } } else { // the system is idle, stk = head(ST-Q); // slack period must be SL-decrement = on; // decremented set the end of slack period to (current instance + stk ); } } Figure 2-1. On-line reclamation algorithm for voltage-clock scaling

PAGE 41

28 When a slack period is reclaimed by a task or when the system is idle, the slack period at the head of ST-Q is decremented as time progresses and is removed from ST-Q once it is exhausted. On the other hand, a running task needs to accumulate its computation time when it doesn’t use up any slack periods. This implies that the execution is using up other tasks’ budgets and, when the task is done, an additional slack period can be accumulated due to its reclamation and possible early completion. 2.4 Simulation Evaluation of VCS-EDF Algorithm As described in Section 2.2.2, the static and dynamic voltage assignment can guarantee all tasks to meet their deadlines. Depending upon task characteristics, such as periods, WCETs, and arrival phases, the amount of time that the processor is running in H-mode may vary a lot. In this section, we evaluate their average energy consumption based on random task parameters in a system of 10 real-time tasks. For each test case, we measure the percentages of the time that the processor is in H-mode and L-mode, and is idle In addition to the schemes of static and dynamic voltage assignments with slack period reclamation, we also considered a fixed voltage assignment which follow the static assignment but with no slack period reclamation. Note that the fixed assignment minimizes the energy consumption when all tasks invoke the worst-case execution demands. In our simulation, we first generate 10 random task periods in the range of 100 to 1000, and assign the task deadlines equal to their periods. We assume that VH and VL are fixed and the execution speeds are set to L=1.0 and H=2.0 L=1.0 represents the normalized processing speed. Then, relatively the execution speed at H=2.0 is double the speed of L-mode The worstcase execution demands of the tasks are chosen in the range of L to H. The real task execution demand is then selected randomly such that the mean is in the range of 0.6 to 1.0 of the worstcase execution demand.

PAGE 42

29 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 0 10 20 30 40 50 60 70 80 90 Utilization in L-modePercentage of the time in H-mode 0.6 0.7 0.8 0.9 Fixed-mode (dashed lines) Static-mode (solid lines) mean (a) Percentages of the time in H-mode for fixed and static voltage assignments 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 0 10 20 30 40 50 60 70 80 90 Utilization in L-modePercentage of the time in H-mode 0.6 0.7 0.8 0.9 Fixed-mode (dotted lines) Dynamic-mode (solid lines) mean (b) Percentages of the time in H-mode for fixed and dynamic voltage assignments Figure 2-2. The percentage of execution time in H-mode

PAGE 43

30 In Figure 2-2(a) and (b), we show the evaluation results for execution demands ranging from 1 to 2 The curves with dashed lines are the percentage measures from the fixed voltage assignment, whereas the solid lines are based on the static and dynamic voltage assignments. With the fixed mode assignment, the measured percentage in H-mode is approximately proportional to the average of the actual workload. The curves in Figure 2-2(a) and (b) show some interesting trends. The difference of the measured percentage in H-mode execution between the fixed-mode and static-mode assignments increases with the workload. This indicates the effectiveness of slack period reclamation in a heavily loaded system. Also, the variance of task execution time plays an important factor, as an increased number of slack periods can be useful for a subsequent task execution. Furthermore, the dynamic voltage assignment is more effective when the workload is moderate (neither very low nor very high). This is due to two facts. The first is that the probability of finding short busy cycles diminishes as we increase the workload. On the other hand, when the workload is low, most tasks are started in L-mode in the fixed assignment. The voltage assignment made by the dynamic approach at the beginning of each busy cycle would not be substantially different from the one under the fixed approach. We study the improvement of the proposed VCS-EDF scheduling in Figure 2-3 where the percentage reductions of the H-mode execution times over the fixed assignment approach are depicted. For instance, with L=1.0, H= 2.0 =1.5, and the average execution time is 0.7 of Ci, the percentages of the time in H-mode under the fixed-, staticand dynamic-mode assignments are 35.04%, 26.08%, and 20.28%, respectively. These percentages indicate that, compared to the fixed approach, the reductions of the time in H-mode reach (0.35-0.26)/0.35=0.26(26%) and (0.35-0.20)/0.35=0.43(43%) for static and dynamic approaches, respectively. The curves in the figure show that the dynamic voltage scaling can almost completely eliminate H-mode execution when the workload is low and the real task execution time is much smaller than the WCET. This significant result is due to (1) no pre-assignment of H-mode execution, and (2) effective slack

PAGE 44

31 time reclamation. As we increment the workload, the percentage reductions shrink as the H-mode become necessary to meet deadline requirement, even though the reduction of the H-mode execution is substantial as shown in Figure 2-2. Figure 2-3 also reveals the difference between the static and dynamic approaches. As long as the workload is not high, there will be many short busy cycles and few long ones. The dynamic approach of making a greedy decision at the beginning of each busy cycle is justified given that there is no knowledge of subsequent task arrivals. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Utilization in L-modePercentage of the reduction 0.6 0.7 0.8 0.9 Dynamic-mode (dotted lines) Static-mode (solid lines) mean Figure 2-3. The percentage of the reduction for the time in H-mode Using the percentage of the time spent in H-mode, L-mode, and in the idle state, we can measure the savings in power consumption. Assume that VT=0 and that there is no power consumption in the idle state (in practice, idle power consumptions are extremely low, which justifies this assumption). The ratio of the average power consumption under the static approach to that of the fixed approach is

PAGE 45

32 2 2 2 2 2 2) )( fixed ( PT ) fixed ( PT ) )( static ( PT ) static ( PT V ) fixed ( PT V ) fixed ( PT V ) static ( PT V ) static ( PT ) fixed ( P ) static ( PH L L H H L L H L L H H L L H H CMOS CMOS (2-5) where PTx(y) is the percentage of execution time in x-mode under y approach. Similarly, we can compute the ratio PCMOS(dynamic)/PCMOS(fixed) The ratios are plotted in Figure 2-4 for various workloads. In the extreme case, more than 25% of the energy can be saved by the dynamic approach over the fixed assignment. Note that the fixed assignment can outperform any global voltage setting, as it uses the optimal voltage assignment for each task, but does not incur any online adjustment. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 0.70 0.75 0.80 0.85 0.90 0.95 1.00 Utilization in L-modeRelative Energy Consumption 0.6 0.7 0.8 0.9 mean Dynamic/Fixed (solid lines) Static/Fixed (dashed lines) Figure 2-4. The relative energy consumption of fixed, static, and dynamic approaches

PAGE 46

33 2.5 Optimal Voltage Setting in VCS-EDF scheduling In the simulation experiments of Section 2.2.3, we assume fixed L and H (i.e. fixed VL and VH). Here, we address the problem of determining the optimal voltage settings given the characteristics of the given task set. If the task execution demands are constant and every instance of task i requires a fixed demand of Ci, then VH should be set to VH which leads to an execution speed H and /H *= 1. The processor will have a full utilization of 1. There is no need to have a different VL
PAGE 47

34 WCET in H-mode 2 (H) 2 (H) 4 (H) A ctua l Work 1 2 3 idle(L) L=0 2 (H) 2 (H) 4 (H) 2 3 L=0.5 2 (H) 3.625 (H) 2 (L) 1.5 (L) 1.5 (H) L=1.0 2 (H) 3 (H) 2 (L) 2 (L) 1 (H) L=1.5 2 (H) 2.125 (H) 2 (L) 2.5 (L) 2=0.5(H) 1 1 1 1 1 2 2 3 3 3 3 3 3 3 L=2.0 2 (H) 1(H) 2 (L) 3 (L) 1 3 3 2 2 2 2 5 4 3 2 idle(L) idle(L) 0 2 4 6 8 10 12 1 3 5 7 9 11 0 2 4 6 8 10 12 1 3 5 7 9 11 (a) Task executions according to the speeds of two modes L 100 80 60 40 20 90 70 50 30 10 0 % 110 WCET 0 1.0 2.0 0.5 1.5 100 59.4 1.82 50.0 8.33 38.5 21.1 25.0 41.7 66.7Relative Energy Consumption H-mode Execution L-mode Execution (b) Relative energy consumptions for different L Figure 2-5. An example of finding the optimal L In Figure 2-6, we present simulation results of the optimal voltage settings using the DC characteristics of Motorola’s MPC860 processor. At VH= 3.3V, the processor runs at an operating

PAGE 48

35 frequency of 50 MHz and has a power consumption of 1.3 Watts. In addition, we assume that the processing speed is proportional to the operating frequency and that VT=0.7 which is the typical threshold voltage in most CMOS circuits with 0.25-0.35 m technology. In our experiments, the worst-case execution demands of 10 tasks are chosen such that a full utilization is achieved at Hmode. Then, the supply voltage at L-mode, VL, is varying from 0.7 to 3.3, and the real task execution demands are generated as a random number such that the mean demand is a proportion of the worst-case demand. Using the simulation results of the dynamic VCS-EDF scheduling, i.e. the percentages of time in Hmode and Lmode execution, we can compute the average energy consumption for various VL from the equations (2-1), (2-2) and (2-3). The curves in Figure 2-6 indicate the optimal VL and the possible power savings when a good candidate of VL is chosen 0.5 1 1.5 2 2.5 3 3.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 L-mode VoltageEnergy Consumption 0.6 0.7 0.8 0.9 Vopt= 2.252 Vopt= 2.214 Vopt= 2.176 Vopt= 2.087 mean Figure 2-6. The optimal L-mode voltages VL (VH= 3.3 V, 1.3 Watts, and 50 MHz)

PAGE 49

36 2.6 Conclusion In this dissertation, we investigate the voltage-clock scaling problem in real-time embedded systems. Under EDF scheduling, we propose two scaling methods to reduce power consumption. Both methods utilize L-mode execution during task slack periods that come from the discrepancy between the worst-case and the real computation times. The static approach assigns a fixed voltage setting for each task in the offline phase such that the average execution time in H-mode is minimized and the schedulability condition is satisfied. At the online (runtime) stage, the tasks are dispatched according to the EDF algorithm and run at the assigned voltages except during the slack periods. The other method, a dynamic approach, does voltage assignment at the beginning of each busy cycle. Subject to the schedulability constraint, it assigns tasks to L-mode execution when the first instance of each task arrives in the busy cycle. Our simulation results demonstrate that the proposed two approaches are quite effective compared to a fixed optimal task-base voltage assignment that does not perform any online adjustment. The dynamic approach can outperform the static one if no H-mode execution is invoked during short busy cycles. Finally, we discuss the selection of optimal voltage settings for given workloads.

PAGE 50

37 CHAPTER 3 CONSTRAINED ENERGY BUDGET ALLOCATION 3.1 Introduction Recently, the growth of mobile computing and communication devices such as laptop computers, cellular phones, and personal digital assistants (PDA’s) has been explosive and the demands for embedded applications on those devices has become more sophisticated and intelligent along with the advanced technology in microprocessors. With accelerated miniaturization, portability, and complex functionality of the handheld devices (i.e. multimedia in portable phone), batteries having smaller size but longer-lifetime are indispensable. Processors are becoming increasingly power-hungry. Still, there is a big gap between the pace of current battery technology and energy demands of microprocessor systems [79]. For this reason, the field of power-aware computing has gained increasing attention over the past decade. Simple techniques, such as turning off (or dimming) the screen while a system is idle and shutting down hard disks while it is not accessed is now commonly adopted in most portable device designs. However, in many cases, re-activation of hardware can take some time, and affect response time. Also, deciding when and which device should be shut down and woken up are often far from trivial. Another effective approach to power reduction is a technique called Voltage-Clock Scaling or Dynamic-Voltage-Scaling in CMOS circuit technology. Due to the quadratic relationship between supply voltage ( VDD) and clock frequency, a small reduction in voltage can produce a significant reduction in power consumption [24, 25]. However, increase in the circuit delay by lowering VDD provides longer execution time and this leads to performance degradation in application response time and a failure to meet real-time deadlines.

PAGE 51

38 If low energy consumption is a desirable feature in real-time embedded systems, voltageclock scaling must cooperate with the task scheduling algorithms since the power-delay tradeoff property in low power design affects meeting the strict time-constraints of real-time systems. The execution of a high-priority at a low voltage and slow clock rate may cause a low-priority task to miss the deadline due to the additional delay from the execution of the high priority task. While VCS has been a well-populated research area, power-aware system design has generally focused on minimizing total power consumption. For systems consisting of soft aperiodic tasks, the objective of minimizing power consumption will result in slow execution. On the other hand, in many cases, the battery capacity can be replenished or there is a finite mission lifetime. Minimizing power consumption that doesn’t utilize all available energy may not lead to optimal system performance. A better power control strategy in such cases is to minimize the response times of soft real-time tasks, providing that the deadlines of hard real-time tasks are met and the average power consumption is bounded. In this dissertation, we target battery-driven real-time systems, jointly scheduling hard periodic tasks and soft aperiodic tasks, whose battery capacity is bounded in the feasible range given by a set of tasks. The scheduling should guarantee meeting the task deadlines of hard realtime periodic tasks and achieve average response time of aperiodic tasks that are as low as possible. Under the constraints of a bounded energy budget, finding an optimal schedule for a task set should aim to satisfy both optimal power consumption and strict timing constraints simultaneously. We first investigate the characteristics of energy demands of periodic and aperiodic tasks focusing an EDF scheduling exploiting the feature of VCS. Based on the energy requirement of mixed real-time tasks, we also propose a static scheduling for energy budget allocation, which determines the optimal two-level voltage settings of all tasks under bounded energy consumption, while guaranteeing that no deadline of any periodic task is missed and that the average response time of aperiodic tasks is minimized. The algorithm selects the voltage settings that have the

PAGE 52

39 minimum average response time among the schedulable ones within a given energy consumption. To schedule aperiodic tasks, we adopt the Total Bandwidth Server, which was proposed by Spuri and Buttazzo and handles aperiodic tasks like periodic tasks within the reserved bandwidth such that it outperforms other mechanisms in responsiveness. The rest of this chapter is structured as follows. Main concepts for designing a constrained energy budget allocation model are explained in section 3.2. In section 3.3, we outline the preliminary model with several assumptions. Then, we discuss profiling of energy consumption and processor utilization under bounded energy budget in section 3.4. Considering the characteristics described in section 3.4, energy allocation methods and an algorithm of voltage assignment are described in section 3.5. To illustrate the effectiveness of the proposed algorithm, we evaluate the performance in section 3.6. A short conclusion then follows in Section 3.7. 3.2 Design Concepts As a key implementation vehicle of the real-time systems having mixed tasks under bounded energy consumption, the energy budget allocation model has the following design concepts at its core: Scheduling hard and soft real-time tasks with power-awareness An integration of hard and soft real-time tasks and multi-task soft real-time applications like multimedia application are currently attracting much attention. Sharing a bounded energy budget In many occasions, the battery capacity can be replenished or there is a targeted mission lifetime for a system that is confined by its batteries. In such cases, reducing power consumption cannot be the only objective of task scheduling. If batteries will be charged at a predictable instant, the tasks should be scheduled to make the best of the available energy as better performance as they can achieve. And if the application of the system is composed of mixed real-time tasks, the bounded energy budget should be shared in a way that the requirements are satisfied for both sets of tasks.

PAGE 53

40 Switching voltage levels by Voltage-Clock Scaling Based on the VCS technique, most of today’s processor cores have been designed to operate at different voltage ranges to achieve different levels of energy efficiency. In this dissertation, we assume simple voltage settings that the processor in a real-time system can be dynamically configured in one of two modes: lowpower-low-frequency mode and high-power-high frequency mode. Profiling energy and bandwidth usages of tasks. To allocate a limited energy budget to tasks effectively such that the budget is fully utilized for better performance, the energy usage should be outlined at each task level in a system. In the dissertation, we have devised the VCSEDF scheduling to profile energy demands. The processor’s operation at different energy performance levels leads the energy usage to be profiled according to real-time tasks’ execution requirements. In addition to profiling the energy usage, the processor utilization must be also profiled to guarantee the schedulability of tasks. Due to the property of power-delay tradeoff in the voltage-clock scaling, processor requires prolonged execution time in low-power-lowfrequency mode, comparing to the one in high-power-high-frequency mode. Obviously, the variation of a given execution time according to the determination of operating modes (frequencies) affects processor utilization and the schedulability of EDF scheduling. Guaranteeing no missed deadline for hard periodic tasks In real-time systems that have mixed tasks, aperiodic tasks are usually served in the background with respect to hard periodic tasks in order not to jeopardize the schedulability of hard tasks and served by an aperiodic server to improve responsiveness. In this dissertation, the schedulibility of hard periodic tasks is guaranteed by the isolation of bandwidth between periodic and aperiodic tasks. Ensuring fast responsiveness for aperiodic tasks under a given energy budget If systems consist of only soft aperiodic tasks, slow execution for these tasks to minimize power consumption may result in unrestrained response time. On the contrary, if the objective of minimizing aperiodic tasks’ response time is given for scheduling mixed tasks under a limited energy budget, an appropriate amount of energy should be adjusted to aperiodic tasks to ensure

PAGE 54

41 responsiveness as fast as they can get within the available energy budget for them. Due to the inverse-relationship between energy consumption and utilization, the responsiveness can be also affected by sharing of the total energy budget to periodic tasks. The increased energy allocation to aperiodic tasks leaves periodic tasks less energy budget and this causes a delayed response time in return for the increased utilization of periodic tasks. Expanding the life span of a battery-driven real-time embedded system Since reduced power consumption promises the longer lifetime of the system, developing an effective scheduling scheme that consumes much less power is also preferred to schedule mixed tasks under a power consumption constraint. 3.3 System Model for Energy Sharing For the targeted real-time systems, tasks may arrive periodically and have individual deadlines that must be met. Or they can be aperiodic and can accrue computation values, which are inversely proportionate to their response times. Under a given bound on energy consumption, we build a system model and make several assumptions as follows. 3.3.1 Schedule for Periodic Tasks For Earliest Deadline First (EDF) scheduling, a periodic task i is modeled as a cyclic processor activity characterized by two parameters, Ti and Ci, where Ti is minimum inter-arrival time between two consecutive instances and Ci the worst-case execution time (WCET) of task i. The EDF scheduling algorithm always serves a task that has the earliest-deadline among waiting tasks. The following assumptions are analogous to assumptions made in real-time scheduling theory. Tasks are independent: no task depends on the output of any other task. The worst-case execution demand of each task i, i.e., Ci, is known. The actual execution demand is not known a priori and may vary from one arrival instance to the other. The overhead of the scheduling algorithm is negligible when compared to the execution time of the application.

PAGE 55

42 3.3.2 Schedule for Aperiodic Tasks Infinite number of soft aperiodic tasks {Ji | i=0,1,2,…} are modeled as sporadic processor activities represented by two parameters, and where is average inter-arrival time between two consecutive aperiodic instances and the average worst-case execution time of task Ji. Aperiodic tasks are scheduled by total bandwidth server algorithm that makes fictitious but feasible deadline assignment based on the available processor utilization guaranteed by the isolation of bandwidth between periodic and aperiodic tasks. In the TBS algorithm, the k -th aperiodic request arrives at time t = rk, a task deadline A k k k kU C d r d ) max(1 ,, (3-1) is assigned, where Ck is the execution time of the request and UA the allocated processor utilization for aperiodic tasks. By definition d0=0 The request is then inserted into the ready queue of the system and scheduled by the EDF algorithm, as any other periodic instances or aperiodic requests already present in the system. In Figure 3-1, an example of deadline assignment by Total Bandwidth Server is shown. Given utilization UA= 0.25 for aperiodic task of 0, the deadlines of the instance J1, J2, and J3, that are requesting execution time of 1, 2, 1, are assigned as d1= 4, d2= 8, d3= 7, respectively, by the equation (3-1) and scheduled with periodic tasks, 1 and 2. Note that the assignment of deadlines is such that in each interval of time, the processor utilization of the aperiodic tasks is at most UA. Hence, a set of periodic tasks with utilization factor !n i i i PT C U1and a TBS with a bandwidth UA is schedulable by EDF if and only if UA UP 1 Comparing to the other scheduling algorithms for aperiodic tasks, the TBS algorithm has a very simple implementation complexity and shows very good performance in average response time [40].

PAGE 56

43 a 1 2 024681012141618202224 4 8 7 A periodic task a, UA=0.25 P eriodic tasks 1 =(6,3), 2 =(8,2) UP=0.75 d1d2 d3 024681012141618202224 J 1 (1) J 2 (2) J 3 (1) Figure 3-1 An example of the deadline assigning algorithm in Total Bandwidth Server 3.3.3 Voltage-Clock Scaling 3.3.3.1 Voltage Switching We assume voltage switching consumes negligible overhead. This is also analogous to the assumption made in classical real-time scheduling theory, that preemption costs are negligible. Voltage switching typically takes a few microseconds. In fact, a bound of the total overhead can be calculated by considering the number of task arrivals and departures since voltage switches are only done at task-dispatch moments. 3.3.3.2 Two Voltage Levels The system operates at two different voltage levels. Ideally, a variable voltage processor that has continuous voltage and clock setting in the operational range is available as explained in Table 1-1. We assume a simple setting arrangement that the processor in a real-time system can be dynamically configured in one of two modes: low-voltage ( L) -mode and high-voltage ( H)mode In L-mode, the processor is supplied with a low voltage ( VL) and runs at a slow clock rate. Thus, task execution may be prolonged but the processor consumes less energy. On the other hand, the processor can be set in H-mode, i.e. be supplied with a high voltage ( VH) and run at a fast clock rate, in order to complete tasks sooner at the expense of more energy consumption. The

PAGE 57

44 operating speeds at L-mode and H-mode are denoted as L and H, respectively, in terms of some unit of computational work Depending upon the voltage setting for task i, the worst-case execution time is Ci/L or Ci/H. 3.3.4 Bounded Energy Consumption In battery-powered embedded systems, it is often equally important to control power consumption to extend the lifetime of the battery and to enhance system performance. Given that the battery can be replenished or the mission lifetime is limited, we may assume that the available capacity can safely be consumed during a predefined interval of operation. Thus, an average power consumption rate or energy budget can be set to the ratio of available capacity to the target operation interval. Also, it is possible to communicate with the battery such that the system and its scheduler can know the current status of the battery capacity. One of the mechanisms for doing this is the smart battery system (SBS), which has been now actively standardized and introduced to battery-driven systems [79]. In this dissertation, for the information of bounded energy budgets, we assume battery-driven real-time systems have such kind of mechanism. And, we assume the embedded system, whose processor is the major factor of the energy consumption 3.4 Profiling Energy and Utilization Usages in a Real-time Embedded System For all real-time tasks, the available energy consumption is confined to a given energy budget called EC, which has to be shared among periodic and aperiodic tasks. Let EP and EA are the energy budget allocated to periodic tasks and aperiodic tasks, respectively. The voltage-clock scaling problem is to find voltage settings for both periodic and aperiodic tasks such that all periodic tasks are completed before their deadlines and have energy consumption less than EP. all aperiodic tasks can attain the minimal response times while consuming energy less that EA. EP + EA EC.

PAGE 58

45 3.4.1 Periodic Tasks Assume that, for periodic task i, mi is the voltage setting determined between the two possible modes, i.e. L-mode and H-mode and i ( mi) is the speed of task i at mode mi. Given mi for all of periodic task i, the energy demand for periodic task of Ep is ) ( ) ( 1 ) (i i i i i i Pm p T C m m E! (3-2) where p(mi) is the power consumption at mode mi, iC the average execution time of task i In addition, the worst-case utilization is given by !i i i i i PT C m m U) ( 1 ) ( (3-3) If mi is H-mode for all periodic tasks, the processor runs at a fast clock rate all the time, thereby minimizing the utilization. The maximum energy demand for the tasks is represented as H i i H Pp T C E max!1 (3-4) and its utilization becomes !i i H PT C U min1 (3-5) On the contrary, if mi is L-mode for every periodic task i, the processor runs at a slow clock rate all the time such that the utilization is maximized, but consumes the minimum possible energy. For the sake of schedulability, the tasks should be scheduled in such a way that the utilization is less than unity Therefore, we define min EP as an energy demand when there exists a set of { mi} so that the worst-case utilization 1 ) ( 1 ) ( !i i i i PT C m m U and ) ( ) ( 1 ) (i i i i i Pm p T C m m E! is minimized. (3-6) In Figure 3-2, we describe the relationship between energy consumption and utilization for a set of periodic tasks. The maxima and minima are denoted as max EP and min EP for the

PAGE 59

46 energy and max UP and min UP for the utilization, respectively. Again, min EP follows equation (3-6). Regarding the feasibility of the energy constraint and the worst-case utilization, EC must be greater than min EP and min UP should be no greater than 1. By definition, if min UP is greater than unity with all H-mode executions, it is impossible to find voltage settings to ensure that all tasks meet their deadlines. If max UP is less than 1, the tasks are schedulable with all L-mode assignments and energy consumption can never be less than min EP. In the case, max UP becomes !i i L PT C L U1 and min EP does !L i i L Pp T C L E1. If energy budget EP is given in the range from min EP to max EP, UP available is the available utilization corresponding to the allocated energy budget EP. And, by searching a set of voltage settings meeting the given energy budget and schedulability, energy demand and utilization for periodic tasks are determined as EP ( mi) EP and UP ( mi) UP available, respectively. Schedulable min EPEPEnergy min UP1 Utilizationmax UP maxEPUP available 0 0 Figure 3-2 The relationship between power consumption and utilization for a set of periodic tasks 3.4.2 Aperiodic Tasks Denote by mA the voltage setting determined between the two possible modes for aperiodic tasks, which have the average inter-arrival time of and the average worst-case execution time of If all of them are assigned in mode mA and the power consumption at mode mA is p (mA) the energy consumption and utilization of them are

PAGE 60

47 ) ( ) ( 1 ) (A A A Am p m m E (3-7) ) ( 1 ) (A A Am m U (3-8) respectively. Also, if all of them are assigned in L-mode or H-mode they demand minimum energy min EA or max EA given by the following equations L L Ap E min 1 and H H Ap E max 1 (3-9) having the utilization L AU min 1 and H AU max 1 (3-10) 3.4.3 Energy Budget Allocation While the constraint EP + EA EC must be satisfied, we can decide how processor utilization, task scheduling, and task response time are affected. From the viewpoint of utilizati on, the more utilization is available for aperiodic tasks, the shorter the deadlines that are assigned to them by the deadline assignment of equation (3-1). This assigns higher priorities to them in EDF scheduling such that they can get a faster response. To give more utilization to aperiodic tasks, the utilization of periodic tasks must be shrunk and it can be done by assigning more tasks to Hmode but requires more energy consumption. Since the total energy budget is bounded, the energy budget left to aperiodic tasks will be reduced. As a result, the aperiodic tasks must be run in a low voltage mode and their response times will be extended. Likewise, from the viewpoint of the energy budget, the portion assigned in H-mode for aperiodic tasks should be maximized within an assigned energy budget EA to get faster responsiveness. But, as before, if the energy demand of aperiodic tasks is increased, the energy available for periodic tasks will be decreased. Consequently, the available utilization for aperiodic

PAGE 61

48 tasks will be decreased due to the increased execution time of periodic tasks, which may result in degradation in responsiveness. Eventually, to get both schedulability and fast responsiveness under a bounded energy budget, an effective scheduling and energy allocation scheme is needed for jointly scheduling hard periodic and soft aperiodic tasks. The scheduling should address the concern of the trade-off between utilization and energy consumption as shown in Figure 3-2. 3.5 Constrained Energy Allocation using VCS-EDF Scheduling In this section, we describe an energy allocation scheme, which allocates bounded energy budget to periodic and aperiodic tasks based on VCS-EDF scheduling, meeting the requirements of real-time tasks, i.e. to meet deadlines of periodic tasks and to get faster average response time for aperiodic tasks. Given an energy budget EC, considering the feasible range of energy demand determined by tasks, it finds voltage settings for periodic tasks and the execution portion in Hmode and L-mode to the worst-case execution time for aperiodic tasks under a bounded energy budget. 3.5.1 Energy Allocation Factors Suppose that EP and EA can be allocated in the range of [min EP, max EP] and [min EA, max EA] respectively, Emax = max EP + max EA, and Emin = min EP + min EA. If the bounded energy consumption budget is given as EC, EC must fall into the range Emin EC Emax where min EP, min EA, max EP, and max EA are as defined in equations (3-4), (3-5), and (3-9) to a given set of tasks. Then, voltage settings must be determined such that the energy consumption satisfies the constraint of EP + EA EC, while guaranteeing the schedulability of periodic tasks and minimizing average response time for aperiodic tasks. For ease of explanation, we define Ediff = Emax Emin.

PAGE 62

49 Let and be energy allocation factors of aperiodic and periodic tasks, given by 0 1 and 0 1 respectively. Then, the energy budgets EP and EA allocated to them are represented as EP = min EP + (max EP min EP) (3-11) EA = min EA + (max EA min EA) (3-12) respectively. Suppose a = (max EA min EA), p = (max EP min EP), and c = EC (min EA + min EP), respectively, then the inequality (EP + EA EC) becomes a + p c Hence, and are determined by 1 0 p a c a c a p c (3-13) respectively. The choice of determines and vice versa and also determines EA and EP by equations (3-11) and (3-12). If =0 and =1 energy min EA and max EA are assigned to aperiodic tasks, i.e. assigning all aperiodic tasks in L-mode and H-mode respectively. If is 0.6, energy assigned for aperiodic tasks becomes ( min EA + 0.6a ). Unlike voltage settings for periodic tasks, which are decided on the basis of a task, the running mode for aperiodic tasks are determined by the fraction in H-mode and L-mode If the fraction assigned to H-mode is xH, then that assigned to L-mode becomes (1xH). The energy consumption needs to be bounded by the budget, and so A L L H HE p x p x 1. (3-14) Similarly, the execution time of an aperiodic task is determined according to the voltage modes and the deadline assigned in equation (3-1) is adjusted. As for responsiveness, the greater the fraction of the processor utilization that is given to aperiodic tasks, the better is the

PAGE 63

50 responsiveness expected under the TBS algorithm, because shorter deadlines are assigned to them. Under energy budgets of EC and EP, the utilization for aperiodic tasks will be increased if the voltage settings are determined to allocate more H-mode to periodic tasks within the energy budget such that it can minimize the utilization UP (mi) and make an increase in UA available. We therefore have a constrained optimization problem to determine the optimal voltage settings, maximizing H-mode execution, within the constraint of budget EP and guaranteeing that no deadline of any periodic task is missed. The optimization problem to find voltage settings for periodic tasks can be stated as follows: Pick the task subsets H and L for voltage settings of H-mode and L-mode such that H L = {1,2, ..., n} H L = !i i i i PT C ) m ( ) m ( U1 is minimized subject to the well-known sufficient condition1 for the schedulability of periodic tasks under EDF, i.e., 1 ) min( 1 ) min( 1 ! L i i i i L H i i i i HD T C D T C (3-15) and the energy consumption constraint of P L i i i i L L H i i i i H HE D T C p D T C p ! ) min( ) min( This optimization problem can be treated equivalently to the decision problem of the subset sum, which is NP -complete. Consequently, efficient search heuristics, e.g., branch-andbound algorithms, should be employed to find a solution if n is large. 1 The condition is also necessary if DiTi for all i.

PAGE 64

51 3.5.2 Algorithm for Energy Budget Allocation We describe here the algorithm for the bounded energy allocation explained in the previous section. The algorithm outputs the energy allocation factors, and voltage settings for periodic tasks, {mi} and the percentage of H-mode assignment for aperiodic tasks, xH. The Algorithm of VCS-EDF Scheduling Under Bounded Energy Consumption EC 1. Compute min EP, max EP, min EA, max EA, Emax, and Emin. 2. If EC is less than Emin = (min EP + min EA), there is not enough energy to execute the workload. 3. If EC is in the range of Emin EC Emax, compute the range of and EA and EP, accordingly. 4. For each in the range of 0 1 execute the following steps (4a) Compute EA and EP, (4b) Find {mi} which satisfies P i i i iE ) m ( p ) m ( T C !1 and that ) m ( T C m Ui i i i P1 is minimized, where mi is voltage setting either in Hmode or L-mode for periodic task i, using simple search or branch-and-bound algorithms. (4c) Compute UA available = 1 – UP (mi) (4d) Given EA, find xH, the fraction of execution in H-mode for aperiodic tasks, and (1–xH) the fraction in L-mode (4e) Applying the TBS algorithm for the deadline assignment UP (mi) and UA available computed in step (4b) and (4c), respectively, run VCS-EDF scheduling in voltage settings {mi} for periodic tasks and xH and (1–xH) for aperiodic tasks. 5. Find having the minimum average response time from the result of the scheduling in step 4. 6. The value of determined in step 5 is selected for energy allocation, which gives the best performance for aperiodic tasks, xH for running the aperiodic tasks in H-mode and {mi} for voltage settings of the periodic tasks are determined accordingly. Figure 3-3 The algorithm for constrained energy budget allocation

PAGE 65

52 3.6 Simulation Evaluation We analyze here the properties of sharing the bounded energy budgets between periodic and aperiodic tasks based on VCS approach and evaluate the VCS-EDF scheme to schedule mixed real-time tasks. For the power consumption and speed settings, Motorola’s PowerPC 860 processor is used for our simulation, which can be operated in a high-performance mode at 50MHz and with a supply voltage of 3.3V, or a low-power mode at 25MHz and with an internal voltage of 2.4V such that VH and VL are fixed to VH=3.3 and VL=2.4 The power consumption in the high-performance mode is 1.3 Watts ( pH), as compared to 241mW ( pL) in the low-power mode. The clock rate at high voltage is 100% greater than at low voltage: H=2.0 and L=1.0 A simulation study is performed to address the improvement of task execution time with extra available energy. In other words, the system is assumed to possess enough energy to complete the tasks and meet the deadline requirements. In addition, there is extra energy that can be allocated to improve the response time of aperiodic tasks. Our immediate objective of the simulation study is to see how the response time can be reduced through a proper voltage setting. Furthermore, this extra energy can be allocated to periodic tasks such that the processor utilization reserved for periodic tasks is reduced. This leads to a reduction of deadline assignment in the total-bandwidth scheduling scheme. On the other hand, the extra energy can be consumed by aperiodic tasks that can result in a first-order effect in the reduction of response time. In our simulation, we first generate 10 random task periods in the range of 100 to 1000 and set the task deadlines equal to their respective periods. The worst-case execution demands of the tasks are randomly chosen such that, for each simulation case, no deadlines need be missed and the resultant utilization is set to Up (L)= 0.8, 1.0, or 1.2, respectively For aperiodic tasks, we adopt the exponentially distributed execution time with an average equal to 45. Then we let the inter-arrival time be exponentially distributed with mean of between 450 (10% workload, i.e. UA

PAGE 66

53 (L) =0.1) and 112.5 (40%, i.e. UA (L) =0.4). The energy budget EC is set at each of several energy levels in the range from ( Emin+0.6 Ediff) to ( Emin+ Ediff). To get fast responsiveness, how much energy budget can be allowed to periodic and aperiodic tasks, respectively? Over various ’s and constraint energy budgets, we obtain the average response times of aperiodic tasks from the simulation and plot them in Figure 3-4. Regardless of increase in the energy budget, Figure 3-4 reveals a trend of reduction in average response time of aperiodic tasks as increases. The average response time does not show always a monotonic decrease with an increase in In some regions, it has an abrupt increase or is flat over increasing This occurs especially when EC =( Emin+0.6 Ediff) or EC =( Emin+0.7 Ediff). Note that when we increase aperiodic tasks are invoked more in high-voltage highspeed execution. This results in a reduced CPU utilization, i.e. the utilization required by aperiodic tasks under the voltage setting. On the other hand, as is reduced, the energy allocated to the periodic tasks decreases which leads to an increase in UP (mi) and a decrease in UA available. The two reductions, one on the demand to complete aperiodic tasks and the other one on the available utilization for aperiodic tasks, can have a profound impact on the response times. Let the CPU utilization required be denoted as UA real and we show the ratio of UA available to UA real in Figure 3-5. For instance, with EC =( Emin+0.6 Ediff) and =1.0 in Figure 3-5 (a), there still exists extra energy to be assigned to periodic tasks ( >0) and an optimal voltage setting is obtained which leads to UP (mi)=0.55 and UA available = 0.45. On the other hand, UA real is reduced to 0.15 as we increase to1.0. A ratio of 3 is then obtained and plotted in the Figure. It is interesting to observe that, whenever the ratio is flat in Figure 3-5, the average response times have uneven decreases in Figure 3-5. In fact, as long as the ratio of UA available to UA real continues to increase, the processor possesses greater capacity to complete aperiodic tasks and the response time drops. In contrast, there would be a monotonic decrease in response time if the ratio were flat as we increase

PAGE 67

54 0 0.2 0.4 0.6 0.8 1 20 30 40 50 60 70 80 90 100 Average Response Time with respect to (a) Up=0.8, Ua=0.3Average Response Time 0.6 Ediff 0.7 0.8 0.9 1.0 0 0.2 0.4 0.6 0.8 1 20 30 40 50 60 70 80 90 100 (b) Up=1.0, Ua=0.3Average Response Time 0 0.2 0.4 0.6 0.8 1 20 50 100 150 200 (c) Up=1.2, Ua=0.3Average Response Time 0 0.2 0.4 0.6 0.8 1 20 200 400 600 800 1000 1200 (d) Up=1.4, Ua=0.3Average Response Time Figure 3-4 The responsiveness to the energy allocation of aperiodic tasks The other interesting observation in Figure 3-5 is that utilization ratios are not available for all of values. It indicates that the possible choices of only exist in the range where the plots are shown. This is also evidenced in equation (3-14) and is originated from the definition of in which the minimum value of means the percentage of energy available for aperiodic tasks after periodic tasks take energy budget as much as they can. From these results, to get fast responsiveness of aperiodic tasks, the greater portion of the energy budget should be allocated to aperiodic tasks, and then voltage settings of periodic tasks need to be determined within the energy budget remaining for them. Note that the way we formulate the minimal energy budget is based on the schedulability for periodic tasks and ensuring no CPU starvation for aperiodic tasks. If the energy budget is below this minimum, aperiodic tasks will incur much longer response times.

PAGE 68

55 0 0.2 0.4 0.6 0.8 1 1 1.5 2 2.5 3 3.5 4 The Ratios of Available Utilization to Min. Utilization for Aperiodic Tasks(a) Up=0.8 Ua=0.3Utilization Ratio 0.6 Ediff 0.7 0.8 0.9 1.0 0 0.2 0.4 0.6 0.8 1 1 1.5 2 2.5 3 3.5 4 (b) Up=1.0 Ua=0.3Utilization Ratio 0 0.2 0.4 0.6 0.8 1 1 1.5 2 2.5 3 3.5 4 (c) Up=1.2 Ua=0.3Utilization Ratio 0 0.2 0.4 0.6 0.8 1 1 1.5 2 2.5 3 3.5 4 (d) Up=1.4 Ua=0.3Utilization Ratio Figure 3-5 The ratios of available utilization to the minimum utilization for aperiodic tasks To reveal the causes that lead to the flat regions in Figure 3-5, we now investigate how the energy budget is allocated to periodic and aperiodic tasks, respectively. In Figure 3-6, we show the energy sharing as percentages of allocated energy EP for periodic and EA for aperiodic tasks to the maximum energy demand, Emax, that is the maximal energy consumption by a given task set. The plots in Figure 3-6 (a)~(c) cover the case when EC is bounded to ( Emin+0.6 Ediff). But in Figure 3-6 (d), we plot the energy percentages under EC = ( Emin+0.7 Ediff) unlike the ones for other periodic workloads. The reason is the energy budget ( Emin+0.6 Ediff) is too low to select proper voltage settings making the given set of tasks schedulable under the periodic workload of UP =1.4. When a set of periodic tasks can make the most of the given energy budget EP, i.e. EP (mi) EP, EP (mi) is determined by the chosen set of voltage settings, mi, in the VCS-EDF

PAGE 69

56 algorithm subject to requirements imposed by the need to maintain schedulability. Thus, there is a small discrepancy in energy consumption between EP and EP (mi) 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 (b) Up=1.0, Ua=0.3Energy Allocation Percentage 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 (c) Up=1.2, Ua=0.3Energy Allocation Percentage 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 (d) Up=1.4, Ua=0.3Energy Allocation Percentage Ec Ep Ep(mi) Ea 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 Percentages of Allocated Energy to Emax(a) Up=0.8, Ua=0.3Energy Allocation Percentage Figure 3-6 Energy allocation percentage to the maximum energy demand Over several regions of EP (mi) is kept at the same level even if EP is decreasing, while being less than EP. In other words, the same voltage settings are selected for different EP’s. For all the possible combinations of voltage settings, if we sort them in descending/ascending order according to energy demands, a discontinuity in energy demands exists between any two sets of voltage settings adjacent in the sorted list. Let the discontinuity in energy demand be an energy gap. Then, even if there is a small amount of change in energy budget EP, it cannot change voltage settings unless it jumps up/down any energy gap between adjacent energy levels. However, if the number of periodic tasks is getting bigger, the flatness in Figure 3-6 will be

PAGE 70

57 reduced because of the fine energy gap between adjacent energy levels of discontinuous voltage settings. It should be noticed the big drops in the response times of aperiodic tasks occur when the voltage settings of periodic tasks result in a energy allocation EP (mi) that is very close to the available budget EP. For instance, at ’=0.1 and 0.5 of Figure 3-6 (c), the settings lead to a little reduction of UA available which, combining with the decrease of UA real, bring about a considerable decrease in the task response time of Figure 3-4 (c). 0.6 0.7 0.8 0.9 1 24 28 32 36 40 Min. Average Response Time to Bounded Energy ConsumptionThe % of Energy to Ediff (a) Up=0.8Min. AverageRspTime Ua=0.1 Ua=0.2 Ua=0.3 Ua=0.4 0.6 0.7 0.8 0.9 1 2 24 28 32 36 40 The % of Energy to Ediff (b) Up=1.0Min. AverageRspTime 0.6 0.7 0.8 0.9 1 24 28 32 36 40 The % of Energy to Ediff (c) Up=1.2Min. AverageRspTime 0.6 0.7 0.8 0.9 1 24 28 32 36 40 The % of Energy to Ediff (d) Up=1.4Min. AverageRspTime Figure 3-7 Minimum average response time with respect to the bounded energy budget We now consider how much improvement we can obtain from an increased energy budget. In Figure 3-7, we show the evaluation results for the minimum average response time to the constraint energy ranging from 0.6 to Ediff. The responsiveness of aperiodic tasks for UA=0.1 and 0.2 is not much affected by the periodic tasks’ workload UP and the constraint energy budget

PAGE 71

58 EC. Since every aperiodic task is assigned to H-mode (i.e. ’=1.0 to ensure minimal response time) and is allocated with the maximal energy budget, the available energy budget for periodic tasks decreases as UA increases. As a consequence, the increased workload in periodic tasks increases the average response time for the case of UA=0.3 and 0.4 as UA available is limited and the deadlines assigned to the aperiodic tasks are extended. 3.7 Conclusion In this paper, we have presented an algorithm to carry out voltage clock scaling in workloads consisting of periodic hard and soft real-time tasks. The aim is to keep within a predefined energy budget. The objective of the scheduling scheme is to minimize the response time of aperiodic tasks while all deadlines of periodic tasks are met and the total energy consumption is bounded by the energy budget. As we apply total bandwidth scheduling for aperiodic tasks, we notice two conflicting factors in energy budget allocation. When an extra budget is assigned to aperiodic tasks, their execution can be done in high-voltage and high-speed mode. This leads to a reduced response time. On the other hand, the extra energy budget allocated to periodic tasks can result in a lowering of the CPU utilization reserved for periodic tasks. This, in turn, leaves more available CPU utilization for aperiodic tasks and cause shorter deadlines as defined in the total bandwidth scheduling scheme. Our simulation study assumes that there the energy budget is enough to meet the hard real-time periodic tasks and to complete the aperiodic tasks. In addition, here there is extra energy that can be allocated to either periodic or aperiodic tasks. Our results demonstrate that the VCS-EDF scheduling gets the fastest responsiveness when the extra energy budget is allocated to aperiodic tasks at their maximum energy demand such that all of them can run in H-mode Given the requirement of responsiveness and any energy budget, the proposed scheduling method can decide the voltage settings for periodic tasks so that real-time tasks can share the bounded energy budget effectively. Therefore, the work provides the battery-driven embedded real-time system designer with a general view, which allows scheduling real-time tasks considering their general

PAGE 72

59 characteristics of energy demands and processor utilization, given a constraint of bounded energy availability.

PAGE 73

60 CHAPTER 4 DUAL-POLICY DYNAMIC SCHEDULING 4.1 Introduction Due to the accelerated miniaturization, portability, and complex functionality for handheld devices (i.e. multimedia in portable phone), mobile computing and communication devices such as laptop computers, personal digital assistants (PDA’s) are demanding more power. But, the big gap between the pace of current battery technology and energy demands of microprocessor systems cannot satisfy the demands such that power management or power efficiency become the critical design issue of battery-powered embedded system [79]. An effective approach to power reduction is a technique called Voltage-Clock Scaling or Dynamic-Voltage-Scaling in CMOS circuit technology. Due to the quadratic relationship between supply voltage and clock frequency, a small reduction in voltage produces a significant reduction in power consumption. However, since lowering the supply voltage accompanies a reduction in the clock frequency from the intrinsic relationship, obviously, the objective of minimizing power consumption will result in performance degradation of response time or a failure to meet realtime deadlines without concerning the power-delay tradeoff in low power design. Despite the fact that there have been a lot of studies in low-power and power aware computing with widely recognized importance of energy consumption in systems, energy efficiency of real-time system under a bounded energy budget, for instance, battery-powered realtime systems, is relatively undefined. One of the keys to utilize a constrained energy budget more effectively is the ability to allocate the energy consumption to specific components. For an appropriate energy allocation, there have been many studies to measure energy impact at various levels of system such as

PAGE 74

61 instructional, functional, or system components levels [81, 82]. Besides, in real-time embedded systems, the relationship of energy and workload demands must be well understood on top of the energy profiling since energy saving can be achieved by conformity to the conventions of sacrificing system performance in tolerable level. For aperiodic tasks that have no form of guarantees, they are usually served in the background with respect to hard tasks in order not to jeopardize the schedulability of hard tasks or served by an aperiodic server to improve responsiveness. The objective of minimizing power consumption will result in slow execution for these tasks and the response time could be unrestrained. On the other hand, reduction of energy consumption that doesn’t utilize all available energy may not lead to optimal system performance. A better power control strategy in such cases is to minimize the response times of soft real-time tasks, providing that the deadlines of hard realtime tasks are met and the average power consumption is bounded. Fulfilling all these requirements, an energy allocation model is proposed to provide energy profiling and energy sharing scheme at task level [83] for real-time embedded systems that have mixed hard and soft tasks. The model is also reflecting the tradeoff relationship between energy consumption and utilization in VCS-EDF scheduling. In this chapter, based on the constrained energy allocation model, we propose a DualPolicy Dynamic Scheduling method not only to get better performance for aperiodic tasks but also to extend the lifetime of a system by lowering energy consumption under a confined energy budget. The approach is featuring an intermixing of two elementary schedules, which originated from a pattern of event occurrences in a joint scheduling of periodic and aperiodic tasks. According to traditional scheduling schemes, both kinds of tasks are scheduled under the worstcase scenario, satisfying energy consumption and real-time schedulability. Triggered by the existence of aperiodic tasks’ events, explicitly two kinds of intervals are observed in the runtime scheduling for mixed tasks. The one is P (P eriodic) interval that has only periodic task events and the other PAP (P eriod and AP eriodic) interval that has both hard and soft task events. By the

PAGE 75

62 relationship between energy consumption and utilization in VCS-EDF scheduling, the voltage settings for periodic tasks demand a greater energy budget in case of scheduling both kinds of tasks than scheduling only periodic task set from the viewpoint of abiding schedulability. Therefore, in the intervals of P the proposed scheduling algorithm applies an elementary scheduling policy that consumes minimum energy for periodic task set rather than the worst-case scheduling policy determined for scheduling both kinds of tasks. The energy efficiency is obtained from how more tasks are executed in low-speed mode instead of high-speed mode for the intervals of P Also, executing periodic tasks in different running speed from worst-case in the intervals of P and PAP increase remaining workload at the switching point such that the backlogged workload to next scheduling policy may cause at least one periodic task to miss its deadline. Since there are slack times brought by the difference of WCET and real execution demand, the backlogging can be alleviated by the slack times. But for the cases the slack times are not enough to nullify the backlogging, two transitory scheduling policies are introduced in-between the intervals of P and PAP By the transitory scheduling policies, when the backlogged workload becomes equal to or less than zero, the next targeting elementary schedule can be activated. According to the switching scheduling policies along with the intervals, we modify total bandwidth server (TBS) algorithm to apply to aperiodic tasks. If there’s no backlogged workload to PAP intervals, the modified TBS assigns proper deadline algorithm to aperiodic task like the intrinsic total bandwidth server. Otherwise, an infinite deadline is assigned and it is maintained till the backlogged workload becomes no greater than zero. The rest of this paper is structured as follows. In section 4.2, we discuss design concepts of a dynamic scheduling for energy saving and fast responsiveness under a bounded energy budget. Then, we propose the model of the dual-policy dynamic scheduling in section 4.3. In section 4.4, the proposed dynamic scheduling is explained in detail, including elementary schedules that constitute the dynamic scheduling. The proposed dynamic scheduling algorithm is

PAGE 76

63 explained in section 4.5. To illustrate the effectiveness of the proposed scheduling algorithm, we evaluate the performance through simulations in section 4.6. In section 4.7, a short conclusion is given. 4.2 Design Concepts In this section, we propose a dynamic real-time scheduling model for mixed periodic and aperiodic tasks. The goals are not only for sharing a bounded energy budget, but also for reducing power consumption under a given energy budget. For the targeted real-time systems, tasks may arrive periodically or sporadically, where the periodic tasks have a constraint whose individual deadlines should be met and the performance of aperiodic tasks is measured in average response time. Under limited energy consumption, we build a dynamic dual-policy scheduling model based on the profiles of energy and utilization demands for both periodic and aperiodic tasks and the energy budget allocation model as proposed in Chapter 3. 4.2.1 Simple Two Voltage Settings The system operates at two different voltage levels. Ideally, a variable voltage processor that has continuous voltage and clock setting in the operational range is available. We assume a simple setting arrangement that the processor in a real-time system can be dynamically configured in one of two modes: low-voltage ( L) -mode and high-voltage ( H)-mode In L-mode, the processor is supplied with a low voltage ( VL) and runs at a slow clock rate. Thus, task execution may be prolonged but the processor consumes less energy. On the other hand, the processor can be set in H-mode, i.e. be supplied with a high voltage ( VH) and run at a fast clock rate, in order to complete tasks sooner at the expense of more energy consumption. The operating speeds at L-mode and H-mode are denoted as L and H, respectively, in terms of some unit of computational work Depending upon the voltage setting for task i, the worst-case execution time is Ci/L or Ci/H.

PAGE 77

64 4.2.2 Total Bandwidth Server for Aperiodic Tasks In traditional scheduling in real-time systems that have both periodically and sporadically arriving tasks, aperiodic tasks are usually served in the background with respect to hard tasks in order not to violate the schedulability of hard tasks or served by an aperiodic server to improve responsiveness. Among substantial research works in the scheduling of aperiodic tasks in both fixed and dynamic priority systems, the TBS can produce better responsiveness than other aperiodic mechanisms, sporadic server, and slack stealing, and so on. Infinite number of soft aperiodic tasks {Ji | i=0,1,2,…} are modeled as aperiodic computation activities represented by two parameters, and where is the average interarrival time between two consecutive aperiodic instances and the average worst-case execution time of all aperiodic tasks Aperiodic tasks are scheduled by total bandwidth server algorithm that makes fictitious but feasible deadline assignment based on the available processor utilization guaranteed by the isolation of bandwidth between periodic and aperiodic tasks. In the TBS algorithm, the k-th aperiodic request arriving at time t = rk, a task deadline A k k k kU C ) d r max( d 1 (4-1) is assigned, where Ck is the execution time of the request and UA the allocated processor utilization for aperiodic tasks. By definition d0=0 The request is then inserted into the ready queue of the system and scheduled by the EDF, as any other periodic instance or aperiodic request already present in the system. Note that the assignment of the deadlines is such that in each interval of time the processor utilization of the aperiodic tasks is at most UA. Hence, a set of periodic tasks with utilization factor !n i i i PT C U1and a TBS with a bandwidth UA is schedulable by EDF if and only if UA UP 1 The definition and the formal analysis of this algorithm are proved [40]

PAGE 78

65 4.2.3 Energy Budget Allocations using Two-mode VCS-EDF Scheme While the constraint EP + EA EC must be satisfied, there is a profound intervention on how processor utilization, task scheduling, and task response time are affected. From the viewpoint of utilization, the more utilization is available for aperiodic tasks, the shorter deadlines are assigned to them by the deadline assignment of equation (4-1). This brings higher priorities to them in EDF scheduling such that they can get faster response times. To give more utilization to aperiodic tasks, the utilization of periodic tasks must be shrunken and it can be done by assigning more tasks to H-mode but requires more energy budget. Since total energy budget given to a system is bounded, the energy budget left to aperiodic tasks will be reduced. As a result, the aperiodic tasks must be run in a low voltage mode and their response times will be extended. Likewise, from the viewpoint of energy budget, the portion assigned in H-mode for aperiodic tasks should be maximized within an assigned energy budget EA to get faster responsiveness. But, under bounded energy budget in a system, if the energy demand of aperiodic tasks is increased, the energy left to periodic tasks will be decreased. Consequently, available utilization for aperiodic tasks will be decreased due to the increased execution time of periodic tasks, which may result in degradation in responsiveness. Eventually, to get both the schedulability and fast responsiveness under a bounded energy budget, an effective scheduling and energy allocation scheme is needed for jointly scheduling of hard periodic and soft aperiodic tasks. The scheduling should address the concern of the trade-off between utilization and energy consumption. 4.2.4 Elementary Schedules In a sequence of events of a real-time scheduling, idle and busy cycles appear in turn for irregular duration of time so that the scheduling sequence consists of a continuum of idle and busy cycles. For an idle cycle, the scheduler does not have any jobs to do such that neither task’s arrival nor completion of arrived tasks is happened. For a busy cycle the scheduler is working continuously with no idle moments. Begun with the arrival of either a periodic or aperiodic task

PAGE 79

66 and followed by the arrivals of other tasks, a busy cycle is mainly composed of arrivals, executions, and completions of tasks. The execution is computations based on a scheduling policy and execution demand. A completion represents that the computation has been completed and the executed task leaves the scheduler. When there are no more tasks waiting to being executed, another idle cycle starts, ending the busy cycle. P: Interval having only arrivals of periodic tasks PAP: Interval having both arrivals of periodic and aperiodic tasks BC: Busy Cycle BC 2 (c) scheduling mixed periodic and aperiodic tasks BC 1 BC 2 Idle Idlet starts of aperiodic task's arrival finishes of all aperiodic tasks aperiodic tasks periodic tasks P PAP P PAP P PAP P t aperiodic tasks (b) events of aperiodic tasks Idle (a) events of periodic tasks BC P2 BC P1 Idlet periodic tasks the end of a busy cycle the begining of a busy cycle Figure 4-1 An example of scheduling mixed real-time tasks and two explicit intervals in the event pattern An example of event sequences is illustrated in Figure 4-1. An arrival sequence of mixed tasks, periodic and aperiodic tasks in Figure 4-1 (c), is separately arranged into the arrivals of

PAGE 80

67 only periodic tasks and the other of only aperiodic tasks as shown in Figure 4-1 (a) and (b), respectively. In Figure 4-1 (a), the periodic tasks are scheduled, busy and idle cycles appears in turns, i.e. BCP1, idle, BCP2 idle…, depending on the periods, deadlines, and execution times/WCETs of the task set. To minimize energy consumption, the voltage-clock scaling problem is imposed when task set is schedulable if a processor is entirely run in H-mode and misses at least one deadline if running in L-mode completely. Keeping the processor entirely in H-mode to meet all tasks’ deadlines results in extra energy consumption. Therefore, the algorithm for hard real-time tasks, VCS-EDF scheduling, is called for to determine the optimal voltage settings and to minimize H-mode execution, while guaranteeing that no deadline is missed, such that it will play its role for energy efficiency as shown in [58]. If the systems consist of only soft aperiodic tasks as shown in Figure 4-1 (b), the objective of minimizing power consumption will result in slow execution for these tasks and the response time could be unrestrained. This is not a desirable strategy for scheduling aperiodic tasks. When aperiodic tasks are scheduled with the same set of periodic tasks by TBS algorithm, the processor utilization occupied by periodic tasks must be shrunk to make sufficient room for the aperiodic tasks without violating the schedulability. It means more periodic tasks must be assigned in H-mode to accommodate aperiodic tasks at the cost of higher energy consumption. Thus, clearly, the energy consumption for scheduling aperiodic tasks with periodic tasks is higher than the case of scheduling only for the set of periodic tasks. In a joint scheduling of periodic tasks with aperiodic tasks, the arrival and completion of periodic and aperiodic tasks are intermixed with each other and show an explicit pattern as shown in Figure 4-1 (c). Following after idle cycles any arrival of a periodic or aperodic task invokes busy cycles, BC1 and BC2 and finishes of all arrived tasks end the busy cycles. A hard periodic task opens the first busy cycle ( BC1 ) and is followed by several arrivals of periodic and aperiodic tasks. The second ( BC2 ) begins with an aperiodic task. Suppose P ( Periodic ) is the interval, which has no event for aperiodic tasks, but only periodic tasks and PAP ( PAP: Periodic and

PAGE 81

68 APeriodic ), which has mixed arrivals of both tasks. Then BC2 starts with PAP as does BC1 with P Likewise, an arrival of aperiodic task closes P and opens PAP And the completion of all aperiodic tasks awaiting execution ends PAP interval and the busy cycle encounters an interval P again. Our dual policy scheduling for mixed tasks is motivated by the fact that the energy consumption required by periodic tasks is less than the one required by both periodic and aperiodic tasks under the same amount of energy allocation. If voltage settings that consume minimum energy for periodic tasks are selected to schedule periodic tasks for P intervals, less energy consumption is expected compared to when the worst-case voltage settings for mixed tasks throughout scheduling regardless of the pattern in event occurrences. Consequently, whenever P interval is coming up, switching running modes from the set for mixed tasks to the set for only periodic tasks can reduce energy consumption. In an extreme case, a busy cycle may consist of only periodic tasks without any aperiodic task, i.e. P intervals. If periodic tasks for P intervals are scheduled by the voltage settings that use up minimum energy budget, the energy consumption will be remarkably reduced comparing the running modes for mixed tasks, which are used for periodic tasks. Thus, to exploit the benefit in energy consumption in switching from worst-case to minimum energy consuming schedule for the intervals of P ’s, we build elementary schedules named S1 and S2 for the two intervals, respectively, and develop a dynamic scheduling model based on the elementary schedules, in which every first and last existence of aperiodic events in a sequence of scheduling events is the turning point between the elementary schedules. 4.3 Dynamic Dual-Policy Scheduling Model In this section, we consider VCS-EDF scheduling to improve energy efficiency in realtime embedded systems having mixed periodic and aperiodic tasks. An energy efficient on-line scheduling under a bounded energy budget can extend the service time of energy-confined system much more. Since power consumption and execution time are contradictory to each other in

PAGE 82

69 voltage-clock scaling scheme, there exists a profound intervention in utilization, schedulability, and response time and they should be well considered in real-time systems. In addition, the bounded energy budget must be properly shared among tasks to satisfy the time constraints for periodic tasks and fast response time for aperiodic tasks in performance criterion that real-time system pursues. Understanding the relationship between energy consumption and utilization of tasks based on VCS-EDF scheme, we use a task-based profiling of energy and utilization demands for both periodic and aperiodic tasks and adopt the energy budget allocation model [83]. Based on the event pattern occurring in a scheduling of mixed periodic and aperiodic tasks and the relationship between energy and processor utilization demands, we develop an online scheduling named dual-policy dynamic scheduling which can reduce energy consumption by switching the scheduling policies along with the events of aperiodic tasks. Triggered by new arrivals after P intervals and last execution of aperiodic task in PAP intervals, the event pattern of a busy cycle is repeated by two regions of interval in turns, one consists of only periodic and the other of mixed tasks. Corresponding to the pattern by the two intervals in scheduling, we build elementary schedules named S1 and S2 which can be applied for intervals of P and PAP respectively. We assume switching between elementary schedules consumes a negligible overhead like context switching or voltage switching between tasks. This is also analogous to the assumption made in classical real-time scheduling theory, that preemption costs are negligible. 4.3.1 Schedule for Only Periodic Tasks Energy is consumed only for periodic tasks. The voltage settings are determined to minimize energy consumption by periodic tasks, while meeting their schedulability within the allocated energy budget. Given a set of periodic tasks, a set of voltage settings, S1 : { mi}, satisfying the conditions uniquely exists for them. Since the voltage settings demand the minimum energy consumption under the allocated energy budget, let them be defined as a bestcase schedule for periodic tasks regarding energy saving.

PAGE 83

70 For the sake of schedulability in EDF scheduling, the tasks should be scheduled in such a way that the utilization is less than unity. Therefore, we define min EP as an energy demand and max UP as a worst-case utilization when there exist a set of voltage settings S1 : { mi} so that the worst-case utilization 1 1 !i i i i PT C ) m ( ) m ( U and ) ( ) ( 1 ) (i i i i i Pm p T e m m E! is minimized. (4-2) Regarding the feasibility of energy constraint, EC must be greater than min EP. 4.3.2 Schedule for Both Periodic and Aperiodic Tasks Periodic tasks share a constrained energy budget with aperiodic tasks, taking account of fast responsiveness for aperiodic tasks. The voltage settings are decided to achieve minimal response times for all aperiodic tasks, guaranteeing to meet deadlines of periodic tasks. Each aperiodic task Jk gets a finite deadline dk according to deadline assignment algorithm in total bandwidth server. According to the constrained energy allocation model proposed in Chapter 3, voltage settings, S2 : { mi}, are determined. As the voltage settings demand the worst-case energy consumption under the allocated energy budget, let them be defined as worst-case schedule for periodic tasks. Voltage settings must be determined such that the energy consumption satisfies the constraint of EP + EA EC, while guaranteeing the schedulability of periodic tasks and minimizing average response time for aperiodic tasks. Using the algorithm developed in Chapter 3, the energy allocation factors, and voltage settings for periodic tasks, S2 : { mi}, and the percentage of H-mode assignment for aperiodic tasks, xH are determined under the bounded energy consumption EC. The optimization problem to find voltage settings for periodic tasks can be stated as follows: Pick the task subsets H and L for voltage settings of H-mode and L-mode such that H L = {1,2, ..., n} H L =

PAGE 84

71 !i i i i PT C ) m ( ) m ( U1 is minimized subject to the well-known sufficient condition1 for the schedulability of periodic tasks under EDF, i.e., 1 ) min( 1 ) min( 1 ! L i i i i L H i i i i HD T C D T C (4-3) and the energy consumption constraint of P L i i i i L L H i i i i H HE D T C p D T C p ! ) min( ) min( This optimization problem can be treated equivalently to the decision problem of the subset sum, which is NP -complete. Consequently, efficient search heuristics, e.g., branch-andbound algorithms, should be employed to find a solution if n is large. As for scheduling aperiodic tasks, the total-bandwidth algorithm is used based on =1 which is decided to give best responsiveness within the range of the bounded energy budget. According to the schedulable condition of UA UP 1 in the total bandwidth server, the utilization of aperiodic tasks UA is determined by UA = 1 UP, where UP is determined by the voltage settings in the equation (4-3). 4.3.3 Schedules for Transition between Elementary Schedules Since the constitutions of voltage settings are different from each other for two sets of elementary schedules, S1 : { mi} and S2 : { mi}, a transition between different schedules, such as from S1 to S2 or from S2 to S1 cannot be simply accomplished by applying different voltage settings to the tasks. The remaining workload at the switching decision points may cause the targeting schedule to violate some times later. To prevent the violation, in this section, two 1 The condition is also necessary if DiTi for all i.

PAGE 85

72 transitory schedules, S12 for the switching from S1 to S2 schedule and S21 from S2 to S1 schedule, are proposed. 4.3.3.1 Energy Saving For P intervals, selecting the running mode for periodic tasks from S1 instead of S2 reduces energy consumption by executing tasks in L-mode which is assigned in H-mode in S2 schedule. Compared to the energy consumption by the worst-case schedule S2 energy saving is achieved from the difference in energy consumption existing between the two different energy levels for a task in two schedules. The amount of saved energy is proportional to the difference in amount of executed time by switched running mode. However, the remaining workload increased by running periodic tasks in low speed by S1 : { mi} instead of in high speed assigned in S2 : { mi} is expected to affect not only the schedulability of scheduling in S2 but also the performance in average response time with an arrival of aperiodic task. 4.3.3.2 Backlogged Workloads at Switching Points High-speed execution finishes given amount of execution demand, which consists of a serial of instructions, earlier than in low-speed execution due to the higher operating frequency. Thus, as of workload accomplished after a certain passage of time, low-speed execution of a task leaves more workload to execute than high-speed execution. The difference in remaining workload is also proportional to the difference in operating frequencies of two execution modes. For a set of periodic tasks in the proposed dual-policy scheduling, voltage settings are determined as two sets of mixed H-mode and L-mode for both elementary schedules, S1 : { mi} and S2 : { mi}. It is obvious that workload assigned to H-mode in S1 schedule is less than in S2 schedule since periodic tasks in S2 schedule are more likely to be assigned to H-mode due to the share of processing capacity with aperiodic tasks under total bandwidth server algorithm, UP (S2) 1UA (S2) In other words, when any periodic task that is assigned to H-mode for S2 is executed in L-mode for an interval P (by S1 schedule), the low-speed execution of the task may not finish

PAGE 86

73 the execution demand and may cause the unfinished portion to be accumulated to be a backlogged workload to the next policy. During intervals of P the more periodic tasks are executed in L-mode of S1 schedule instead of H-mode of S2 schedule, the more workload is remained without being executed. On the other hand, any periodic task assigned to L-mode for S2 is executed in H-mode for interval P (by S1 schedule), the faster execution of the task will finish the execution demand earlier at the cost of more energy consumption. By the definition of schedules S1 and S2 the difference of workload by the P intervals is varied along with the sum of execution times of tasks in different voltage settings among tasks encountered in the intervals. We define WD (t) as a difference in workloads at time t between current scheduling policy and targeting worst-case scheduling policy, to which the scheduler is going to switch. 4.3.3.3 Schedulability Analysis at Switching Points of Scheduling Policies At the moment of an arrival of aperiodic task after the interval P when the dynamic scheduler changes its policy with S2 schedule, there can be more workload than S2 schedule can afford to schedule mixed periodic and aperiodic tasks, abiding by its schedulability. So, if workload at switching point is more than targeting worst-case schedule to which the scheduler switches, at least one of the periodic tasks will miss its deadline. The unfinished workload by running periodic tasks in S1 instead of S2 schedule for P intervals should be completed before changing to S2 schedule not to lead an unschedulable state. Like switching from S1 to S2 schedules at the end of P interval, for switching of scheduling policies from S2 to S1 at the end of PAP intervals, there may also exist a difference in remained workload due to the different voltage settings for two schedules. Therefore, for the sake of real-time schedulability, workload handed over from previous schedule at the points of switching scheduling policies must not be higher than the workload affordable by targeting worst-case schedule. If so, there must be an effective scheme to prevent from being unschedulable. In case that the remained workload for the current schedule is less than

PAGE 87

74 the one affordable for the worst case of the schedule to take, the switching of schedules does not need any further action to make them schedulable. Before proposing transitory schedules between two elementary schedules, we explain how the non-zero workload difference between two scheduling policies endangers the schedulability of VCS-EDF scheduling. Based on the concept of processor demand for hard realtime tasks [80], we extend the schedulability of a periodic task set whose utilization U P is defined in the range of L U P H in L-mode Feasibility Analysis of EDF scheduling Spuri et al define two concepts to analyze the feasibility of real-time task sets; the processor demand as a focused measure of how much computation is requested, with respect to timing constraints, in a given interval of time and the loading factor as the maximum fraction of processor time possibly demanded by the task set in any interval of time. Given a set of real-time jobs and an interval of time [t1, t2) the processor demand and loading factor of the job set on the interval [t1, t2) are respectively defined as i id t r t i ) t t [C h2 1 2 1and 1 22 1 2 1t t h u) t t [ ) t t [ [80]. Theorem 4.1 (Spuri) Each set of real-time tasks is feasibly scheduled by EDF if and only if u1 [80]. By showing that the loading factor u of the task set is equal to U Spuri proves the feasibility analysis of a task set under EDF scheduling addressed by Liu and Layland [33] as follows. Corollary 4.1 (Liu and Layland) Any set of n synchronous periodic tasks with processor utilization !n i i iT C U1 is feasibly scheduled by EDF if and only if U 1 Proof By Theorem 4.1, the thesis then follows.

PAGE 88

75 For any interval [t1, t2) : ! ! # $ % $ n i i i i n i i i n i i d t r t iT C t t C T t t C T t t Ci k1 1 2 1 1 2 1 1 22 1, that is, U u) t t [2 1. Now, let t1=0 and t2= lcm ( T1, …, Tn): U t C T t un i i i ) t t [ 2 1 22 1. And it follows u = U Feasibility Analysis of Two-mode VCS-EDF Scheduling In the same way as explained above, in the VCS-EDF scheduling given by equations (42) and (4-3), the processor demand and the loading factor for the task set assigned in either Hmode or L-mode on the interval [t1, t2) is respectively defined as ! L k D t r t k L H k D t r t k H ) t t [k k k kC C h2 1 2 1 2 11 1 (4-4) and 1 22 1 2 1t t h u) t t [ ) t t [ Corresponding to the Corollary 4.1, the feasibility of VCS-EDF scheduling is defined by the following Corollary. Corollary 4.2 Any set of n synchronous periodic tasks with processor utilization ! L i i i L H i i i HT C T C U 1 1 is feasibly scheduled by EDF if and only if U 1 Proof By Theorem 4.1, the thesis then follows. For any interval [t1, t2) : ! L i D t r t i L H i D t r t i H ) t t [i k i kC C h2 1 2 1 2 11 1

PAGE 89

76 i n H i i L i n H i i HC T t t C T t t! # $ % $ # $ % $ 1 2 1 21 1 i n H i i L i n H i i HC T t t C T t t! 1 2 1 21 1 & & ( ) ) + !! n H i n L i i i L i i HT C T C t t 1 11 2 Now, let t1=0 and t2= lcm (T1, …, Tn): U T C T C t hn H i n L i i i L i i H ) t [ !! 1 12 02. And it follows u = U Feasibility Analysis of Dual-Policy Dynamic Scheduling By the characteristics of the processor demand, it is also corresponded to the workload in any interval of time. Then, let WDT (t) be the workload difference, backlogged workload to policy T at time t defined as WC (t) WT (t) = T ) t [ C ) t [h h0 0, where C represents for current scheduling policy and so does T for targeted one. Theorem 4.2 Any set of n synchronous periodic tasks with processor utilization ! 1 11 11S SL i i i L H i i i H S PT C T C U and ! 2 21 12S SL i i i L H i i i H S PT C T C U where 1 2 S P S PU U 21S P AU U and periodic tasks are scheduled by S1 by the time t with real execution demand ej for task j, is not feasibly scheduled by S2 after time t if WD2 (t) >0 Proof Suppose that for the interval of P = [t1, t2) having only periodic events, there is at least an arrival of a periodic task, j, assigned to H-mode in S2 schedule and L-mode in S1 schedule. Then the processor demand for S1 schedule at t2 is j L L k D t r t i L H k D t r t i H S ) t t [e C C hi i i i 1 1 11 2 1 1 2 1 2 11 !

PAGE 90

77 & & ( ) ) + ! n j i L i i i L j j L n H i i i HT C T e T C t t1 11 1 11 2 & & ( ) ) + & & ( ) ) + ! n L i i i L j j L j j H n j i H i j j i i HT C T e T C T C T C t t2 11 1 1 11 2 & & ( ) ) + ! n L i i i L j L H j L j H n H i i i HT C T C e T C t t2 21 1 11 2 j L H j L j H n L i i i L n H i i i HT C e t t T C T C t t & & ( ) ) + ! 1 2 1 22 21 1 j L H j L j H S ) t t [ S ) t t [T C e t t h h t WD 1 2 2 1 2 22 1 2 1 Now, let t1=0 and t2= lcm ( T1, …, Tn): If WD2 ( t2) > 0, 0 j L j HC e j L H j L j H S ) t [ S ) t [T C e t h t h 2 2 0 2 1 02 2 2 2 1 S P j L H j L j H S P S PU T C e U U (4-5) Otherwise, 0 j L j HC e 2 2 1 S P j L H j L j H S P S PU T C e U U At time t= t2, the workload by S1 schedule handed over S2 schedule make the utilization by S2 schedule higher than 2 S PU and the scheduling by S2 not feasible from the time. If task j, which is assigned to H-mode in S2 is executed in L-mode for intervals of P by S1 schedule before any arrival of aperiodic task, there is a non-zero

PAGE 91

78 difference as much as & & ( ) ) +j L H j L j HT C e between utilizations of two schedules. From the schedulability point of view when S2 schedule is taken with an arrival of aperiodic task, it makes S2 schedule not schedulable such that at least one of the tasks can miss its deadline. Then, for the targeting schedule’s schedulability, how the workload handed over at time t can be effectively reduced before switching to the targeting S1 or S2 schedule. There is a major factor to reduce the WD (t) to zero or less than zero. Considering that a periodic task consumes less execution time than the WCET, the WD (t) in-between the interval P and PAP will not be so high. Thus, if the slack times coming from the difference between WCET and actual execution demand nullify the WD (t) or make it less than zero, the switching can be performed easily without going through further processes to maintain schedulability. Otherwise, an efficient scheme is required to deal with the reduction of the workload difference. The scheme should not only guarantee schedulability in transitory intervals between schedules, S1 and S2 but also lead it to the schedulable dynamic scheduling by the target policy. Thus, we introduce transitory schedules for the in-between elementary schedules. Making use of slack times to lower WD (t) if tasks assigned at low-speed mode in targeting schedule are executed in high-speed mode, the accelerated executions also reduce the handed-over workload. And running tasks for the transitory intervals in high-speed mode is schedulable at the cost of more energy consumption, as the workload of the tasks set is given in the range of L UP H and the utilization for the case become min UP, which is !i i i H PT C U1 satisfying schedulability, since 1 1 112 1 ! L i i i L H i i i H orS S PT C T C U where 2 1 orS S P PU U min

PAGE 92

79 4.3.3.4 Modified TBS in Dual-Policy Dynamic Scheduling For the switching policies from S1 to S2 schedule with any arrival of aperiodic task, we modify the TBS algorithm to guarantee the schedulability. If WD2 (t) > 0 from the equations (44) and (4-5), a TBS with a bandwidth UA becomes unschedulable by EDF. Thus, when WD2 (t) > 0 Modified TBS (MTBS) overcome the unschedulable state by assigning infinite deadlines to aperiodic tasks at the cost of increased response time, making utilization of UA zero. By the state of WD2 (t) in Dual-Policy Dynamic Scheduling, the k -th aperiodic request arriving at time t = rk, MTBS flexibly assigns a task deadline A k k k kU C ) d r max( d 1, when WD2 (t) 0 (4-6) kd, when WD2 (t) > 0 (4-7) The assignment of infinite deadlines to aperiodic tasks represents that the scheduler regards the arrived tasks as not ready to be executed. At the moment when the schedulability for the target elementary schedule is guaranteed, aperiodic tasks that arrived but waiting in the scheduler are activated. Due to the waiting time from arrival to the activation, the responsiveness of aperiodic tasks is directly affected by the postponed executions of arrived aperiodic tasks. 4.3.3.5 Transitory Schedule S12 With any arrival of aperiodic task after a P interval, scheduling policy need to be switched to S2 schedule. Given workload difference WD2 (t) between current scheduling and S2 scheduling, since WD2 (t) is bigger than zero, the targeting scheduling policy cannot replace S1 scheduling. Instead, transitory schedule S12 is selected such that all periodic tasks are executed in H-mode and the deadlines of aperiodic tasks are assigned as infinite until WD2 (t) becomes less than or equal to zero. But the work amount increased by running some periodic tasks in L-mode instead of in H-mode affect the performance in average response time with an arrival of aperiodic

PAGE 93

80 task. At the point where the work difference becomes zero, tasks including aperiodic tasks are finally scheduled by targeting schedule of S2 4.3.3.6 Transitory Schedule S21 After finishing an aperiodic task, schedule S1 can be chosen for the events of periodic tasks if the workload is affordable for the schedule. Because staying in schedule S2 after finishing an aperiodic task consumes more energy than scheduling tasks using S1 it is more efficient in the energy consumption point of view to switch scheduling policy from S2 to S1 Like transitory schedule S12 all tasks are executed in H-mode until WD1 (t) becomes less than or equal to zero. 4.4 Dual-Policy Dynamic Scheduling Using VCS-EDF In Dual-Policy Dynamic Scheduling model, the switching instants are basically at the boundaries, where intervals P and PAP are crossed. They are the moments of the first arrival of aperiodic task after an idle cycle or after the intervals P and the last completion of aperiodic task in the scheduler. Since the voltage settings are different in two scheduling policies, for the assurance of schedulability, the workload differences at switching points needs to be checked, making the workload difference WD (t) the main criterion to judge the schedulability at switching point t WD1 (t) is the workload difference between real executions and worst-case executions when S1 schedule is taken as targeting schedule from the instant t Likewise, WD2 (t) is the one when S2 schedule is taken at t 4.4.1 Terms and Conditions Suppose tB, tA, tT, tP, and tF be the instants when a scheduling policy switching is determined based the events of aperiodic tasks and the state of workload difference. A busy cycle is closed by any instant except for tB. Also Tidle, TBA, TAT, TTP, and TPA are the intervals divided by the instants in a busy cycle. tB: the instant of a busy cycle begun with any arrival of either periodic or aperiodic task, idle cycle is closed.

PAGE 94

81 tA: the instant when the aperiodic task Jk has arrived so that the event pattern includes both periodic and aperiodic tasks tT: the instant when WD2 (tT) becomes less than or equal to zero so the scheduling policy can be switched to S2 schedule. tF: the instant when all aperiodic tasks in scheduling queue are finished so no more aperiodic tasks are waiting in scheduler. tP: the instant when WD1 (tP) becomes less than or equal to zero so that the scheduling policy can be switched to S1 schedule. Tidle: the interval there’s no task’s arrival from either tA, tT, tP, or tF to tB. TBA: the interval from time tB to tA. TAT: the interval from time tA to tT. TTF: the interval from time tT to tF. TFP: the interval from time tF to tP. TPA: the interval from time tP to tA. If the bounded energy consumption budget is given as EC, EC must fall into the range Emin EC Emax where min EP, min EA, max EP, and max EA are defined as follows. Emax : Energy consumption when all periodic tasks are run in H-mode so the processor runs at a fast clock rate all the time. Emax = (max EP + max EA) where H i i H Pp T C E max!1 and H H Ap E max 1. Emin : Emin = (min EP + min EA) where min EP is determined by (4-3) when the sum of utilizations of periodic and aperiodic tasks takes any value in the range of L to H. As for min EA, it is the minimum energy consumption when all aperiodic tasks are run in L-mode, i.e. L L Ap E min 1. Ediff : The difference in maximum and minimum energy consumptions by mixed tasks such that Ediff = (Emax Emin) 4.4.2 Switching Scheduling Policies In Figure 4-2, we illustrate an example of switching scheduling policies in a busy cycle starting with an arrival of a periodic task followed by aperiodic and periodic tasks. It also shows when all of the schedules in dual-policy dynamic scheduling are activated in the busy cycle

PAGE 95

82 according to switching criteria. Basically, switching decisions between scheduling policies are committed at the moment of the first arrival of aperiodic task in the interval PAP within the busy cycle ( tA) and finishes all of the arrived aperiodic tasks ( tF) with the status of workload differences by real executions and worst-case demands, WD1 (t) and WD2 (t) As the work differences do not satisfy the switching condition, transitory schedules S21 and S12 are chosen. Finally, switches to the targeting elementary schedules are committed at both tT and tP. All of the intervals except for Tidle and TBA are circulated in turns along upcoming events by mixed tasks in a busy cycle. And another round of intervals is started after Tidle. tF t An arrival of aperiodic task JiWD2(tA) >0tA Switch schedule to S2 since WD2(tT)<=0 S12 S21 Finishes of all aperiodic task Ji WD1(tF) >0 Switch schedule to S1 since WD1(tP)<=0 A beginning of a busy cycle with a periodic task S2 S1 Idle to S1 P PAP PAPtTtBtP S12tAtT P : The selection of Scheduling Policy S1: schedule consuming minimum energy for periodic tasks S2: schedule consuming the worst-case energy for both periodic and aperiodic tasks S12: Transitory schedule for switching from S1 to S2 S21: Transitory schedule for switching from S2 to S1 Figure 4-2 Switching schedules for a busy cycle starting with a periodic task and non-zero WD The detailed functions for each instant and interval in Dual-Policy Dynamic Scheduling when a periodic task opens a busy cycle are as follows: At time tB: An arrival of periodic task starts P interval and initiates scheduling by S1 schedule since there’s no aperiodic task to execute. An aperiodic task’s arrival at tB directly

PAGE 96

83 starts PAP interval without going through TBA and WD2 (tB) = WD2 (tA) and is shown in Figure 4-3. For interval TBA: As there’s no aperiodic task, periodic tasks are executed in the running modes consuming minimum energy without violating their schedulability, S1 : { mi}, instead of in the modes of worst-case schedule, S2 : { mi}. At time tA: An aperiodic task Jk arrives. It’s time to return back to the worst-case schedule S2 from S1 schedule such that the target schedule is S2 now. The state of WD2 (tA) should be checked at the instant. The arrived aperiodic tasks can get either finite deadline based on the MTBS algorithm when WD2 (tA) 0 or infinite deadline when WD2 (tA) > 0 And if WD2 (tA) 0 the instant becomes exactly the same as the instant of tT. If WD2 (tA) > 0 which means the workload left on the next target schedule policy of S2 is more than it can afford to execute, the transitory schedule S12 is chosen till the schedulability condition is satisfied to make the tasks schedulable by S2 schedule and the MTBS assigns an infinite deadline to the aperiodic task. Otherwise, the workload left behind is less than or equal to the one is schedulable by S2 the instant of tA is merged directly to tP without going through transitory schedule S12 For interval TAT: Since WD2 (tA) is bigger than zero at time tA, the scheduler cannot jump directly to S2 schedule, transitory schedule S12 is chosen. Running all tasks in H-mode reduces the workload remaining at tA by S1 schedule for the interval TBA, i.e. non-zero workload difference between S2 and S1 and finally makes it at the same level that S2 schedule can afford. WD2 (t) is still the work difference between worst-case based on S2 scheduling and all H-mode real execution. Catching up the workload level of S2 by executing all tasks in H-mode consumes more energy than executing tasks in the modes by the worst-case schedule S2 As long as WD2 (t) is greater than zero, the deadlines of aperiodic tasks that arrive for this interval are assigned as infinite. When WD2 (t) is less than or equal to zero, the moment is transferred to time tT, allowing the scheduler to select S2 schedule from the instant of tT as scheduling policy.

PAGE 97

84 At time tT: Because WD2 (tT) is less than or equal to zero at the instant, S2 schedule is chosen as scheduling policy. Thus, all of aperiodic tasks that arrived before time tT but got infinite deadlines for the interval TAT are activated from at tT by getting finite deadlines. The deadlines are determined based on their execution demands and deadline assigning equation (4-6) in MTBS algorithm. From the instant tT, all aperiodic tasks that arrive at the scheduler get finite deadlines. For interval TTF: The MTBS assigns finite deadlines according to the execution demands of incoming aperiodic tasks till no more aperiodic tasks are available in the scheduler. For the interval TTF, if any task under the voltage settings of the worst-case schedule S2 makes the real execution workload greater than the worst case one, i.e. non-zero WD2 (t) the schedulability can not be guaranteed. Therefore, WD2 (t) must be checked whether it becomes greater than zero by the different running modes. All tasks are run in high-speed to make the scheduler keep schedulable if WD2 (t) become greater than zero. At time tF: All of the aperiodic tasks in the scheduler have been completed. S1 schedule that consumes lower power becomes the target scheduling policy from the instant. But the possible non-zero workload difference transferred by taking S2 as scheduling policy previously may cause at least one of the tasks to miss its deadline. Therefore, tasks’ schedulability is checked again at the instant before setting running modes to the target schedule. Since the current target scheduling policy is S1 schedule, WD1 (tF) is checked out whether the scheduler can directly select S1 schedule or should go through S21 schedule. If WD1 (tF) 0 the instant becomes exactly the same as the instant of tP and S1 schedule is selected, guaranteeing the schedulability. Otherwise, S21 schedule that executes all tasks in H-mode is chosen. For interval TFP: Since WD1 (tF) is greater than zero at time tF, every task is executed in H-mode to reduce the excessive workload for S1 schedule, consuming more energy by executing in H instead of in L-mode in the schedule of S1 At time tP : Due to the speed-up execution in H-mode WD1 (t) becomes less than or equals to zero at time tP. So, S1 schedule is selected at time tP.

PAGE 98

85 For interval TPA: S1 schedule is applied to periodic tasks till another first aperiodic task arrives in the busy cycle, getting more execution time in L-mode than in H-mode and bringing energy saving to the system. Figure 4-3 shows an example, in which a busy cycle also starts with a periodic task like shown in Figure 4-2. But now it satisfies the scheduability of elementary schedules at time tA and time tF, at which the next scheduling policy, not being all work differences higher than zero, i.e. WD1 (t)<=0 and WD2 (t) <=0 Thus the scheduler can directly take elementary schedules of S1 and S2 without going through the transitory schedules S12 and S21 Thus, the time of tA is the same with time tT by WD2 (tA) <=0 and so is the time of tF with tP by WD1 (tF) <=0 The energy saving is expected to be maximized if busy cycles are composed of the events meeting schedulability, WD2 (tA) <=0 and WD1 (tF) <=0 making all the moments of tA and tF to tT and tP, since there is no taking of transitory schedules such that no speed-up execution running all tasks in H-mode by S12 or S21 tF=tP t An arrival of aperiodic task JiSwitch schedule to S2 directly since WD2(tA)<=0tA=tT to S2 to S1 Finishes of all aperiodic task JiSwitch schedule to S1 directly since WD1(tF)<=0 S2 S1 Idle to S1 P PAP PAPtB to S2 P tA=tT A beginning of a busy cycle with a periodic task Figure 4-3 Switching schedules for a busy cycle starting with a periodic task and all WD (t) 0 In Figure 4-4, the first arrival in a busy cycle is done by an aperiodic task Jk, making the workload difference WD2 (tB) at time tB equal to zero since no task is waiting in dynamic scheduler except for the just arrived aperiodic task at tB. The zero workload difference lets the elementary schedule S2 be selected to schedule mixed tasks. And the real execution demands for arriving periodic tasks are less than the WCET ’s of S2 schedule, WD2 (t) remains equal to or less

PAGE 99

86 than zero till S1 schedule is activated with the completion of all waiting aperiodic tasks and it makes the time tT be matched with tB and tA. As soon as the last aperiodic task in dynamic scheduler is completed at time tF, WD1 (tF) is checked whether the voltage settings of tasks can be switched to the energy-saving mode schedule S1 From the time tF, the scheduling policy selection follows the same procedures as shown in Figure 4-2. To show the workload difference at the moment of switching scheduling policies and how to change scheduling policies, we show examples of the switching moments in Figure 4-5 and Figure 4-6, which have transitory schedules from S1 to S2 schedule and from S2 to S1 schedule, respectively. In both figures, W2 (t) W1 (t) and W0 (t) represent the workload demands of worst-case schedule S2 for mixed tasks, of worst-case schedule S1 for only aperiodic tasks (for energy saving), and of real execution for both periodic and aperiodic tasks, respectively. tFt A beginning of a busy cycle with an aperiodic task Ji Take S2 schedule since WD2(tT)<=0 S21 Switch schedule to S1 since WD1(tP)<=0 S2 S1 Idle PAP PAPtP S12tAtT P to S2tB=tA=tT Finishes of all aperiodic task Ji WD1(tF) >0 An arrival of aperiodic task JiWD2(tA) >0 Figure 4-4 Switching schedules for a busy cycle starting with an aperiodic task and WD (t) >0 In Figure 4-5, before the arrival of aperiodic task, voltage settings of S1 schedule are chosen for the periodic tasks and W0 (t) shows a decreasing slope by execution in low speed ( Lmode) along the time t W2 (t) also represents the decrement in workload by execution in highspeed ( H-mode ). The discrepancy in execution speeds of tasks between S1 and S2 schedules appears as non-zero workload difference WD2 (t) at time tA and this makes at least one of the periodic tasks miss its deadline after tA from the viewpoint of schedulability in target scheduling

PAGE 100

87 policy S2 at tA for both periodic and aperiodic tasks. With the arrival of aperiodic task Jk at time tA, both W2 (tA) and W0 (tA) jump up by the amount of execution demand, but there’s no change in WD2 (tA) Before taking S2 schedule as scheduling policy from time tA, WD2 (t) is reduced to be equal to or less than zero. S12 S2 S1 W0(t) Switching point to S2 The deadline for aperiodic task Jk is assigned H t W(t) An arrival of Aperiodic task JkW1(t) tTtAW2(t) WD2(tA) W0(t) H L L A B WD2(tT) TBA or TPA TAT TTF or TTP Figure 4-5 Switching from S1 to S2 schedules So, all periodic tasks are executed in high-speed and aperiodic tasks get infinite deadlines until the WD2 (t) becomes zero or less than zero. Applying S12 schedule, the execution in the same speed as S2 schedule is useless to decrease WD2 (t) WD2 (t) can be reduced only when the tasks are executed in H -mode, but assigned in L -mode for worst-case S2 schedule. In addition, even with the same speed execution in high-speed with S2 schedule, WD2 (t) can be lowered for every completion of periodic task by the slack time from the difference of WCET and real execution demand of periodic tasks. In Figure 4-5, execution in H -mode for S12 schedule, but assigned in L -mode for S2 schedule makes WD2 (tT) WD2 (tA) And, both workload lines A and B represent that the last periodic task in interval TAT brought to non-zero slack time. Line B is for the case having bigger slack time than line A. From time tT, with zero or less than zero WD2 (tT)

PAGE 101

88 aperiodic tasks can finally get their finite deadlines based on the utilization given by the equation (4-2) in modified total bandwidth algorithm. S21 S1 S2 t W(t) Switching point to S1 The last aperiodic task Jk is finished tF W0(t) W1(t) W0(t) H B A W2(t) without Jk H L L WD1(tF) tP WD1(tP) W2(t) with JkTTF TFP TPA Figure 4-6 Switching from S2 to S1 schedules Figure 4-6 shows the trajectory of workloads when the dynamic scheduler has finished all aperiodic tasks with the last completion of aperiodic task Jk and switches schedules based on the status of workload differences. By the instant tF since there is aperiodic tasks to be scheduled and workload W0 (t) is less than the one of W2 (t) thanks to the slack times of periodic tasks, the worstcase schedule S2 is chosen. At the time tF, S1 schedule becomes the target scheduling policy under the purpose of lowering energy consumption. However, the non-zero workload difference WD1 (tF) may put the scheduling at the risk of violating any deadline of periodic tasks. Thus, a transitory schedule S21 is selected to reduce WD1 (tF) to schedulable level. Likewise the case of transit interval from S21 to S2 the slack times from the difference between WCET in S1 schedule and real execution demand of a periodic task lower the workload difference at time tF, WD1 (tF) to be zero or less than zero such that the scheduler can switch its voltage settings of from S21 to S1 schedule at time tP. Also, executing tasks in all H-mode regardless of L-mode assigning in S1 schedule reduce the difference in workload. The stepwise decrease to either the line A or B at

PAGE 102

89 time tP in Figure 4-6 represents different non-zero slack times by the last periodic tasks in the interval TFP. From the time tP, the change scheduling policy from S2 schedule to S1 schedule may reduce the total energy consumption. 4.5 Algorithm for Dual-Policy Dynamic Scheduling Given the voltage assignments defined in H and L tasks can be dispatched and run in the assigned mode. Let the scheduling be called as Single-Policy Dynamic Scheduling The voltage settings are determined by allocating a constrained energy budget to periodic and aperiodic tasks, with the objective of better performance for aperiodic tasks and guaranteeing schedulability for periodic tasks. SPDP schedules tasks by the worst-case schedule S2 with the total bandwidth sever. Instead of maintaining the worst-case schedule determined for single-policy dynamic scheduling, Dual-Policy Dynamic Scheduling schedules tasks by intermixing the worst-case schedule with energy-saving schedule for periodic tasks such that energy consumption can be reduced as much as is available by the effect of increasing execution time in L-mode instead of in H-mode from worst-case assignment. In Table 4-1, we summarize the flags to signal the status of WD (t) and aperiodic task’s existence in the scheduler. If WD (t) becomes greater than zero at time t scheduler set the TransitFlag to ON. Otherwise, it sets the flag to OFF. And, if there’s any aperiodic task in the scheduler, scheduler set the ApFlag to ON. Otherwise, it sets the flag to OFF. Table 4-1 Switching Scheduling Policies with respect to the Interval Changes Flags Scheduling Policy TransitFlag ApFlag Interval Dual Single Energy Consumption OFF OFF TBA or TPA S1 S2 Energy Saving ON TAT S12 S2 ON OFF TFP S21 S2 At most worst-case OFF ON TTF or TTP S2 S2 At most worst-Case

PAGE 103

90 During the intervals, not having aperiodic tasks and having both flags with the state ‘OFF’, energy saving is achieved by changing running mode in S1 schedule instead of S2 schedule. The detail algorithm for the Dual-Policy Dynamic Scheduling is given in Figure 4-, where the following definitions are used, including the flags shown in Table 4-1. TKQ : the normal EDF task queue for all of periodic and aperiodic tasks in the system. S1Q : the normal EDF task queue only for all periodic tasks in the system. It is used for following currently how much workload remained by energy-saving schedule S1. S2Q : another normal EDF task queue for all of periodic and aperiodic tasks in the system. It is used for following currently how much workload remained by worst-case schedule S2 for mixed tasks. enQueue(element, Q) : insert an element into the queue of Q enQueue(element, Q) : insert an element into the queue of Q head(Q) : the element at the head of queue Q. compute-exeTime () : adjust the status of queues by the executed time since the last dispatch instance based on execution time demands Timer (period) : if it is on with the amount of period a timer is set to the required time period Otherwise it is off, the timer is stopped and maintaining the remaining amount at the stopped time. WD_ DNTO_ZERO and WD_ UPTO_ZERO : parameter to indicate the time amount that WD (t) ’s are reduced and increased, respectively, by currently dispatching tasks in both TK_Q and either S1_Q or S2_Q according to the status of flags. WD_ DNTO_ZERO is used for the checking whether WD1 (t) or WD2 (t) hits the zero when transitory schedules are used for the intervals of TAT and TFP. WD_ UPTO_ZERO is also used for the checking whether

PAGE 104

91 WD1 (t) or WD2 (t) hits the zero to keep track of the schedulability outside of the transient intervals of TAT and TFP. Both parameters are watched at every event occurrence. To track the worst-case workload and to compute workload difference using combined EDF scheduling with voltage-clock scaling, we employ three queues, i.e., TK-Q S1-Q and S2-Q in which tasks are ordered according to their respective deadlines and expiration times. S1-Q and S2-Q are for worst-case workload but TK-Q for actual workload. TK-Q and S2-Q take both periodic and aperiodic tasks, whereas S1-Q does only periodic tasks. By the remaining workload between TK-Q and either S1-Q or S2-Q the workload differences, WD1 (t) and WD2 (t) are computed to check the schedulability by the targeting worst-case schedule. In addition to events of arrival and completion, the moments of when WD1 (t) or WD2 (t) become zero or less than zero are the scheduling-policy decision points, being tracked by the timer values of WD_ DNTO_ZERO and WD_ UPTO_ZERO When any first aperiodic task arrives after interval P ApFlag is set to ON and WD2 (t) is compared with zero. The ApFlag is maintained as ON till the last aperiodic instance is finished. If WD2 (t) is equal to or less than zero, TransitFlag is set to OFF; the deadline of the aperiodic instance is computed based on equation (4-6) and it is inserted into both S2-Q and TK-Q according to the target scheduling policy S2 Otherwise, TransitFlag is set to ON; the aperiodic task is inserted into S2-Q with the finite deadline by the equation (4-6) but into TK-Q with infinite deadline by the equation (4-7), complying with the transitory schedule S12 As long as WD2 (t) is greater than zero, TransitFlag is maintained as ON, arriving aperiodic instances are inserted into TK-Q with infinite deadline and not dispatched. When WD2 (t) becomes zero or less than zero, i.e. the S2 schedule afford to meet schedulability, TransitFlag is set to OFF; all un-dispatched aperiodic instances are assigned by their finite deadlines by the equation (4-6), switching to S2 schedule. Once the scheduler has chosen the targeting schedule S2 arriving aperiodic instances are considered as periodic tasks by assigning their deadlines and inserted into both S2-Q and TKQ

PAGE 105

92 As soon as the last aperiodic instance that arrived has been completed, ApFlag is set to OFF and WD1 (t) is compared with zero. The ApFlag is maintained as OFF until any new aperiodic instances arrive. If WD1 (t) is equal to or less than zero, TransitFlag is set to OFF; scheduling policy is switched from S2 to S1 schedules. Otherwise, TransitFlag is set to ON; it goes through transitory schedule S21 till WD1 (t) is equal to or less than zero, at which S1 schedule is selected to turn on the energy saving scheduling policy. With a new arrival of aperiodic instance, the whole process is repeated. Algorithm for Dual-Policy Dynamic Scheduling at the arrival instance avi of task i { Timer()= off; if ( (TK-Q != empty) or (S2-Q != empty) or (S1-Q != empty) ) compute-exeTime ; compute-wd ; // compute WD (t) check_flags; if ( TK-Q == empty ) { BusyFlag= on; if (i == aperiodic task) { ApFlag = on ; compute task deadline Di based on TBS algorithm ; set task deadline to avi+Di; } else { set task deadline to avi+Di; enQueue(i, S1-Q) ; } enQueue(i, TK-Q) ; // enqueue the arriving task with deadline Dj enQueue(i, S2-Q) ; } else { if (i == aperiodic task) { compute task deadline Di based on TBS algorithm ; set task deadline to avi+Di; enQueue(i, S2-Q) ; if ( TransitFlag==on ) set task deadline to ; else set task deadline to avi+Di; enQueue(i, TK-Q) ; // enqueue the arriving task with deadline } else …. Figure 4-7 The algorithm for Dual-Policy Dynamic Scheduling

PAGE 106

93 else { set task deadline to avi+Di; enQueue(i, TK-Q) ; // enqueue the arriving task enQueue(i, S2-Q) ; enQueue(i, S1-Q) ; } } compute-wd ; // compute WD (t) dispatch; } at the completion instance of a task { Timer()= off; if (the task from TK-Q ) { i = deQueue(TK-Q) ; compute-exeTime ; compute-wd ; // compute WD (t) check_flags; if (i = = aperiodic task) { compute-responseTime ; if ( the last aperiodic task ) { // Prepare Transition mode if ( WD1(t) <=0 ) TransitFlag = off ; else TransitFlag = on ; ApFlag = off ; } } else check_meetDeadline ; if ( TK-Q==empty ) { BusyFlag= off ; // idle period starts TransitFlag = off ; ApFlag = off ; } } else if (the task from S1-Q ){ i = deQueue(S1-Q) ; compute-exeTime ; compute-wd ; // compute WD (t) check_flags; } else { i = deQueue(S2-Q) ; compute-exeTime ; compute-wd ; // compute WD (t) check_flags; } dispatch; } Figure 4-7 (continued.)

PAGE 107

94 at the expiration of Timer { // if ( TransitFlag==on ) { TransitFlag = off ; if ( ApFlag==on ) { for all aperiodic task j in TK-Q { compute task deadline Dj based on TBS algorithm set task deadline to avj+Dj; } } dispatch ; } else { // to make the scheduler schedulable j = head(TK-Q) ; set voltage-mode to H; } } Procedure compute-wd { // adjust accumulated execution time W0(t) = added-up workload to be executed in TK-Q; W1(t) = added-up workload to be executed in S1-Q; W2(t) = added-up workload to be executed in S2-Q; WD1(t) = W0(t) W1(t) ; WD2(t) = W0(t) W2(t) ; } Procedure check_flags () { // change flags if( ApFlag ==on ) WD (t) = WD2 (t) ; else WD (t) = WD1 (t) ; if ( WD (t) <=0 ) TransitFlag =off ; else TransitFlag =on ; } Procedure dispatch () { // dispatch a task activate_S1S2 () ; dispatch_S1S2 () ; if ( TransitFlag == on) dispatch_ transit () ; else { if ( ApFlag == on ) dispatch_S2mode() ; else dispatch_S1mode() ; } } Figure 4-7 (continued.)

PAGE 108

95 Procedure dispatch_S1mode () { // assign execution mode // to low-energy consumption mode, S1 voltage settings if ( TK-Q!= empty ) { j = head(TK-Q) ; k = head(S1-Q) ; if (j LS1 ) { set voltage-mode to L ; if (k HS1 ) compute WD_UPTO_ZERO from j and k; else WD_ UPTO _ZERO=0 ; if ( WD_ UPTO_ZERO> abs(WD1(t) ) Timer(WD1(t))= on ; } else set voltage-mode to H ; } } Procedure dispatch_S2mode () { // assign execution mode // to worst-case mode if ( TK-Q!= empty ) { j = head(TK-Q); k = head(S2-Q); if (j LS2 ) { set voltage-mode to L ; if (k HS2 ) compute WD_UPTO_ZERO from j and k; else WD_ UPTO _ZERO=0 ; if ( WD_ UPTO_ZERO> abs(WD2(t) ) Timer(WD2(t))= on ; } else set voltage-mode to H ; } } Procedure dispatch_S1S2 () { // assign execution mode // to follow worst cases of S1 and S2’s if ( S1-Q!= empty ) { j = head(S1-Q); // S1 voltage settings if (j HS1) set voltage-mode to H; else set voltage-mode to L; } if ( S2-Q!= empty ) { j = head(S2-Q); // S2 voltage settings if (j HS2) set voltage-mode to H; else set voltage-mode to L; } } Figure 4-7 (continued.)

PAGE 109

96 Procedure dispatch_transit () { // assign execution mode // to High-mode if ( ApFlag ==on ) WD (t) = WD2 (t) ; else WD (t) = WD1 (t) ; j = head(TK-Q) ; compute WD_DNTO_ZERO by assuming j in H-mode ; if ( WD_ DNTO_ZERO>WD (t) ) Timer(WD (t))= on ; set voltage-mode to H ; } Figure 4-7 (continued.) 4.6 Performance Evaluation We analyze here the responsiveness and energy saving in Dual-Policy Dynamic Scheduling, sharing the bounded energy budgets between periodic and aperiodic tasks based on VCS approach and evaluate the VCS-EDF scheme to schedule mixed real-time tasks. Over Single-Policy Dynamic Scheduling, whose voltage settings are found in static scheduling, the superiority of DPDS, the dynamic scheduling scheme of switching scheduling policies to the pattern changes of task events, is gauged by energy saving and responsiveness along the various energy constraints available by the task set. For the power consumption and speed settings, Motorola’s PowerPC 860 processor is used for our simulation, which can be operated in a highperformance mode at 50MHz and with a supply voltage of 3.3V, or a low-power mode at 25MHz and with an internal voltage of 2.4V [77] such that VH and VL are fixed to VH=3.3 and VL=2.4 The power consumption in the high-performance mode is 1.3 Watts ( pH), as compared to 241mW ( pL) in the low-power mode. The clock rate at high voltage is 100% faster than at low voltage: H=2.0 and L=1.0 The worst-case execution demands of the tasks are chosen in the range of L to H. The real task execution demand is then selected randomly such that the mean is in the range of 0.6 to 1.0 of the worst-case execution demand. In our simulation, we use a set of 10 periodic tasks having random task periods in the range of 100 to 1000 and set the task deadlines equal to their respective periods. The worst-case

PAGE 110

97 execution demands of the tasks are randomly chosen such that, for each simulation case, no deadlines should be missed and the resultant utilization is set to UP (L) from 0.8 to 1.4. The sum of worst-case execution demands of both periodic and aperiodic tasks is also chosen in the range of L to H. The real task execution demand is then selected randomly such that the mean is in the range of 0.6 to 1.0 of the worst-case execution demand. For aperiodic tasks, we adopt the exponentially distributed execution time with an average equal to 45. Then we let the interarrival time be exponentially distributed with mean of between 450 (10% workload, i.e. UA (L) =0.1) and 64.3 (70%, i.e. UA (L) =0.7). The energy budget EC is set at each of several energy levels in the range from ( Emin+0.6 Ediff) to ( Emin+ Ediff) by the increment of 0.1 Ediff. The improvement of energy saving and average response time is addressed by a simulation study performed under the assumption of enough energy to complete the tasks and meet the deadline requirements. In addition, the simulation study follows the objective in the constrained energy allocation model gives best responsiveness when aperiodic tasks are assigned in high-voltage and high-speed mode. Throughout the performance analyses, the dual-policy dynamic scheduling is compared to single-policy dynamic scheduling, which schedules tasks only in the voltage settings assigned in static scheduling. In the circulated changes of the intervals Tidle, TBA, TAT, TTF, TFP, and TPA, periodic tasks are executed in the other speed and voltage from assigned ones of the worst-case. For efficient comparisons, we introduce several parameters, HtoL LtoH and T-LH to accumulate executed times under the following conditions. All of them will be compared after being normalized to the total simulation time. HtoL : the accumulated time for which some tasks assigned as H-mode in the worst-case schedule S2 are executed in L-mode by S1 schedule during the intervals of TBA and TPA. LtoH : the accumulated time for which some of tasks assigned as L-mode in both schedules of S1 and S2 are executed in H-mode during the intervals of TAT, TTF, TFP, and TPA. T-LH : the accumulated time for which some of tasks assigned as L-mode in S2 schedule is executed in H-mode by S12 schedule during the transitory intervals of TAT. The amount is less than LtoH

PAGE 111

98 More energy is saved from the difference in energy consumption between two-speed modes. Thus, HtoL stands for how much energy can be saved. And T-LH ’s is added up by the workload difference generated from the switched computation from low to high-speed mode when S12 schedule is selected. In the DPDS, the workload difference is decreased by two factors. First, it is slack periods available whenever a periodic task completes. So, the average of actual workload of periodic tasks tells how fast the workload difference is reduced. The other one is the switched mode execution from low to high speed. If non-zero workload is still remained at switching point, doubled execution speed from low to high speed contributes to clearing the workload difference up, advancing the moment when the aperiodic tasks are assigned their finite deadlines. From the switching point, if the execution times in doubled speed, T-LH ’s, are accumulated, it can be a measure for judging the responsiveness for aperiodic tasks. 4.6.1 Energy Consumption How much increase in low-speed execution times is obtained for the dual-policy dynamic scheduling? Over several energy budgets controlled by Ediff, we obtain the percentage of executed times in Hand L-mode to the total execution time from the simulation and compare them in where the occupations by all components of periodic, aperiodic tasks and idling are represented in stacks of bar. ‘ H for P ’, ‘ L for P ’, ‘ H for AP ’, and ‘ L for AP ’ are representing how much H-mode ( H: high-speed) and L-mode ( L: low-speed) executions for periodic ( P ) and aperiodic ( AP ) tasks take the processor’s computing capacity. ‘ Idle ’ represents the ratio of processor’s idling times without computation to the total execution time. Here, the more processor capacity is used for specific-speed execution of tasks, the longer bar it takes in the stack of bars. Under a fixed utilization of aperiodic tasks, the percentages by the worst-case execution demands are measured and shown in Figure 4-8 (a), (d) and Figure 4-9 (a), (d), respectively, increasing the utilization of periodic tasks from 0.8 to 1.4 by 0.2. Under the real execution time demand of 0.6 for periodic tasks, the percentages of executed times for the single-policy are shown in Figure 4-8 (b), (e) and Figure 4-9 (b), (e), and the percentages for dual-policy in Figure

PAGE 112

99 4-8 (c), (f) and Figure 4-9 (c), (f), respectively. As for the percentage of aperiodic tasks, since the fast responsiveness is obtained when a constrained energy budget is allocated to execute them in high-speed and high-voltage mode in the study [83], the utilization by aperiodic tasks becomes 0.15 when the utilization of 0.3 for aperiodic tasks in low-speed. Thus, regardless of increase in the energy budget, the lengths of bar ‘ H for AP ’ are the same as 0.15 and ‘ L for AP ’ is zero. With the increase of energy budget allocated to periodic tasks, the portion of ‘ H for P ’ is increased from 0.183 to the maximum 0.4 when EC is given as Emax= maxEA + maxEP = ( Emin+ Ediff). ‘ L for P ’ is decreased from 0.434 to zero, causing ‘ H for P ’ to be maximum and the total utilization by periodic tasks, the sum of ‘ H for P ’ and ‘ L for P ’, to be minimum at EC = Emax. The remaining utilization is allocated to aperiodic tasks and it gives decreased deadlines to them by total bandwidth algorithm. This leads to fast responsiveness. With the increase of UP as shown in Figure 4-8 (a), (d) and Figure 4-9 (a), (d), note that the ratios of idle are decreased as the total utilization by periodic tasks is increased. According to the TBS algorithm, it directly implies the increment in response times due to the lower assignment of utilization for aperiodic tasks, given by the equation UA (S2) 1UP (S2) In Figure 4-9 (d), (e), and (f), interestingly, execution times are not available at energy allocation of EC =( Emin+ 0.6 Ediff), since the energy assignment is not good enough to schedule under UP=1.4 and UA=0.3.The stacks of bar in Figure 4-8 (b), (e) and Figure 4-9 (b), (e), shows the percentages of each elements by the real execution demands of 0.6 for periodic tasks and UA=0.3. The bars are showing the same characteristics as shown in static scheduling except that periodic tasks have exactly 60% of the worst-case execution demands. The exact amount of generated real execution demands are executed as shown in the length of the bars for periodic tasks in single-policy. Comparing (b) to (c) and (e) to (f) in Figure 4-8 and, there are big differences in the lengths of ‘ H for P ’ and ‘ L for P ’ over all energy budgets. The same amounts of ‘ H for P ’ as the single-policy dynamic scheduling are tremendously reduced and show a much slower increasing slope than single-policy with the increase of energy budgets. On the contrary, the same amounts

PAGE 113

100 of ‘ L for P ’ as the single-policy dynamic scheduling are tremendously increased. But they also show a much slower increasing slope with the increase of energy budgets like ‘ H for P ’. The reduction of ‘ H for P ’ and the increase of ‘ L for P ’ are coming from the switching from worstcase schedule S2 to energy-saving schedule S1 whenever the event pattern having only periodic tasks is available. 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 (c) Dual-Policy (0.8,0.3) 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 The Percentages of Executed Times to Total Execution Time (a) Static Scheduling (Up,Ua)=(0.8,0.3)% to Total Exec. Time 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 (b) Single-Policy (0.8,0.3) H for P L for P H for AP L for AP Idle 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 (d) Static Scheduling (1.0,0.3)% to Total Exec. Time 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 (e) Single-Policy (1.0,0.3) 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 (f) Dual-Policy (1.0,0.3) Figure 4-8 The percentages of executed times to the total execution times over a various energy budget in cases of UP =0.8 and 1.0 for a fixed UA =0.3 (the average of real workload for periodic tasks is 0.6) The use of two scheduling policies decreases the chances of execution in H-mode and increases execution in L-mode The switched mode execution in the ratios of components to total executed time are positively related to energy saving. This indicates the effectiveness of switching scheduling policies in a system for mixed task. As we increase the workload demand of periodic tasks UP as shown in Figure 4-8 (f), and Figure 4-9 (c), (f), the increase of ‘ L for P ’ is

PAGE 114

101 slow down. This indicates that, as the utilization of periodic tasks getting higher, more processor processing capacity should be dedicated to high-speed execution to make sure about the schedulability. 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 (c) Dual-Policy (1.2,0.3) 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 The Percentages of Executed Times to Total Execution Time (a) Static Scheduling (Up,Ua)=(1.2,0.3)% to Total Exec. Time 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 (b) Single-Policy (1.2,0.3) 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 (d) Static Scheduling (1.4,0.3)% to Total Exec. Time H for P L for P H for AP L for AP Idle 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 (e) Single-Policy (1.4,0.3) 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 (f) Dual-Policy (1.4,0.3) Figure 4-9 The percentages of executed times to the total execution times over a various energy budget in cases of UP =1.2 and 1.4 for a fixed UA =0.3 (the average of real workload for periodic tasks is 0.6) Interestingly, the amounts of increased ‘ L for P ’ become maxima when UP= 1.0 and diminish with respect to the decrease of UP from 1.0. When the utilization of periodic tasks is less than 1.0, the portion of L-mode assigned tasks in S1 schedule is absolutely smaller than UP= 1.0. Thus, the lower L-mode assignments in S1 schedule, the lower possibility in L-mode execution instead of H-mode by S2 schedule. To see the relationship between the increment of ‘ L for P ’ by dual-policy and the portion of L-mode assignment in S1 schedule, we compare ‘ L for P ’, ‘ H for P ’, and ‘ Idle ’ for both scheduling schemes including S1 schedule over execution demands

PAGE 115

102 ranging from 0.8 to 1.4 when EC= Emin +0.7 Ediff and UA= 0.149 (0.15) in Table 2. In the column of ‘ Increase in L ’, the increments of total L-mode execution times from single-policy to dualpolicy are shown as UP is augmented. When UP= 1.0, the increment of L-mode execution time is maximum and this is due to the highest utilization for assigned L-mode in S1 schedule as shown in the column of ‘ L ’ under ‘ S1 ’. In addition, Table 4-2 shows the source of the increments in measured low-speed execution times is from that the reduced amount of high-speed execution turns into the increment of low-speed execution time by the switched policies from S2 to S1 schedule. For example, when UP= 1.0, the increased amount is coming from ( H in SP H in DP ) H = (0.185 0.047) 2 = 0.276. Table 4-2 An example of increased L-mode execution times for periodic tasks when UA= 0.3 (Mean of real execution demands = 0.6, EC= Emin +0.7 Ediff, and aperiodic tasks are run in all H-mode ) Single-Policy (SP) Dual-Policy (DP) Increase in L S1 UP H L Idle H L Idle (DP_L SP_L) H L Idle 0.8 0.142 0.195 0.513 0.047 0.386 0.418 0.191 0.008 0.785 0.207 0.9 0.163 0.214 0.474 0.050 0.439 0.362 0.225 0.007 0.886 0.107 1.0 0.185 0.231 0.435 0.047 0.505 0.298 0.274 0.009 0.982 0.009 1.1 0.222 0.216 0.413 0.096 0.467 0.287 0.251 0.101 0.898 0.001 1.2 0.261 0.198 0.392 0.151 0.418 0.282 0.220 0.200 0.799 0.001 1.3 0.300 0.181 0.370 0.206 0.367 0.277 0.186 0.300 0.699 0.001 1.4 0.338 0.163 0.349 0.276 0.287 0.228 0.124 0.400 0.599 0.001 As we increase the utilization of periodic task UA under a fixed UP as 1.2, the percentages of high-speed execution time are measured along the increase of both energy budgets and real execution demands and plotted in Figure 4-10. The curves with the solid lines are the percentage measures from the single-policy dynamic scheduling, whereas are dashed lines based on the dualpolicy dynamic scheduling. The percentages increase as we augment the energy budgets for both of the scheduling schemes. The solid lines show slower slopes than the dashed line along with the

PAGE 116

103 raise in energy budgets. No available data in Figure 4-10 (c) and (d) also represent the fact that the energy budgets given to tasks at the regions are not enough to schedule them. For the increment of the real execution demands from 0.6 to 0.9, the single-policy dynamic scheduling shows equal increments in the percentages, revealing parallels. But, the increasing slopes for the percentages for the dual-policy dynamic scheduling are gradually higher with the augment of the actual workload. For the case of UA = 0.4 and 0.5 and the real execution demands of 0.6, the percentage measures are slightly convex down at = 0.8 and = 0.9, respectively. Thus, the more low-speed execution times are available under the conditions. 0.6 0.7 0.8 0.9 1 10 20 30 40 50 60 70 80 The percentages of H-mode execution time to total exec. time (a) Up=1.2 Ua=0.1% of H-mode Exec. Time 0.6 0.7 0.8 0.9 1 10 20 30 40 50 60 70 80 (b) Up=1.2 Ua=0.3% of H-mode Exec. Time 0.6 0.7 0.8 0.9 1 10 20 30 40 50 60 70 80 (c) Up=1.2 Ua=0.4% of H-mode Exec. Time 0.6 0.7 0.8 0.9 1 10 20 30 40 50 60 70 80 (d) Up=1.2 Ua=0.5% of H-mode Exec. Time SP:0.9 SP:0.8 SP:0.7 SP:0.6 DP:0.9 DP:0.8 DP:0.7 DP:0.6 Policy:Mean Figure 4-10 The percentages of time executed in high-speed mode to the total execution times over a various energy budget in cases of UP =1.2 (Solid and dashed lines stand for dual-policy and single-policy, respectively, and the values in the legend for the averages of actual workload for periodic tasks)

PAGE 117

104 The effects of switched mode execution to low-speed from high-speed assignment in worst-case schedule appear as prolonged execution times in L-mode and shorten execution times in H-mode And this is under the same simulation given in Figure 4-10, the percentages of lowspeed execution time are measured and plotted in Figure 4-11. 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50 60 The percentages of L-mode execution time to total exec. time (a) Up=1.2 Ua=0.1% of L-mode Exec. Time 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50 60 (b) Up=1.2 Ua=0.3% of H-mode Exec. Time 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50 60 (c) Up=1.2 Ua=0.4% of H-mode Exec. Time 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50 60 (d) Up=1.2 Ua=0.5% of H-mode Exec. Time DP:0.9 DP:0.8 DP:0.7 DP:0.6 SP:0.9 SP:0.8 SP:0.7 SP:0.6 Policy:Mean Figure 4-11 The percentages of time executed in low-speed mode to the total execution times over a various energy budget in cases of UP =1.2 (Solid and dashed lines stand for dual-policy and single-policy, respectively, and the values in the legend for the averages of actual workload for periodic tasks) The percentage measures for the single-policy dynamic scheduling diminish to zero at the maximum energy budget along the raise in the energy budgets and they also increase along with the augment of actual workloads. But the curves with dashed lines for the dual-policy dynamic scheduling show some interesting non-monotonic variations along with the raises in both energy budgets and actual workloads. As we know in the analyses of the percentage measures in highspeed execution and energy consumption, the down-convexities for the case of UA = 0.4 and 0.5

PAGE 118

105 and the average actual workloads of 0.6, can affect to the energy consumption when the energy budgets are given as = 0.8 and = 0.9, respectively. How much can the dual-policy scheduling reduce energy consumption comparing to the single-policy one? Using the power consumption of Motorola’s PowerPC 860 processor, which requires 1.3 Watts and 241mW for the high-performance mode ( pH) and the low-power mode ( pL), the normalized energy consumptions are calculated based on the percentage measures in highand low-speed execution. First, to study how the increased low-speed execution times in the dual-policy dynamic scheduling impacts to lowering energy consumption, we calculate the normalized energy consumptions and present them in Table 4-3, based on the percentages of lowand high-speed execution times to the total execution time in Table 4-2. The saved energy becomes maximum when the workload demand UP= 1.0 due to the more execution times in low-speed than any other workload demands. Compared to the static scheduling and the single-policy dynamic scheduling, the dual-policy scheduling saves (0.686 0.377)/0.686= 45% and (0.490 0.0.377)/0.490= 23.1%, respectively. Given energy budget Estatic, i.e., EP, the enhancement of energy saving to the singlepolicy scheduling is (0.296 0.183)/0.686=16.5%. And as the workload demand is increased, the energy saving is reduced. For the comparisons between two dynamic scheduling schemes over the variation of average workload of periodic tasks, energy budget, and aperiodic tasks’ utilization, the ratios of each scheme to the static scheduling are plotted in Figure 4-12 as the solid lines for the dualpolicy dynamic scheduling and the dashed lines for the single-policy dynamic scheduling. As we increase the average of actual workloads, both schemes show monotonic increases. And as the utilization of aperiodic tasks is increased from 0.1 to 0.5 under a fixed utilization of periodic tasks UP =1.2 the ratios gradually move up due to the increased energy consumption by aperiodic tasks.

PAGE 119

106 For the single-policy dynamic scheduling, the lines are gathered around the similar value of ratios regardless of the augments in energy budget. This is due to the monotonic increase in the percentages of high-speed execution times and the monotonic decrease in percentage of lowspeed execution time as shown in Figure 4-10 and Figure 4-11. As for the dual-policy dynamic scheduling, they show parallel line-ups with the increase of energy budget. This comes from that as more energy budget is given, the percentage of low-speed execution time is higher, whereas lower of high-speed execution time as shown in Figure 4-10 and Figure 4-11. Table 4-3 An example of increased L-mode execution times and energy saving for periodic tasks when UA= 0.3 (Mean of actual execution demands = 0.6, EC= Emin +0.7 Ediff, and aperiodic tasks are run in all H-mode (1.3 Watts) with energy consumption 0.194) Single-Policy (SP) Dual-Policy (DP) Energy Saving Static Saving Ratio UP H L EP H L EP EP EStatic EP/ EStatic 0.8 0.142 0.195 0.232 0.047 0.386 0.154 0.078 0.590 13.2% 0.9 0.163 0.214 0.263 0.050 0.439 0.171 0.092 0.633 14.5% 1.0 0.185 0.231 0.296 0.047 0.505 0.183 0.113 0.686 16.5% 1.1 0.222 0.216 0.341 0.096 0.467 0.237 0.104 0.762 13.6% 1.2 0.261 0.198 0.387 0.151 0.418 0.490 0.103 0.839 12.3% 1.3 0.300 0.181 0.434 0.206 0.367 0.356 0.078 0.917 8.5% 1.4 0.338 0.163 0.479 0.276 0.287 0.428 0.051 0.997 5.1% Also, little convexes in both highand low-execution times form Figure 4-10 and Figure 4-11 draw slight more energy consumption at the average of actual workload 0.6 at the lowest energy budgets in Figure 4-12 (b), (c), and (d). Note that the energy consumptions of the two schemes are gradually closer to each other along with the increase of aperiodic tasks’ utilization mainly due to the increase of energy consumption in the dual-policy dynamic scheduling. The reason is explained this way. As utilization of aperiodic tasks gets higher, the energy budget allocation to periodic tasks is reduced by the increased allocation to aperiodic tasks. The reduced energy budget make the S2 schedule closer to the energy consumption of S1 schedule, whose voltage settings consume the lowest energy in the schedulable range, leading the dual-policy

PAGE 120

107 dynamic scheduling to lower chance of the switched task execution from high-speed to low-speed. Conclusively, under a fixed workload demand of periodic tasks, the lower workload demand of aperiodic tasks or the higher energy budget is allocated to the system, the more energy saving it can get. 0.6 0.7 0.8 0.9 1 0.4 0.5 0.6 0.7 0.8 0.9 1 Energy consumption ratios to static anlaysisAverage of Actual Periodic Workload Demand (a) Up=1.2 Ua=0.1Energy Consumption Ratio SP:=0.6 SP:=0.7 SP:=0.8 SP:=0.9 SP:=1.0 DP:=0.6 DP:=0.7 DP:=0.8 DP:=0.9 DP:=1.0 0.6 0.7 0.8 0.9 1 0.4 0.5 0.6 0.7 0.8 0.9 1 Average of Actual Periodic Workload Demand (b) Up=1.2 Ua=0.3Energy Consumption Ratio 0.6 0.7 0.8 0.9 1 0.4 0.5 0.6 0.7 0.8 0.9 1 Average of Actual Periodic Workload Demand (c) Up=1.2 Ua=0.4Energy Consumption Ratio 0.6 0.7 0.8 0.9 1 0.4 0.5 0.6 0.7 0.8 0.9 1 Average of Actual Periodic Workload Demand (d) Up=1.2 Ua=0.5Energy Consumption RatioPolicy:Ec factor Figure 4-12 Energy consumption ratios of dual and single-policy dynamic scheduling to static analysis for the variation of the real execution time demands of periodic task when UP =1.2 (Solid and dashed lines stand for dual-policy and single-policy, respectively, and so do the values in the legend for the constrained energy budget EC = Emin + Ediff in the range of 0.6 1.0) So far, we have evaluated how the dual-policy dynamic scheduling gets more energy saving over the single-policy dynamic scheduling through the analyses of simulation results. Then, how fast responsiveness does it get?

PAGE 121

108 4.6.2 Average Response Time Over several real execution demands of periodic tasks and constraint energy budgets, we obtain the average response times of aperiodic tasks from the simulation having a fixed periodic workload demand of 1.2 and plot them in Figure 4-13. Regardless of increase in the energy budget, Figure 4-13 reveals a trend of increments in average response time of aperiodic tasks as actual workloads of both periodic and aperiodic tasks increase although there are some differences of the increasing intensity. In Figure 4-13 (a), where the aperiodic execution demand is as low as 0.1, we notice that the increasing changes in both energy budget and the average of actual workload do not much affect the responsiveness of the single-policy dynamic scheduling such that the average response times remain in the small range of variation. However, at the available lowest energy budget for each simulation case, the dashed curves are getting closer to solid curves as the workload demand for aperiodic tasks is intensified in Figure 4-13 (b), (c), and (d). This is due to the delayed execution by increased deadline assignment on the TBS algorithm. The increasing workload demand of aperiodic tasks enables periodic tasks to get lower energy budget. The voltage mode assignment for periodic tasks under a lowered energy budget cause periodic tasks to take more processor’s capacity by low-speed execution and then the utilization left over to aperiodic tasks lengthens the deadlines of aperiodic tasks. As for the dual-policy dynamic scheduling in Figure 4-13 (a), roughly they show monotonic increases along with the variation in both the actual workload of periodic tasks and energy budget. First, as we increase the workload, the variance of execution time is reduced, making slack periods shorter. The decreased slack periods extend the time instant when the workload difference can meet the schedulability. Therefore, when the switching from S2 to S1 schedule is needed, the delayed switching time causes the scheduler to hold the arrived tasks longer and affects to response times. Furthermore, in spite of the same actual workload of periodic tasks the responsiveness is degraded, as the constrained energy gets higher. At any

PAGE 122

109 energy budget, the more tasks have high-speed mode assignments for S2 schedule, the more switched mode executions from H-mode to L-mode in S1 schedule are available. Thus, the more workload differences are generated during intervals having only periodic tasks. 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 130 Average response timesAverage of Actual Periodic Workload Demand (a) Up=1.2 Ua=0.1Average Response Time DP:=1.0 DP:=0.9 DP:=0.8 DP:=0.7 DP:=0.6 SP:=1.0 SP:=0.9 SP:=0.8 SP:=0.7 SP:=0.6 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 130 Average of Actual Periodic Workload Demand (b) Up=1.2 Ua=0.3Average Response Time 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 130 Average of Actual Periodic Workload Demand (c) Up=1.2 Ua=0.4Average Response Time 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 130 Average of Actual Periodic Workload Demand (d) Up=1.2 Ua=0.5Average Response TimePolicy:Ec factor Figure 4-13 Average response times in regard to the actual workload demands of periodic tasks when UP =1.2 (Solid and dashed lines stand for dual-policy and single-policy, respectively, and so do the values in the legend for the constrained energy budget EC = Emin + Ediff in the range of 0.6 1.0) Then, from the end of intervals, in addition to the slack periods the more switched mode execution from L-mode in S2 schedule to H-mode in S12 schedule is demanded for the transitory schedule S12 to reduce workload difference as soon as possible, if it has. But, if most tasks are assigned in H-mode in S2 schedule, the reduction of workload difference is prolonged and mostly carried by the slack periods. Thus, to get the best responsiveness under a confined energy budget,

PAGE 123

110 some extent of mixed combination of voltage settings is needed for S2 schedule to accelerate the reduction of workload difference. 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 140 Average response times to bounded energy budgets (a) Up=1.2 Ua=0.1Average Response Time 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 140 (b) Up=1.2 Ua=0.3Average Response Time 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 140 (c) Up=1.2 Ua=0.4Average Response Time 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 140 (d) Up=1.2 Ua=0.5Average Response Time DP:0.9 DP:0.8 DP:0.7 DP:0.6 SP:0.9 SP:0.8 SP:0.7 SP:0.6 Policy:Mean Figure 4-14 The responsiveness with respect to the bounded energy budgets when UP =1.2 (Solid and dashed lines are for dual-policy and single-policy, respectively, and the values in the legend for the averages of actual workload for periodic tasks) Unlike in Figure 4-13 (a), interesting results from Figure 4-13 (b), (c), and (d) are that the dual-policy scheduling reveals abrupt big decrements in the measure of average response times as the energy budget is increased. When the energy budgets are given as = 0.7, = 0.8, and = 0.9for the utilization of aperiodic tasks of 0.3, 0.4, and 0.5, respectively, the average response times show the minima over the change of the actual workload demand. In each case, to the augments of energy budget, they increase but lower than the average response times for the lowest energy budget. The results for another workload demand of periodic tasks also catch up with the trend that shows minima from a certain workload demand of aperiodic tasks. As the

PAGE 124

111 workload demand of periodic tasks is raised, the convex down phenomenon appears at lower workload demand of aperiodic tasks. To get better comparisons in a different view, the average response times are plotted in Figure 4-14 with the same conditions as in Figure 4-13, but with respect to the energy budgets. In Figure 4-14 (a), the average response times for both dynamic scheduling schemes show slight monotonic increase or maintain almost flat to the increase of energy budget. In Figure 4-14 (b), (c), and (d), there are rapid improvements in the responsiveness for both scheduling schemes from the lowest to the next increased level of energy budgets. 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 140 Average response times to bounded energy budgets (a) Up=0.8 Ua=0.3Average Response Time DP:0.9 DP:0.8 DP:0.7 DP:0.6 SP:0.9 SP:0.8 SP:0.7 SP:0.6 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 140 (b) Up=0.8 Ua=0.6Average Response Time 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 140 (c) Up=1.0 Ua=0.1Average Response Time 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 140 (d) Up=1.0 Ua=0.4Average Response TimePolicy:Mean Figure 4-15 The responsiveness with respect to the bounded energy budgets when UP =0.8 and 1.0 (Solid and dashed lines are for dual-policy and single-policy, respectively, and the values in the legend for the averages of actual workload for periodic tasks) But, as we increase the energy budget more, the two schemes develop in opposite directions. The solid lines for the dual-policy scheduling show some extent of degradation in the

PAGE 125

112 responsiveness and the minima at = 0.7, = 0.8, and = 0.9 as the results shown in Figure 4-13 (b), (c), and (d), while the dashed lines for the single-policy dynamic scheduling continue to get improvements but weaker than the first increase of energy budget. As shown in Figure 4-15 and Figure 4-16, for the case of UP= 0.8, 1.0, 1.2, and 1.4, the minima appear when UA= 0.6, 0.4, 0.3, and 0.2, respectively. 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 140 Average response times to bounded energy budgets (a) Up=1.2 Ua=0.1Average Response Time DP:0.9 DP:0.8 DP:0.7 DP:0.6 SP:0.9 SP:0.8 SP:0.7 SP:0.6 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 140 (b) Up=1.2 Ua=0.3 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 140 (c) Up=1.4 Ua=0.1Average Response Time 0.6 0.7 0.8 0.9 1 20 40 60 80 100 120 140 (d) Up=1.4 Ua=0.4Average Response Time Policy:Mean Figure 4-16 The responsiveness with respect to the bounded energy budgets when UP =1.2 and 1.4 (Solid and dashed lines are for dual-policy and single-policy, respectively, and the values in the legend for the averages of actual workload for periodic tasks) For further reasoning of the results in Figure 4-14 (b), (c), and (d), execution times in different mode from the mode assigned in worst-case are accumulated in our simulation and plotted in Figure 4-17. Since the simulation is done under a fixed execution demand of 1.2, the voltage settings for the S1 schedule are independent on the increase in workload of aperiodic

PAGE 126

113 tasks. The curves with dotted lines are for T-LH ’s and represent the times executed in high-speed mode from low-speed mode assigned in S2 schedule to switch scheduling policy from S1 to S2 Also, HtoL ’s are plotted in solid lines and represent the times executed in low-speed mode assigned in S1 schedule from high-speed mode assigned in S2 schedule for the intervals consist of periodic tasks. T-LH ’s are increased with respect to the increase of the actual workload of periodic tasks. Clearly, the chance for switched mode execution from high-speed to low-speed is increased due to more workload of periodic tasks. However, Figure 4-17 (b), (c), and (d) show the highest amounts at = 0.7, = 0.8, and = 0.9 unlike Figure 4-17 (a) showing monotonic decreases as we increase the energy budget. This is the reason why the responsiveness gets the minima at those specific constraint energy budgets as shown in Figure 4-14 (b), (c), and (d). And these are due to two facts. Since the probability of H-mode assignment in S2 schedule is low when the energy budget is minimum, the workload difference to be reduced by switched mode execution is relatively lower. On the other hand, when the energy budget is higher, most tasks are assigned in high-speed mode in S2 schedule. Especially, due to all high-speed mode assignment when EC = ( Emin+ Ediff), none of tasks can be executed from low-speed to high-speed mode. HtoL ’s show monotonic increase to the augments in energy budget regardless of the actual workload of periodic tasks in Figure 4-17 (a). As the constrained energy budget is higher, more assignment in the high-speed mode is available for S2 schedule such that there is more probability to be executed in low-speed. When the average of the actual workload is 0.6, the switched executions from high-speed to low-speed for energy saving is the lowest and others show similar results. As we increase the execution demand of aperiodic tasks as shown in Figure 4-17 (b), (c), and (d), the HtoL is getting lower. This is due to decreased high-speed mode assignment for S2 schedule from the lower energy allocation to periodic tasks with the increase in energy allocation for aperiodic tasks. And unlike Figure 4-17 (a), regardless of the actual workload of periodic tasks, HtoL ’s show upward-convexities over the change of energy budget,

PAGE 127

114 showing the maxima at specific energy budgets. This is due to two facts. The first is that the probability of H-mode assignment in S2 schedule is low when the energy budget is minimum. On the other hand, when the energy budget is high, increased H-mode assignment in S2 schedule cause transition intervals to be increased. As the actual workload of periodic tasks is raised in Figure 4-17 (b), (c), and (d), the HtoL ’s are reduced, forcing the energy consumption difference between two scheduling schemes to be closer each other as shown in Figure 4-12 (b), (c), and (d). 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 The percentages of execution time in different mode from static assignment (a) Up=1.2 Ua=0.1% of L-mode Exec. Time 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 (b) Up=1.2 Ua=0.3% of H-mode Exec. Time 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 (c) Up=1.2 Ua=0.4% of H-mode Exec. Time 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 30 (d) Up=1.2 Ua=0.5% of H-mode Exec. Time HtoL:0.9 HtoL:0.8 HtoL:0.7 HtoL:0.6 T-LH:0.9 T-LH:0.8 T-LH:0.7 T-LH:0.6 Switched Exec.:Mean Figure 4-17 The percentages of execution time in changed mode execution from assigned mode to the total execution times when UP =1.2 (Solid and dashed lines are for ‘ HtoL ’ and for ‘ T-LH ’ by S12 schedule, respectively, and the values in the legend for the averages of actual workload for periodic tasks) Speaking of responsiveness, the single-policy dynamic scheduling outperforms the dualpolicy dynamic scheduling for any the energy budget allocation. But under the condition of lower

PAGE 128

115 energy budgets and even lower actual execution workloads of periodic tasks, the dual-policy dynamic scheduling shows reasonable results comparing to the single-policy dynamic scheduling. 4.7 Conclusion In this chapter, using EDF scheduling we present a dynamic scheduling algorithm to carry out voltage clock scaling for workloads consisting of mixed hard and soft real-time tasks. The objective of the scheduling is to minimize energy consumption and to improve the response time of aperiodic tasks in energy-constrained real-time systems, while all deadlines of periodic tasks are met. Based on two specific intervals classified by the events occurring in runtime scheduling for both mixed hard and soft real-time tasks, we propose dual-policy dynamic scheduling that switches two elementary scheduling policies, exploiting reduction of energy consumption from the increased low-speed execution time. However, the backlogged workload (workload difference) may be generated from executing the same tasks in different speeds by two policies and may jeopardize the schedulability of the entire system. For the guarantee of schedulability by EDF scheduling, the backlogged workload at switching point needs to be reduced to the level that a target scheduling policy can afford to. In addition to the slack periods that play big roles for the reduction of the workload difference, we introduce transitory schedules that execute all periodic tasks in high-speed mode to advance the time of switching to targeting elementary schedule. Until the schedulability of the target schedule is guaranteed, aperiodic tasks are scheduled by infinite deadline based on modified total bandwidth algorithm. Our simulation study follows the result of a constrained energy allocation model, where the VCS-EDF scheduling gets the fastest responsiveness when the extra energy budget is allocated to aperiodic tasks at their maximum energy demand such that all of them can be run in high-voltage and high-speed mode As for the energy saving performance, our results show that the dual-policy dynamic scheduling saves more energy as actual workload of both periodic and aperiodic tasks is lower and available energy budget is higher for a fixed periodic workload. Under the fixed aperiodic workload of 0.3, the energy consumption decreases maximum 50.4 %

PAGE 129

116 over the given total energy budget when the periodic workload demand is 1.0. This is doubled energy saving of the SPDS. In the comparisons of responsiveness, the dual-policy dynamic scheduling shows longer response time than the single-policy dynamic scheduling, which sticks to the worst-case schedule thoroughly. But, as available energy budget or periodic workload demand is getting lower, the response time of the dual-policy dynamic scheduling gets closer to the single-policy dynamic scheduling.

PAGE 130

117 CHAPTER 5 SCALING OF ENERGY CONSUMPTION AND RESPONSIVENESS 5.1 Introduction As for responsiveness and energy consumption of a system, they are fully dependent on the aimed performance of application implemented in the system. Some need fast response time for background tasks regardless of energy consumption of the system and so does some low total energy consumption regardless of their responsiveness. In general, an efficient optimization mechanism is needed to guarantee better performance, making the best of the available energy budget. With regard to best sharing of the bounded energy budget in a battery-driven real-time embedded system, an energy budget allocation model is proposed in Chapter 3. In sharing a constrained energy budget among mixed hard and soft real-time tasks based on total bandwidth server algorithm and two-mode VCS-EDF scheduling, reduced response times are brought by assigning the energy budget to aperiodic tasks to execute them in high-voltage and high-speed mode. Also, the extra energy budget allocated to periodic tasks can result in a lowering of the CPU utilization reserved for periodic tasks. This, in turn, leaves more available CPU utilization for aperiodic tasks and causes shorter deadlines as defined in the total bandwidth server-scheduling scheme. The energy budget is allocated to get better performance for aperiodic task without missing any deadline of periodic tasks. Under the energy budget assigned by the energy allocation model, we propose an energy efficient dynamic scheduling called dual-policy dynamic scheduling (DPDS) in Chapter 4, in which a dynamic scheduler schedules mixed tasks by switching scheduling policies between two schedules, exploiting the characteristics in the pattern of event occurrence by periodic and aperiodic tasks in busy cycles.

PAGE 131

118 As a set of periodic tasks shares the processor’s capacity with aperiodic tasks by total bandwidth server algorithm, the portion of periodic tasks is less than when they are scheduled with the whole computational capacity. To guarantee the schedulability of a system, the more execution times should be assigned in H-mode in VCS-EDF scheduling by sharing the total energy with aperiodic tasks. And this requires more energy consumption. Combined with the constrained-energy allocation, two sets of voltage settings for periodic tasks are determined for elementary schedules called S1 and S2 the one demanding the lowest and the other the worstcase energy consumption under the condition of feasible scheduling, in DPDS. Since the system schedules both mixed hard and soft real-time tasks, basically S2 schedule should be applied throughout the scheduling for both periodic and aperiodic tasks. But, for the intervals having only periodic tasks’ events, the tasks are scheduled by S1 schedule instead of S2 schedule since there is no aperiodic task. Switching scheduling policies occurs when the scheduler confronts the specific occurrence of aperiodic tasks’ events, the first arrivals after periodic intervals or complete finishes of all arrived aperiodic tasks in a busy cycle. Due to the switched scheduling policies, DPDS outperforms the single-policy dynamic scheduling (SPDS), which applies only S2 schedule, in reduction of power consumption. And DPDS shows reasonable responsiveness when the actual execution time demands change with a high variance. The reduction of energy consumption is mainly coming from switched execution in lowspeed from high-speed mode assignment in worst-case schedule S2 for the intervals having only periodic tasks. Compared with the SPDS, slightly increases in response time are originated from postponed execution of aperiodic tasks while handed-over workload from S1 to S2 schedule is reduced to a schedulable level before the switching to S2 schedule is performed. The backlogged workload is originated from increase in low-speed execution instead of high-speed mode assignment, by choosing S1 schedule instead of S2 schedule. From the point of switching policies in the DPDS, the SPDS can be considered as a special case of DPDS, in which the scheduler never changes the scheduling policy to S1 schedule.

PAGE 132

119 Compared to the DPDS, sticking to the worst-case scheduling leads to more energy consumption but faster responsiveness. Therefore, taking into account that aperiodic tasks are already assigned in high-voltage and high-speed mode for the best performance of responsiveness, if S1 schedule is decided to consume more energy closer to S2 schedule, better response times than DPDS are expected from reduced amount of low-speed execution switched from high-speed assignment. On the other hand, due to the relationship in utilization and energy consumption of a set of periodic tasks, simple change in the utilization of the elementary S1 schedule can control the combination of voltage settings in the S1 schedule. Eventually, the scaling of S1 schedule’s utilization under available energy budget for S2 schedule is directly linked to the calibration of energy consumption of the DPDS. In this chapter, we propose fine-tuning control mechanism over both energy saving and responsiveness of DPDS, which jointly schedules hard periodic and aperiodic tasks under a bounded energy budget. By the energy sharing in total bandwidth server and the interplay between utilization and energy consumption for a set of periodic tasks, both energy consumption and responsiveness of DPDS can be easily adjusted to the aimed performance of a system. The tunable ranges are determined by the schedulability under energy budget allocation. The rest of the chapter is structured as follows. In section 5-2, we discuss the feasible range of S1 schedule from the relationship between energy consumption and utilization for a set of periodic using a task-based energy profiling and a proper allocation of a bounded energy budget. Then, we propose the adjusting mechanism in DPDS by introducing a parameter and explain it in detail under a constraint energy budget in section 5-3. The effectiveness of the proposed tuning mechanism algorithm is evaluated through simulations in section 5-4. In section 5-5, a short conclusion is given.

PAGE 133

120 5.2 Feasible Ranges of Utilization and Energy Consumption for Periodic Tasks As explained in chapter 3, given mi, the voltage setting either L-mode or H-mode and i ( mi), the speed of task i at mode mi, for all of periodic task i, the energy demand for periodic task of Ep is defined as ) m ( p T C ) m ( ) m ( Ei i i i i i P!1 (5-1) where p(mi) is the power consumption at mode mi, iC the average execution time of task i In addition, the worst-case utilization is given by !i i i i i PT C ) m ( ) m ( U1 (5-2) There is a trade-off relationship between utilization and energy consumption for a set of periodic tasks. As the utilization is increased, the energy consumption shows decrement because the total computation time in L-mode is increased. In the other way, the worst-case utilization is decreased along the increment in energy consumption by the affordability to assign more execution time in H-mode under given energy consumption. Due to the tradeoff relationship, there are certain ranges of utilization and energy consumption by a set of periodic tasks, meeting the condition of schedulability. For the maxima and minima, max EP and min EP are denoted as the maximum and minimum for the energy consumption and max UP and min UP for the utilization, respectively. Regarding the feasibility of the energy constraint and the worst-case utilization, constraint energy EC must be greater than min EP and min UP should be no greater than 1. By its definition, if min UP is greater than unity with all H-mode executions, it is impossible to find voltage settings to ensure that all tasks meet their deadlines. Guaranteeing its feasibility, the minimum utilization min UP is 1 1 !i i H PT C ) H ( U, and then the maximum energy consumption max EP

PAGE 134

121 becomes !H i i H Pp T C ) H ( E1. If max UP is less than 1, the tasks are schedulable with all L-mode assignments and energy consumption can never be less than min EP. In the case, max UP becomes !i i L PT C L U1 and min EP does !L i i L Pp T C L E1. Thus, the feasible ranges of utilization ( UP) and energy consumption ( EP) for a set of periodic tasks shown in Chapter 3 and [83] are shown in Figure 5-1 and defined as follows: max UP and min EP If UP (L) 1 i i L P PT C L U U max1 and L i i L P Pp T C ) L ( E E min1. Otherwise, max UP = UP ( mi) = 1 and i i i i i P Pm p T C m ) m ( E E min1. min UP and max EP If UP (H) 1 i i H P PT C H U U min1and H i i H P Pp T C ) H ( E E max1. Otherwise, it is implausible. Schedulable min EPEPEnergy min UP1 Utilizationmax UP maxEPUP available 0 0 Figure 5-1 The relationship between power consumption and utilization for a set of periodic tasks If energy budget for periodic tasks is assigned to EP in the range from min EP to max EP, UP available is the available utilization corresponding to the allocated energy budget EP. And, by searching a set of voltage settings meeting the given energy budget and schedulability, energy

PAGE 135

122 demand and utilization for periodic tasks are determined as EP ( mi) EP and UP ( mi) UP available, respectively. 5.3 Scaling Energy Saving and Responsiveness in Dual-Policy Dynamic Scheduling Under a constraint energy budget, how can a real-time scheduler tune its performance of responsiveness and energy consumption level to the requirement of a real-time application? DPDS has the feature of switching scheduling policies between S1 and S2 schedules instead of applying S2 schedule thoroughly. S1 schedule is a set of voltage settings of periodic tasks consuming minimum energy by maximizing their utilization as much as possible under schedulability. And it is chosen for the intervals having only periodic tasks in the DPDS, giving noticeable energy saving. If the SPDS is regarded as a special case of DPDS, in which S2 schedule is chosen instead of S1 schedule for the intervals of only periodic tasks, there must be ranges of utilization and energy consumption determined by S1 and S2 schedules accordingly. When either energy consumption or utilization of S1 schedule is calibrated within the feasible range, DPDS can control its responsiveness and energy consumption. For the two elementary schedules, S1 and S2 in DPDS, let’s define energy consumption and utilization as EP (S1) EP (S2) UP (S1) and UP (S2) respectively. Then, the energy consumption for S1 schedule EP (S1) is min EP and its utilization UP (S1) becomes the maximum, max UP, which is near unity. In addition, DPDS has the constraints of energy and schedulability, EP (S2) + EA EC and UP (S2) + UA (S2) 1 respectively. Considering the result of DPDS, if another set of voltage settings having much lower utilization than max UP is used for S1 schedule, higher energy consumption than min EP is required and faster response time is expected due to the increased utilization for aperiodic tasks. In this way, the adjustment in the execution demand of S1 schedule affects the execution times in low-speed in S1 schedule. The total switched execution time from high to low-speed mode is also reduced in the DPDS, leading to decrease in energy saving and average response time.

PAGE 136

123 Figure 5-2 shows the big picture of relationship in energy allocation, utilization, and adjustment of energy saving in the DPDS. A C =1.0=0 UP= 0 UP= 1 UA= 1 UA= 0 Aperiodic TasksPeriodic Tasks Energy EAUtilization UA EP (S2) EP ( AUSharing Utilization UA + UP 1 Energy Allocation forAperiodic Tasks Utilization UPEnergy EP max UAmin UAmin EAmax EAmin EPmax EPmin UP (S2) max UP (S2) UP available B EP (! Figure 5-2 Sharing of energy consumption and utilization in Dual-Policy Dynamic Scheduling First, the running modes for S2 schedule are determined in a constrained energy allocation model, which has the energy budget constraint of EP + EA EC and the utilization constraint of UP + UA 1 Then, the energy allocation for aperiodic tasks is varied in the range of min EA EA max EA with the energy allocation factor and so is for periodic tasks EP (=0) EP (S2) EP (=1) as shown as range A within the their available range of min EP EP max EP. The utilizations for aperiodic and periodic tasks are varied in the respective ranges of min UA UA max UA and min UP (S2) UP (S2) max UP (S2) Allocating a constrained energy budget among mixed tasks, the constrained energy allocation model results in a reduced response time when energy budget is assigned to aperiodic tasks so that their execution can be done in high-voltage and high-speed mode. Then, the energy budget for aperiodic tasks is allocated as EA = max EA and the energy budget left from the total energy budget is given to periodic tasks as EP = EC max EA. Given allocated energy budget EP, the voltage settings for periodic tasks are found, consuming EP (S2) that is less than or equal to EP, and having the worst-case workload demand UP available for the

PAGE 137

124 determined voltage settings. Also, it is required that ( 1 UP available) is greater than the workload demand, UA, of aperiodic tasks for the schedulability by total bandwidth server algorithm. Therefore, either EP (S2) in the region B or UP available in the region C indicates that the given tasks are not schedulable, representing EP (S2) is too low to schedule tasks. 5.3.1 Scaling Factor To calibrate energy consumption of DPDS by tweaking the workload demand of S1 schedule, UP (S1) we define a new parameter called energy scaling factor and ranged over 0 1 Given a set of periodic tasks, parameter indicates the utilization range of min UP UP (S1) 1 in schedulable regions of utilization and energy consumption. Since min UP is obtained when all periodic tasks are run in H-mode =0 tells that UP (S1) = UP/H and L-mode is naught in the voltage settings. Figure 5-3, under energy allocation EP (S2) becomes 1 when UP (S1)=1 and so does zero when UP (S1)= min UP. As is getting closer to 1, the energy saving increases. UP (S1) Adjustable range for S1 Schedulable min UP1Utilizationmax UP 0 Adjustable range for S1 EP (S1) min EPEnergymaxEP 0 More Energy Saving=0=1.0 Figure 5-3 The range of energy scaling factor

PAGE 138

125 5.3.2 S1 Schedule with Scaling Factor According to the definition of a set of periodic tasks should be scheduled in such a way that the utilization is less than or equals to ( min UP + ) and unity as well. Given scaling factor there exist a set of voltage settings S1 : { mi} so that the worst-case utilization 1 1 P i i i i PU min T C ) m ( ) m ( U is maximized. (5-3) Then, by the set of voltage settings determined in equation (5-3), the energy consumption is also determined as EP ( mi) by the equation ) m ( p T C ) m ( ) m ( Ei i i i i P!1, (5-4) where EC must be greater than EP ( mi), regarding the feasibility of energy constraint. 5.3.3 Scaling under a Constrained Energy Budget Under a constraint energy budget EC, the adjustable ranges of utilization and energy consumption by S1 schedule are shown in Figure 5-4. If energy budget for periodic tasks is assigned to EP (S2) in the range from min EP to max EP, the available utilization UP available corresponding to the allocated energy budget EP (S2) And, by searching a set of feasible voltage settings in VCS-EDF scheduling that makes the best of the energy budget EP (S2) the demand of energy and utilization for periodic tasks are determined as EP ( mi) EP (S2) and UP ( mi) UP available, respectively. Due to the relationship between utilization and energy consumption for a set of periodic tasks, tuning the utilization of periodic tasks can be interchangeable with adjusting their energy consumption. To find voltage settings that can reduce energy consumption as much as possible, consuming less energy than the energy allocation EP (S2) corresponds to finding the ones that occupy the processor’s capacity as much as getting closer to 1 from UP available. Thus, the adjustment of in the range of min <1 corresponds to selection any utilization in region A and so does energy consumption in the region B On the other hand, if system application required

PAGE 139

126 faster responsiveness, by assigning the utilization closer to UP available the voltage settings with increased execution times of H-mode in S1 schedule can provide for its aimed performance. A UP= 0 UP= 1=0=1.0 Periodic Tasks EP (S2) Utilization UPEnergy EP min EPmax EPmin UP (S1) B UA available UP availableEP (S1) UA= 1 UA= 0 Aperiodic Tasks Energy EAUtilization UA AUmax UAmin EAmax EA min Figure 5-4 Feasible scaling ranges of energy consumption and responsiveness under a constraint energy budget 5.4 Performance Evaluation Here, we investigate how the variations in L-mode assignment in S1 schedule impact on responsiveness and energy saving in the Dual-Policy Dynamic Scheduling. Single-Policy Dynamic Scheduling is used for the comparisons whenever it is needed. We also define parameter in the range of 0 1 to represent the constrained energy budget in a system such that EC. is allowed to get the energy budget as ( Emin+ Ediff), where 0.6 1. Then, the constrained energy is set at each of several energy levels from EC = ( Emin+0.6 Ediff) to EC = ( Emin+ Ediff) by the increment of 0.1 Ediff. From 0 to 1, is increased by 0.1 and the workload demand of S1 schedule is tuned within available range by the given periodic tasks. For instance, when the workload demand of periodic tasks is forced as 1.2, the workload demand of S1 schedule covers from 0.6 to 1.0 by an increase of 0.04 with respect to Dual-policy dynamic scheduling saves energy consumption by the increased L-mode execution time, which comes from the switched speed mode execution from assigned in S2

PAGE 140

127 schedule to S1 schedule for the interval having only periodic tasks. The more L-mode assignment S1 schedule has, the more energy the dual-policy dynamic scheduling saves. Over several energy budgets and sets of voltage settings controlled by and respectively, we keep tracks of the executed times in Hand L-mode of periodic and aperiodic tasks including idle times and present them as percentages to the total execution time as stacks of bar in Figure 5-5. 0 0.5 1.0 0 0.2 0.4 0.6 0.8 1 (a) S1 Schedule (WCET)% to Total Exec. Time 0 0.6 1.0 0 0.2 0.4 0.6 0.8 1 The Percentages of Executed Times to Total Execution Time (b) =0.6 gd H for P gd L for P gd H for AP ex H for P ex L for P ex H for AP ex H for AP ex Idle 0 0.5 1.0 0 0.2 0.4 0.6 0.8 1 (c) =0.7 0 0.3 0.5 1.0 0 0.2 0.4 0.6 0.8 1 (d) =0.8% to Total Exec. Time 0 0.2 0.5 1.0 0 0.2 0.4 0.6 0.8 1 (e) =0.9 0 0.5 1 0 0.2 0.4 0.6 0.8 1 (f) =1.0 Figure 5-5 The percentages of executed times to the total execution times over a various energy budget in cases of UP =1.2 for a fixed UA =0.3 (Average of real workload for periodic tasks= 0.6) The length of any bar represents how much it occupies processor’s computing capacity. ‘ ex H for P ’, ‘ ex L for P ’, ‘ ex H for AP ’, and ‘ ex L for AP ’ are representing how much H-mode ( H: high-speed) and L-mode ( L: low-speed) executions are carried out for periodic ( P ) and aperiodic ( AP ) tasks. ‘ ex Idle ’ represents the ratio of processor’s idling times without computation to the total execution time. Also, dashed lines denoted as ‘ gd H for P ’, ‘ gd L for P ’, and ‘ gd H for

PAGE 141

128 AP ’ represent the generated workloads in Hor L-mode and show flat lines regardless of the increase in Since an extra energy budget can assign more tasks in H-mode ‘ gd H for P ’ and idle time show increase from (b) to (f), whereas decreases ‘ gd L for P ’. At min for all the constraints of energy budgets, ‘ ex L for P ’ and ‘ ex H for P ’ almost amount to ‘ gd L for P ’ and ‘ gd H for P ’. But they are increased and decreased along with the increment of respectively. The difference between ‘ ex H for P ’ and ‘ gd H for P ’ exactly contributes to the increase of ‘ ex L for P ’ because some of the assigned amount in high-speed mode has been executed in low-speed mode. To measure the impact of switched executions on the energy consumption, we calculate the energy consumption by the increased low-speed execution and the decreased high-speed execution times and also plot them in Figure 5-6. 0 0.6 0.8 1 -0.2 -0.1 0 0.1 0.2 0.3 0.4 The Increases of Highand Low-speed Execution & Their Impacts on Energy Saving (a) = 0.6% of Exec. Times / Power Saving H for P L for P Energy Saving 0 0.5 0.7 1 -0.2 -0.1 0 0.1 0.2 0.3 0.4 (b) = 0.7 0 0.3 0.5 0.7 1 -0.2 -0.1 0 0.1 0.2 0.3 0.4 % of Exec. Times / Power Saving(c) = 0.8 0 0.2 0.4 0.6 0.8 1 -0.2 -0.1 0 0.1 0.2 0.3 0.4 (d) = 0.9 0 0.2 0.4 0.6 0.8 1 -0.2 -0.1 0 0.1 0.2 0.3 0.4 (e) = 1.0 Figure 5-6 The increases in highand low-speed mode execution times and energy saving by them when UP =1.2 for a fixed UA =0.3 (Average of actual periodic workload = 0.6)

PAGE 142

129 Over the effective range of i.e. min 1, the variation of execution times influence to energy consumption as energy saving. Due to the energy consumption difference by different speed modes in VCS, the benefit of switched execution goes to energy saving. As for the change from the generated workload in each speed mode, the increase of high-speed mode execution turns out to be negative, whereas the increase of the low-speed mode execution does to be positive. And along the increase in the constraints energy budgets, the percentage in H-mode execution time diminishes and the one in L-mode is increased. This represents that the possibility of switched mode execution gets higher because the percentage of ‘ gd H for P ’ is increased while the percentage of ‘ gd L for P ’ in S1 schedule remains at the same level. For an instance, at min=1 in S1 schedule, ‘ gd L for P ’ is 79.9%. Since ‘ gd H for P ’s in S2 schedule are 22.8%, to 26.1%, 29.3%, 32.5%, and 36.0%, respectively, the probability of switched execution from highto lowspeed mode increase to 0.285, 0.0.327, 0.367, 0.407, and 0.451. The influences of the switching between dual-execution modes to energy consumption are measured in differences of energy saving from the SPDS when workload demands for periodic and aperiodic tasks are 1.2 and 0.3, respectively and plotted in Figure 5-7 over the change in average of actual workload of periodic tasks from 0.6 to 0.9. Figure 5-7 (a) represents all the cases of energy budgets in one graph. Throughout the increase in average of actual workload of periodic tasks, the same phenomena as shown in Figure 5-6 and Figure 5-7 (a) are shown in Figure 5-7 (b), (c), and (d) except the strength of energy saving is gradually decreased, accordingly. This is indicative of the sensitivity for different S1 schedules. Compared to Figure 5-7 (d), Figure 5-7 (a) shows faster change in energy saving when average of actual workload of periodic tasks is 0.6. This is from that the shorter busy cycle because the higher slack times are available for lower average of actual workload of periodic tasks such that the switched mode execution can be increased.

PAGE 143

130 0 0.05 0.1 0 0.2 0.4 0.6 0.8 1 0.6 0.8 1 -0.2 -0.1 0 0.1 0.2 (a) mean=0.6 Energy Consumption Ratio 0 0.05 0.1 0 0.2 0.4 0.6 0.8 1 0.6 0.8 1 -0.2 -0.1 0 0.1 0.2 (c) mean=0.8 Energy Consumption Ratio 0 0.05 0.1 0 0.2 0.4 0.6 0.8 1 0.6 0.8 1 -0.2 -0.1 0 0.1 0.2 (d) mean=0.9 Energy Consumption Ratio 0 0.05 0.1 0 0.2 0.4 0.6 0.8 1 0.6 0.8 1 -0.2 -0.1 0 0.1 0.2 (b) mean=0.7 Energy Consumption Ratio0.142 0.141 0.127 0.104 Figure 5-7 Energy saving with respect to Single-Policy Dynamic Scheduling with the variations of ( S1 schedule) and constraint energy budgets when UP =1.2 and UA =0.3 To see the impact on responsiveness by the increases in utilization of S1 schedule we measure average response times under the same condition as Figure 5-7, when EC= Emax (i.e. =1),UP = 1.2, and UA = 0.3, and illustrate in Figure 5-8. One interesting result in Figure 5-8 is that the graphs show a trend that average response times become minima when the energy budget is given as = 0.7 regardless of average of actual workload of periodic tasks. There are two main factors for the trend. The one is that for the transitory intervals on the way from schedule S1 to S2 the low-speed assigned tasks in S2 schedule are getting lower as the energy budget is increased. In the DPDS, in addition to slack times, more low-speed assigned tasks in S2 schedule is needed to get fast reduction of the workload difference caused by the switched execution from high-speed to low-speed execution.

PAGE 144

131 Especially, when EC= Emin, S2 schedule has no assignment for low-speed mode so that possible reduction of workload difference only comes from slack times for the transitory intervals before switching scheduling policy from S1 to S2 schedules. The other is that the more low-speed execution makes aperiodic tasks get delayed completion. Since the percentage of low-speed execution is relatively high comparing to the higher energy budget, reduced energy budget results in a longer response time for aperiodic tasks. Therefore, the response times of DPDS are minima at = 0.7 at which both factors are moderate. 40 60 80 0 0.5 1 0.6 0.7 0.8 0.9 1 0 20 40 60 80 100 (d) mean=0.9 Avg. Response Time 30 40 50 60 0 0.5 1 0.6 0.7 0.8 0.9 1 0 20 40 60 80 100 (c) mean=0.8 Avg. Response Time 25 30 35 40 45 0 0.5 1 0.6 0.7 0.8 0.9 1 20 40 60 80 100 (b) mean=0.7 Avg. Response Time 25 30 35 0 0.5 1 0.6 0.7 0.8 0.9 1 20 40 60 80 100 (a) mean=0.6 Avg. Response Time Figure 5-8 Average response times with respect to energy scaling factor ( S1 schedule) and constraint energy budgets when UP =1.2 and UA =0.3 Due to the property of graph representation, the entire graphs do not have corresponding results when = 0 and 0.1 although the average response times are 22.853, 23.286 when EC= Emax for Figure 5-8 (a), respectively. To compensate for the insufficient plots, we compare average

PAGE 145

132 response times to the different and average of actual workload in Table 5-1, especially when the energy budget EC= Emax. At = 0, there’s no big difference in average response time between DPDS and SPDS. But, average response time increases along with the increase of because the increased low-speed execution times for periodic tasks in S1 schedule influence the responsiveness of aperiodic tasks. Table 5-1 Average response times with respect to energy saving factor (S1 schedule) when EC= Emax, UP =1.2, UA =0.3 Mean 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 DP 22.85 23.29 24.25 25.32 26.67 27.70 29.00 30.41 32.33 33.82 36.05 0.6 SP 22.87 22.87 22.87 22.87 22.87 22.87 22.87 22.87 22.87 22.87 22.87 DP 22.81 23.80 25.36 27.28 29.62 31.61 33.92 36.37 39.29 41.76 45.55 0.7 SP 22.91 22.91 22.91 22.91 22.91 22.91 22.91 22.91 22.91 22.91 22.91 DP 22.93 24.70 28.03 31.73 36.05 39.86 43.69 47.57 51.97 55.66 60.82 0.8 SP 22.96 22.96 22.96 22.96 22.96 22.96 22.96 22.96 22.96 22.96 22.96 DP 23.05 27.48 35.17 42.60 49.87 56.53 62.16 67.50 73.02 77.94 84.63 0.9 SP 23.06 23.06 23.06 23.06 23.06 23.06 23.06 23.06 23.06 23.06 23.06 For the comparison to the SPDS, we plot average response times over the range of 0.6 1.0 in Figure 5-9. As we decrease the energy budget, the dashed line for average response time of the SPDS increases monotonically by = 0.7, but shows abrupt increments from = 0.7 to = 0.6 The slope of the abrupt increase is sharper as the average of actual workload of periodic tasks increases from Figure 5-9 (a) to (d). This is also indicative of the impact of increased percentage in low-mode execution time on the responsiveness. On the other hand, the solid lines for DPDS become minima when = 0.7. The increased response time at low energy budget is explained by the same reason in the SPDS. But, as the energy budget is increased, the solid lines are proportionally increased along the increment of energy budget unlike the cases of the SPDS. For all the cases in the figure, the responsiveness is gradually degraded along the increment of And it should be noticed there’s no big difference in the average response time between DPDS and SPDS when = 0.6 and = 0.7. The range of response time shown in Figure

PAGE 146

133 5-9 (a) is very narrow, compared to Figure 5-9 (d). Considering the factors affect the average response times, the primary factor is how fast workload difference, which is generated for the intervals having only periodic tasks, is reduced to the amount that the S2 schedule can afford to guarantee the schedulability, at which the aperiodic tasks can be executed and finished. 0.6 0.7 0.8 0.9 1 20 30 40 50 60 70 80 90 100 Average response times (a) mean= 0.6Avg. Response Time =1.0=0.9=0.8=0.7=0.6 SPDS 0.6 0.7 0.8 0.9 1 20 30 40 50 60 70 80 90 100 (b) mean= 0.7Avg. Response Time 0.6 0.7 0.8 0.9 1 20 30 40 50 60 70 80 90 100 (c) mean= 0.8Avg. Response Time 0.6 0.7 0.8 0.9 1 20 30 40 50 60 70 80 90 100 (d) mean= 0.9Avg. Response TimeEnergy Scaling Figure 5-9 Comparisons of responsiveness between SPDS and DPDS with respect to constraint energy budget, EC = Emin + Ediff, and energy scaling factor (In the range of 0.6 1.0 and 0.6 1.0 respectively, when UP =1.2 and UA =0.3) At low average of actual workload of periodic tasks, slack times are the primary factor to reduce the workload difference so that the variation range of response times is close to SPDS with respect to the increase of However, at higher average of actual workload of periodic tasks, we can observe the response times in Figure 5-9 (d) distribute loosely over wider range than Figure 5-9 (a). It tells that the reduction of the workload difference by slack times is weaker and

PAGE 147

134 switched high-speed execution from low-speed assignment for the transitory intervals becomes more influential to the reduction as the average of actual workload of periodic tasks gets higher. To find the causes that lead to the phenomena in Figure 5-8 and Figure 5-9, we now investigate how the workloads executed in switched speed mode by transitory schedule S12 can impact on the responsiveness. We define ‘ T-HL ’ as accumulated time of the switched execution in high-speed mode switched from the low-mode assigned in worst-case for the transitory intervals, when S12 schedule is selected for scheduling policy. And the ratios of ‘ T-HL ’ to the total execution time are plotted in Figure 5-10. The ratios of ‘ T-HL ’ show bend-down surfaces over the change of energy budget, showing the maximum at the energy budget = 0.7. Comparing the result showing minimum response times at energy budget = 0.7 in Figure 5-8 and Figure 5-9, the maximum ratios of ‘ T-HL ’ in Figure 5-10 are matched with the minimum response times at the specific energy budget. Furthermore, as we increase the average of actual workload of periodic tasks, the intensity of bend-downs is stronger and the maximum value of ‘ THL ’ is getting higher as well. These trends are also matched with the wider variation in responsiveness from (a) to (d) in Figure 5-8 and Figure 5-9. It supports the fact that the reduction of workload difference is mainly caused by the switched execution ‘ T-HL ’ rather than slack times as the average of actual workload of periodic tasks increases. In addition, the workload executed in switched speed mode from high to low also affects to the response times. The more workload difference comes from switching schedule policies from S2 to S1 the more time is required to nullify the non-zero workload difference and to select S2 schedule that schedules aperiodic tasks. The time intervals that make the tasks schedulable by S2 schedule delay the start to execute aperiodic tasks, leading longer response times. So, as defined in chapter 4, we here use the accumulator ‘ HtoL ’ again to measure how much workload executed in switched speed mode for the interval having only periodic tasks.

PAGE 148

135 By doing that, we can estimate how the workload difference can give an impact on the responsiveness. The ratios of ‘ T-HL ’ are plotted in the range of 0.6 1.0 as well as ‘ HtoL ’ in Figure 5-11. Concerning energy consumption, ‘ HtoL ’ tells us how much energy saving can be obtained, because energy consumption is reduced by the difference in energy consumption between two-speed modes. 0 0.5 1 0 0.5 1 0.6 0.8 1 0 2 4 5 (a) mean=0.6 % of Exec. Time 0 0.5 1 1.5 2 0 0.5 1 0.6 0.8 1 0 2 4 5 (b) mean=0.7 % of Exec. Time 0 1 2 3 0 0.5 1 0.6 0.8 1 0 2 4 6 (c) mean=0.8 % of Exec. Time 0 1 2 3 4 5 0 0.5 1 0.6 0.8 1 0 2 4 6 (d) mean=0.9 % of Exec. Time Figure 5-10 The percentages of switched execution times from assigned mode in worst-case for the intervals when the transitory schedule S12 is selected to total execution time (In the range of 0.6 1.0 and 0 1 respectively, when UP =1.2 and UA =0.3) Compared to the results in Figure 5-7, as the average of actual workload of periodic tasks increases, the workload ratio of ‘ HtoL ’ is reduced and the variation range over the given range of is also narrowed. This is evidenced by that the shorter busy cycle is available for low actual workload of periodic tasks and the probability of busy cycle started with periodic tasks is higher accordingly such that the switched mode execution is increased. Additionally, the space between

PAGE 149

136 the consecutive ’s is wider when actual workload is low. This shows up as the slope of the energy saving in Figure 5-7, where the difference of energy saving between two adjacent ’s is high in low workload. 0.6 0.7 0.8 0.9 1 1.1 0 5 10 15 20 25 The percentages of execution time in different mode from static assignment (a) mean=0.6% of Exec Time HtoL:=1.0 HtoL:=0.9 HtoL:=0.8 HtoL:=0.7 HtoL:=0.6 T-LH:=1.0 T-LH:=0.9 T-LH:=0.8 T-LH:=0.7 T-LH:=0.6 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 (b) mean=0.7 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 (c) mean=0.8% of Exec Time 0.6 0.7 0.8 0.9 1 0 5 10 15 20 25 (d) mean=0.9% of Exec Time Switched Exec.:Scaling Figure 5-11 The percentages of execution time in changed mode execution from assigned mode in the worst-case with respect to constraint energy budget, EC = Emin + Ediff, and energy scaling factor (In the range of 0.6 1.0 and 0.6 1.0 respectively, when UP =1.2 and UA =0.3) To see how much energy saving can be obtained by adjusting the S1 schedule with regard to the variation of periodic tasks’ workload, we compute the ratio of energy consumption to static scheduling from our simulation and illustrate them as solid lines for DPDS and dashed lines for SPDS, in Figure 5-12, respectively. Fixed workload of aperiodic tasks as 0.3, both scheduling scheme show increase as we increase the workload of periodic tasks from 0.8 to 1.4 and decrease as we increase the energy budget from = 0.6 to = 1 But the difference of energy consumption

PAGE 150

137 between them increases with respect to the increase of energy budget. This is the same trend as shown in Figure 5-7 and due to that the possibility of switched mode execution gets higher because the percentage of ‘ gd H for P ’ is increased while the percentage of ‘ gd L for P ’ in S1 schedule remains at the same level as shown in Figure 5-6. Along the increase of the workload of periodic tasks from 0.8 to 1.4, the ratios by the change of S1 schedule are closer each other and this is because the total execution time in high-speed mode is increased, while the applicable S1 schedules are invariant with the changes in the workload of periodic tasks. 0.6 0.7 0.8 0.9 1 0.5 0.6 0.7 0.8 0.9 1 1.1 Comparisons of energy consumption ratios to static analysis (a) Up=0.8, Ua=0.3Energy Consumption Ratio SPDS=0.4=0.5=0.6=0.7 0.6 0.7 0.8 0.9 1 0.5 0.6 0.7 0.8 0.9 1 1.1 (b) Up=1.0, Ua=0.3Energy Consumption Ratio SPDS=0.6=0.7=0.8=0.9=1.0 0.6 0.7 0.8 0.9 1 0.5 0.6 0.7 0.8 0.9 1 1.1 (c) Up=1.2, Ua=0.3Energy Consumption Ratio SPDS=0.6=0.7=0.8=0.9=1.0 0.6 0.7 0.8 0.9 1 0.5 0.6 0.7 0.8 0.9 1 1.1 Energy Consumption Ratio (d) Up=1.4, Ua=0.3 SPDS=0.6=0.7=0.8=0.9=1.0 Scaling Figure 5-12 Comparisons of energy consumption ratios to static analysis between SPDS and DPDS with respect to constraint energy budget EC = Emin + Ediff over the variation of workload demand in periodic tasks (In the range of 0.6 1.0 and available range of respectively, when the average of actual periodic workload is 0.6) One interesting thing in Figure 5-12 (a) is that there is no result for the cases of from 0.7 to 1.0. As the workload of periodic tasks is given as 0.8 maximally, but the range of is

PAGE 151

138 defined from min UP to unity, the maximum energy saving factor corresponding to min EP becomes 0.7 for Figure 5-12 (a). Given aperiodic workload as shown in Figure 5-12, DPDS under periodic workload of 1.0 and the utilization of S1 schedule of 0.99 consumes maximally 23% and 48% less energy than the SPDS and static scheduling, respectively. The reason why the energy consumption become minimum when periodic workload is 1.0 comparing with others is the same as the cause explained in section 4-5. That is the increment of low-speed execution time by the switched policies from S2 to S1 schedule become maximal when periodic workload is 1.0. Also, we track the response times with respect to the change in periodic workload and plot them in Figure 5-13. 0.6 0.7 0.8 0.9 1 20 25 30 35 40 45 50 55 60 Average response times (a) Up=0.8, Ua=0.3Avg. Response Time =0.7=0.6=0.5=0.4 SPDS 0.6 0.7 0.8 0.9 1 20 25 30 35 40 45 50 55 60 (b) Up=1.0, Ua=0.3Avg. Response Time =1.0=0.9=0.8=0.7=0.6 SPDS 0.6 0.7 0.8 0.9 1 20 25 30 35 40 45 50 55 60 (c) Up=1.2, Ua=0.3Avg. Response Time =1.0=0.9=0.8=0.7=0.6 SPDS 0.6 0.7 0.8 0.9 1 20 25 30 35 40 45 50 55 60 (d) Up=1.4, Ua=0.3Avg. Response Time =1.0=0.9=0.8=0.7=0.6 SPDS Figure 5-13 Comparisons of average response times between SPDS and DPDS with respect to constraint energy budget EC = Emin + Ediff over the variation of workload demand in periodic tasks (In the range of 0.6 1.0 and available range of respectively, when the average of actual periodic workload is 0.6)

PAGE 152

139 To the fixed aperiodic workload, when the periodic workload are not bigger than 1.0, the average response times show monotonic decrement and increment for DPDS and SPDS, respectively, as we decrease energy budget as shown in Figure 5-13 (a) and (b). On the other hand, for the cases of that periodic workload are bigger than 1.0, Figure 5-13 (c) and (d) show abrupt increments at = 0.6 and = 0.7, respectively, after showing monotonic changes with the decrement of energy budget. The cause of these phenomena is also from the processing the overloaded workload for S2 schedule for the transitory interval as explained in Figure 5-8 and Figure 5-9, which show the same case in Figure 5-13 (c). From the result of gradual differences in energy consumption and response time with the change of S1 schedule shown in Figure 5-13, simple scaling of S1 schedule’ utilization can lead the adjustment of the energy consumption and responsiveness of DPDS to aimed performance of the real-time application. 5.5 Conclusion In this chapter, we propose a scaling method that can control the levels of energy consumption and response times in scheduling of mixed hard and soft real-time under a bounded energy budget, i.e., dual-policy dynamic scheduling. DPDS takes two scheduling policies, the one consumes the worst-case energy in feasible range of energy consumption and utilization for mixed periodic and aperiodic tasks and the other does only for periodic tasks, according to the pattern of mixed tasks events. From the viewpoint of periodic tasks, the two sets of running modes are at extremes in feasible range of energy consumption and utilization of the DPDS. Utilizing the difference of energy consumption for periodic tasks existing in-between the two scheduling policies, it significantly reduces the energy consumption. Thus, applying the voltage settings/running speeds in-between extremes can control the degrees of energy consumption and average response time. We introduce a new factor for scaling in energy saving and responsiveness and adjust the dual-policy dynamic scheduling to the performance requirement of a real-time system application.

PAGE 153

140 Our simulation studies show that simple increment or decrement of utilization in scheduling policy for the intervals having only the event of periodic tasks directly related to the energy consumption and responsiveness of dual-policy dynamic scheduling. Scaling up or down in energy consumption and responsiveness is proportionate to the adjustment of the utilization of periodic tasks. As shown in the results of DPDS, the scaling is possible with the increased or decreased execution time in low-speed mode switched from high-speed assignment during the intervals that have purely periodic tasks. Since scaling is plausible in the schedulable range of real-time tasks, the intensity of scaling is dependent on how much workloads are given for respective periodic and aperodic tasks in the system.

PAGE 154

141 CHAPTER 6 CONCLUSIONS AND FUTURE WORK 6.1 Contributions The objectives of the dissertation are to design a low-power scheduling for the improvement of total power consumption for hard-real-time applications and to build poweraware real-time systems supporting energy efficiency and high performance for real-time application consisting of hard and soft tasks under bounded energy budget. The main contributions of the dissertation are as follows: A low-power scheduling for hard real-time systems We devise comprehensive scheduling algorithms for integrated real-time systems. They include (1) a fundamental two-mode scheduling theory, (2) reduction of power consumption using power-aware voltage-clock scaling, (3) dynamic reclaiming of early released resources, and (4) optimal voltage setting in VCS-EDF scheduling. Power-aware scheduling for mixed real-time tasks under a constrained energy budget In order to develop a power-aware static analysis for real-time embedded system, the relationship of energy and workload demands is investigated. We develop an energy budget allocation model for battery-driven real-time systems, including not only small appliances being widely used, but also sensor network nodes for special purposes. The model concerns (1) integrated scheduling of both hard and soft real-time tasks in a system, (2) profiling of energy and processor’s capacity usages on the basis of task (3) efficient share of a bounded energy budget for battery-driven real-time systems, and (4) better performance in non-real-time applications.

PAGE 155

142 Dynamic scheduling for mixed real-time tasks considering power efficiency We demonstrate that more sophisticated and effective power-aware dynamic scheduling may enhance the overall power consumption for real-time systems. They include (1) a fundamental dual-policy dynamic scheduling theory, (2) static analysis using the energy budget allocation model, (3) modified Total Bandwidth Server for scheduling aperiodic tasks, and (4) reduction of total energy consumption. Optimizing energy efficiency and responsiveness Given the energy-utilization tradeoffs in power-aware real-time scheduling, we show that the adjustment of the periodic tasks’ workload within schedulable range can lead to an effective utilization of the limited energy budget from the understanding of the energy and performance implications. The scaling of periodic tasks’ workload implies (1) making the best use of a constraint energy budget, (2) appropriate sharing of energy and processor’s computation capacity in run-time scheduling, (3) proper adjustment of energy consumption and responsiveness to the system’s performance, and (4) reduction of total energy consumption pursuing system’s target performance. 6.2 Future Research Directions Although much research has been devoted to energy efficient system design and utilization, this area has not yet reached complete maturity. As we can catch in the trend of power-aware real-time computing, the design of low-power or energy-efficient system revolves total aspects of computer engineering fields such as energy aware software and compilers, the properties of power sources, the memory hierarchy and controlling method, communication and so on. Considering these aspects, we describe future research directions, which should be extended or developed with the dissertation as a starting point, as follows:

PAGE 156

143 Scalable VCS-EDF scheduling. We are planning to enhance the scheduling algorithm in three directions. First, we will extend the two-voltage mode scheduling to dynamic multiplevoltage modes such that it can benefit from the modern voltage-variable processors for the lowpower system design. Second, we will extend the current uni-processor architecture to the multiprocessor and distributed real-time computing environment. Third, we will develop additional scheduling strategies, which consider resource-sharing environment. Enhancement of the constrained energy budget allocation model. We are investigating the impacts of discharge and recharge properties of power source on the batterypowered real-time embedded systems and planning to solve the energy budget allocation problem considering the knowledge of power source. In addition, we will develop additional energy budget allocation strategies in the environment having multiple energy sources, which is getting popular in the field. Architectural or functional energy allocation and scheduling analyses. Considering most power consuming function in a real-time embedded system, computations in processor are the main source, but the other elements such as memory access, wired or wireless communication including application software also increase along with the various demands in complex functionalities. We will scrutinize and extend our model to each component in real-time systems based on the study other application requirements. Or we can merge the more detailed energy profiles and characteristics that have been studied in many researches into our energy allocation model, and static and dynamic scheduling analyses.

PAGE 157

144 LIST OF REFERENCES [1] E. P. Harris, S. W. Depp, W. E. Pence, S. Kirkpatrick, M. Sri-Jayantha, and R. R. Troutman, “Technology Directions for Portable Computers,” Proceedings of the IEEE, Institute of Electrical and Electronics Engineers, 1995 83 (4): 636-658. [2] K. Kawamoto, J. G. Koomey, B. Nordman, R. E. Brown, M. A. Piette, and A. K. Meier, “Electricity Used by Office Equipment and Network Equipment in the U.S.: Detailed Report and Appendices,” NBNL-45917, Ernest Orlando Lawrence Berkeley National Laboratory, CA, February 2001, Available at http://enduse.lbl.gov/Info/45917babstract.html Site last visited May 2002. [3] L. Benini and G. D. Micheli, “System-level Power Optimization: Techniques and Tools,” ACM Trans. on Design Automation of Electronic Systems 2000: 288-293. [4] L. Benini, A. Bogliolo, and G. D. Micheli, “A Survey of Design Techniques for Systemlevel Dynamic Power Management,” IEEE Trans. on Very Large Scale Integration Systems 2000; 8 (3): 299-316. [5] Microsoft, “OnNow: The Evolution of the PC platform,” Available at http://www.microsoft.com/HWDEV/desinit/onnow1.htm Site last visited January 2002. [6] Compaq, Intel, Microsoft, Phoenix, and Toshiba, “Advanced Configuration and Power Interface specification,” Available at http://www.intel.com/technology/IAPC/tech.htm Site last visited May 2000. [7] A. Glenn, “Linux ACPI HOWTO,” January 2001, Available at http://www.columbia.edu/~ariel/acpi/acpi_howto.txt Site last visited August, 2001. [8] T. Simunic, L. Benini, P. Glynn, and G. D. Micheli, “Dynamic Power Management for Portable Systems,” Proceedings of International Conference on Mobile Computing and Networking, New York, NY, ACM, 2000: 22-32. [9] T. Simunic, L. Benini, and G. D. Micheli, “Event-driven Power Management,” Proceedings of International Symposium on System Synthesis, Los Alamitos, CA, IEEE Computer Society Press, 1999: 18-23. [10] G. Paleologo, L. Benini, A. Bogliolo, and G. D. Micheli, “Policy Optimization for Dynamic Power Management,” IEEE Trans. on CAD 1999. [11] Q. Qiu, and M. Pedram, “Dynamic Power Management based on Continuous Time Markov Decision Process,” Proceedings of Design Automation Conference 1999: 555-561. [12] DARPA, Power Aware Computing/Communication (PAC/C) Available at http://www.darpa.mil/ito/research/pacc/index.html Site last visited January, 2003.

PAGE 158

145 [13] M. Doyle, T. F. Fuller, and J. Newman, “Modeling of Galvanostatic Charge and Discharge of the Lithium/Polymer/Insertion Cell,” Journal of Electrochemistry Society 1993; 140: 1526-1533. [14] T. L. Martin and D. P. Siewiorek, “Non-ideal Battery Properties and Low Power Operation in Wearable Computing,” Proceedings of International Symposium on Wearable Computers, Los Alamitos, CA, IEEE Computer Society Press, 1999. [15] L. Benini, G. Castelli, A. Macii, E. Macii, M. Poncino, and R. Scarsi, “A Discrete-time Battery Model for High-level Power Estimation,” Proceedings of the Design, Automation and Test in Europe, Paris, France 2000 March: 35-41. [16] L. Benini, G. Castelli, A. Macii, E. Macii, and R. Scarsi “Battery-driven Dynamic Power Management of Portable Systems,” Proceedings of International Symposium on System Synthesis, Los Alamitos, CA, IEEE Computer Society Press, 2000 September. [17] D. Panigrahi, C. Chiasserini, S. Dey, R. Rao, A. Raghunathan, and K. Lahiri, “Battery Life Estimation of Mobile Embedded Systems,” Proceedings of International Conference on VLSI Design, Los Alamitos, CA, IEEE Computer Society Press, 2001. [18] D. Brooks, V. Tiwari, and M. Martonosi “Wattch: A Framework for Architectural-level Power Analysis and Optimizations,” Proceedings of Annual International Symposium on Computer Architecture, Los Alamitos, CA, IEEE Computer Society Press, 2000 June: 8394. [19] W. Ye, N. Vijaykrishnan, M. Kandemir, and M. J. Irwin. “The Design and Use of SimplePower: A Cycle Accurate Energy Estimation Tool,” Proceedings of Design Automation Conference, Los Alamitos, CA, IEEE Computer Society Press, 2000 June: 340-345. [20] J. Flinn and M. Satyanarayanan, “PowerScope: a Tool for Profiling the Energy Usage of Mobile Applications,” Proceedings of IEEE Workshop on Mobile Computing Systems and Applications, Los Alamitos, CA, USA, IEEE Computer Society Press, 1999 February: 210. [21] M. Lajolo, A. Raghunathan, S. Dey, and L. Lavagno, “Efficient Power Co-estimation Techniques for System-on-Chip Design,” Proceedings of Design, Automation and Test in Europe, Los Alamitos, CA, IEEE Computer Society Press, 2000 March. [22] X. Fan, C. S. Ellis, and A. R. Lebeck, “The Synergy between Power-aware Memory Systems and Processor Voltage Scaling,” Technical Report No.: CS-2002-12, Duke University 2002 November. [23] D. Shin, H. Shim, Y. Joo, H.Yun, J. Kim, and N. Chang “Energy-monitoring Tool for Low-power Embedded Programs,” IEEE Design & Test of Computers, Los Alamitos, CA, IEEE Computer Society Press, 2002 July-August. [24] A. P. Chandrakasan, S. Sheng, and R. W. Brodersen, “Low-power CMOS Digital Design,” IEEE Journal of Solid-state Circuits 1992; 27 (4): 473-484.

PAGE 159

146 [25] K. Nose and T. Sakurai, “Optimization of VDD and VTH for Low-power and High-speed Applications,” Proceedings on the Conference of Asia and South Pacific Design Automatiion Conference, Los Alamitos, CA, IEEE Computer Society Press, 2000 January; A6.1: 469-474. [26] T. Kuroda, K. Suzuki, S. Mira, T. Fujita, F. Yamane, F. Sano, C. Akihiko, Y. Watanabe, M. Yoshinori, K. Matsuda, T. Maeda, T. Sakurai, and F. Tohru, “Variable Supply-voltage Scheme for Low-power High-speed CMOS Digital Design,” IEEE Journal of Solid State Circuits 1998 March; 33 (3): 454-462. [27] J. Heeb, “The next generation of StrongArm,” Embedded Processor Forum, MDR, 1999 May. [28] Intel Corporation, “Mobile Pentium III Processor in BGA2 and micro-PGA2 packages,” [datasheet] Order #245302-002, 2000. [29] Transmeta Corporation, “TN5400Processor Specification,” Available at http://www.transmeta.com/ Jan. 2000, Site last visited May 2001. [30] Intel Corporation, “The Intel XScale Technology,” Available at http://intel.com/design/intelxscale Site last visited November 2002. [31] J. Pouwelse, K. Langendoen, and H. Sips, “Dynamic Voltage Scaling on a Low-power Microprocessor,” Proceedings of the International Symposium on Mobile Multimedia Systems & Applications, Los Alamitos, CA, IEEE Computer Society Press, 2000: 157164. [32] O. Serlin. “Scheduling of Time Critical Processes,” Proceedings of the Spring Joint Computer Conference, Montvale, NJ, AFIPS Press, 1972; May: 925-932. [33] C. L. Liu and J. Layland, “Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment,” Journal of the ACM 1973; 20: 46-61. [34] J. P. Lehoczky, L. Sha, and Y. Ding, “The Rate Monotonic Scheduling Algorithm: Exact Characterization and Average Case Behavior,” Proceedings of IEEE Real-Time Systems Symposium, New York, NY, IEEE, 1989: 166-171. [35] B. Sprunt, L. Sha and J. P. Lehoczky, “Aperiodic Task Scheduling for Hard Real-time Systems,” The Journal of Real-Time Systems 1989; 1: 27-60. [36] J. K. Strosnider, J. P. Lehoczky, and L. Sha, “The Deferrable Server Algorithms for Enhanced Aperiodic Responsiveness in Hard Real-Time Environments,” IEEE Trans. on Computers 1995 January; 44 (1): 73-91. [37] J. P. Lehoczky and S. Ramos-Thuel, “An Optimal Algorithm for Scheduling Soft-aperiodic Tasks in Fixed-priority Preemptive Systems,” Proceedings of IEEE Real-Time Systems Symposium, New York, NY, IEEE, 1992 December: 110-123. [38] T. M. Ghazalie and T. P. Baker. “Aperiodic Servers in a Deadline Scheduling Environment,” The Journal of Real-Time Systems, Boston, Kluwer Academic Publishers, 1995: 3167.

PAGE 160

147 [39] M. Spuri and G. Buttazzo, “Efficient Aperiodic Service under Earliest Deadline Scheduling,” Proceedings of IEEE Real-Time System Symposium, New York, NY, IEEE, 1994: 2-21. [40] M. Spuri and G. Buttazzo, “Scheduling Aperiodic Tasks in Dynamic Priority Systems,” The Journal of Real-Time Systems, Boston, Kluwer Academic Publishers, 1996 March; 10 (2): 179-210. [41] G. Lipari, G. Buttazzo, and L. Abeni, “A Bandwidth Reservation Algorithm for Multiapplication Systems,” Proceedings of the IEEE International Conference on Real-Time Computing Systems and Applications, Los Alamitos, CA, IEEE Computer Society Press, 1998 October: 77-82. [42] M. Caccamo, G. Lipari, and G. Buttazzo, “Sharing Resources among Periodic and Aperiodic Tasks With Dynamic Deadlines,” Proceedings of the IEEE Real-Time Systems Symposium, Los Alamitos, CA, IEEE Computer Society Press, 1999 December: 284-293. [43] G. Lipari and G. Buttazzo, “Schedulability Analysis of Periodic and Aperiodic Tasks with Resource Constraints,” Journal of Systems Architecture 2000 January; 46 (4): 327-338. [44] M. Weiser, B. Welch, A. Demers, and S. Shenker, “Scheduling for reduced CPU energy,” Proceedings of USENIX Symposium on Operating Systems Design and Implementation, Berkeley, CA, USENIX Association, 1994: 13-23. [45] K. Govil, E. Chan, and H. Wasserman, “Comparing Algorithms for Dynamic Speed-setting of a Low Power CPU,” Proceeding of Mobile Computing and Networking, New York, ACM, 1995 November: 13-25. [46] T. Pering, T. Burd, and R. Brodersen, “The Simulation and Evaluation of Dynamic Voltage Scheduling algorithms,” Proceedings of International Symposium on Low Power Electronics and Design, New York, ACM, 1998: 76-81. [47] T. Pering, T. Burd, and R. Brodersen, “Voltage Scheduling in the IpARM Microprocessor System,” Proceedings of the International Symposium on Low Power Electronics and Design, New York, ACM, 2000 July; 96-101. [48] D. Grunwald, P. Levis, K. Farkas, C. Morrey, and M. Neufeld. “Policies for dynamic clock scheduling,” Proceedings of USENIX Symposium on Operating Systems Design and Implementation, 2000 October. [49] T. E. Truman, T. Pering, R. Doering, and R. W. Brodersen, “The InfoPad Multimedia Terminal: A Portable Device for Wireless Information Access,” IEEE Trans. on Computers, CA, USENIX Association, 1998; 47 (10): 1073-1087. [50] A. Sinha and A. Chandrakasan, “Dynamic Voltage Scheduling Using Adaptive Filtering of Workload Traces," Proceedings of International Conference on VLSI Design, Los Alamitos, CA, IEEE Computer Society Press, 2001 January. [51] T. Pering and R. Brodersen, “Energy Efficient Voltage Scheduling for Real-time Operating Systems,” Proceedings of IEEE Real-Time Technology and Applications Symposium, Works In Progress Session, Los Alamitos, CA, IEEE Computer Society Press, 1998.

PAGE 161

148 [52] V. Swaminathan and K. Chakrabarty, “Real-time Task Scheduling for Energy-aware Embedded Systems,” Proceeding of IEEE Real-Time Systems Symposium (Work-InProgress Sessions), New York, NY, IEEE, 2000 November. [53] F. Yao, A. Demers, and S. Shenker, “A Scheduling Model for Reduced CPU Energy,” IEEE Symposium on Foundations of Computer Science, Los Alamitos, CA, IEEE Computer Society Press, 1995: 374-382. [54] I. Hong, D. Kirovski, G. Qu, M. Potkonjak, and M. B. Srivastava, “Power Optimization of Variable Voltage Core-based Systems,” Proceedings of Design Automation Conference, Los Alamitos, CA, IEEE Computer Society Press, 1998: 176-181. [55] I. Hong, G. Qu, M. Potkonjak, and M. B. Srivastava, “Synthesis Techniques for Lowpower Hard Real-Time Systems on Variable Voltage Processors,” Proceeding of IEEE Real-Time Systems Symposium, New York, NY, IEEE, 1998: pp178-187. [56] G. Quan and X. Hu “Energy Efficient Fixed-priority Scheduling for Real-Time Systems on Variable Voltage Processors,” Proceedings of Design Automation Conference, Los Alamitos, CA, IEEE Computer Society Press, 2001. [57] I. Hong, M. Potkonjak, and M. Srivastava, “On-line Scheduling of Hard Real-time Tasks on Variable Voltage Processor,” Proceedings of IEEE/ACM International Conference on Computer-Aided Design, Los Alamitos, CA, IEEE Computer Society Press, 1998: 653656. [58] Y. H. Lee and C. M. Krishna, “Voltage-Clock Scaling for Low Energy Consumption in Real-Time Embedded Systems,” Proceedings of Real-Time Computing Systems and Applications, Los Alamitos, CA, IEEE Computer Society Press, 1999 December. [59] T. Ishihara and H. Yasuura, “Voltage Scheduling Problem for Dynamically Variable Voltage Processors,” Proceedings of International Symposium on Low Power Electronics and Design, New York, ACM, 1998: 197-202. [60] R. Jejurikar and R. K. Gupta, “Energy Aware Task Scheduling with Task Synchronization for Embedded Real Time Systems,” Technical Report No.: #02-21, University of California at Irvine 2002 June. [61] L. Geppert and T. Perry, “Transmeta’s Magic Show,” IEEE Spectrum 2000 May; 37 (5): 22-32. [62] T. Simunic, H. Vikalo, P. Glynn, and G. D. Micheli, "Energy Efficient Design of Portable Wireless Systems," Proceedings on the International Symposium on Low Power Electronics and Design, New York, ACM, 2000: 49-54. [63] T. Simunic, L. Benini, A. Acquaviva, P. Glynn, and G. D. Micheli, “Dynamic voltage scaling and power management for portable systems,” Proceedings of conference on Design Automation Conference, Los Alamitos, CA, IEEE Computer Society Press, 2001: 524-529, 2001. [64] M. Kim and S. Ha, “Hybrid Run-time Power Management Techniques for Real-time Embedded System with Voltage Scalable Processor,” ACM SIGPLAN Workshop on

PAGE 162

149 Languages, Compilers, and Tools for Embedded Systems, New York, Springer, 2001: 1119. [65] J. Wegener and F. Mueller, “A Comparison of Static Analysis and Evolutionary Testing for the Verification of Timing Constraints,” Proceedings of Real-Time Technology and Applications Symposium, Los Alamitos, CA, IEEE Computer Society Press, 1998 November; 21(3): 241-268. [66] D. Linden, Handbook of batteries, 2nd ed. McGraw-Hill, Highstown, N.J., 1995. [67] W. R. Hamburgen, D. A. Wallach, M. A. Viredaz, L. S. Brakmo, C. A. Waldspurger, J. F. Bartlett, T. Mann, and K. I. Farkas. “Itsy: Stretching the Bounds of Mobile Computing,” IEEE Computer 2001 April; 34 (4) 28-36. [68] T. L. Martin, “Balancing Batteries, Power, and Performance: Systems Issues in CPU Speed-setting for Mobile Computing,” [dissertation], Carnegie Mellon University; 1999 August. [69] T. L. Martin and D. P. Siewiorek, “The Impact of Battery Capacity and Memory Bandwidth on CPU Speed-setting: A Case Study,” Proceedings of the 1999 International Symposium on Low power Electronics and Design, New York, ACM, 1999 August: 200205. [70] T. Simunic, L. Benini, and G. D. Micheli, “"Energy Efficient Design of Battery-powered Embedded Systems,” Special Issue of IEEE Transactions on VLSI 2001 May. [71] M. Pedram and Q. Wu, “Battery-powered Digital CMOS Design,” Proceedings of the Design, Automation and Test in Europe Conference and Exhibition, New York, ACM, 1999: 17-23. [72] M. Pedram, and Q. Wu, “Design Considerations for Battery-powered Electronics,” Proceedings of the Design Automation Conference, Los Alamitos, CA, IEEE Computer Society Press, 1999 June: 861-866. [73] L. Benini, G. Castelli, A. Macii, and R. Scarsi, “Battery-driven Dynamic Power Management,” IEEE Design & Test of Computers, Los Alamitos, CA, IEEE Computer Society Press, 2001; 18 (2): 53-60. [74] J. Luo and N. K. Jha, “Battery-aware Static Scheduling for Distributed Real-time Embedded Systems,” Proceedings of Conference on Design Automation Conferences, Los Alamitos, CA, IEEE Computer Society Press, 2001 June: 444-449. [75] J. Liu, P. H. Chou, N. Bagherzadeh, and F. Kurdahi, “Power-aware Scheduling under Timing Constraints for Mission-Critical Embedded Systems,” Proceedings of Conference on Design Automation Conference, Los Alamitos, CA, IEEE Computer Society Press Press, 2001: 840-845. [76] Advanced RISC Machines Ltd, “Introduction to Thumb,” ARM Documentation. [77] Motorola, MPC860 PowerPC Hardware Specification, MPC860EC/D, 1998 December.

PAGE 163

150 [78] C. M. Krishna and Y. H. Lee, “Voltage-Clock Scaling Adaptive Scheduling Techniques for Low Power in Hard Real-time Systems,” IEEE Proceedings of Real Time Technology and Applications Symposium, Los Alamitos, CA, IEEE Computer Society Press, 2000 May. [79] K. Lahiri, A. Raghunathan, S. Dey, and D. Panigrahi, “Battery-driven System Design: A New Frontier in Low Power Design,” Proceedings of the International Conference on VLSI Design /ASP-DAC, Los Alamitos, CA, IEEE Computer Society Press, 2002 January: 261-267. [80] J. A. Stankovic, M. Spuri, K. Ramamritham and G. C. Buttazzo, Deadline Scheduling for Real-Time Systems: EDF and Related Algorithms, Boston, Kluwer Academic Publishers, 1998. [81] M. Stemm and R. H. Katz, “Measuring and Reducing Energy Consumption of Network Interfaces in Hand-held Devices,” IEICE Transactions on Communications 1997; E80-B (8): 1125-1131. [82] H. Zeng, X. Fan, C. Ellis, A. Lebeck, and A. Vahdat, “ ECOSystem: Managing Energy as a First Class Operating System Resource,” Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems 2002. [83] Y. Doh, D. Kim, Y. H. Lee, and C. M. Krishna, “Constrained Energy Budget Allocation for Mixed Hard and Soft Real-time Tasks,” Proceedings of the IEEE International Conference on Real-Time Computing Systems and Applications, To be published in Lecture Notes in Computer Science, Heidelberg, Springer-Verlag, 2003.

PAGE 164

151 BIOGRAPHICAL SKETCH Yoonmee Doh was born in Taegu, South Korea. She got BE and ME degrees in electronic engineering from Kyungbook National University, South Korea, in 1989 and 1991 respectively. She has been a member of the research staff at the Electronics and Telecommunications Research Institute (ETRI), South Korea, since 1992. She participated in the development of the ATM LAN/WAN switching system and led the embedded S/W and H/W group at ETRI. Pursuing a doctoral degree, she joined the Computer and Information Science and Engineering Department at the University of Florida, Gainesville, FL, in May 1998. During her doctoral study, she had been a visiting research scholar in the Department of Computer Engineering at Arizona State University from January 2001. Her research interests revolve around power aware computing, low power scheduling, real-time systems (scheduling, communication, and operating systems), wireless and mobile networks, distributed and fault tolerant systems, video on demand systems, and QOS in high speed networks.


xml version 1.0 encoding UTF-8
REPORT xmlns http:www.fcla.edudlsmddaitss xmlns:xsi http:www.w3.org2001XMLSchema-instance xsi:schemaLocation http:www.fcla.edudlsmddaitssdaitssReport.xsd
INGEST IEID E20110109_AAAAXE INGEST_TIME 2011-01-09T15:54:31Z PACKAGE UFE0000675_00001
AGREEMENT_INFO ACCOUNT UF PROJECT UFDC
FILES
FILE SIZE 18356 DFID F20110109_AABQYH ORIGIN DEPOSITOR PATH doh_y_Page_063.QC.jpg GLOBAL false PRESERVATION BIT MESSAGE_DIGEST ALGORITHM MD5
9f0036bede6789e557277fad8c76e4fc
SHA-1
0978792566639cb3da1d29b06a15445b92d7bb19
4993 F20110109_AABQXT doh_y_Page_044thm.jpg
1f0bd982d07bf258d45d813ea657fda2
d8ae2a85faccb8fe08093e34e2e1eae5b5eb15db
85079 F20110109_AABQBA doh_y_Page_046.jpg
9cc7e154740a6c2c440960a327f2772d
d70fd0152f0896bfca01d3c3828fe5ef6be16cab
1053954 F20110109_AABQAL doh_y_Page_131.tif
f9f6a5d2ed8f51f053948bf91c90eef2
f5539302b46e29d6ca250348ed640b61c4af4a8d
4603 F20110109_AABPVF doh_y_Page_047thm.jpg
ce7ce9b121df7831337e68794ee24806
e9c875f3b6a6a69f11a24cb6e4e59f97245df1f8
6723 F20110109_AABPUR doh_y_Page_019thm.jpg
7b1c85b43187745017a46bc3bb831818
85d7933888622d77305c37e54d9d866c0de8f81c
4774 F20110109_AABQYI doh_y_Page_063thm.jpg
c7fa282b5bebdefe75f41b9cb9bee33c
8f2c5a691532b26da099c37dd04dd326d28a43cf
6619 F20110109_AABQXU doh_y_Page_046thm.jpg
bbf321f682a51d6639e8ac4d869aa6b5
5c649005c255b8515c3dba0e6d3039cfb78e457b
2255 F20110109_AABQAM doh_y_Page_142.txt
4acc84d4419fc4d37a45a3e0e789ff14
16a214bb518ef3f558fe88bd89e629c7d24cfc29
122249 F20110109_AABPVG doh_y_Page_043.jp2
08566a8e4c411f255ded1adc518c088f
397dc63b0f278775d2da85a6efc804a341f369ac
1051947 F20110109_AABPUS doh_y_Page_115.jp2
8de0df9dbd75114da685746cb8d1b554
a1f5f0091573595dc6349ffd2ea37ccb9a905a95
20081 F20110109_AABQYJ doh_y_Page_064.QC.jpg
4a6517ef912316bf65eff689dea8cdfc
8fc4a6ede4f85eef6904271d29675c021c8d145e
18510 F20110109_AABQXV doh_y_Page_048.QC.jpg
f1064a18bc90fe6071ddf46447d43649
9f95caaa41204731713a153a945619340fbbf3c2
2497 F20110109_AABQBB doh_y_Page_080.txt
fa0d7374b97b68ffceeb264673dce9b1
08ff7b4cb6f36a3e3b652cf4c12664a59b9a96ae
25271604 F20110109_AABQAN doh_y_Page_123.tif
5518f3086f8605a43f13d1f461157b0c
8e4149698bbe7369fbebc9097a236bcb97d8fb4d
2116 F20110109_AABPVH doh_y_Page_132.txt
9692cb17613bcad9b1949d5cb4c26f6c
737f4dc5aba41c2dd21afd451f0c467f9140a619
6178 F20110109_AABPUT doh_y_Page_056thm.jpg
1f5960eb90112fbd03d62d3ea4f17adc
673c5f33971eddc7820b3ca7073f42ed8df97822
6391 F20110109_AABQYK doh_y_Page_065thm.jpg
b4d34d2ec3982d72edc9e0437f316148
79179f38f9383751a4a16a2fbc72f90c17ccb5b1
22973 F20110109_AABQXW doh_y_Page_050.QC.jpg
49fe7cda329a4121453043d6c00e51c3
ccb32c13f49c654fb3a9f2fbb93597987a27ec52
23286 F20110109_AABQBC doh_y_Page_091.QC.jpg
18abaffe650ff853738ee8e5caf125dd
678f7ca819a2d8017d225415458a6cac13fe0bf9
F20110109_AABQAO doh_y_Page_044.tif
b0601ada0c7fd332d489c262f93c13e9
df8b4878b85f4ad29d0b69a2282fd040a2f4b6cf
65325 F20110109_AABPVI doh_y_Page_032.pro
2ffe2f9429e45c68124de747110cdbb8
b3f8f839b3a898174d96111529fbc0b53484a8d8
23593 F20110109_AABPUU doh_y_Page_139.QC.jpg
8fe52b2baf245772a75e6b117f52a54c
f6ee17fba0acde6d88eb36906e5cec57d6bf90ad
739 F20110109_AABQYL doh_y_Page_072thm.jpg
f48d9836f2673d8bf289d56fe422743d
61cdf9c4655d4761de5d7660df167128bd5b67fd
47536 F20110109_AABQBD doh_y_Page_090.jpg
90f8ca0b6b10865fdd0e451835f8e9b1
6dd3b033cd06a62982d24d0fffd3fdfaf2065660
1051950 F20110109_AABQAP doh_y_Page_148.jp2
ea53dfd689f99e9101780d8932915cd2
81f8e6f39f02f253f8f60a43fd57c1fa3b6d9c4d
2036 F20110109_AABPVJ doh_y_Page_100.txt
bb940398c649fef4c38ce5ec5babef44
2b92254b4a7de56ac9d078b977bdb60c34e8ffcd
24065 F20110109_AABQZA doh_y_Page_092.QC.jpg
d61c3e4f0434f42c48713f8ab03bb332
babfd5adba0ddc5a50f49e5b2d89081294bd3485
23013 F20110109_AABQYM doh_y_Page_073.QC.jpg
def9cf4623570ec99e8d5e490d4a9f1b
6ae304c3be6970baf3ca042a7613ec7664d50162
6964 F20110109_AABQXX doh_y_Page_053thm.jpg
4b60cfa2e0bdcc1531863fccce9c5474
dc4a9186f7c725e3dbfe8ffe87586939468bbbb8
F20110109_AABQBE doh_y_Page_093.tif
76d1948269fbe754026ff82a7e5488f0
423176fffb4c1e82520ba5556036daa9e9e9663c
1051967 F20110109_AABQAQ doh_y_Page_120.jp2
d70dcbfab0328ed307bd915a303288d9
b774e6b99646fa0023b585750da34a3211b35eed
F20110109_AABPVK doh_y_Page_061.tif
033087c984fef19836079b21bb8b4ba3
3283d3d99efba39085d145621bdf95a589708232
66909 F20110109_AABPUV doh_y_Page_013.jp2
bdc237604b9eca10e199056d15a19814
5e36fbb8e19e5ff275843237f898e725b54e7766
6067 F20110109_AABQZB doh_y_Page_092thm.jpg
6f4495ece48fb034c81c51544441e161
51a62637873b5a189803f8c3372e43332515da07
6871 F20110109_AABQYN doh_y_Page_075thm.jpg
ffee88805e45219047c4aa9e82ab1df6
341a2b7674f864feaf6e22723b33ef9e44dbf9c4
23539 F20110109_AABQXY doh_y_Page_055.QC.jpg
45f6ce382342b8bf8044de4e49e69057
fe3977729ca1a94f05e3d472de5ecfd1f3bd2d70
F20110109_AABQBF doh_y_Page_091.tif
502fd969a296e2ac7f7f95a37780de08
4ee9060e099f1f9dfbdf485e2d75b7e3457bd708
85820 F20110109_AABQAR doh_y_Page_037.jpg
ed6341d9a332477f5bfcd020564a9532
f99fe20dc8854ef37a1b9eedd62592cf890b9021
2352 F20110109_AABPVL doh_y_Page_082.txt
0e1f9505b76952a1e34c3426144f3e14
b355af2da36911bc168ca6e9613037d80c776949
2578 F20110109_AABPUW doh_y_Page_157.txt
0b7bb1a263f2c6bf7b90730502ff4287
2f39428361bec3b2b7fb575cf8b48c2bbca951ab
6034 F20110109_AABQZC doh_y_Page_093thm.jpg
e9dbc52a250cfc4e84b846f183c68b95
a26cb04819a023ddb18353e36ca95132bb37d676
24202 F20110109_AABQYO doh_y_Page_076.QC.jpg
ff30714a4e9ceef81f83147aecdf9541
1f77a8292f60feef914e9e569c3ce67977f9bd30
24179 F20110109_AABQXZ doh_y_Page_056.QC.jpg
18fe6b45777c5face461858fb990524a
4844d259616d06acdacc8ed25edc0443dd9be88f
24640 F20110109_AABPWA doh_y_Page_057.QC.jpg
eede8c25266046582c9c77b6ba034c83
5f9ad601ddb43567afb879cfe264d6bd84834333
F20110109_AABQAS doh_y_Page_145.tif
ac245d8fb51761d447df445dd8b8e52b
a6609b6b536281160c83779b8d507e7735f2095e
2940 F20110109_AABPVM doh_y_Page_127.txt
2f97d33eb9d7beb880c918e31fae3161
143bcef4f85a1eb0551fdd3f072d885b821db33e
53252 F20110109_AABPUX doh_y_Page_106.jp2
9662259c201998259bec5aa7170136a2
1586977179e0a949759365e544df71c2f2f29e4b
5506 F20110109_AABQBG doh_y_Page_050thm.jpg
2c2549500336d2fb3658f81bb8f49951
15851045dd3b6321265c0800063315a7d63bd294
23207 F20110109_AABQZD doh_y_Page_095.QC.jpg
ea45c1e1d66170400e42677432e3ff90
0f0ceade42ca3bc067393a50446324a3db0891a2
6306 F20110109_AABQYP doh_y_Page_077thm.jpg
9404bbe8024afb3157288a3f79216171
b28d9f230deb76f4db1f91c2877eb2ffaf916cec
102783 F20110109_AABPWB doh_y_Page_138.jp2
3256a41aabbc763579ad9d2a8bc843ef
f044b094dfd027e50310c192e31254c1d35f1dc8
1932 F20110109_AABQAT doh_y_Page_087.txt
423c9f61d8047cd7280c5be131153dc8
bf08968c09c74d8b1308531b06a841288fff0b36
20410 F20110109_AABPVN doh_y_Page_012.QC.jpg
2b346790a13933b6025d39a24741cdd1
36286fa51dbe06180526326b6045d6da4e3f16cf
67663 F20110109_AABPUY doh_y_Page_150.pro
7c72118ec027c0663131d4dae0a8bbe7
9ed2500357a6cd67c0dfe0e4ce6cb091148d1ac7
F20110109_AABQBH doh_y_Page_158.tif
32ad739dcb515e6f41d349effd640bb2
f148d48cb1475e7bef559306b214e5696e868a0a
6133 F20110109_AABQZE doh_y_Page_095thm.jpg
20d800ac10fe96484de87b573390c841
35c29db3dfff9bce488a12021819e72360e9284f
6755 F20110109_AABQYQ doh_y_Page_078thm.jpg
94b6c47df0a66e9e146c615b439e47c3
d61febafcdafe520828938ef8af6898034e8bcc6
101718 F20110109_AABPWC doh_y_Page_145.jpg
6863afbee7083721bf79a291bb3613f6
98a3b471f3d2facfc9c32c978aaf2ccf230f882d
22897 F20110109_AABQAU doh_y_Page_061.QC.jpg
27ee2c2cd1452ff577576059d1528e9d
0ee9eded4c4e33a05e2445a3018de7ab6f0b505b
24497 F20110109_AABPVO doh_y_Page_068.QC.jpg
ffb3996ea91ea76d910bee720ddb1ef2
5b8391410f43fe66d7ab98dcd33c2d676af9a125
1051971 F20110109_AABPUZ doh_y_Page_159.jp2
c7175d728f3dcbe54a7eb14bb4140b05
961ddf14c3848e18297c4b4dd6ac65b036117123
955 F20110109_AABQBI doh_y_Page_008.txt
e7b211694fa8ec3d149b0412a366ea5d
8718b12f78e30c30d0c0d7007ff2b422f7bff3b7
6641 F20110109_AABQZF doh_y_Page_096thm.jpg
b70e5cdf1a13c235e460dadc8d8c609c
e37980b340fbd4751c985369a5bcf06a19279a7e
6119 F20110109_AABQYR doh_y_Page_079thm.jpg
39bbf7d6a61a4deea7a7107a4b3003c8
6fa57b742f1cbc13190d80b8fd41796a4261d0aa
F20110109_AABPWD doh_y_Page_088.tif
7f01dce9f8f24d3fbad4a40227d39ba8
276235c72cbf620161c913d2b37d0ef1f7628522
27363 F20110109_AABQAV doh_y_Page_066.QC.jpg
c0df57fdca4bb25557b9afeb70974a34
b3c32cf70a96a77f36b4206c77af40b019ddf6fe
57881 F20110109_AABPVP doh_y_Page_147.pro
8e17eb8c20e5cda45cb2b617100a2762
4940c696619ee128154085084fb10008bee9d8cd
5856 F20110109_AABQBJ doh_y_Page_003.jpg
16f182efa9fa2f2d53d74a1c99e0a1a5
b3fa21591825b9bb2a4bd3e156207267af4e2568
25843 F20110109_AABQZG doh_y_Page_098.QC.jpg
293e649c863ffb8a23d41a6dc94b807a
771c28a2c02521d6b0db9b6e75689ce2eb81520b
26794 F20110109_AABQYS doh_y_Page_081.QC.jpg
423fa93e7a0087cd44c74c664be0f7d4
74e93c946a4f02396ccf3294843278bdfe3e8579
F20110109_AABPWE doh_y_Page_097.tif
a6d7155863b60c402516ae0af52e6158
83db86bf4ea6eb19844c51dd7ddf9915176215f9
94603 F20110109_AABQAW doh_y_Page_110.jpg
218a4dfdc7459be1498d272374ed15b7
8c7a0ef21dbb651ae81879772e915d2bf7ad8144
6139 F20110109_AABPVQ doh_y_Page_031thm.jpg
30c434593a96770acaa8f9aeb0c5c84d
138d06868a31ebe41fbca52309d94f3051b2f9ec
24544 F20110109_AABQBK doh_y_Page_122.QC.jpg
ec22cc04dea34befbe1bc011fc3972e2
9e2d4ad92c27fb50c2b2ebec960baa0416eeb434
25782 F20110109_AABQZH doh_y_Page_099.QC.jpg
95c50b53665b6da466225ac116214f87
5cc20bb7f1662fd33dba67d6425d670c182525c7
6696 F20110109_AABQYT doh_y_Page_081thm.jpg
7e13b230265b84d67acd811e889239ff
ba832258a6b5fb164af97a1bea59e26502e83298
51431 F20110109_AABPWF doh_y_Page_057.pro
b9004c6bd51ed0b2597edfae56074637
6526cb8f8813b9f675a4e0015c19b33419f00a0b
80570 F20110109_AABQAX doh_y_Page_127.jpg
34823a9610c57fe20fe0415def45fb04
d72bd484e8ea394afc6c3c20ce5df618ab715886
4969 F20110109_AABPVR doh_y_Page_012thm.jpg
6951e770bdeb18647bbd9753f4942890
034275735e3298f2a84db5426f7b3fceeb9ce1c7
6707 F20110109_AABQCA doh_y_Page_023thm.jpg
6fab402a7454e7fedacbff9ac82d8891
ef905a5c9ff2ab24f3c1f623f75324c9736f69c9
27614 F20110109_AABQBL doh_y_Page_097.QC.jpg
cc0d0c9ec16680f7b31372326edb1503
0b91d9ceb1a3fb0371fcedb036e07e92ebd73c4d
6749 F20110109_AABQZI doh_y_Page_099thm.jpg
aa7ca19d6f657163aaff18ef662e0765
282822b96681028814d1b9f7e6d75c740ffef4fe
23686 F20110109_AABQYU doh_y_Page_083.QC.jpg
a5ae05a2e1cb06e103212fd66e2f3df6
9b219436aa6e1019c499706e17d67d273f7c9ad1
5886 F20110109_AABPWG doh_y_Page_030thm.jpg
f2995b8ba54bd6364e21879795275a02
b9c49948742db83457d1acecd11ded9b2b85d8e1
88339 F20110109_AABQAY doh_y_Page_135.jpg
9594ed20e3e5bb2691e7c789413628e5
88c9b9f3fefdb0e3eb4597afbc12ab1fad0a02cc
43494 F20110109_AABPVS doh_y_Page_062.pro
00eedf8a81363b43b01f2a7309662683
2dbda67c6e11e56ba25ce721dc463287f48b58e5
4253 F20110109_AABQCB doh_y_Page_090thm.jpg
ce964ca51b7c49a114b33c400738e202
438e18201e417986870f8f53d04ad0d9b325a9a2
51565 F20110109_AABQBM doh_y_Page_113.pro
fd44f793166ae02b33e8ee699bcc45c3
d2755bd2391a6e4676fe5ebd3d4af5f377c77d9a
23787 F20110109_AABQZJ doh_y_Page_100.QC.jpg
6a48729a47dbe1eb3e60f0e1a7d9e3bd
b5141b35d78e9990a92e264a266c904a39cdadad
5094 F20110109_AABQYV doh_y_Page_084thm.jpg
ff161fb3cfba4ec51c2d57f9834d0a58
c0f77332e37dce915f8de58350cceaf48f36d08a
120140 F20110109_AABPWH doh_y_Page_071.jp2
5ef2f2d479bd8bfde2f6d4169e77c995
cbb53b97b4d47f4b0437edfa215c7c2e6f6c5557
90908 F20110109_AABQAZ doh_y_Page_006.jpg
802d37753e8e92b023b080b41bfa5b94
49d3596852174c4c3a531fb258ef5b67c7cd0527
121566 F20110109_AABPVT doh_y_Page_074.jp2
c5d9d57d92a2cde4af8755985cead802
4b42e428bd8847917c1e05994878389ca7364491
44483 F20110109_AABQBN doh_y_Page_153.jp2
2ff7881ec31f29e10a021c26c40d2a51
c88d10c5d89480795d31d5cd9007b27c0b8d9187
24519 F20110109_AABQZK doh_y_Page_101.QC.jpg
969d5f24b689db67603408b851f3a932
5a6b707377636b2a5582dd8e10693b63512638c7
26837 F20110109_AABQYW doh_y_Page_085.QC.jpg
6a18aab4d4bfa109d9c8de5fb3de5072
cee137cf904618d24e03bf7ddfa8d8a465e1ab15
92473 F20110109_AABPWI doh_y_Page_043.jpg
4f552f9b012066ff125401a06b8f2c25
71b841e2055f3d8f0b4c3e213c41f9e0a7526927
2451 F20110109_AABPVU doh_y_Page_111.txt
f378ce0213b7b6b8ed6231c7864ec4dd
4dc9197c4e61a3864ff1e3eb76000377494b8433
2441 F20110109_AABQCC doh_y_Page_026.txt
f01e4770c40e55e21a58355cc93e75b6
b9fbceb39f8a31d7b35fd1ff22d3860132c83d42
96854 F20110109_AABQBO doh_y_Page_055.jp2
6abb41e9af6f4934b9b5bcd3fdafc1f9
712e043d1396e47240ce65fc6eb582cec308c48c
6233 F20110109_AABQZL doh_y_Page_101thm.jpg
ddf2d688730e5fe639e726279769c014
ab1af08f51e5d22a126cc571e946fb33d6a6d465
6509 F20110109_AABQYX doh_y_Page_085thm.jpg
7752ef1cd0bd8e0a54df5eafd63beb90
36e6941f4881d09dc93138584bbd24ae69af74d5
22972 F20110109_AABPWJ doh_y_Page_120.QC.jpg
606967ce3409d473f1c38a79a58ac320
b7ab1d0645f218a74947b1195ee079230b00ce34
24897 F20110109_AABPVV doh_y_Page_041.QC.jpg
5ff220b673313421e70f2b23f5a917f5
01666b247b8420cb868096de3679ca53c170f879
2782 F20110109_AABQCD doh_y_Page_149.txt
fb71761f93cd02f8a883328b93a6a5df
6b0105a9828cc3ed89c07495bddeaedae3e7e7d1
1336 F20110109_AABQBP doh_y_Page_011.txt
25a8473e117f710841f7fdaec66b778f
97751bbec814d162a50f592f5eeacbd16fab50d5
22356 F20110109_AABQZM doh_y_Page_103.QC.jpg
19d4fc60714024b6dcc86a969c107426
dc7284a33782e7d5051057f5a3dc9caa422d3658
23861 F20110109_AABPWK doh_y_Page_030.QC.jpg
9f6598ada0ccae9c704797296b2471f2
d693e4310702d7787a94b5e242db17dae8e5e19f
26520 F20110109_AABQCE doh_y_Page_046.QC.jpg
1ade9c703bb150b34f24955b1e386eea
149eb7f1b155482f01445e35cd1ed18b13927c65
29492 F20110109_AABQBQ doh_y_Page_053.QC.jpg
9c5057cc08a16902f3d5da7bfe85e286
3b6ca64b78708cd32678f60215bb0bb052dac1ae
28243 F20110109_AABQZN doh_y_Page_104.QC.jpg
f3e21cf188505f82a89c0d905e044672
9e9c94238737332a7aaf89c1885f041973f5c0c2
4205 F20110109_AABQYY doh_y_Page_088thm.jpg
bf37f0524bb1543005e04055a8490433
15478a33fdb9b3f69a28d0e5d73990832fb7b6ee
61855 F20110109_AABPWL doh_y_Page_017.pro
456b52b812ff94cf05f7e10053d589e2
38ebe5a241ab2477e459588b82bf2f856261a9f5
5611 F20110109_AABPVW doh_y_Page_103thm.jpg
9272cbd59932a955d82c24d180cb11df
9dc8cf890bc4587a4b3295617b9dffda6fc7674a
6497 F20110109_AABQCF doh_y_Page_139thm.jpg
2da3d6fb72032441f268939221c8435e
53ecaed5aca327618a7abdd1c0a6eb5ad193bebd
102450 F20110109_AABQBR doh_y_Page_092.jp2
39984cbfc50eadf29a2755341ce0f70f
4b647ce23aae5273ff725fcb8fb07aa96bb655a8
10938 F20110109_AABQZO doh_y_Page_106.QC.jpg
0dad8c13e72af0c261c036b371616634
d908dabe9fed12bbfe2422dd8ee646f59d24cdd9
5004 F20110109_AABQYZ doh_y_Page_089thm.jpg
dff5f284cde7b7d303c1a4c633b2c1a2
54af18dd98fd7985a796d5c6d735f51a86e80d78
1051980 F20110109_AABPWM doh_y_Page_029.jp2
e9550b86530a7dc6ebe16c3009cd2844
1dc58703c1f245064b6cec1428d55835558bd640
6396 F20110109_AABPVX doh_y_Page_039thm.jpg
7bfd2e487ca214cca2edf21128e1b5b0
19160f5417d191d6dced3f44f9c7254864cdc001
109197 F20110109_AABQCG doh_y_Page_039.jp2
de4dc5b649fe6e2645b3b7d84f797735
8ababc6814be5432490239e5a25321a11912f33b
114834 F20110109_AABPXA doh_y_Page_142.jp2
5b46e05a43cd63e9d5b190bee3738a15
bb4448e3751312add4e07422518dfef19ae2a0c5
7136 F20110109_AABQBS doh_y_Page_140thm.jpg
fbb5853f8e8b938ecb20b5f1b980ef78
36b7c8839aedcedde9c60065e451dce34add05a4
3040 F20110109_AABQZP doh_y_Page_106thm.jpg
bfb04f8dedb34d0d7f708e2053716442
072054a78be3b71413189645093ae1bdf80507e0
21161 F20110109_AABPWN doh_y_Page_156.QC.jpg
3fa9de846fccb667172a4875a204526e
c31345567579cdd7b5009f0c5323766596a071d2
F20110109_AABPVY doh_y_Page_133.tif
ec96c0ca34ca2c6052608c3d9f3835b6
d3e8f555afa8205eee6407d884f7bb2425094b80
1051978 F20110109_AABQCH doh_y_Page_069.jp2
f8d4b67a4038f4f5da334049aa2a022f
5a940aee31b66d8ffbccc9d33f137f5fa4e364a3
2324 F20110109_AABPXB doh_y_Page_081.txt
270cfaac23b99c39fece380fc83f48e6
8241f29a41317c695a766f09ab4371cd7ba0c719
56523 F20110109_AABQBT doh_y_Page_085.pro
1b7d76f8cfaaf7771932954beaf95485
4617c9cea8fd7728299d461bac705770189e4fee
12091 F20110109_AABQZQ doh_y_Page_107.QC.jpg
f0add2242b1c5eb14713e8bf72f3c085
78aafa32f664aa1b48c7b6ad85b6ba21eb174ba8
24382 F20110109_AABPWO doh_y_Page_005.jpg
b149ed3cecee76ada98ae056bc49a3ca
12671228bfc4c7efc7f31509e902b739ae3b8523
F20110109_AABPVZ doh_y_Page_146.tif
ae91d36494ec69be0ec81cad83b1363c
acd890880c23db2314f5ab2c532612d52f2b1206
61971 F20110109_AABQCI doh_y_Page_145.pro
4b5a55ed6ce54aa248283b060fee796e
a6c6cc27a6882788ca3e7739fdc9fa8776717db8
88444 F20110109_AABPXC doh_y_Page_024.jpg
7e0b060c8499c1c34a47e4deaab39ca7
eff824b60f57ba639bc555ba5c69478d9ca664ed
F20110109_AABQBU doh_y_Page_050.tif
df74bf5752e19747b82bff8b63f2005c
a0c4b8a229759d93300b1835f14496ffb3ccfc6c
13460 F20110109_AABQZR doh_y_Page_108.QC.jpg
ac1715978533ef90dcb5be49821cc680
b0938cd7636be28852f92f0ffcf3b840c547865a
7589 F20110109_AABPWP doh_y_Page_005.QC.jpg
b4c753d9e06616ea7434c8ffcf02d8ff
da48aab3ac83648c4dfc9b51406c9476092054ff
51466 F20110109_AABQCJ doh_y_Page_124.pro
273e18bc87e21b6660cbfc2647b91c35
bedb9a9a2509e4c0b65f5a2e496202981842cb3a
51885 F20110109_AABPXD doh_y_Page_077.pro
10bae340534a566c5e323ff4fe6f37f3
519cea2ffffac291fe58a45f6ad03d0f0b47bfdc
23016 F20110109_AABQBV doh_y_Page_033.QC.jpg
e7a9fbde8fe6e8d2dcd656af957a97f9
d827977b3c2f998457eb936ffe9056d2baa525c8
3718 F20110109_AABQZS doh_y_Page_108thm.jpg
2cacedc4c85e88211008608286b3fa9f
848ad7bddfb0b1aa239aa185dac20ca15d9a7169
1051984 F20110109_AABPWQ doh_y_Page_010.jp2
fcfd1382071ff686b9c8372597b4c555
29890dcb453602a603c9ba44ee3588d80b035793
118400 F20110109_AABQCK doh_y_Page_078.jp2
1e1bacd9a29dbd54583887454ad42673
79b4d583ebdab3ebfcb8190f0451ca24b16be639
83238 F20110109_AABPXE doh_y_Page_116.jpg
dca3cff093ee6f0d07836da5a98b7654
557ff476acdfa8031db469c3bb3d71ce76ead965
7566 F20110109_AABQBW doh_y_Page_161thm.jpg
60cc784a4e537e32ee96b3d0a3ecc872
dcb26ed41aa09949bf4fc0d644c05f0181fc1bb6
27878 F20110109_AABQZT doh_y_Page_110.QC.jpg
67dfb9eb85ce6c48479aedd75230b574
ba1551f9c67abd79d569d53696359b23aacb695b
1051965 F20110109_AABPWR doh_y_Page_127.jp2
30fd5a42cb897eac9a1b3293ec4599e0
01af11f56803ae77e2ab14fb8e13db612b959644
91126 F20110109_AABQDA doh_y_Page_143.jpg
6859721d54b3de0874f7d488e36be65f
41f752794c46b9e9f7d63fcaf43651f4eb34da07
28087 F20110109_AABQCL doh_y_Page_078.QC.jpg
bf5727cfba2f781696aa773b08ab35c0
e39799fedceff695602267b354185caac4e34dc5
87464 F20110109_AABPXF doh_y_Page_018.jpg
9711c4cccaac500707b11b0e3dd656bf
e94f83fcea8c2339eef8ddf7e55f847fed442b56
F20110109_AABQBX doh_y_Page_035.tif
da2b75044c2989bf62378edd58769336
fa1fd2e4d9b82731ad7553b566d2aa83239f9686
6846 F20110109_AABQZU doh_y_Page_111thm.jpg
fce03ed5c9a9c677b94655c255e585cd
3036974c61cf4e77c0b8ff8a1340cb900e0c8439
114091 F20110109_AABPWS doh_y_Page_046.jp2
6acb23f79c274c4c2870f555addc095a
4bb887ec9350ea4e945344d80405d82831c6d7e1
37874 F20110109_AABQDB doh_y_Page_044.pro
0ab9f8a69c7edff77a2502196c0f22e5
b880dd01241e128910b24fc0bab4863cbfd82c2f
121475 F20110109_AABQCM doh_y_Page_026.jp2
e5e7488d14e087004afc6d457c56e4a0
59c065be4187bacc243a8c17bcb4245785de1c83
29292 F20110109_AABPXG doh_y_Page_126.QC.jpg
6d2f3015f4ad2930e10719ddcfa0d4f8
018ce19cee834f6f9a8bf4d2feee4aa8fb89356c
28326 F20110109_AABQBY doh_y_Page_028.QC.jpg
764d81bbc627b1d876ef46d45f3bdf6f
c1fe62081835d22ca3c3eec39e7cba7c4869b374
28144 F20110109_AABQZV doh_y_Page_113.QC.jpg
09f2b6812d1036d268f4bfc44015f69e
42f6af1d7c0c6e3ce239e53b5c0b4348ee568c76
91541 F20110109_AABPWT doh_y_Page_078.jpg
5e538a99d066b1e72fcb696f5d4fa0d9
27e42b258ac2897c7ef80dd91f459b89af47a2a0
28766 F20110109_AABQDC doh_y_Page_074.QC.jpg
6ac934a50ae60316c3c04738cdf7b345
0817db0d16a0a7a7be0510c3698084f56bd8ce41
104125 F20110109_AABQCN doh_y_Page_057.jp2
a88ae886eb14e7f3cbc0b9e4ae354a33
07a576df3891143110d5daebe7bd72bc84eec37f
81289 F20110109_AABPXH doh_y_Page_125.jpg
f0da9514fe0a8b4a38ee3ff3caa7216a
d3166d950bf0f29fea9e6e560c653da1565db5b4
1273 F20110109_AABQBZ doh_y_Page_013.txt
4fa6e39cf0408373c491106f18092728
9193c148403d9306174d59142dad4dc6e1fc12f6
6482 F20110109_AABQZW doh_y_Page_115thm.jpg
e33e53e2d3d6efe466eabf9a8ad3f70f
63233b327cbd509e9c5cc77943928f9d6401b4a9
1051969 F20110109_AABPWU doh_y_Page_144.jp2
7f1d578a3eec53c68b3c13f68b63073f
d5f9775cf42fbf1a6ad8c0f56f557c328e37c103
51142 F20110109_AABQCO doh_y_Page_076.pro
57a3d35015e39fedbced6991092987cb
0b024046d0f0d068dc7c2e3f220250e7eadc4334
76995 F20110109_AABPXI doh_y_Page_130.jpg
c2b93cfefa9acfb5d3a5a54af3a11cc8
02cf4154e1f394343f4eef2c18007c104097eafe
24231 F20110109_AABQZX doh_y_Page_116.QC.jpg
195e859355db74814247ce13d4361b38
f3c088346b6b863fbb17df79e962b2082a3c1069
2145 F20110109_AABPWV doh_y_Page_109.txt
1ea51cb1a000629451fe39d501e48e5c
18f47a6858442163ada78dad03634a57037f0b14
87968 F20110109_AABQDD doh_y_Page_152.jpg
eddf9f2ca1116be715984f6ba8c702e7
df8d62212cfd2a79c5ddde096f866c7a95f154c0
43757 F20110109_AABQCP doh_y_Page_012.pro
50b2478f503639279641ab2c926d31dc
ab8737be0fd7892393ada664bd0787c5c4ba5316
1037505 F20110109_AABPXJ doh_y_Page_068.jp2
edbbec8676170ed98929a50d5edbf42d
84f6ab207afbfd8dcd2a45138824f073589b3669
6433 F20110109_AABQZY doh_y_Page_117thm.jpg
e1e1035c0326499ee95cd2f4ff314c52
2c1d63e5afd7b6cc81a7eef3e1cd5eabee21313c
F20110109_AABPWW doh_y_Page_056.tif
987ca4286339f0af02b56acef6233624
385eb8a524b105bb71af01a9384e72ae4668f6e8
87912 F20110109_AABQDE doh_y_Page_066.jpg
ea73719289a5c1ae3d597458c5aabaa0
486c6cee20c8327bc8514b70f9193e3192d66333
1051936 F20110109_AABQCQ doh_y_Page_146.jp2
3a7b9404f0f44bd1fb16d1cf287f9383
947204efe45ddf8361b174571ecd1192527ab5bc
93856 F20110109_AABPXK doh_y_Page_111.jpg
9f658ada642ac5c990708d1ae5cc76ac
ffb48ac9e5f987a540f165134d8e8b83c2fd3f69
5132 F20110109_AABQDF doh_y_Page_154thm.jpg
56e7c25288eb6ad8a547400c0e2ad61e
7b34c4fe6b6b078ad17f65c7937c07fc10219798
62538 F20110109_AABQCR doh_y_Page_119.pro
1b95b3463c2de4a8991ab85ad5e3cc7d
1e15770b8f0ed72c7816d8b21ce3f5d7c0eb0f21
2356 F20110109_AABPXL doh_y_Page_008thm.jpg
8ff4635d1b550fccb42bebd176778044
74393490df8bfc482be268ffba24b03fd40f1ec9
6362 F20110109_AABQZZ doh_y_Page_118thm.jpg
cd90c80df212ab4b614c4de9270ed5a5
21f73d937ecc00893b685bf7903efc4420e7f760
6471 F20110109_AABPWX doh_y_Page_037thm.jpg
a56117dde5d9c9f362f75993115541b8
c81c3fa79f3624ce72275819c622f8900e5e3f34
F20110109_AABQDG doh_y_Page_151thm.jpg
42e856b59c212cb11fe3ea659e125feb
a6fc15ac51756435a5c65108ecd6b588b5663468
2950 F20110109_AABPYA doh_y_Page_158.txt
ef410b76abf3836b7ffcb087a54b97b1
8eb9719ca5cf00e3e5c4c7d522b34d3d88d11319
5797 F20110109_AABQCS doh_y_Page_055thm.jpg
2bebee5ae33cf6c7107847bddd1af6ee
f023e87bf6c386398380ddab76f362121b8c1e91
35699 F20110109_AABPXM doh_y_Page_153.jpg
e7c2762f9ff234053da8bc9bc1d3c008
04d2adf4711487f164a5cd5c1f86798bedee09a6
F20110109_AABPWY doh_y_Page_135.tif
1131164a57574ac5e6bc76f674cb8a8d
1d46b2986c641bd9b7008ebc676833b836660de7
1051976 F20110109_AABQDH doh_y_Page_022.jp2
1af7f03e7ed73aa2811f84ec82161f5e
6432596f9f32af363b779fae61b55eb562350b4b
94950 F20110109_AABPYB doh_y_Page_038.jp2
606300aaaad2f37c8ca6a96c18ffc6f1
879d9b3a3b149aabc6eeef64db1457f36b3fc95a
F20110109_AABQCT doh_y_Page_094.tif
f0c1eec45885add0943aafa41adc4c2b
59d302ffb14a30bbf9a150a40eb849e1413d4ed3
82856 F20110109_AABPXN doh_y_Page_148.jpg
be1b8cdc6779f6d4df13aed415161ded
ecab2e7fa310294ab5e3288bb4813a3db186355c
1968 F20110109_AABPWZ doh_y_Page_003.pro
775330016619bafdbe01a9b86e34fe2c
7e409b1b4e6c4740245a23223f60b4b9576312c0
105685 F20110109_AABQDI doh_y_Page_054.jp2
a518a0ab979e26555b5a7d5e94478ab6
9f65c1922080f4154b427c5c66ef4e8cfa478f49
13910 F20110109_AABPYC doh_y_Page_040.QC.jpg
35ca135e79d2f27ccc9aeb23bbcec573
ae62d6d420060731ce1e01e3f42fb2cbcc068c9e
30619 F20110109_AABQCU doh_y_Page_160.QC.jpg
ded0856197fb1ed6a4e64c1797ce508f
012c237eba3c451106f47d7baf6321cdd8bb43ff
89303 F20110109_AABPXO doh_y_Page_064.jp2
faefb925d36a403372a505c06164bea1
69879fe0a76ab8e6a09df3fbc3ed5f64ddaaa913
28831 F20110109_AABQDJ doh_y_Page_075.QC.jpg
72e7a7beffdb25d80507f801941b20ff
32b8cb1831d1b4d14c2d86dd9234df78959807bd
78687 F20110109_AABPYD doh_y_Page_138.jpg
9a11185403bf7f6e747b8ddbb631e703
afc47ae192ace72b8d50fabb509843a05c106307
2335 F20110109_AABQCV doh_y_Page_069.txt
989651a53f6f8825e9943ce1d087b790
181fe0b471da85c4fe777a16457f45ebd12eea25
53932 F20110109_AABPXP doh_y_Page_047.jpg
5d2e2c474b168204016966a1808270b1
5e5279445b3c1d34f1623ce94846f8be0bce44af
2422 F20110109_AABQDK doh_y_Page_015.txt
1cd945c64214a1228bcd233371bcf276
679fa2650f05a9c48e02af9555a9b1c82fdf85d4
5410 F20110109_AABPYE doh_y_Page_156thm.jpg
3f6bea20100906bad825eaff0e8d48e1
9b76a1b364103f44a5485bc7c6ac003a77943882
25729 F20110109_AABQCW doh_y_Page_150.QC.jpg
50d892f5106d7423c25ec7154c03df81
16df301bf326cc19e8967adf3a99b0442392cf56
77353 F20110109_AABPXQ doh_y_Page_109.jpg
cdc6910b1060ab59672263cd39e44d63
a736db90a34d6da8a157b1ae527db97835be22ec
2218 F20110109_AABQDL doh_y_Page_094.txt
bc2c3913ec783ae4f5b89acaff4e1cc5
780cd5bb197625561a222f8a711869ec37f543fb
96046 F20110109_AABPYF doh_y_Page_131.jpg
15d186ff7c49a6f1ffda9bc6aa61c852
576c881b37fa63f8511bfe1fbedab17106ec9464
50393 F20110109_AABQCX doh_y_Page_030.pro
4528c9e63ac3f851b2b638a6c6508f1c
9e90031aa7f17a63f5395cc010fd053de83753dc
54850 F20110109_AABPXR doh_y_Page_149.pro
50e3b2e4706bf2ee66c00355261dc78c
9cf02ee6bdb6b61515622825afe261f5664a3265
F20110109_AABQEA doh_y_Page_003.tif
907099b381f1a848f79eb367135069f8
d1cd5aa27911c3bec51eef4d4861e54070123ede
F20110109_AABQDM doh_y_Page_047.tif
eafe669b2b6c8d6d8c967bb26b0b21b4
ba5c7553da84f05bb74a13202136f0418870bd08
62265 F20110109_AABPYG doh_y_Page_111.pro
6b9750363604147e06d41e4f1b514c10
4f5a082bf832b759a688146b7046d3ce4d6a81f3
24258 F20110109_AABQCY doh_y_Page_054.QC.jpg
cbab4b1b5d9a3e2d052b46c58277a928
01240d1bedd866cfb0f8262bfc2d078dcfd57d99
42523 F20110109_AABPXS doh_y_Page_146.pro
3ccfe551d107c2a6274a83bd02ffcf8b
ddf0c26c2248b8f61c47dbd02547bf5d22fae6bf
29058 F20110109_AABQEB doh_y_Page_015.QC.jpg
9fb11e1bfe2750354efc1288a2b7cdcf
cf389f0e7003d577a98f08ead44e3cf64de381be
6258 F20110109_AABQDN doh_y_Page_100thm.jpg
77c76bc719784242d2a57a5b7f392101
0223993fee3d474ecdc2d1e777013df584eaf4c1
23712 F20110109_AABPYH doh_y_Page_109.QC.jpg
613cdc9020555b1bdfdc0df93f7fd22c
474e2de782c971a9bac2a32692b9877d97b12340
75209 F20110109_AABQCZ doh_y_Page_095.jpg
d92b19964be63e38493f6f094a60a833
b4f6b04528aa59f4d7835aa0a7a0a127deeaf9d8
96909 F20110109_AABPXT doh_y_Page_014.jp2
96d6c2e0d13c0ab001da26190eac163b
013f8c6a593634e4aa0924d104e1627e4a2c9644
F20110109_AABQEC doh_y_Page_157.tif
f40c049412ccd9d81288b0cf2dc9f02a
f5e6ea703b4d273eead2120610623ec38b9a8b67
115473 F20110109_AABQDO doh_y_Page_018.jp2
f689e44a4b671a7ef55d97e19b1f2ad9
452d5900d73c7e5b61c5da4e5a200bd04091c4d0
1999 F20110109_AABPYI doh_y_Page_005thm.jpg
9d6e5e9491bc08c9117b1702396fea4d
195a58cd339895755ad9043d05cbb338685c75e2
2204 F20110109_AABPXU doh_y_Page_023.txt
7a694a1dbbc68d8665f4caf73368065b
e245a3375d2980a42c0624c07086adeb8c96b7c5
14185 F20110109_AABQED doh_y_Page_005.pro
e4a189ef159a01d61b92c26fb04c02d9
59064af078dc5a7216da82c3d214e4f78f5aed3e
26737 F20110109_AABQDP doh_y_Page_065.QC.jpg
8e9e4f6ca8e9343b3f38551f15dbbd07
2058e4f94ababb1099888ac069fdf3b098b4dad5
122281 F20110109_AABPYJ doh_y_Page_110.jp2
d6eece126eed37eab0b24629ee248dd3
5080e70902a2496e92aedf1d202291139184c441
42099 F20110109_AABPXV doh_y_Page_100.pro
ce7f672e7559e6b0035ea21dc409ffd3
f61e899cb0213f622bc12c013c99e22ea4f6e638
19266 F20110109_AABQDQ doh_y_Page_006.QC.jpg
8432927704d209ab1f72a493931390b1
31afdaa7d3f631d3856316715681c9b4a55d63ed
137436 F20110109_AABPYK doh_y_Page_158.jp2
883759da3cc2b592894205e6599c4ad9
f622f078a4e6687768200865b21b8b22c2ed40d2
41686 F20110109_AABPXW doh_y_Page_154.pro
4fafab42bac8bc5d9c6366c95e6d20aa
cca7d0791500f8d8368f2f9ff3c4107ea19d6ed2
21805 F20110109_AABQEE doh_y_Page_094.QC.jpg
438f20bf44cc4b74b206ff7c5d73afdd
e1a7005b5fe02915d1da6895b9fd11dca566b2f5
F20110109_AABQDR doh_y_Page_149.tif
fc9dba196592756ed5e341e72e0af9ac
245f4ec66948be378673f78170fae0360e64249d
F20110109_AABPYL doh_y_Page_087.tif
0e27b47de3dab84b5a428aa76411f279
b864739e733685044df8b58def03cd1b204821f3
2311 F20110109_AABPXX doh_y_Page_096.txt
863517f80be4539338ea92ba23fa511a
d5932278bebeb18dd56f224978b5a5e40879bb1b
F20110109_AABQEF doh_y_Page_075.tif
74d9dc174b8d1ffa6d9e84bcb4b1acbd
9af4f925fadb2e4df2c27f200d2236e6c499e3c6
2286 F20110109_AABPZA doh_y_Page_147.txt
cf1346dfe990da7992794bf2a9b09e3a
d3660df02f5d20cd0802a78c167d21f9408e08b9
98058 F20110109_AABQDS doh_y_Page_032.jpg
866a409384eb7e2f333a8c423dec1d6c
fd44bf43f5d79de69b4182bb94e6db4d6f9123b4
5253 F20110109_AABPYM doh_y_Page_007thm.jpg
1a2db7ff0b1014588ab56933b1d4aaf1
ca5128bfef029ad15fa7833f20754136675e853f
97629 F20110109_AABQEG doh_y_Page_061.jp2
9bf4564130e001b03acf778a42d6682b
235da3b7bc5164fe0896c58eb9701c79704bd1a7
99508 F20110109_AABPZB doh_y_Page_155.jp2
a517aa53331bee075f6502c18def16c7
ebbaa098ba4ac098b347e5abb93c33206d51d398
2186 F20110109_AABQDT doh_y_Page_054.txt
98d26aa3c91fa1f276c10f510e5aba62
1c184eabcb5d668ac10d5a84e5f20e288ddf20d4
52709 F20110109_AABPYN doh_y_Page_021.pro
b3ced1b1a471d58cb3b4616c5076f38b
a4b11f39785a77140129393a6d30c825cfb07703
1007341 F20110109_AABPXY doh_y_Page_095.jp2
3bb77f4ca97597e1ab992a600585ac37
15a82310d7e9b4be2fc6a8265b1c86ee6b374c1e
77189 F20110109_AABQEH doh_y_Page_033.jpg
967fef884dab0dcaba655d1bcc2db564
1af7d8f6aaee53c69b44d79a87868e1a96d62631
1228 F20110109_AABPZC doh_y_Page_106.txt
98d7782bdee43346f79ea38a590c5cef
216b57adadbbe8eabd7158c80e8623320b8f87e7
102169 F20110109_AABQDU doh_y_Page_006.pro
911f56ea72788d2fdd86784a519cba26
8848d5963834da7d6e8b799acfd593434fb77e89
49537 F20110109_AABPYO doh_y_Page_038.pro
bfb7ef3f34db4cd63085ab6e691b0b6e
617a4bf69020d33217702aa1c984e371bd62a14e
1062 F20110109_AABPXZ doh_y_Page_002.pro
8f44dec0c79d7ac8137d13c9b00d0db7
8d1b09549a8bcc9c1712302bb401c95ae9a1a99e
6196 F20110109_AABQEI doh_y_Page_127thm.jpg
34ffdd0b835acb7d6abebd4b43c96b6d
9060d51048c96a2c651e409fc97d63ad19ce3e15
82503 F20110109_AABPZD doh_y_Page_098.jpg
cf1d5e7ad72d36aebdb4ddac5558b8a7
1f31ee8726d152545ee8e299e9e5a229fb81c742
6400 F20110109_AABQDV doh_y_Page_036thm.jpg
73e151f5f19f6a3c10977087189616e9
4daebae5aa71773249f596786f9e2e082ab8eda2
82138 F20110109_AABPYP doh_y_Page_105.jp2
f419b2dd6dce11473b2d7cd671bf743b
4163b784dbfd582ecaf61267168ef6baafac97c8
56116 F20110109_AABQEJ doh_y_Page_127.pro
2a440a859b234984c714fad58bdd802c
a2604a0aca8dc5c3971b080051a26c1dd6e8cc94
F20110109_AABPZE doh_y_Page_024.tif
7568a72646b85ef4aacc30ccb2d1bde6
7237391b4d512767408d7aeebbf00690eead1a72
131004 F20110109_AABQDW doh_y_Page_162.jp2
378a91b156da832802502a1b18b4b6fb
2599d708f204aa88ea4241d7dc0d6e69968857ab
7522 F20110109_AABPYQ doh_y_Page_143thm.jpg
d8250fbe33935b7935e28199c71dd882
e602f41a6a5139e5f80ecfc4ae09862d273fb979
F20110109_AABQEK doh_y_Page_019.tif
c690c37224250f05a3182a493583138e
b89f1a5461b4bd9bd3ae01d8fed43de01cc237b6
118185 F20110109_AABPZF doh_y_Page_121.jp2
e17c399f5a3791055f14a6318ee1c344
2ec37be10f8e62186a9f3987cf98939011eaf219
9776 F20110109_AABQDX doh_y_Page_072.jp2
fa677a5c075cb552112b48d65238c6f4
71f72eea0c15f4ced284072853fd322476c5c364
114345 F20110109_AABPYR doh_y_Page_016.jp2
e3f5163a85480b14fc2d59cf93c8a119
7871ec85923e796e7da1d549d859ac8d79b9999c
112618 F20110109_AABQFA doh_y_Page_085.jp2
d0b409c1d91d385e82bd949f15364832
5d7e541395d49db29d5295ef3802f8f97c6aa5e2
6712 F20110109_AABQEL doh_y_Page_066thm.jpg
c39d3e3a972b064737596851c8b40825
05f49e9662dd7ec77e52a30dc90fcb2bbbd5be68
F20110109_AABQDY doh_y_Page_118.tif
3a5931466f1ff84cd8a0f331bb954f00
ff20e65c2eac11004ff0d1db15527130c0e45229
59217 F20110109_AABPYS doh_y_Page_048.jpg
f4a33cb4bce06d2fc02c41fa2c73e6a2
6c970d01ee1989f0a28f0ae3790b89706dbaa94f
83699 F20110109_AABQFB doh_y_Page_084.jp2
91b598bc43f58f0f39e83c06b959084f
66d4a7ad971afda95b09ad2be760560447a1673f
24948 F20110109_AABQEM doh_y_Page_031.QC.jpg
bcc5cb4779c4b284e343917701dd672c
df914fbc4589f59665cbbe97ea7311430db880f8
6838 F20110109_AABPZG doh_y_Page_104thm.jpg
37b1714b789f7bda7f70f99948243297
6a2185712c60e9b3556f3c01333ee8d1fb8cd947
84426 F20110109_AABQDZ doh_y_Page_146.jpg
f974a9290fcd0738c36d12782c970a9b
613e19ea7361288ab7a7ef5e3aa9d180e54848b8
8143 F20110109_AABPYT doh_y_Page_001.pro
bcee3e7a073346db33412fcf6c4bafc8
c7c73437b32ab93cfe79e05228c86e54d9b883f4
107872 F20110109_AABQFC doh_y_Page_158.jpg
5c21d190f70f7c6857b154435012f5ff
265a1b62e88d3fae5fc989733b44d5164bda084a
95387 F20110109_AABQEN doh_y_Page_026.jpg
33b7e315cc07d9084be906c5cf5eddaa
a1b13a8a711c6eb1c5ce8841436be5eaa8f99bc2
2277 F20110109_AABPZH doh_y_Page_035.txt
47d7c3d3a5777261f5b4de94c54deb00
cab37413dd7a020fbe5ee020c4ba3faff34dd0cb
94344 F20110109_AABPYU doh_y_Page_029.jpg
0e16bc7bf1bb3c7a42598009bbb9bb8b
a44e7a47f7c9cd4519a6cc5b4d611ed7b15f3976
1207 F20110109_AABQFD doh_y_Page_107.txt
9bd1edc0416a34e831dad2ba2dfa8ad7
d03702de05f7f692cba6e9001b05406acd4f5229
6822 F20110109_AABQEO doh_y_Page_028thm.jpg
c6ea4fc16ba5a7fbf719b12507b86a84
8cc1950e041881bf23ed1944e02f34bbc10ce4cc
F20110109_AABPZI doh_y_Page_040.tif
e652fcbe8c45bf64510a35ca417e97fb
5a7fbd7d53b31b3287b70bb89b1c27ef3f20b5a0
2309 F20110109_AABPYV doh_y_Page_016.txt
01b9636ccf6a03c5f36052219af9f58d
4b3632888b6bea70eb8152e5f36947c83e91cd28
78409 F20110109_AABQFE doh_y_Page_077.jpg
7bbf16a8097f7ece6b83742cb5b2e460
c0c7bcbe5346ac67f5a1eb27cf8c970d39c4ddf9
2443 F20110109_AABQEP doh_y_Page_009.txt
4d301cbb706fea95733ea2b31059d317
d92af9e83249d6ba952dad93ece656880a5c63a9
20062 F20110109_AABPZJ doh_y_Page_084.QC.jpg
4ffd4a0649be02bed45106c4edb5f1e3
820b231075caf1a352b18e4252bd5b8944032c2e
51724 F20110109_AABPYW doh_y_Page_093.pro
965a4a290652f8d39cdbc147b2661934
c74bba0c0f05402d315041c63203e729c1cfbfdc
97377 F20110109_AABQEQ doh_y_Page_157.jpg
b71c09c605d54b707bd7e6438d462251
d88c221a0c47821fb81f0b7f6925497345a7ab82
25361 F20110109_AABPZK doh_y_Page_123.QC.jpg
1a3709e3071e2a8950552d3837793f64
b5e06ea0a1af51f75ed7634b8c33f21624ff26ce
62417 F20110109_AABPYX doh_y_Page_131.pro
b0ec82f2f1701fb1c39b566789688829
2295d6fe5d90b713e2be061d3f42efbca2cfc228
72129 F20110109_AABQFF doh_y_Page_158.pro
2e16359910a9864767ceaddd3e426441
df6528a561b1b76c6a529b97c0bce7ddbcabce75
30956 F20110109_AABQER doh_y_Page_161.QC.jpg
322f1906a3630a90e2df55f762c1ff0a
0e467c40623325758de18cc8e58bf23e20ba2a2d
600 F20110109_AABPZL doh_y_Page_003thm.jpg
f3375b3fc1db6c02b333eefba9ecf327
ae8a762d1fc8064e2f9bec03a17fdaf21ddf06e4
79759 F20110109_AABPYY doh_y_Page_021.jpg
c7af7a84e59b4cd5568a7d087a2cda67
f220981056dbc6d3041c2550dfc0804524b6c801
22553 F20110109_AABQFG doh_y_Page_008.pro
a89f30794b4eb58f0d7ae81addb77964
3a894fb8beedc338b5f0a3bbdcdb8defebdbbbc3
6829 F20110109_AABQES doh_y_Page_074thm.jpg
46441e48f2cd002831fd736bd135d55d
7b0e14d7a30bb8bb5ca84a84421c2e2a0b1accb7
F20110109_AABPZM doh_y_Page_025.tif
60197e599fdcdac231bbe4aff7fe14aa
42887496f7d107a3a01aabf1c285585d4dc79ad7
2305 F20110109_AABQFH doh_y_Page_065.txt
f84164180256ebdea50f88c3e7759935
d9a980007a0718c92786024da8fa54f261bae2d8
F20110109_AABQET doh_y_Page_092.tif
d89aaed49d4e9a89f89ed606c8fc6e95
aab3261d53fa8a7ee517461925d52edf8c695d00
68593 F20110109_AABPZN doh_y_Page_012.jpg
87ebd7efba4d16fb7769316471e5c9e9
34f0ad482cc61f306c3222fd3f24bcb681a7ec06
84009 F20110109_AABPYZ doh_y_Page_122.jpg
4bcc4a390b863bc9e5fe1e6e33a7aa8a
29743ca6cc0da625e0ddd4e2deb1f44f3c2a2d5b
6005 F20110109_AABQFI doh_y_Page_138thm.jpg
4c0951168729089fb1e976e40515ef59
5ab5163216cb1be00950958f4b875e8dbdf8a7cc
26891 F20110109_AABQEU doh_y_Page_142.QC.jpg
696171dc5eb09cf52018748fe40ea63e
e9f3766bcd3cf9b992688d0a732ff43c9f9f4ae6
1051963 F20110109_AABPZO doh_y_Page_079.jp2
a7c9ce0e9d408d290b363c7fc286b5f6
85ed57de76dedda88b2badf7c2c8051770e38fcc
1925 F20110109_AABQFJ doh_y_Page_129thm.jpg
739f067ff852a0207bef56df5aa36258
d29b3a93e26142328abaedc33a75313bdf7252f0
93679 F20110109_AABQEV doh_y_Page_025.jpg
d25a1473810c24879ef285f4c4c489f4
aa2f83b8fdb29974809c9cba37cb1e295b3bde4e
59116 F20110109_AABPZP doh_y_Page_024.pro
be103935dcc4166cec510be8d0bbf1cd
60a27c9b03df16f2ba36b3e83543ae6b717597c8
63074 F20110109_AABQFK doh_y_Page_157.pro
04feacf520e3ea553f2930fd80005ce3
90729f3e6068332d6d90d272aab0549eeb3e4d17
2815 F20110109_AABQEW doh_y_Page_117.txt
467d3574d6e289e8f3b59c09178ac21c
e513ae07f6e6f07aac329c8ced6e857d4a3ae90e
F20110109_AABPZQ doh_y_Page_071.tif
cdef8d4f81c0b52b736e5a6da8b1c2ab
03803c3f1de675d1bc8b359c2c7bd18a5b879f20
22763 F20110109_AABQGA doh_y_Page_007.QC.jpg
82175aef46e05aeb75cfdb3bafee5d14
50ec86708ec5dab606daf0676239837ab736e204
5935 F20110109_AABQFL doh_y_Page_091thm.jpg
264992b69bc357d7a3c4633f719e8b26
34a25d3319eaff06f31e0657ab7d42cc91ee7c2d
86523 F20110109_AABQEX doh_y_Page_154.jp2
c9dc01c1c7064298ea7b02defdeabdb6
de06b818215ea3a76a6b38b4f7b54c720ba7d58f
18875 F20110109_AABPZR doh_y_Page_089.QC.jpg
d2351110add5d17e3b75ffc26803cb4f
9a5d6a2c02e0ae15a35cb52250ee0f2cc5b08b5d
2436 F20110109_AABQGB doh_y_Page_020.txt
fb7d8afe9d9767b9ae977a456ef4bfed
b0a37fe5a9189250ca77d48ade00db5e7bd988e3
28987 F20110109_AABQFM doh_y_Page_010.QC.jpg
a90e7f17005bed52bfdbb8db6fdc0ec9
4152eecf1af5d722861bb1d357cbdb7322ac3d0e
25009 F20110109_AABQEY doh_y_Page_124.QC.jpg
51858db7f4c47702f2905e2909b00c7c
8f3d89f77b7b9c2da067426986bf25ac33697631
101505 F20110109_AABPZS doh_y_Page_004.jp2
f77aeea94fb234a256ea615d5d1e49ea
80de573151945b10b9fdb44f67013745b745762f
77479 F20110109_AABQGC doh_y_Page_092.jpg
dfe94b0838144b2be50acd9633ea016f
6c912d2845589f977d372d633cc032bba76b7555
2430 F20110109_AABQFN doh_y_Page_017.txt
dc16e7c694b42272d96c7a84b10c14d8
1ef4e913f0fed59654304aa1a5663c66df733716
99908 F20110109_AABQEZ doh_y_Page_033.jp2
6b47f5ed670c5f4d977aede0f15b50e8
4056e7fc6254d82fef89b4b2e67aa7dc31f3d688
107733 F20110109_AABPZT doh_y_Page_010.jpg
25f8be16d6a8cbef4572b6396c0be288
8c15add7b794016ca20ff11e2b59411f7a2b2a88
91161 F20110109_AABQGD doh_y_Page_028.jpg
c5292a189a8902010e8d9a171bd6919e
39db4a8c8188435fdd3832d6812ac64d534c53a4
113794 F20110109_AABQFO doh_y_Page_152.jp2
d9bacba6fdb4ed9885d434632a0bfaca
5fd59f87b1fe6f8945ac7af82d87e21b5d97c5f2
26125 F20110109_AABPZU doh_y_Page_022.QC.jpg
21a341292e8204c1070a13028c3b9fd8
6105c772cafb106629cd5cd5bf8911ae423de083
2429 F20110109_AABQFP doh_y_Page_043.txt
10ac384b14b97e883c0d9d2ebc786826
30d95b89c665da40a43165d98892976700a4f432
F20110109_AABPZV doh_y_Page_148.tif
3587f374ca34020ce7dc0b0d54e03290
d153002b6998efbe7400a48867ba86db55c9c8f1
5685 F20110109_AABQGE doh_y_Page_094thm.jpg
24bbd567715a375a5d2175f946667e8d
bce5b79ea82302b46752a9ceb99d7a8d5f4bd21f
55592 F20110109_AABQFQ doh_y_Page_022.pro
86e0cc360052d3ff17952368806cc121
20de30c3525e6b362af57bab9dc5c04d2febe5f8
110157 F20110109_AABPZW doh_y_Page_007.jpg
fbc934d2e053b555fdc8492d2179cdb5
5627fcb064a281ac7c6d6abcbc969ec6f3bf6dcd
F20110109_AABQGF doh_y_Page_057.tif
a039ff4dfaf951c42269d7fd42d97baa
b82ca049fabd3ca257aeaba7ad3c7cea40e4ec6e
7039 F20110109_AABQFR doh_y_Page_162thm.jpg
59eab1242273317da753fcb56028437b
de95d9fd40e857f300b1063408d55c09732f0a2c
75306 F20110109_AABPZX doh_y_Page_040.jp2
98ef5acde2d2b702569245cf39dcbf58
bb0fba304eeb1f1fd9ab78ff53f1ad4eb00379ab
76045 F20110109_AABQFS doh_y_Page_014.jpg
aa00189b1c769824961f0d30324a608e
98a0cdeae8677e3cf511b7d7627d066bfdc2a3fa
57268 F20110109_AABPZY doh_y_Page_135.pro
4ea79abc7a9f798205e57bbff0b669de
b922004ff303b6bbeb06a667113704a32e47f910
23869 F20110109_AABQGG doh_y_Page_138.QC.jpg
e332d95276f2674b4a852ceb4264a610
1c4d13201b1b6c4278cd67c46279a50e912b93ba
26936 F20110109_AABQFT doh_y_Page_147.QC.jpg
253dd0bd4b427f21651221ae51a69bad
4d13f2c054f76cc9fa96835e16bef686fa8e9dd6
27915 F20110109_AABPZZ doh_y_Page_082.QC.jpg
28c954e5eff585544d31ad4f5a1d4cd1
56d2cab0a9ff1581829436a79bf3cd6eff2818b5
45798 F20110109_AABQGH doh_y_Page_088.jpg
75916889dca7540f4ef8636bf99178ba
a5ec11fef92ac4dfd012ed9109255cd2081c0165
73571 F20110109_AABQFU doh_y_Page_055.jpg
4cf258d615335402abd4818aa19aff9c
7d7b8483586e79e36b6d68b6ced474103b2726c3
1439 F20110109_AABQGI doh_y_Page_049.txt
fa6952b8e685dd7cbac2eeae9602f614
0a016477ffd267b4e44cde84825b78157750fc47
F20110109_AABQFV doh_y_Page_161.tif
7fb60a59d875ac444e12f4ec8c75380c
dce681172622dd4f904ba9bec9acd7e64e7150e4
6364 F20110109_AABQGJ doh_y_Page_083thm.jpg
3f5cfbe4d25d64dfb98b853f094ec5d7
e77f4f024d2b8a67bd511456a132a1e467b32e68
6759 F20110109_AABQFW doh_y_Page_082thm.jpg
91df1885b5d1f6139201a06588eb30b2
fb1e802328f08799c0c8df9a4017b0157adcf0ce
2740 F20110109_AABQGK doh_y_Page_022.txt
3e5fd2007d142c49dd440cbcc02635fb
04c0b55460f124f0ce9091b1a1735957b7c4bdf6
2529 F20110109_AABQFX doh_y_Page_151.txt
2a1b2d3c01642ca760edc856b8e52546
d969da440bef3fd3c7aae8c0fc0f2c52dde0eb1d
26024 F20110109_AABQGL doh_y_Page_136.QC.jpg
d067ad9340ded3f9667a8caf2b657a4f
56ee6dc2fe0c488125d62f28f5a0d42c69f6be0e
6816 F20110109_AABQFY doh_y_Page_080thm.jpg
8023920f409e7c478f90fb34e3bb7952
5871736f784c8894191122b1e05ea0b816f3e7be
3952 F20110109_AABQHB doh_y_Page_002.jpg
a3d6cec7b7aa7b3069181157c4fa1170
b4488296fba65b48d68e255a02d90d6986dff113
6747 F20110109_AABQGM doh_y_Page_029thm.jpg
cb5c686b208be4a9c5c62349d2907617
e72c5784a064f160cb92e4b23043d081053fe08f
F20110109_AABQFZ doh_y_Page_086.tif
b09216f17322d25cb795e8d4dd88e35d
16dbcfe2795660991464383d8da244c475f16be2
77199 F20110109_AABQHC doh_y_Page_004.jpg
735ce30eb39ce6958259e4b231af6466
a2bd871e84a6cd1617446a07e4483ce113309320
45939 F20110109_AABQGN doh_y_Page_064.pro
f224c206a7781466da36ce72c770d8d9
5e278762ac8525f562ba10008f311f87c3edaa62
29952 F20110109_AABQHD doh_y_Page_008.jpg
cae3dd8a81b9752be9b5ad510e1a47b0
28338d4812e8d746cfb3835597d3605293942212
F20110109_AABQGO doh_y_Page_013.tif
be1c807941509be9d4633a78145f85fd
f636646c77475bc9e16924a97bb014e9dd7fdda5
78919 F20110109_AABQHE doh_y_Page_009.jpg
ea860d54650b24cac8c24640b5ecb881
0dd12981498edb60489abe65bb7d29c4231ff59e
27841 F20110109_AABQGP doh_y_Page_051.QC.jpg
817f6e5c5f1d442c26a328e68eda1214
8d3700e184e0a90aac2854523be31aa4388fa88f
50363 F20110109_AABQHF doh_y_Page_011.jpg
d1ca58dbc181c40d0e242e6ecc9d4846
64b3f5dd76abee9c50542e41779fccbc91d11b19
91189 F20110109_AABQGQ doh_y_Page_113.jpg
b2ad83508fc6f24e70984b8126224bae
aad11f2dc059a576963f6e931a71363a196a2ef6
51251 F20110109_AABQHG doh_y_Page_013.jpg
f0d5ce0620990445b9a0ab7970477f98
63be3f5f45c1636ff9c1acc2305d2796cb1b20cf
F20110109_AABQGR doh_y_Page_015.tif
168bdf5cb43aaeedadbe73c6adbbb5ba
92e0a285a1cf305f57234ce4f245b8cc250fb96c
2461 F20110109_AABQGS doh_y_Page_131.txt
11a1bd996dbd2ca2bc4441942a0a4204
77f840cf5e7cfe12db578b61349274044b478214
95131 F20110109_AABQHH doh_y_Page_015.jpg
b90dc02f3ef37dec9d480add991ec993
830d00899d404f6a590f60be3899968c9f2be9b3
3972 F20110109_AABQGT doh_y_Page_163thm.jpg
8878c632c834c1edc8241547bd6be30a
bd6569a718b04eed3213d6f0900b8e82d3e450e3
87517 F20110109_AABQHI doh_y_Page_016.jpg
96cc85ed08fe5eaf380045109439ec9e
374989058fd8aff9a23ea9169cacbee8d9837036
7091 F20110109_AABQGU doh_y_Page_119thm.jpg
cf2bf5c737831e06e2534956f3c848b0
89415082664b4cd103eb6c364cde27cbc8a23d1b
90297 F20110109_AABQHJ doh_y_Page_019.jpg
d84c26da96f0dae99d0f39f325d6c192
baaba80574130d8ce0668bc83f082dc3f0c862f1
F20110109_AABQGV doh_y_Page_109.tif
4d16bb717fa2a5c9dffff63aecc42bda
9aa3761ea8ea385c455e11f5ef75ace6131930df
94977 F20110109_AABQHK doh_y_Page_020.jpg
8817e5dfbc548307cb1daeadca564ef5
a217eeb371ef51b4ab035f6ee80105f35f946c98
15518 F20110109_AABQGW doh_y_Page_013.QC.jpg
4f1b12a4097c9847290c41e7510141ba
40d55eaa65c64f44e89c0c68b9fbda4c36c85bce
65935 F20110109_AABQIA doh_y_Page_060.jpg
a8e6362006b35f0e6ad9bbf699d9152a
5b73bd00d1bcafca102d68c33ae6b430612330c9
85848 F20110109_AABQHL doh_y_Page_023.jpg
497f995a99dad8ad70c524e3b121b684
f727403c32ea7ded84f7393020a6dabb00b8b3f4
19958 F20110109_AABQGX doh_y_Page_137.QC.jpg
d11ce549d2c8969f2bd0934b1e570bf9
416e9d0188eb01f7c063bbbc1b48b1c1251e6c84
74391 F20110109_AABQIB doh_y_Page_061.jpg
2db65d17b9b466155db9ee870e70ff16
5deff28f96d7a7263ba8959cdb8c0efbb627cdcc
91404 F20110109_AABQHM doh_y_Page_027.jpg
40a4ee1b1798c68305e1acc89165bf78
7e0da4ea4c95e4f6ace4ea78c722271bc2ed980a
186456 F20110109_AABQGY UFE0000675_00001.mets FULL
5192f0a7d422585cfcd453b5fed9b5d0
16b212be5a83bfbb1f5e91aa8d5962dea7f8e960
61881 F20110109_AABQIC doh_y_Page_062.jpg
a9b0fb1a8193177b3ef642c9f3e8bd10
fcdb863290c6526d4742f58cfc7a4a6da55c6665
72100 F20110109_AABQHN doh_y_Page_034.jpg
a73a6694320b03b65f3688fdb9f91ecc
0906d48095dada4c6d80f093570db20f69bf30a0
60203 F20110109_AABQID doh_y_Page_063.jpg
cc1716a5ae1559dc97673d672f162643
644111fbfa71788e1ab70140060cec43bdd1c08e
90041 F20110109_AABQHO doh_y_Page_036.jpg
23af20cf515c4b89a539256b969e803f
299a58d0df8259b99e60195dd538f21f8cceff8f
67796 F20110109_AABQIE doh_y_Page_064.jpg
5998abbbaebc3708dc7a59154f2df44b
07bb37f03b72c8c8975252dadf52560760f8a4a3
83592 F20110109_AABQHP doh_y_Page_039.jpg
aafa9e83de4bb6fc794790a71f309233
94cabe1f5d3abe7bb772df28702054d29e468abf
87656 F20110109_AABQIF doh_y_Page_065.jpg
999934b28412d9783678620eb19580d9
49f07ec280622139b0d79b69596ba746994dee05
80885 F20110109_AABQHQ doh_y_Page_041.jpg
212d515e06fd6ac1cffdaeec60b73303
2eab9774bc9a89f60f8afa6737657ee7df43f65a
73868 F20110109_AABQIG doh_y_Page_069.jpg
a479893065e9cbc3268634946ddb1162
4cace97b869734f81f0db86b4e85ecb72e5a8bb5
50378 F20110109_AABQHR doh_y_Page_042.jpg
2d9f51fe3254b5dfca9dbbd07b45df05
69f33943460ad049d20b7350da14a30e703c188d
7351 F20110109_AABQIH doh_y_Page_072.jpg
9eb17fd055a7e63f17e485e0a005109d
ce1f0ec1dc0e9340dde65facceaa656f1c88fcbb
63567 F20110109_AABQHS doh_y_Page_044.jpg
8165446aac6c222472281e9eb93521a9
df0c695613a0e067212268ae6fafccd51c065740
52626 F20110109_AABQHT doh_y_Page_045.jpg
8f883bad5e94225035b987a85080f90d
d4b2957bacb592d405aedbb784e3caa1124116a7
76440 F20110109_AABQII doh_y_Page_073.jpg
3504617954114b1e9470835eeff3be7c
52bd256bc8ebf45a5dc5a24c089334f65b01939e
55561 F20110109_AABQHU doh_y_Page_049.jpg
e8833a8a8cca4e44af0db0482e5a62b8
d95821fc05b628c4b6c78a139356db027e8b3746
93935 F20110109_AABQIJ doh_y_Page_074.jpg
800856be777858fbb590668a3e4d9422
20a71ae21e1cc3fb1c93caa5931ed031cf146801
F20110109_AABQHV doh_y_Page_052.jpg
af8c3df5b9729bd9a1a25f4199dcf83b
f7638b3776da4a3da6dd2c1ea0a387ebc346c63b
68281 F20110109_AABQIK doh_y_Page_079.jpg
957f169a0171a74cc2a021d0a3b7682d
252f4d7747b8d915c61383bd288f98a188862cf8
81216 F20110109_AABQHW doh_y_Page_054.jpg
3b10a3e2fd46f2363bef64f0ffe2cf05
19a4b5180f2fbe753e2e0a16357e0b01f082991e
88962 F20110109_AABQIL doh_y_Page_081.jpg
a5ce62ad57cdc336b46b68b7c2a21d1c
044ba6971db9c5cde9e19964ec8bdea1d470261c
79260 F20110109_AABQHX doh_y_Page_056.jpg
976a99da58a3ecbab37386a025883491
000981233c90600ca7912dbe0a89f8dd1a2b8623
90610 F20110109_AABQJA doh_y_Page_121.jpg
63f937e976b0f20dd83cb712f43e5f49
1bae8e1bb4279bf80677b0f6b32a9adf539d49bd
89928 F20110109_AABQIM doh_y_Page_082.jpg
db4a2408e90572f26d45f9628c652c7d
1ae772dc877fc3702416ce72c1caf5d072fc30ea
59736 F20110109_AABQHY doh_y_Page_058.jpg
b62543c4449f0a68a4e2a5ce0fdc1d78
3ddc867842636808ccde5df35856f64a1092740c
83541 F20110109_AABQJB doh_y_Page_123.jpg
b8124dd6d4de32c81dca198f32a08d66
f2570cd83c81150678a566df3a17de4d6f215795
90931 F20110109_AABQIN doh_y_Page_086.jpg
a5281bf6cd024796395c53c096a12144
56a42c18bc0bad132645816f22fbd0bbc7b51112
66859 F20110109_AABQHZ doh_y_Page_059.jpg
f7611ae9c2c564e984051ab7a1cab533
f0a2caf1f81e0c6f3e27495360424a9e8e5053d6
82466 F20110109_AABQJC doh_y_Page_124.jpg
10a54e879a3c11041e164b6ce20b54c4
6c86b0562f2ca9721753cc4c1f6de2fb3b0f5327
68475 F20110109_AABQIO doh_y_Page_087.jpg
7f0cf6871814811a7b24e9f682f54f35
2d99dc2ba5d0994df0d70d14ed10806aedba19c5
94497 F20110109_AABQJD doh_y_Page_128.jpg
374f29733641ead85978d05d158e2c0f
d312d2ab9b1bd26bbd096e90ec949049ef31559f
79044 F20110109_AABQIP doh_y_Page_093.jpg
f94e85b885fb9c8927085b5f1487bebc
68a8807449a39a2c279a5d420d311812947aec26
24147 F20110109_AABQJE doh_y_Page_129.jpg
0e4240d653597af0f73a352fef280bf8
63bbf3b72d9bf2d62219f67a80c3e24c0dde8ef8
82518 F20110109_AABQIQ doh_y_Page_099.jpg
a87cefb002e785c4b9b8af268ab0b14c
55c34420e3b9647a09f25d51b20bc1f44a74179a
81380 F20110109_AABQJF doh_y_Page_136.jpg
fa31d0fe396c2ee8e3a70c75128c16a8
f8d9cba261e322422149f25b628151454ca24559
75269 F20110109_AABQIR doh_y_Page_100.jpg
3132660202bda6257805234b153b4c74
90bda57a41f36707e425372a0bc6880688e0b62c
60963 F20110109_AABQJG doh_y_Page_137.jpg
a9758ac0626d2dea5932f2819d017d2d
14ef68c1f9b683412e0f17cbd67562fe2cbd3e75
70195 F20110109_AABQIS doh_y_Page_103.jpg
e07d6807976631a0cde1a616da0da582
ef8ee9bd19a3fafbbbfa239b41ff50bee7641352
76009 F20110109_AABQJH doh_y_Page_139.jpg
42ad1c62ab921a414bfabe95820925e0
98c425080ff07269e09949ffec8e5ad7ce5e766d
39998 F20110109_AABQIT doh_y_Page_107.jpg
1daf9b5ccb4d59476787b6f459995f90
aaf6a936a3c8511d55d2b4bb48a06cf9ffef9451
91196 F20110109_AABQJI doh_y_Page_140.jpg
ef9bb8c12c8af39fe0356390d778c72b
b1e042537142e3f6f29b859bff11eacc84734abf
46209 F20110109_AABQIU doh_y_Page_108.jpg
583c2cb6c68546eee3aa698db8595e9d
410d0405fb045d554c3d2a1989966ff3f3a9b203
95244 F20110109_AABQIV doh_y_Page_112.jpg
265c7f0f59997d858048afac392c921d
f444fff5c578d658bacb91903d1b7e68366fed0c
77936 F20110109_AABQJJ doh_y_Page_141.jpg
22f1c2df0c0612e3d9903b39e920207d
ba498fb5651d317e10171c4a30c96155dddbe6e0
90335 F20110109_AABQIW doh_y_Page_114.jpg
77c59cc466f90a9bda911cc817963e6a
7a385b8dc6df256add7fdaccb48ab7ccc16f9527
85985 F20110109_AABQJK doh_y_Page_144.jpg
96a5319c2b5bc652a04df2efaae45e47
875d2e714a4199dc04618515ad0ed5f78b302917
93642 F20110109_AABQIX doh_y_Page_115.jpg
cdf49d2bcd26b3383c120c6635e905e5
e1e8af6a349c54965632ca32facb7050185462ed
118953 F20110109_AABQKA doh_y_Page_027.jp2
a542e09141ef3236d34581a21cc78f86
115cb911a52aad7a27ea892da1c535f52fdc4562
87604 F20110109_AABQJL doh_y_Page_150.jpg
7a1ef96e368355434eeed749dc18a7ba
7726e2015a0ea67289d83412cd51dba9013a9e31
82557 F20110109_AABQIY doh_y_Page_118.jpg
e209d80fc90296740e5c5fe6e438631c
2162805b0da446a0ffff3152bcb104258116f6e6
120033 F20110109_AABQKB doh_y_Page_028.jp2
be35503b9e274858f15b96cb0a4ed9f0
aba17899a0d1810ce0a544076817a342c288667c
76565 F20110109_AABQJM doh_y_Page_155.jpg
6b34586feb95845a65365d6398690593
ffeb9da9e554cb6b59fef097449a8d664fc74bb9
78896 F20110109_AABQIZ doh_y_Page_120.jpg
20b833d0032da3c3572d1098f53c64a7
1a1189d6df821004f01e79616674e123c590a72c
102312 F20110109_AABQKC doh_y_Page_030.jp2
e8b73d65dfb9675f7369f91f4eae0ff0
473a77ae5cc20ab39486b9a512e610381465e38f
70144 F20110109_AABQJN doh_y_Page_156.jpg
2fa3b43807f4eaddce8b7f64f07b1919
a9265f85cacb5b97246cd733421fefdd20e73e6f
127509 F20110109_AABQKD doh_y_Page_032.jp2
a79bf91ed50e6ada2100be05ff592fe9
9714c699ffe94dbe5ecce6b0c4890ea6e3457ae8
107803 F20110109_AABQJO doh_y_Page_159.jpg
c9790c7c5ddcabbd71ecc8dbd18c3878
08d33fdfb94595009c3c4796e43fe1023a576557
92934 F20110109_AABQKE doh_y_Page_034.jp2
5043536ed13ca3206e08f0f52c188a0a
89f2f625fce2724b9d858849a415cbff51265ce2
113555 F20110109_AABQJP doh_y_Page_160.jpg
c6adb02ae1fd02e45e1e24a952080fe7
f899ce989c11bf0bbc14ccb34ce517493c486b73
119199 F20110109_AABQKF doh_y_Page_036.jp2
bf24c379ab3a06c98bf908fa6266537e
9a268a0bd6821b08cf4b4bcb13fa4167ee4a5fda
114249 F20110109_AABQJQ doh_y_Page_161.jpg
0d9482bb70243123a9d51e161ccb1f92
7cccd1b9d9052ed1b431d98bba7e4a77982f4456
110847 F20110109_AABQKG doh_y_Page_037.jp2
848e893ae4370efa941ce69675e8af6b
539f347940b8b2fd5414456b0874666cdfd8c254
7628 F20110109_AABQJR doh_y_Page_003.jp2
9a27cabfacfee8e5e1977243695147c6
1a4e0602ee192cac2835d52ef1b8449a797a0e86
79929 F20110109_AABQKH doh_y_Page_044.jp2
61e34c67da7fe1285c7dc83c22029e66
05e73e0e78e6e26c282fb26e7ad4fbe0c317d4d9
30960 F20110109_AABQJS doh_y_Page_005.jp2
508eeb172364ccf0fc53f0179bd7d68c
d590701f1ed7d0fd68c53eff0975ef71ba067623
68745 F20110109_AABQKI doh_y_Page_045.jp2
0e6b22f8f7a1a5399885a00829416453
f8be357b22f692770dc045d8971bcfea9ceb2924
1051979 F20110109_AABQJT doh_y_Page_006.jp2
9c5147b833af2f38afd81758af05e3af
209c4649143fdcc4c4977bf1802755b9ed48fc34
660271 F20110109_AABQKJ doh_y_Page_047.jp2
4f0ca17574a482a7e67f2f92d5c76dc8
46adc087c009893f484e7a9ee3cc78a2fae8982b
1051962 F20110109_AABQJU doh_y_Page_007.jp2
2c9267dbdf50c2e76ff31c36dfc336ab
ad514c5d5cb62d0e9bf104ee56678c3146cd40df
124422 F20110109_AABQJV doh_y_Page_015.jp2
05110ec72f7b1ce81bb33b916461ab1e
041baa3cfe1ecc04e6c1cba5f502463e4ac59b16
71586 F20110109_AABQKK doh_y_Page_049.jp2
ec36d13296e312c2f5ffa9eb424d3a84
dd719f6ad282bf646fb47bc9969f3e9334dedd1f
123936 F20110109_AABQJW doh_y_Page_017.jp2
a34a842fc0f289cd1522f5e9fd4cc009
969b8b71dba869a336fe62969918b63898e289dc
72518 F20110109_AABQLA doh_y_Page_089.jp2
26277bbc3126a7dbc262d5d50508379b
74a4dbb4747331b4fd8f7aab1a09a243dcb7145c
121439 F20110109_AABQKL doh_y_Page_051.jp2
f0a6e3148fb548886bc2a2b5f9be963d
f0d2e44ecc6d1508311c213112594188093373f6
118642 F20110109_AABQJX doh_y_Page_019.jp2
3810a26a82f5c810c29396eae4f3c30f
8f3ca5caac18745b62a60b1ddf87321c044a392a
1051985 F20110109_AABQKM doh_y_Page_056.jp2
15f583a6f566ee3a70f21a882a733304
e7f3c70e65c90b001f928b1633a08bf8765876c2
123565 F20110109_AABQJY doh_y_Page_020.jp2
b07bba7ddcdad33a04d7f296ede2474f
f031dc13cc62833a1722b63fe485e9cfa97547fa
98729 F20110109_AABQLB doh_y_Page_091.jp2
5c44d23809ec4e167da17da63b4c5385
752a1b1425203783f4f3793351766d7c5b36b6ba
80326 F20110109_AABQKN doh_y_Page_058.jp2
c1ab4c277d41d39cc6616315b3179e5c
257ea77e7349217ab5b730e74f9489c5812a9ed6
104653 F20110109_AABQJZ doh_y_Page_021.jp2
1501d5a4ae74404156ed32878ccb06f5
11e998d98371cbcde1fa26e08834b13a3c97e322
114371 F20110109_AABQLC doh_y_Page_096.jp2
3663865ff8fb64fbb9ecf1a17feebce7
e7222a75032362f4b02fa8ab269de638c8d226ca
893127 F20110109_AABQKO doh_y_Page_059.jp2
4ba7ffd232c1d7871dc9240caaea3803
3351971c113ed021b406c06406531a1ab0a0b719
118867 F20110109_AABQLD doh_y_Page_097.jp2
195006608370809fa482924cf17cfaad
bac811ae0332d24a2c25377f32f0f00834790ce3
84022 F20110109_AABQKP doh_y_Page_062.jp2
fd3116e380f74134f860db3c12c24000
00a8dbc68ca3cff9d5cedc48bf91c0334fb98d3f
1051905 F20110109_AABQLE doh_y_Page_098.jp2
984edabd90e2254305fd105d29a9df09
f815529bdd0de03435905a71d643e3b02ab49c4e
77468 F20110109_AABQKQ doh_y_Page_063.jp2
966608900035042862fd2a8c9d8f466a
32b5d1e45ba87b4caaab118376d22d3109ed932a
1051916 F20110109_AABQLF doh_y_Page_100.jp2
f62bbf49cd63465031ba90a46d8a0180
8bc20e8340bd1f615186afcf5cf77b843a1357eb
112547 F20110109_AABQKR doh_y_Page_065.jp2
af87b200a41bec712979b609cc0d8b31
ade3d32d6a98504b87ba8739575ea2767c221f6f
1051981 F20110109_AABQLG doh_y_Page_101.jp2
5d2f7374692d9ae92706148ea0c9d17d
b546f8d58ddf48d15b90a767b289a158587425a8
116096 F20110109_AABQKS doh_y_Page_066.jp2
823eb8b6dd3c57e1d816ac8bb72ba29a
df4aa325ddd5890d7e2256588f2ba93431d5577a
120900 F20110109_AABQLH doh_y_Page_104.jp2
e91e218b5df39dd9b241e26b50adf758
78b3bd923255294acbd4e98b30e53ea3246d6c4c
1022232 F20110109_AABQKT doh_y_Page_067.jp2
d725b052c774c695a3ea54fddcf4c0fe
97caa7865800b0e9dbf4e93ff5ea58c87dc16ad6
101353 F20110109_AABQLI doh_y_Page_109.jp2
e3697bc98b8d10037ef968932e91009c
5d44cd17b1afa134b6a99724e45f3b67dbd4fe28
99121 F20110109_AABQKU doh_y_Page_073.jp2
4d696e179a39b349cd90b6300b4b9845
5a153131ac7518143ec327849a6c5be75537114d
124923 F20110109_AABQLJ doh_y_Page_112.jp2
2a5bf31d822978915d7823f1fde1a3bf
34222359fce4f96142fd0a5387f6c9ca3c96d17e
120982 F20110109_AABQKV doh_y_Page_075.jp2
309a38a23ed86e1943161610340a2a2d
cfd7e0e767c969f608f6b8c4fd22da18dd3b7cef
1051906 F20110109_AABQLK doh_y_Page_114.jp2
6edfc127e11df00978fee53dfa65a83f
67c31806229f1caf0dcda0cd8dd845d58bc51de1
102670 F20110109_AABQKW doh_y_Page_076.jp2
451a181ba28c5c2bb8395365750464c8
9503fd6b146ab1a81559a5a150c174f542b19e5e
115649 F20110109_AABQKX doh_y_Page_081.jp2
45405510380e9f48f057ebc5e5fea4a0
0fbb9bbaefd51538015d377cbb63b42fda9c946d
1051930 F20110109_AABQMA doh_y_Page_150.jp2
e78476b97d7c8f29e1d331a8d8d3398a
5809c7b4e112c9de23cc37704f251377146a9ad1
1051974 F20110109_AABQLL doh_y_Page_116.jp2
13fc3bd8d7761a39cde5337adada4a2d
35d6f08f1f360682d2f9f185c502e7bf5f10f725
118578 F20110109_AABQKY doh_y_Page_082.jp2
e16cb162f9cfb1b256397f479f68d7fe
dc7aa576f7b7c4e5dff2608bae949ec85ca8ae51
145266 F20110109_AABQMB doh_y_Page_160.jp2
8880eea590e7642b5c33c473e99ae0da
cb674bb6ad919b7f5deff351f5ef814f67889afd
110247 F20110109_AABQLM doh_y_Page_118.jp2
7f6300ce38ca7cfa148060b7eca6aa9c
5a1a5c1ae82767c18f5d8966a3419f0d79e84d12
89393 F20110109_AABQKZ doh_y_Page_087.jp2
1597124d35d9708ce6e35a98f3ec9983
3bc2da0862298c7b1ee533b1278854f112dececd
29532 F20110109_AABPJA doh_y_Page_112.QC.jpg
95ef5af577f31af9ae6a4753776e0683
e98ae2637debac2b64b558f1f883bed3b9c7fabb
76732 F20110109_AABQMC doh_y_Page_163.jp2
dfe98d804e5715e917830784fed9a0b3
69f9a496f6ade98dbf3410e068aeff676a208c37
F20110109_AABQLN doh_y_Page_119.jp2
618abfd729a26da82e544138abe0c8df
7507923ace84d4df93bb4741973bfca438c48741
114342 F20110109_AABPJB doh_y_Page_024.jp2
c4e81931a6373de010e62fd2ac55057f
08ad3e2b939d1c1f6993b16887ba183968da9d33
F20110109_AABQMD doh_y_Page_001.tif
55615ebd23c16179bc13fecc895d4446
9126eaaed439af032e3092bbe8b5e7c2fbafffb1
1051982 F20110109_AABQLO doh_y_Page_123.jp2
cd8b650576c1535528c258c19da59d62
1fe5194fb851538f26e5fa7c5a54a55d111784f9
6946 F20110109_AABPJC doh_y_Page_112thm.jpg
db598e107266ce2ae62ef4efd38cc6f3
4afd611f135d740b513e2c8df572a05dc86c5ed5
F20110109_AABQME doh_y_Page_002.tif
61afb80929aca483a97da1c48100d7f0
a53cc794cbc16632ebfcb725a922d58caa640660
1051973 F20110109_AABQLP doh_y_Page_125.jp2
dbfeea57116213664360b39dcd0e7722
ec60bc39765d1d0b421a7d6ef2823df56d4dd4d3
51537 F20110109_AABPJD doh_y_Page_123.pro
132fec758bc30bd9fa5ddf65b00b0c2d
331d2877cb4222e679a2de0208007687932e332f
F20110109_AABQMF doh_y_Page_004.tif
18e22352a08ef5abd90434175e737092
56e9c9b78c069dd7fea156565dce087119a5be7c
122817 F20110109_AABQLQ doh_y_Page_128.jp2
51e7fa5905ee25c8ac39374a4a550ed1
6dd02ef8d32564f58dc0e0f58994b268dee8d754
2205 F20110109_AABPJE doh_y_Page_052.txt
9d4c7dd1436e957b640759ae3f36a830
40f4ee15a2b179bdf78bef31f62b6ce79b1c0364
F20110109_AABQMG doh_y_Page_005.tif
c34766931e3846a02e8e8a945bac88f0
59e1d5e8b67bf1b4bd586ff03cb7e891be1e7a81
30151 F20110109_AABQLR doh_y_Page_129.jp2
417af611da9fda9e28e5e1bf4c5d826d
230e65886c93dc323ac621fee7c246f5a4b93c8a
56804 F20110109_AABPJF doh_y_Page_039.pro
1239983a6d18bec62141b3ae7c13b19e
edd91489618e1abdbd20a9f00fb7080969478bfe
F20110109_AABQMH doh_y_Page_006.tif
5328cb495dfa8452689276184b01ad87
1b79a46b7e582c00c4a7f84bdbaec1eb44c540ff
99987 F20110109_AABQLS doh_y_Page_130.jp2
8fd2e4f5ceaa1fa9535f58549002e6a8
25d404e0260e55e3e45d5dee13d445957aef8500
87458 F20110109_AABPJG doh_y_Page_117.jpg
963b45fb50b8d0fea3466e40f1fa6a07
089d48d94e66ce4db368ccf44a336dc8529bb688
F20110109_AABQMI doh_y_Page_007.tif
88fd4d02ccda72b84407f9fd90588ad5
44428ca947fed1b8d58ebfd3670fda0838bf1bff
124117 F20110109_AABQLT doh_y_Page_131.jp2
2724bf15e0d4ae16aebe36c436f0a90a
cf855a713a80090ebba3c2596ed3ac89cff10361
29300 F20110109_AABPJH doh_y_Page_158.QC.jpg
5ee4a5b34392cc92d77acb9bd1735399
e033ebd375f56b092d993400e550d948a22f0c63
F20110109_AABQMJ doh_y_Page_010.tif
e349630a9ea41d8765125e44bd7caf6f
e97dfae7eb888c0926616843d66cf2b4bf892db3
93947 F20110109_AABQLU doh_y_Page_133.jp2
6dcda213599d5ff70d0f86de3e3dc479
d12b4ba92bee93cd37484f5147e0dfdf75de7432
92913 F20110109_AABPJI doh_y_Page_103.jp2
da05e5016fc8afb24de95f720a8fae44
a3ff59ec3c51fd91ef131073056e7187bc6038f9
F20110109_AABQMK doh_y_Page_011.tif
011309ef504a0dd776f6db3d7b5b2bef
e8f5ff5ca6db46b716f22cf1cab3a987d6b3cc91
F20110109_AABQLV doh_y_Page_136.jp2
589e35c09ed8371b49c92fc9a154e6dc
70eb352466b4af050e3de8dbd76d34f958a968fe
6082 F20110109_AABPJJ doh_y_Page_054thm.jpg
20c5c82b47bca321aaec757ef648929c
55620f758faed354843c3e82d0d6d1ba084ab4cc
F20110109_AABQML doh_y_Page_012.tif
ab5f482abe9caf7571e34f77cd37b1a1
c221635a87875d0b3fdfb21766723bebb796cdd6
855515 F20110109_AABQLW doh_y_Page_137.jp2
3d147a74052a1e7febdc66b8942b49f6
c2d2ee6d1803a080f506d4188771da12b23a5dfc
F20110109_AABQNA doh_y_Page_038.tif
8896e298e77deaa6bc0e27dedf61bce4
8e66c8ee454ca97e817c462e8b1b2cd6db7bacdb
28837 F20110109_AABPIV doh_y_Page_111.QC.jpg
58427ba1b76d9d6df4af8602e4552a5c
f93b9b691078f0eb021791539bcc94f1dd3ec218
1051928 F20110109_AABQLX doh_y_Page_140.jp2
59c295b1b052d35e85f10f0ce8a75aef
8f78b7b6cb1143431d1ee74b3d1aec5fe14598d9
F20110109_AABQNB doh_y_Page_039.tif
c3c17922138007abe58611ffc447bdd6
c8a6d810bc2130c958b769c3e2839bf555c6022f
27076 F20110109_AABPJK doh_y_Page_135.QC.jpg
d64601fd12c16d9b2c35d7d4a7640c74
772c357e4cf9e418218369efaed9498397ef6246
F20110109_AABQMM doh_y_Page_014.tif
17d967d83d1cc02775c621c2e30c30b8
efb578c5869e5a3810866f8568603b29cbd3358c
58490 F20110109_AABPIW doh_y_Page_134.jpg
d8481fee864cc92ab1eea73fedaa4bbe
88d536bff0555dbf1ed6a1c53b4b88db91b9e20f
1029418 F20110109_AABQLY doh_y_Page_141.jp2
1bf50b91ce9a243609fffbaf60aa00d4
e0c1508d0b51a1a0d5264944ed24915ba9f33083
F20110109_AABQNC doh_y_Page_041.tif
6c3ad1b5d7acd389585fec75ecdf08cd
fc573607e1518eba5febc7f60bef14f1e6404a18
4444 F20110109_AABPKA doh_y_Page_045thm.jpg
194bb224f5d50d57b8e2a48eede3cb4a
a9839e30e4e28976ce2c013ae13487bfaf953073
62043 F20110109_AABPJL doh_y_Page_020.pro
c8304d2b111cd7e16a7d8119c6657947
11ff0779b94b9470ba6c58fce020ff6906bc6486
F20110109_AABQMN doh_y_Page_016.tif
8a8230eb7f0150afc7f132bdeaa95406
394a10e9d15a5bd894781f8ea94474eac0e860b9
3690 F20110109_AABPIX doh_y_Page_013thm.jpg
a8fad91cb7d4834ffcf92476d21f28d5
b0b5c04c6f34197d7c1e0a976357a4518864663e
114165 F20110109_AABQLZ doh_y_Page_147.jp2
ab3f6fb8cc6b3beb03fb48445488af19
22b96dd0421864515d7574717c95a466310ca971
F20110109_AABQND doh_y_Page_042.tif
28a85989fa21697502d6fd015b2c6963
c4e3a647ce178603f7626df3378ffbf2ea321107
17027 F20110109_AABPKB doh_y_Page_049.QC.jpg
c467197d9488ae6105765034573f555d
8787ea2c49e631ecc763f82ce244aabf2d41a33f
2547 F20110109_AABPJM doh_y_Page_112.txt
18022c32be6e720327162842f0d4083d
6085dc8303352df048745b84ea73d1eace0bda6b
F20110109_AABQMO doh_y_Page_017.tif
6c69afdf103b37c0835a0c181c20967d
ad4676f18ff5a4bd3ada3ad27863dfe6137b4c7e
21413 F20110109_AABPIY doh_y_Page_001.jpg
9250ac5da3b1083551eae1d74ae4ed7e
ac28afa3caf738121127ce62ed5e925eb76c9d7d
F20110109_AABQNE doh_y_Page_043.tif
a05b24ded95356b73601372ab04551e8
2976ca6b0240fb5e527c7a32da026913d220fcc3
122667 F20110109_AABPKC doh_y_Page_126.jp2
7f07aa348e67f75d7bf6c7522cd9e1c4
b2a86d42ca045b3f29f3387d3b4f5f70416da018
93594 F20110109_AABPJN doh_y_Page_126.jpg
76ecd183389dfc0637698f22a0efc3ef
8a0abe40defd4f46923dcbacde8310d39575856c
F20110109_AABQMP doh_y_Page_018.tif
54935712e29db1cb676b8607f3b2791c
82e50c5be03fb3bae576dff20fba11469fa49986
31856 F20110109_AABPIZ doh_y_Page_013.pro
c5447eec24ef0dbf666e796377a8e399
ec087bad4249cb1b978620a7c031e1f6b29ae679
F20110109_AABQNF doh_y_Page_045.tif
dd124be8e740bedac14f3d253ed34a2e
dde60268b79a70c05d456e7e7d023477bc324702
52555 F20110109_AABPKD doh_y_Page_138.pro
362dc355912c9efb8b7ddd4dd890139b
d7e546a4609b64d51081e273f541ba6dec1300be
24432 F20110109_AABPJO doh_y_Page_021.QC.jpg
db60555a4afe913f586ff986de451ce5
af1d2c43b7498df86bbf224f7bcd12da53ad5bdd
F20110109_AABQMQ doh_y_Page_021.tif
36df6e60743469a9ab4a8b98accaa04c
6420839cddf64235c49c30ec6f5d5ec5b65a4882
F20110109_AABQNG doh_y_Page_046.tif
a26e8bd5845188cfa31323117eb8fd1e
e2b5bb639a9d0a85f5fffd4f9fa0b79741922bdc
2243 F20110109_AABPKE doh_y_Page_102.txt
f6e0f41d7b73b541fb8dbddbb8337491
87898835486b0d0cb361492ba715c23478eaae62
60497 F20110109_AABPJP doh_y_Page_104.pro
905d5a194e4826b687ac324f1be71441
d79d882b814526442ff5ce978b66fd5a23ef4337
8423998 F20110109_AABQMR doh_y_Page_022.tif
4cff8ff26d9607f8ba935692c89de43b
b713cc771ccf7c2dfbe8230059587d0a1a78b6b3
F20110109_AABQNH doh_y_Page_048.tif
dad5766e8c485d596f3c8393adb6a709
cb28e1434d62e0651f329f7242e2754399114b65
48868 F20110109_AABPKF doh_y_Page_155.pro
72005e655501d6f4dd709bf1611dcf4f
c14af294f51f159b8fd419f0138bb7658e8d935d
95363 F20110109_AABPJQ doh_y_Page_094.jp2
601275b2db8d6c19b0ea84f23223a686
dd6d751ab1c8863a4fb507743b66bba85420e867
F20110109_AABQMS doh_y_Page_026.tif
5b1133a2d3aa43a3b6ce896bb942e0a0
ffac25886775ac47a029f33ccbba1a157e4330a9
F20110109_AABQNI doh_y_Page_049.tif
8882beb6fd49c93128c5827a69068b09
b10ae20f32a9caeaf242851bc11ffc6d426c6873
46351 F20110109_AABPKG doh_y_Page_164.jpg
c104b5c71fe8c7d775df025793620201
0f75c65df9fe55369f313d26ab3efdf7b7ebb624
F20110109_AABPJR doh_y_Page_054.tif
4da75de456d239a351ddd18bda45df21
aaeb2b8f35aa840dfdb584a9f1a5e1bc14810ad6
F20110109_AABQMT doh_y_Page_028.tif
72172c0fae81a227720c95c31b09adc2
0b063aba0fff749e9f008993302c7bab3d94feab
F20110109_AABQNJ doh_y_Page_053.tif
2cd96eb28e4e1be1f5bce2d35913bcb6
e4dadad38def4e9ca023e8aac52f31ab165663c3
64610 F20110109_AABPKH doh_y_Page_042.jp2
95b8020b8ef64c9201e080b8c5f3d55f
93ffb2f214455ff2f461ac5f1c2359b39424f130
75527 F20110109_AABPJS doh_y_Page_050.jpg
ec64e6844c165792fa26b6148d188729
e8178c631b1dfc60001061da54c33b133381132f
F20110109_AABQMU doh_y_Page_029.tif
cad8639b771073a342464ba3bf433fc8
3a57f4fb42eb6430a672c999559c2bc7d21774f2
F20110109_AABQNK doh_y_Page_055.tif
f997fd730dbfc5d36ec87122fc0dd38e
3421b1af371f481eecc07394e784e38dd6495aee
F20110109_AABPKI doh_y_Page_051.tif
08d0f788d91997271beff41fb354644b
e162cb445f60eaf7d35632550e3202d0de785022
F20110109_AABPJT doh_y_Page_058.tif
b264c26e8bfa9cea952bcae68b975eb4
415d2970dc6d3ec6441b15b69947fbd262fd0cd7
F20110109_AABQMV doh_y_Page_030.tif
b7b106f4f2884074688fde609b7c2122
7136e6fa05e27449bf2d0c718e49cac2c2d49e4d
F20110109_AABQNL doh_y_Page_060.tif
37d1428a154ea520113d13ee9ef11448
46f33419542014bc598b6797c9609a7620e22be1
24296 F20110109_AABPKJ doh_y_Page_127.QC.jpg
9ac70742e04ef4247f5b89bf571b7415
787b55a96efc0c090a9e7432f4ff07cf3f4fab9c
6169 F20110109_AABPJU doh_y_Page_125thm.jpg
72f8c8bdc4c45a888e01ad375fd6efa6
caf4f1e8ca7f3e9affb28b7da0af488aab9344cb
F20110109_AABQMW doh_y_Page_031.tif
b87c7e9fc6925ffcdfc475e69c611f9f
cc6dc9fb6e593cd149ff7e2e59a5fdf9c18eb5e2
F20110109_AABQOA doh_y_Page_096.tif
5f38ea9253e97f8ea0802e3ae306f6ef
ec6650e6935293bf47594061a7e4af4920e30108
F20110109_AABQNM doh_y_Page_062.tif
5c60d597f67c1a898aa8831431c6d954
c8c49a9ab98c1b7f6b8c9f564ece9f78a2a66e45
60325 F20110109_AABPKK doh_y_Page_164.jp2
26b464775920e95096429d66d1812926
621e2621a0353440b9c503c5df3095834dbaf60d
1022540 F20110109_AABPJV doh_y_Page_070.jp2
faf2b476f1f6079954215e379b86965e
5f7549c7d35fa6912a3e0b27ff5d138655f0d370
F20110109_AABQMX doh_y_Page_032.tif
0dc351453f7422b969774edccce839d4
3cb1553317100582ef9bc2b62bd63328cd07f640
F20110109_AABQOB doh_y_Page_098.tif
20068ef2445ff9f86a475156120b4233
0c468cde9f1f583162f22e05217332dda1a8d2d3
69257 F20110109_AABPJW doh_y_Page_159.pro
14db05f7c52aa813be887101efef3f08
998090dbd01748f48ec1cb1e5def9347fb4e6840
F20110109_AABQMY doh_y_Page_034.tif
630abbac65c647a5c1c7fe0c94358c2b
ab4f6a59dcdc8588a4b6fadbd58acc9842ba0a99
F20110109_AABQOC doh_y_Page_099.tif
3c49b9c3c7f350488982e0bc1c8cccf2
e75239fe1e9e607141040c4873232e2b0894f3fa
F20110109_AABQNN doh_y_Page_066.tif
5c0462af85f5e54e6cc13475a7e1445a
f85d5fa6ff98056d33a6b88843009a8841d2b274
60802 F20110109_AABPKL doh_y_Page_009.pro
498eb4486c9f6c33574fa6f53525a166
a4804a3a6451a11838ec743fe21ad8b1cf083a85
118092 F20110109_AABPJX doh_y_Page_086.jp2
53ac63b9de938d5df01f89806ea6305b
3e04dbae233402c624b85cbfa9e1e32e9f8b0372
F20110109_AABQMZ doh_y_Page_037.tif
e5976108cc48cdc97d3d9d0132baa18b
c8f24a8eace295dd1cc084169d22faa8b0b3a09a
6143 F20110109_AABPLA doh_y_Page_146thm.jpg
ba8d4db62931468f558328ac46f26551
d66480f98021a2825a02cf92b3e05ad8935f53bf
F20110109_AABQOD doh_y_Page_100.tif
ca028f44d9e821553b3f14253e9129e6
e78aeb3edf2659a480b2a34f31e9ae9bb1028645
F20110109_AABQNO doh_y_Page_067.tif
745d2cd21d09e88d17c5d9de5df10a9e
76bb37227be0b63632e1d3bc948771bc14a146ad
56522 F20110109_AABPKM doh_y_Page_090.jp2
e3675d1989a1a9bc64ceb9383e0fff94
515790b1b87530831d979d73b9be77a1234444fc
429 F20110109_AABPJY doh_y_Page_001.txt
252b066711dd0274d2300657e92a9c6a
5903e957c8bede5fb8531d61b61f00c9e5b1713f
6911 F20110109_AABPLB doh_y_Page_131thm.jpg
6487ddbe94c6087c2555968ea5265391
69a31f9cfe7d2547973789f926f602fed8578342
F20110109_AABQOE doh_y_Page_103.tif
11a2b4330a007420934e1fb65333ce2f
829121ae8140dcae53e29193321aca9b6ee9156e
F20110109_AABQNP doh_y_Page_069.tif
7d93d83354c3af5bd8e69715299abf94
a1701421b22c40581b1635cf684205917278c870
25241 F20110109_AABPKN doh_y_Page_118.QC.jpg
270e960e3758119a422225c9e786e8cf
90d509dfddc1b47e03c1531fec7c61d88251e10e
748599 F20110109_AABPJZ doh_y_Page_134.jp2
30566e2277a870cf12fe1240c4551047
39c487cfdc66eebef16899d09bf05da422864c74
23871 F20110109_AABPLC doh_y_Page_067.QC.jpg
55c089a1865b1ad359f1656506d312a5
ce3dd748b10ea34a7ea88a30ceac50c759bd8af8
F20110109_AABQOF doh_y_Page_104.tif
e8588e57dd3177630eb650819b2a971d
7945ba4f30d45b6fa5527981a6c5cd1902b8c0f5
F20110109_AABQNQ doh_y_Page_070.tif
7e4d254691065b607b377597aa02a273
a6e2f755726f5f1bf3a2c714885675be6b9626e9
80432 F20110109_AABPLD doh_y_Page_070.jpg
535fe940bd25d040b73a1f2af5b071d2
bed405cf365b6a5af5c7b0e764643a4d0c4a58dd
F20110109_AABPKO doh_y_Page_009.jp2
a70de23f73f506da778a878fd83577b0
bff11011bb0cca61eb5162d157c470431cfbd8a8
F20110109_AABQOG doh_y_Page_107.tif
543b1564dd2944674ff9d5c8eaa64876
77b02970b912a56b67c2531d8d6dc3594ac84ee7
F20110109_AABQNR doh_y_Page_074.tif
205574365ce12709f8d1b4a73575c14b
1b1f24273d83ec8dd2a9cbadb079b7b8cc58c4fe
F20110109_AABPLE doh_y_Page_113.jp2
2b220e2e5843bd70998c0bba8dfc3c70
93d9632b9ca0d73cadc2945769a11ce468c9f2ce
74292 F20110109_AABPKP doh_y_Page_094.jpg
2275c68ad2302003fcc0e2139f281efe
fb14159ee24d311e74852e07a76b8b8ae3d2b443
F20110109_AABQOH doh_y_Page_110.tif
042003037375c9560fddac1ec5011d45
f12c9d17bace5c2549a672c2c1f3f6f62ea8f5ae
F20110109_AABQNS doh_y_Page_077.tif
5ba2f22baef9418a024b169034aafe33
dda60a6fdae991f7c1a980aa4f87c8fac06f9ab2
2548 F20110109_AABPLF doh_y_Page_110.txt
cf205ac05d16e56578130018dc81b4a9
c02175d05ae3d764113aef635a1e9ac5263f51b4
F20110109_AABPKQ doh_y_Page_108.tif
7c6e1047b03e41c8f2409a44f1a59b21
874eeffa6f7fc29dc1c3e7585c1257504a3570a8
F20110109_AABQOI doh_y_Page_111.tif
5fbe6615980034e299ce2b664852f7c3
d67442d535f3d6d1d66bf2d8dfed5bada7b98b4f
F20110109_AABQNT doh_y_Page_079.tif
551ef26283ed18dcac4da1a65dbf8178
6277399a9e3ad4ff67ed51b3b65dadf9c82a5358
F20110109_AABPLG doh_y_Page_078.tif
8bb60f72ca7c0312eca16121677e132e
fd4b9c22998c855744b14cc49a3c7afacbe6afaf
24728 F20110109_AABPKR doh_y_Page_093.QC.jpg
82e0cdd52a5ef7331b7afbd76356cb64
cc9a11ad2270b82563449896b251d97c29dbcd14
F20110109_AABQOJ doh_y_Page_112.tif
4104c3552f4b27a8004451a2a571beb7
843ef37ae6250c982ec5635ebbc7148115a8b98a
F20110109_AABQNU doh_y_Page_080.tif
34119d9566c1f25a3b112141dc47b1ac
64e74df0c4874075b6dc58584fd873398e47ff25
105870 F20110109_AABPLH doh_y_Page_132.jp2
f641d20548283bd77c66a38f38faf59c
9132b2dc5a4cec86ea894d235a58201d2685461c
F20110109_AABPKS doh_y_Page_134.tif
b10e9c6e9febc1def3ee903fd93c0d80
1ec18aa393d6ccb07fe09dfb70582a28a3f98435
F20110109_AABQOK doh_y_Page_113.tif
7adda1b75be818066e5245cd15fb1142
5fb134791524517a59fcfceeac61859769038ac0
F20110109_AABQNV doh_y_Page_081.tif
29ac6226f79684274a5f28f1bcad2390
f29dc984d66421c7af7d3d571a62754f0bbbf165
F20110109_AABPLI doh_y_Page_163.tif
050da16b8a5f183bf855781db89a9e27
26b6484f00dd2918ade89ad22092bcab1a0bbe61
96282 F20110109_AABPKT doh_y_Page_080.jpg
36e4e68c2000166841836b7bcbc20c21
d6842b62114797be7f0021ba4078c6d49cb03ea8
F20110109_AABQOL doh_y_Page_114.tif
1d131d917b194655fec332abf224487c
3d61a435ebfb95bfd1b4a7d7072e57c2e7c6f6da
F20110109_AABQNW doh_y_Page_082.tif
13d3a38cc9c8767492b9c850c0235b4c
0539b947832dff10d7124da909cd89adeaeba058
26177 F20110109_AABPLJ doh_y_Page_036.QC.jpg
30712eddeca5b2055794ac118790d01c
10e652d3f3503869ebe96bb1509caa703117346f
F20110109_AABPKU doh_y_Page_143.jp2
0b8e3af0022af5dd27a81a1861f19313
3976428cbd1026e09f3f6528b0509b26171b762d
F20110109_AABQPA doh_y_Page_143.tif
611b916948356b5d27a14161490a2517
36f4d3c1d6887aae4815c30e589763106db63a9e
F20110109_AABQOM doh_y_Page_117.tif
e9b6acf6f2148562edffd155f89f9569
6eba0dace616b69379cbbd0b75b5a8c98d3ec5fb
F20110109_AABQNX doh_y_Page_083.tif
a4d2dbfd6d7bec5a802b860c42e33488
d38fb5d9da0793be56c47668ba72e075b4822b51
F20110109_AABPLK doh_y_Page_142.tif
cc0e80aa7c915310fc6145f43806b901
0986be9cc3710c5b0e94235c0e2c7374be14e6fb
38912 F20110109_AABPKV doh_y_Page_148.pro
e36d5a9bdea6f78e78864f3b64f0e6b8
5fd6a6595f325333ab3af7fd036733dd8d9b67ef
F20110109_AABQPB doh_y_Page_144.tif
d8d913209fa316ea452a630045fc0613
0e48808629ab0bf855f9cecfdcb93100c529e4de
F20110109_AABQON doh_y_Page_120.tif
d4e6b840eb5e65a9aac423f63bcfcf48
561c5c0ce3eb2c37b4eac3b49c22ea21ae4f2475
F20110109_AABQNY doh_y_Page_084.tif
50003e3e602c3a0db7ef200a41629a97
770eee1679916ee2738cbee1f93b29f4d0934bee
5554 F20110109_AABPLL doh_y_Page_002.jp2
549f65b014e2283bcffd0aae3c2f3cb6
fa45a7c951dc646ca74130520642b9a56c135db3
87370 F20110109_AABPKW doh_y_Page_142.jpg
0d939482e3560121e497788844c6f3fb
30c7290b8094f0700961efcb592b5f482df3db66
F20110109_AABQPC doh_y_Page_150.tif
388ed003bac86456d89a97c15cbcc28d
c1897201d9844f3b2c58c358e281a75e04314cad
F20110109_AABQNZ doh_y_Page_095.tif
21f29ebf6325e7f633372624c4de520a
f44a719471bd36aee4ab8639e71a77a0c4c5fa40
F20110109_AABPMA doh_y_Page_119.tif
5dd37e69b04964a81d975ba59ceb5310
3b17c27e54850a56d6cb40324435392e011abed2
94933 F20110109_AABPKX doh_y_Page_017.jpg
1029b8066d3a75e2320a785377d258ba
b965ca18df862179216d7705184bc26bd52b9d5b
F20110109_AABQPD doh_y_Page_153.tif
9039b0ea97c592f2c545ad1ee88f1559
cee60d3681bc9659093e0bcf605a99dc8c4aecaf
F20110109_AABQOO doh_y_Page_121.tif
2211f9e49ac05f2e500ee03c8a26abbf
52b36824751ca6931abc96741461c39e9c58e03d
F20110109_AABPMB doh_y_Page_020.tif
8be10c470d901aaea6bb563b3990abc9
22ee7e226e129bc832636f6cd64fda58f5046472
29276 F20110109_AABPLM doh_y_Page_020.QC.jpg
d41b2ec9640615e3ab420930a2abe924
28676a4af8fbb676a7edb7e523a7d21a3a49f99f
F20110109_AABPKY doh_y_Page_115.tif
fd52b37cb235b7447291641cd70efa52
87a5a49f7ad515326030e1a0e3428bfe0e6dc194
F20110109_AABQPE doh_y_Page_154.tif
16c99fbdbdd52d42a70e3668807e712d
c284b3e4a5418464e42ce9a1d1d5db3e911da042
F20110109_AABQOP doh_y_Page_122.tif
ccb0332db0e9201eaa240920071c4533
a7ec55bf3bb5ae2397d4de726fe53ea5d538f9bc
5841 F20110109_AABPMC doh_y_Page_133thm.jpg
ce4c227dc8174a8014890128e4e66380
6a277917c957770c234a1c16ad12bd37fbc9b4e8
2209 F20110109_AABPLN doh_y_Page_038.txt
db2c10fec7399730936d4d553295e5e4
ad9c846cda63a98ab220b44418665ed7363bb501
F20110109_AABPKZ doh_y_Page_147.tif
fa228b077a1236c5fdfec470ce84e480
a257534ef6f0905dd7a7c84f7d466687adf649f9
F20110109_AABQPF doh_y_Page_155.tif
16077f2a69cf733f03bcef4b4fa48801
680cdbbb5c92baaebc09f9fde5b3460377d2b954
F20110109_AABQOQ doh_y_Page_124.tif
e0a5b817e6b0f88650dc9153b4a91fd1
102d6a705a062ac560358606456e2b30ac0588c3
5648 F20110109_AABPMD doh_y_Page_061thm.jpg
06665c20d11b92cb926018883852afeb
540f718185134ec4251c4339f76827eb1a08932c
2131 F20110109_AABPLO doh_y_Page_062.txt
1613446a0881f9279b2275ee5f04ff43
5384e58e00b7b31b1373c91399e2a04bdcdf06b8
F20110109_AABQPG doh_y_Page_156.tif
6288903c0678706605b007e01ad73501
267fb9a68f6676933b92e252d057bef3db1652be
F20110109_AABQOR doh_y_Page_126.tif
a4be6cc76c232c935bdaf6885fea6fcf
5017497ac36eeff4d063b8aac70ac17c9b2f03b2
77385 F20110109_AABPME doh_y_Page_101.jpg
e54b13fdd0f3d93f1a9f510da64bd5c2
4f902ff6d9e010f452ff743513144731797d0665
6906 F20110109_AABPLP doh_y_Page_110thm.jpg
4a67ff942bc24c4fae1322f2cf66de3e
5ace997200720ebb0ae2ae7a14fa795160935577
F20110109_AABQPH doh_y_Page_159.tif
d1daa5d87116b2f2c69247774793a054
700af1b17f74818f1c35dda1145e2f875db04f31
F20110109_AABQOS doh_y_Page_127.tif
7caf96e75302db0c4860b5dd2146e24b
8bcdbaed69f61ee18baa80dcbc9be9d6b5fb16f9
5083 F20110109_AABPMF doh_y_Page_048thm.jpg
db7ac2e730d1759e0b43b157feeb20e7
18b81798a70d00c4d48d93fbeae60ca2673ba4d2
5815 F20110109_AABPLQ doh_y_Page_087thm.jpg
64522e836c2161aa63f4904fae82640b
2f2886472eec5dd5e366ad11397b4c7bbe1fa643
F20110109_AABQPI doh_y_Page_160.tif
36dfac207322877ff7404a752987f183
27bc2de624ce622b0ec4363ff8ab7be7e05e6e7e
F20110109_AABQOT doh_y_Page_128.tif
e77a65ffec4789709c34d0cd67e58871
01db05c4bb912f6b82da705a69ed20fb83845bea
2064 F20110109_AABPMG doh_y_Page_076.txt
2fbd6ae47c026fb2e758aba1c8ededf3
ba3f7e7fd69b2f3fa4d19983386753d6441441d9
F20110109_AABPLR doh_y_Page_036.tif
65eced1890d8512fd379cb1c1a541977
36d23ffdda98b8fd06038c5e64264d4c53a598a1
32942 F20110109_AABQPJ doh_y_Page_011.pro
a564a5eb4567ebd9caae0d5acf021ff2
f4103fc02c7f1f3d780c683276d695efbb1c8a56
F20110109_AABQOU doh_y_Page_136.tif
5923a3805e9e2765201b904f872bd9e7
bf172f3b13663be279a3389f59924f7cdfdbb9fd
66700 F20110109_AABPMH doh_y_Page_154.jpg
3c5a4b4d0123416470fe632df6bf73ab
7265d1ceea03671808ae9c9cf509cde28e92d6ff
2510 F20110109_AABPLS doh_y_Page_099.txt
044ab1f620c222f2039a770e42452a39
9db21fdb5ba0e9681a685a0ca411250989c13030
48392 F20110109_AABQPK doh_y_Page_014.pro
360ea8d1ca4f04bfde39239397f4dfd4
8e6774bbbb3c6ff7cdf8238962f6385de2fd9ae7
F20110109_AABQOV doh_y_Page_137.tif
80f9d1d732ed71815def556f26a5bc18
7a13378916288b5bfc0700297596af5f44972e25
28308 F20110109_AABPMI doh_y_Page_108.pro
b56cce4b11ee889b1d410c8c57e43720
c58d06ccef5a7b872bbc15c91f71cac503e1c3b2
63144 F20110109_AABPLT doh_y_Page_108.jp2
45e50c6a32a31f98e6d1aa42f589ead9
e4522fc4c05b4bedeb5eb3a0474a7f55154a7ab2
58555 F20110109_AABQPL doh_y_Page_016.pro
4d6673fc4d4790f7dfb3bd2c942887a6
a515a277945a72ebb0f2d43a611c3fab0bc6ff97
F20110109_AABQOW doh_y_Page_138.tif
880a48b0a27fd1877f400383ada280f5
a04a5ee4888c9c6939c80916feeeabaff30addcf
27852 F20110109_AABPMJ doh_y_Page_121.QC.jpg
31f3c18a6fbbcaa70f9fad2f46f5bac6
3b4e8c573c2ef360be0c8079cbfb451d678b8b88
26886 F20110109_AABPLU doh_y_Page_096.QC.jpg
6cccdd4c7cc6692d3d1f5f2a62d55052
7f0b9d8fa228ec5b631596c9d747506b00ef755c
58212 F20110109_AABQQA doh_y_Page_046.pro
5ea3e55caa44f31d1f550a7715067ef6
ad2d6c7fbc7c60e0252f26d2da3dc3aeb89860e9
58307 F20110109_AABQPM doh_y_Page_018.pro
60d88334896daccb6de2bfc62171c48e
ed0f1b4d3258c04eeb80c1b590a3f5865c484333
F20110109_AABQOX doh_y_Page_139.tif
a8ce97c5cf3af4e69662cc05082bea71
01cf41f3ca76df3120012658e067bf84856e6117
F20110109_AABPMK doh_y_Page_064.tif
b6a83b670d8362020d4086ea42bcd1a2
503381516d6ef4fdb93329fd6cd0d610d4008508
121898 F20110109_AABPLV doh_y_Page_025.jp2
3135d4a8f53cba740f936f67664cb002
bc94af7567af4b9f50e893261b53e9295741b9ce
31871 F20110109_AABQQB doh_y_Page_047.pro
1bee14640ffdc1633a5f2297cca78a39
a1bad1cc226d1023ea33639db95d293a4d438bd8
60009 F20110109_AABQPN doh_y_Page_019.pro
1a95320127ca3ead720f0ed348b97561
1ed0d9b892f8e95630874e116a7e694c282ed7f5
F20110109_AABQOY doh_y_Page_140.tif
1957ea5d6b5701297df6345708075f8b
5de24f31d0fc6708217414602d2cb3acb1dc08c8
59301 F20110109_AABPML doh_y_Page_066.pro
4ae36d1326021a17ac5b87935d7f49c8
6d63ff0a74889ab8aecdca3dfcf67dee5040f7ac
57618 F20110109_AABPLW doh_y_Page_035.pro
09e6cb1be63d89c148bc38f2f0a28693
4fbb5c43fe7fccc8d6adb2519848113805ac5687
34308 F20110109_AABQQC doh_y_Page_048.pro
ed452a37df2ca311d17cf04639c4f3a4
da6e7285f4deaf7838d2c9656d2bd9f0a8d287d7
55944 F20110109_AABQPO doh_y_Page_023.pro
aef6cc3cfe88ec839ff4fcde0849a7a5
ed8e25cd0f4886e3a138f5d7b1633505fcc407fc
F20110109_AABQOZ doh_y_Page_141.tif
23f008d0843fecd8e2e66f3a3bbbad28
dcc22d553f1cf7ce643c22f714f8d04d0e31a9a7
2716 F20110109_AABPMM doh_y_Page_040.txt
4fbcb34c18b52ab3e08ff180495ce68b
50bddfc9e41fc91de270da3faa9f62c7ec31137d
49169 F20110109_AABPLX doh_y_Page_109.pro
173724f646523e3949fa62a3e4abbdda
196c5ff7b1f2c7591c0105f820d45aac3ec43052
97656 F20110109_AABPNA doh_y_Page_050.jp2
333deb108be8c4f689cae2f285e7b192
9d7f0036f4d35031459f48d9dadf4ee76d78068d
34902 F20110109_AABQQD doh_y_Page_049.pro
16a9b2381a11b8bb94f2ca9d44007afe
e1360b9dd445aa1faed1477c8b450b1f682c39f9
47737 F20110109_AABPLY doh_y_Page_050.pro
3ec8f63270c118d1e4d7efa28a6f3cca
d6a6c0fa95a9cb9edef3df636fcb940816b5b9aa
F20110109_AABPNB doh_y_Page_152.tif
e54ed31cec2a4e0ac0443a3411635fb2
bea69f00c2224f8e601223da0da105da2211f349
61901 F20110109_AABQQE doh_y_Page_051.pro
916cabc73dabb00f947d57ce4ae4e1e0
c358429721ab7125e75893c841ed4486f804b751
61967 F20110109_AABQPP doh_y_Page_025.pro
57efdbb040176308978b4350a1c65992
9576334770793b02c2f7516a77085a2cd6dbf7e9
51308 F20110109_AABPMN doh_y_Page_092.pro
18df56e134fea10108a7c6734029cb01
cc2ac70c361b714343928d7d170ae20841076a40
84510 F20110109_AABPLZ doh_y_Page_149.jpg
bd22257473203de33e4613a927f32d24
2b6aed456318422f7261533290c5f64b4a12679c
3269 F20110109_AABPNC doh_y_Page_072.pro
27523054e0219b3ed87f47a6206e8096
790cdfdfe2b10efd8954c7d165ef9b71158ef309
54620 F20110109_AABQQF doh_y_Page_052.pro
b7d6d81543aa223cdb22cf3187990086
a82e709995cbfd5d413ae0d06680097eceb13ac7
62221 F20110109_AABQPQ doh_y_Page_026.pro
3f391067a573a67a5306dd86698ee7a9
57b91808de8cacd4958262353c9a4d9504ee7d90
114413 F20110109_AABPMO doh_y_Page_035.jp2
08809bfde396c75beb7f24acd1a56a52
88139109d08192754a09f7659b1fdcee6320e59c
F20110109_AABPND doh_y_Page_101.tif
c627fe28a56c2a95cd69888914c39d93
0b08575c9db0d0f8130df6c12460e0c95a253e2f
62581 F20110109_AABQQG doh_y_Page_053.pro
3fc9c6a756b395d59b162d907a6d4677
f40c003306f3b6744a6e3421a311824ae3b27a9d
F20110109_AABQPR doh_y_Page_029.pro
019eac72c1821ab9d3d7d1f72602cb59
2a2e553de00872d82a3382a1abcc053636c49903
697 F20110109_AABPMP doh_y_Page_042.txt
3721a99aee8174d11efa52636d9d72f6
1ed65f454a5aad597213d91cc416571fc493abcb
F20110109_AABPNE doh_y_Page_125.tif
46c043675608ab476f3a135db3c12995
dbca58f1019415e4632a00224b7938b825b06600
53094 F20110109_AABQQH doh_y_Page_054.pro
21869133a524733c5b69a1c83c12f9ad
c1d95f00f23b5cc83a208cb522de6dfc76ca6c0f
53511 F20110109_AABQPS doh_y_Page_031.pro
9b1356c796006947de462c93f969ef20
4aa0ad8761ed8e8fa30b12f79ff3a5a86a933d2a
61527 F20110109_AABPMQ doh_y_Page_015.pro
c96cf888c9c955b0ddc5d25741b7c5ab
f9d9694a9eecd56bd8af83c3a938af99475db0db
1055 F20110109_AABPNF doh_y_Page_090.txt
bb9202625315e17c2b97ba3ada6fa70a
46344f1468852f44b2ee6bf6aed0085ae0cf851a
42578 F20110109_AABQQI doh_y_Page_056.pro
0112a8103408bfbad089cb0415c30358
f2acb09b430ec767be9cf9df958d57fa0430f06d
44005 F20110109_AABQPT doh_y_Page_034.pro
c7c62c1e1cab72dc3b29834d276096a9
8c523278287521119433ada953a3477e6e7c0e30
63671 F20110109_AABPMR doh_y_Page_080.pro
6a3eab9e6fa732cdd31238a27fe1f823
723e1bd739b4d8b1cc4f78982aeadc172d9febae
2072 F20110109_AABPNG doh_y_Page_004.txt
835389aaaa7baf5c6c34e315f709b619
6efbffa0915e14d1fb7e8a684fac2be188bbc482
42288 F20110109_AABQQJ doh_y_Page_058.pro
bf29efdd929bb5342238defda30e1108
a236a7669668ce750e1125554093af7381576e64
61734 F20110109_AABQPU doh_y_Page_036.pro
9c6e9d9011444fc2e7cdff6bdd10be3c
143c97c61beeb8d7c6402873b38366c59fa71f74
6137 F20110109_AABPMS doh_y_Page_109thm.jpg
5e39f2fd33dddf2d9fb19ddfaf458a23
cb5fb160c0bb08f3d6ca29172240b674803b04a9
98919 F20110109_AABPNH doh_y_Page_119.jpg
8ff581696a105ab85f2e4116be5baa5c
8d1bfcdaa5b8d7902d584c46050d265b4a152e2a
42656 F20110109_AABQQK doh_y_Page_059.pro
cdd77dc699d3f3d261f5054016587d48
38dcf78d712688e6c351a1120030cf819ba12af3
56336 F20110109_AABQPV doh_y_Page_037.pro
3725a3a5fa45649ade7e2f1dd9b32d9e
e50f5eb007a98196766d1d5298d8a3fff06265fa
F20110109_AABPMT doh_y_Page_068.tif
246a8ada09275e05fc748a5b3a9c6eb8
383817c1d65d9cdd8ca7761745d4703d14a41557
92507 F20110109_AABPNI doh_y_Page_051.jpg
d93e6afd3b76580e2aaf6f80a30f686b
cc2f19e5b735a487aaedcccde24d78e1ce8f88fc
44052 F20110109_AABQQL doh_y_Page_060.pro
beb84b0ea3442d723b38c583c7279142
77211e94cf9db37e8c373a9f7e4050ff38a2398a
41143 F20110109_AABQPW doh_y_Page_040.pro
7cf666522f68c5682972353183761d97
72100001d006d9a6833d13c664656070e5625b6b
87981 F20110109_AABPMU doh_y_Page_035.jpg
404537b50c3d290894e7a9e3a8d1f67a
04313d07d5bb1248b104cc8b766ca8240984b2eb
3228 F20110109_AABPNJ doh_y_Page_107thm.jpg
b579a16f980bd9c37b5134094e14bb46
213b517a8060cdfa1f6d964b5e041917ebb99cb3
44276 F20110109_AABQRA doh_y_Page_087.pro
c658415df71a1e84f99f12a127a0665a
07d9817f7427c2d7ee122a487f24aa1ca0474612
39430 F20110109_AABQQM doh_y_Page_063.pro
c3ded8562b5b538fdffdc21ba58dcc63
fdd1088afc99c5c17ee495d062a90e85b51adf94
52953 F20110109_AABQPX doh_y_Page_041.pro
b580c4ca3cbe6587d7950fdd121c2df3
78466fe2bf834cc1a8edeb4f0ce62c4034b73999
58098 F20110109_AABPMV doh_y_Page_088.jp2
474e3350508d4d00097e19be97df4bb8
bf76a90e9b0288cde702ea73e72031e61c6465ba
57687 F20110109_AABPNK doh_y_Page_089.jpg
e990be046ec1ef07d210ecbd26f9f671
c62daf3833a4ac63084e6b0cbed86a2fd8cc98d6
36683 F20110109_AABQRB doh_y_Page_089.pro
35172ef2ba7a574957122a97c3e7442b
c61e89ad1ecce528be0cde152481b4e273f3bc9f
57453 F20110109_AABQQN doh_y_Page_065.pro
a83e42a348d60d22614683e1964a3f2d
336ac7bceb62d0ec3817391477af8ad8b745b023
61677 F20110109_AABQPY doh_y_Page_043.pro
4d49e720cedb4e6929b5bdfc8c834bf4
ffd3ec584e710ab804feceefc390b355705bc17f
79966 F20110109_AABPMW doh_y_Page_102.jpg
c0cccf594e19481c8852486652d4afef
b92a78226077210eeb443bc91ee7bab4e806b7c3
56995 F20110109_AABPNL doh_y_Page_142.pro
b7a28a2428a167d695a2836c82c0093d
fa02fd1d1693190b3a125ad2c4a65b87c7ee0487
21599 F20110109_AABQRC doh_y_Page_090.pro
6ddf9229b5450ee764f0173b210e94d5
37c7d1d2f2d52d882b85d842b535b0b2e967f0bc
52722 F20110109_AABQQO doh_y_Page_067.pro
82ff7af8fd3a7bc750c52ad1b955c32d
ea227a7aef2aa323c7f635a0c6762317562b09fa
29767 F20110109_AABQPZ doh_y_Page_045.pro
d727cdf79a5792fa5b1ef7641c27072c
4e1721e7513d7d7a9f7b37346c0c670080ee02b9
5638 F20110109_AABPMX doh_y_Page_033thm.jpg
05d758d70273f7346277f093707abcb3
9ed2916cf9201a564a4cafcc482bab2a88f60e02
29416 F20110109_AABPOA doh_y_Page_128.QC.jpg
f95847fe4d1c72e9167195d99594d7d0
8272d6f1f4cf9bd4d7efb0bc71c04d53e558fc09
6784 F20110109_AABPNM doh_y_Page_126thm.jpg
30e3185dfb218a9cd5b2e7cdf1464e4c
fba4fdc760a8768dce8cc3927ea8192f9ebf5978
50676 F20110109_AABQRD doh_y_Page_091.pro
5299029cf102ae78028ee60818f3a3b7
8e15dba36355304378576007568b02e64f170b11
50398 F20110109_AABQQP doh_y_Page_068.pro
2e722a9d3ede5db3191a161a33694c31
af5424c12f6bb3920c971ed9fcb77438cadba0a1
47480 F20110109_AABPMY doh_y_Page_133.pro
55d50ac5821d981729751a44038c3824
010db5364f5195476bc9e87dcec5a0724ffc0179
6680 F20110109_AABPOB doh_y_Page_157thm.jpg
6884679d6b7df56295ad9ee5323d4d64
db1e75e9d0725f1739a63e8138a983b7c1b0c533
81858 F20110109_AABPNN doh_y_Page_132.jpg
0040bcab290d0a43aa799daa9bcfe26b
c3fd5feff8d445c0b65f3721e44d3f01c320ed98
50866 F20110109_AABQRE doh_y_Page_095.pro
26a2728c7a258b36a38795ad9ea82819
124f8899a3d5888a3f082d6a96beb0826c8c03d8
6978 F20110109_AABPMZ doh_y_Page_158thm.jpg
0c30a0a45eab37f39d3571ff39c94ead
18ea148070f7981842999e6e2e6493b5969ecae6
F20110109_AABPOC doh_y_Page_009.tif
3b202cac549fe859a7263b3324cc20a9
6ea379fdc37f20699e60367c4f864ac04b4344b1
58486 F20110109_AABQRF doh_y_Page_096.pro
2d4086300382ab91c7be0c05dbce09a4
75ffbc8299c33e9e90771708e5165ed123fbf391
45615 F20110109_AABQQQ doh_y_Page_069.pro
ce8edef231de785e285b7a705a3a9f5f
0c428df84cc27976daa3757b6cca95d1726343a5
66647 F20110109_AABPOD doh_y_Page_162.pro
f389f2162e289122f7e902d4cc1d576e
6ffc2283816b298510fa93b6c8e82a8207421ef6
1887 F20110109_AABPNO doh_y_Page_103.txt
9f687a5f2091205bc58a3ecd25e47fab
09efb0fa4fcc3b32176bc90b4b54b0c91646a11a
61289 F20110109_AABQRG doh_y_Page_097.pro
c4ab7f004d018ea9f271e9a7aa1ff961
583c1637b3e26fbf1a8efee2b7b27b514704153b
51988 F20110109_AABQQR doh_y_Page_070.pro
3454a4cf863e8afdd37aacca2975f2e9
77132c5855122c501187475a9b050a7ed7cc9659
92674 F20110109_AABPOE doh_y_Page_104.jpg
134a9d897c706f3081869ffa58fc6cad
e3c689dc8a91a652ea65002e8f13c5c450e4249c
5771 F20110109_AABPNP doh_y_Page_073thm.jpg
49899279217f8344a3957177a193f21c
27fecdd769a3f4e0829de8ad902be4179d4f892f
56767 F20110109_AABQRH doh_y_Page_098.pro
d3147026bf87aac3d79d4fdbde26cda5
21b7dc8266e602e90e00dbf7156ff32d9618b73b
60876 F20110109_AABQQS doh_y_Page_071.pro
84103c62c4ace805618ec0e73c4daf3f
0d9aab40a01e805929c7bb03f4c52657152caf22
F20110109_AABPOF doh_y_Page_090.tif
eac359ff5c0e37e131435572a1bfbab0
b5047f87902da41fd182f1fb488e19b93041311f
1920 F20110109_AABPNQ doh_y_Page_061.txt
6a48b150eb511e697e3e84e1b323943c
335ff32ae50cea9eedefbee30546739da11e3ab5
47294 F20110109_AABQRI doh_y_Page_101.pro
c9787720a2b047d35662e06ac83ad48f
d63bfb0c81eed4f039a3b101d166a5459a1dbada
62223 F20110109_AABQQT doh_y_Page_074.pro
e8a693f18ce7461f08dfa16c68bd8440
a4e9e999eac99c0bdc2b2df8bf083a12d827c33c
63766 F20110109_AABPOG doh_y_Page_084.jpg
5687cb441d8fbc8fa1301293483bf560
e0d8a5bbf85713e2574082de9be8ca488b1b095c
F20110109_AABPNR doh_y_Page_164.tif
4b8b654deedf3c6ed85dda9a2b50c351
aa0d0a8e5911960722914868fa32eedb58455718
45771 F20110109_AABQRJ doh_y_Page_103.pro
3275642c4dffb41899717c4587ff7482
9b34f96e288bbc7df94303a90c08e01938425ebc
61423 F20110109_AABQQU doh_y_Page_075.pro
f7881a42f8999a0e4166cf35cbec4ab3
a45735e0618337fabf1f2f3d719eebb51289bd50
28809 F20110109_AABPOH doh_y_Page_043.QC.jpg
ef3367f117c7a87dcdedb5da323f258e
0d61d877258a0a40a16caf5abc260990c6559824
76061 F20110109_AABPNS doh_y_Page_083.jpg
c3eb2532c223cdf58f0d75bbbc67b31a
b54b1d5127bc0b2b5fe4dd9c60f3dfc6fded1b7e
39148 F20110109_AABQRK doh_y_Page_105.pro
26c6d87ff3e4ff89dc6ac3eb0f34563c
4cb4cd5576080c377581ea5d9a973b3d64c8bb70
60419 F20110109_AABQQV doh_y_Page_078.pro
512b003ce315c46504b298753b049d79
37cbac49b5936463034da0efe5336a0a488e40c6
49249 F20110109_AABPOI doh_y_Page_055.pro
b3926d23705e0385a62b0f3e61f21670
6cd4a66172c5ea06a81f2143bdb4ea5b236096fa
24921 F20110109_AABPNT doh_y_Page_151.QC.jpg
040de53487e151d7bfad16d19e0bc441
895f42db261a9163522ad978140db4a6c13c6c8f
23674 F20110109_AABQRL doh_y_Page_106.pro
81c84842f628728dd5686dce1199154f
69330786ee2aa605ca3aecbee26f3e6d2ab84e4d
34822 F20110109_AABQQW doh_y_Page_079.pro
da6cc67dabea9c6a1514b54edf55a7c6
15b572436347b6235ba917022c84386cb1d48c4c
104394 F20110109_AABPOJ doh_y_Page_041.jp2
abe56303820b17849b94e2ca09b3bfc3
ed1aa50afe48d7ec2807c83da6bdf87a8f644c78
7179 F20110109_AABPNU doh_y_Page_144thm.jpg
60a3a113b2c2882a0a6b390de334dd5f
0000f28b505d39a41a0f1b4e2a2eeb713152850d
36012 F20110109_AABQSA doh_y_Page_137.pro
285d4325f18ce295478703297e623844
6ca91e786aa8e1549f0b9e2a98ea1da642a79fc4
63324 F20110109_AABQRM doh_y_Page_110.pro
00c31f9df6e8b2118efe164bd746a63c
2ea0ed190eeb147963e36691d0171c9749bf40b1
58271 F20110109_AABQQX doh_y_Page_081.pro
3460875d94a18fdec9f3eb68e27dfe84
dc679324ab18a2f907dad641980c31c96db102b4
16886 F20110109_AABPOK doh_y_Page_045.QC.jpg
dcd57f59c33a4ad3f0f1e7ae2f9efe29
0121c8ba4c7b7fa304156226597a78114c48fdc3
2024 F20110109_AABPNV doh_y_Page_105.txt
9ca8ac4c4590233d38c8445d27c296b8
d3db80de7f6f84a18bc46b43dda34294e7c5a32f
F20110109_AABQSB doh_y_Page_140.pro
12a56f7d49baeba1b4f0e1cd1418f1da
71c42da2fa98318a18e459d49635385820ca4c4f
64892 F20110109_AABQRN doh_y_Page_112.pro
024c03e0e21c0f1d011a91e3e52ae148
18389eab299a2a15fce8f95cde0611efc3f22991
41950 F20110109_AABQQY doh_y_Page_084.pro
38ba374274e2d349a3fd0c10832b9022
9a6920d01471c601decb1fcf1bb6e1390a6bd04c
77993 F20110109_AABPOL doh_y_Page_067.jpg
bac40ed834714cd8612f162783727c0f
f4e45c1bb3f347c802099fc64677f89b42e0d8e5
5925 F20110109_AABPNW doh_y_Page_069thm.jpg
9392b2ffa3e3cd1734b67e059bb039eb
b6c9711cc056f4d93cd795558d70f422c46a4150
51948 F20110109_AABQSC doh_y_Page_141.pro
fc5a573308be1b0d74241649d4b920ff
eeb4b238a9394231c15740d5fe118f4a40d8373c
50619 F20110109_AABQRO doh_y_Page_114.pro
5b688d1526a573e7afd573385eda68ce
036b9fbf0fc3509354c0267089602129c3dc14c3
59790 F20110109_AABQQZ doh_y_Page_086.pro
9508e1f32cc5e61428c206f413e48730
b437376ec4b10cf3d639a517bcefb5329756edae
7604 F20110109_AABPPA doh_y_Page_114thm.jpg
d1c022ee87bd628ddf6c912884787bc3
1a38de4b45d9ac10d7141bde37308ecab59c26ec
90144 F20110109_AABPOM doh_y_Page_012.jp2
019270a5278c035ecb98ffd64a1bd37f
5f1fd3fbad929c5a7ccb6f24fbfdf5790ccd1987
1033142 F20110109_AABPNX doh_y_Page_102.jp2
a27e8405080a31de13c26aef5a376e9e
e138b21c2840e5617f24a3412e96e6c261f67320
45850 F20110109_AABQSD doh_y_Page_143.pro
ce084ab46f2ca2f13809ffe9dc56b438
026fb3660435ef3094571e7ee8a3d093dc3c9520
57930 F20110109_AABQRP doh_y_Page_115.pro
949db8ba805ab3b17cea2920d9d71b17
51038e178f492a0a5e8ffe912b06b43fc6cb6399
54012 F20110109_AABPPB doh_y_Page_136.pro
0cdd32ab002bf1c8c81678e51614f80d
fca4157763d3c1d0aaa52f2e474dc19748738aa7
80109 F20110109_AABPON doh_y_Page_031.jpg
e09685e0f313748f48709302d6d4df58
44be80c91d9cfd257d7c7bada52aef7e6705ed13
6746 F20110109_AABPNY doh_y_Page_017thm.jpg
3c374ec19a2eecdf5e305c1f489a3ece
ff4b7bb6f6a0c2bccbdcf0a460e353f464dd89f3
36285 F20110109_AABQSE doh_y_Page_144.pro
1320c9ab769cb03a5c1f4b82a06b652e
3c80d121bfbfe55202f13abcbd30f27d49fbfe00
46785 F20110109_AABQRQ doh_y_Page_116.pro
f2a4fd7d0f5adafae4d4b64ff68bb51b
8738b7bd9d9919238b1d5ad912359931174844f5
103026 F20110109_AABPPC doh_y_Page_093.jp2
024c870be1af1d20187b2ab0198e0132
a5c6d95283e8db7806b1fb549ff54a44e1917c6a
1051920 F20110109_AABPOO doh_y_Page_011.jp2
f224112a673d917e15d44838db406600
9927f2c3d6ab866df0ec5079480dba9f00a948ea
6847 F20110109_AABPNZ doh_y_Page_015thm.jpg
e4a7c281d1467689f4368709a84891c9
c926ecbee11ac73d7f19d5ce4387fcb566fd6276
21146 F20110109_AABQSF doh_y_Page_153.pro
cd100e765904c7e78577a38c216526d3
c567dcc97bee0653709766a181ca0317067bb87f
2225 F20110109_AABPPD doh_y_Page_143.txt
3aa7bea25b5f50dab0b7dcaa0d2ad533
ef0d3aab35f25080f36dc3367c0fb956d7733d27
44478 F20110109_AABQSG doh_y_Page_156.pro
68d3ab1b9232e6cbf2ba4a906a861d41
e6576e365067cc8ce5698c59ba517f61e4fae9de
57402 F20110109_AABQRR doh_y_Page_117.pro
3c7913095ed7dbd460f550f7e74599e5
13e2824ed672d8009ecfee60abb3a0f3f201e9bc
47495 F20110109_AABPPE doh_y_Page_061.pro
5bfde978bd1daeb58a285980d31fdccc
ff7757592690d60f52d0c116f6feb7685a7dbce9
61010 F20110109_AABPOP doh_y_Page_028.pro
4527993a72874a4ce281818f89164218
bc85c16dfdebb78b5d11eb5407290773c944a000
75216 F20110109_AABQSH doh_y_Page_160.pro
e677f837cbf844d52529a6b65526d89f
1a7cc1d1a1368165cbc9a32233936a2e65396a87
54274 F20110109_AABQRS doh_y_Page_118.pro
f5d442659e8020d6fa7cae258e046480
46c93cad42693545a11f4bc7f2ccdde50c853df5
1051940 F20110109_AABPPF doh_y_Page_151.jp2
c93dc2d8e643aed179709f3a41b60e69
8f73965cdf66e56527c51216e922a5075d4ce9da
28514 F20110109_AABPOQ doh_y_Page_114.QC.jpg
db623d726c81097c450fd69756d6955e
e6a13eec0e0eab80b75279a628c995c6419fb5b8
73474 F20110109_AABQSI doh_y_Page_161.pro
f7f875a861764f894fd5cbc8d9331578
17b43ee09c6d5e74d3fb75c4c10563f74bed7ac1
54633 F20110109_AABQRT doh_y_Page_120.pro
60cd22e10c2e8bbb65e298a46e1b7922
38a0289dd2aa569ca372b389a2de5788df142c4d
6361 F20110109_AABPPG doh_y_Page_052thm.jpg
d809d0c4ae101fdac3520cc3b58ffcf3
4fc609ce568dcbcc7f80db8d6035609a669b3a7e
5166 F20110109_AABPOR doh_y_Page_009thm.jpg
37689d1bcbcee3d0f294019924bc6596
67a4fd63c71686b42bffcdd98b1e46488a6d474e
97 F20110109_AABQSJ doh_y_Page_002.txt
3f660071ccbf4ef8cd5e35900114b96a
f50999de906b8d242fec4bc1f185009db96e65fc
59793 F20110109_AABQRU doh_y_Page_121.pro
8d87deec93e8f990b41cac1773f29931
e148f67798d09c870e3eeed22ecc94d9182a2619
85690 F20110109_AABPPH doh_y_Page_060.jp2
50f46a677a545dc7df1ef6ded0667b8b
ba3c79d881da7f169598f4b3ee858a212b20cb0b
6852 F20110109_AABPOS doh_y_Page_097thm.jpg
fcec7c906a29c886a45ef5861eae0916
6e4f76b47dcba8e7aac89456f4213bc869fa5760
116 F20110109_AABQSK doh_y_Page_003.txt
dd1c8b884e1cbcf8eaedf114c4a3cd68
b32167e9b09a28978a71c405a172b20c3de25e5b
56103 F20110109_AABQRV doh_y_Page_122.pro
209aa442eee9824c3fa2e675485afcb0
5d1644961dbdb3132006e1576a4bda91c025a9d3
F20110109_AABPPI doh_y_Page_132.tif
203d7c84146854937fd9aa6cdd4c80e2
362745c6c36e9f6ada21635a0d38291515c3ac17
30307 F20110109_AABPOT doh_y_Page_088.pro
685c60389fdef884ca4ecb37b5a7eabd
b01afad7534dfbd668444df23e5abf3ad91b3c27
566 F20110109_AABQSL doh_y_Page_005.txt
a4d422a3307d839db8af5368db681733
d96c1801d930dd22b9250d2b4b98894f890b7d82
53794 F20110109_AABQRW doh_y_Page_125.pro
424fb264e058acc3e3dd1df49b25714e
e5b9c9f203254bc94803b82bdc330eb8a1350801
6016 F20110109_AABPPJ doh_y_Page_076thm.jpg
cb90c1ae7071b49cb1cf132cff08946d
7507df262172e32ad5b0f68faa3c8aa28a7565ba
15625 F20110109_AABPOU doh_y_Page_090.QC.jpg
3c77011855328169a6645fbd663d1973
168bab8a91d27e3d382e1879651ae7b5d10a47af
2260 F20110109_AABQTA doh_y_Page_037.txt
6b691accc8d7c349f2858792224cfb0e
e6be799e8c45a628aa71c2dd1b3c04a3e3fecf32
4818 F20110109_AABQSM doh_y_Page_007.txt
232337d583ad274873f05b391f407ce3
ded40af257791322ff87cc010b14b6c4223ad156
48364 F20110109_AABQRX doh_y_Page_130.pro
4957f87e8d7b86e7f8705dec487c07ea
4eb1f432397c0b14092430d74258a9f400d1e787
F20110109_AABPPK doh_y_Page_116.tif
f2d43d064c2aa8d2e06f24ebeb1e1635
9168099653bf5814be126d6e03aad3835dfb5301
82179 F20110109_AABPOV doh_y_Page_022.jpg
97473256c80f5a0057c647a5bef771e4
c9a93c506fd1d351adf99b5e992d4b3fee91f65e
2280 F20110109_AABQTB doh_y_Page_039.txt
29c44b80f93c46f6da61b50569ad0b8c
0572eded12f35f3fdd5a600c9240a70f742fc86c
3405 F20110109_AABQSN doh_y_Page_010.txt
b4cc9dbefdd6b322815cd1408ecd9b95
b74918a4f30ed86c624fe0bf35ebdf443883cb77
53052 F20110109_AABQRY doh_y_Page_132.pro
069d5efe5ec0faaf7c6b6248cd81adbb
5f0e8c076d977a9f97db758d0e7ea4bd87c7f5b7
24681 F20110109_AABPPL doh_y_Page_102.QC.jpg
8072b6f7dc017a670f07139c1d58d0f5
e3f456e26a3239ed6fa62fcd79a373a4eaa093f8
24449 F20110109_AABPOW doh_y_Page_001.jp2
64209e4107f483b004a20beb1f4f9c01
385242c79e67e049d6cf18bc7c74c0293e6cf2e6
1916 F20110109_AABQTC doh_y_Page_045.txt
5f57035c6f00f94a2ef45786710b5edb
f299bb34ac10d8ba65162c7eadbedd73dfa4a4ba
1939 F20110109_AABQSO doh_y_Page_012.txt
85001fec0b28a4a5f91e13de6f74a112
c27b910f9f897e7517b19f4a5d99d173878ed212
35530 F20110109_AABQRZ doh_y_Page_134.pro
df709f072a062a8a1e6e5772e3332426
bf9fd05fef8b0ce920fc70684fc45e3f82ee743a
6488 F20110109_AABPOX doh_y_Page_018thm.jpg
4d060e981689a0132aa9d86aae2f1007
a40cf883a3bc68394ac4e2cbfd8b403c81fc9578
F20110109_AABPQA doh_y_Page_072.tif
e6842826d7a12e1a1359309717cb0376
1969862bd63d8e55b2bff654c053763996cefdd2
2656 F20110109_AABPPM doh_y_Page_070.txt
79ccbde0acaf5f39dcc0aef557487fb1
0b90a09851582dd0e88540a66391d24fa1d28899
2316 F20110109_AABQTD doh_y_Page_046.txt
c5e62b86664f64be1012a0bb79a54fbe
e5335c7767a9fd320e49db38c152aff3617e04b3
2012 F20110109_AABQSP doh_y_Page_014.txt
88fc480a07c51f4776a8ed19271b86a8
efcbf2b0fa93b8ec9bf3e45cad1c5b732b882786
49387 F20110109_AABPOY doh_y_Page_033.pro
58cf117db5941e89c13c2055262de3a9
870279b29f9144f40b5317c8c202530136eec64f
59339 F20110109_AABPQB doh_y_Page_105.jpg
6392f18cfb191379c10a9c85bdd70a06
7e09217671c557601631a899fff757ef31c65537
F20110109_AABPPN doh_y_Page_089.tif
632cf695dc7114006cac6ec4b1da1f84
50e21eda3b2662ae5256830d79641ebbd92acf86
F20110109_AABQTE doh_y_Page_047.txt
afbd6882f8ebbb91a9322194cfecaac0
848d4bd7a444adb5ed2ea34306dea8dcdde312c2
2323 F20110109_AABQSQ doh_y_Page_018.txt
6d85602b4113c7383f7dad15b872ef51
d038461ce0dcf73fc19519665390e2d6e7f0be9d
F20110109_AABPOZ doh_y_Page_129.tif
3002ed1b400434539a62678e10b59626
ab80fb7ac6e69ed9d833109e82435e4361ea348e
2261 F20110109_AABPQC doh_y_Page_135.txt
d1ae1bb9c4f7099980522006f1cffb47
57072aea23502bb7b26e2068034437a4a3e78dc1
2420 F20110109_AABPPO doh_y_Page_075.txt
1131baa27008a85241766b43978cfea0
a45c4a9994b3502c29ef2b76230fe814a6bf0f5e
1721 F20110109_AABQTF doh_y_Page_048.txt
d828ce56d30fe75082de6b6ae04709b8
0e8953128baf539bf814df3a5d47ded4e92d955a
2237 F20110109_AABQSR doh_y_Page_021.txt
a5d78e8c468cfd7f2c29ffc28803cc98
6368505820d9262815df8d252250103d05cfcb96
1981 F20110109_AABPQD doh_y_Page_155.txt
9f6adb5ff86c24128ec7a5b65a37d906
04c121e761af67da5f1060b9415747a04d0ee631
25305 F20110109_AABPPP doh_y_Page_149.QC.jpg
5505b87d5d3c0a8af62078720fd5a9c2
fb9b1542207f08315b4a8f8551fa2d677dcb7485
2473 F20110109_AABQTG doh_y_Page_053.txt
fde1601116e4d39e21a18e599932c02b
c2cac10e4f161a14a544370b60d2a6eecd5a02c8
1051977 F20110109_AABPQE doh_y_Page_099.jp2
5c27ce90e4743aa5e0cd404a1db9545c
50aef016f3e98272727055a1b0d684a2daf127cb
2113 F20110109_AABQTH doh_y_Page_055.txt
4139de2564121daf9abc20601858c7da
e4ab0a6df96e92631723a8e225706be6b1311551
2325 F20110109_AABQSS doh_y_Page_024.txt
075cf0af78babd3e2ee124d9a2dfecb1
abc4b09b2b505bd4b7d05aa16e7c283df5e6fd8a
F20110109_AABPQF doh_y_Page_146.txt
6418a664ecd7d20be54ab451eeb64d70
34dc01eeae80b4cbe577800b634d8e122c19b539
25112 F20110109_AABPPQ doh_y_Page_132.QC.jpg
9aebf35fb278f315b39cba0f6b0a1e31
e84bae5607346e504cfadc15228bdbbcc4c013a5
1871 F20110109_AABQTI doh_y_Page_056.txt
2a2b8893323312b3e7e38addcb953e2a
1b737d7946154d6dd00a0ed12dd784695a228101
2431 F20110109_AABQST doh_y_Page_025.txt
fa61e2d1d170d06c2f070af343332417
3c349bbfc6fd51b202ecee95bcd6c6a895966527
57008 F20110109_AABPQG doh_y_Page_099.pro
c1102d35af0891c08c58b42a52430a4f
d42145f96e8b187f67d93999771584952d3838ed
26734 F20110109_AABPPR doh_y_Page_023.QC.jpg
02a5d7eaf6e6731bf3e287096430dd30
ac0f92fab7c5b48eb40efdbd7a6ae4c774d79be3
2099 F20110109_AABQTJ doh_y_Page_057.txt
275f9375187bc366648c90a8839972aa
082da72612233a3d31af5ec00b335309620cad20
2355 F20110109_AABQSU doh_y_Page_027.txt
95bb5015baf9306ebfd32d1db92e8063
608cad2954e1882393cc720c7d5bc0a04e7c63ae
F20110109_AABPQH doh_y_Page_065.tif
df1e486b8511d27ab31c9a2599aaaea1
677061a634127c55f5e71630057c48450fcfbe88
6706 F20110109_AABPPS doh_y_Page_026thm.jpg
c708aeb2ef7c73acff0ff4efbb71c6a0
84dc8dfe15a8a1595fd8a7b41259b4acc7474347
2227 F20110109_AABQTK doh_y_Page_058.txt
4b59456e257fb9416c24ca60d107ebeb
0463319589b5451833ead9cf7955025a37c09668
2396 F20110109_AABQSV doh_y_Page_028.txt
2830f1410c996d4135433eb2399d36be
d23a8fa9e7d746fe0bf70ffdfddda920148bc8de
107192 F20110109_AABPQI doh_y_Page_031.jp2
c71ac37e20cda1250e59cf24670c1448
9bdc7ab62f2e15de08a99a8f7228ce56801dc58b
4417 F20110109_AABPPT doh_y_Page_006thm.jpg
b6d04bc0093ed4ff594d88d54885ab28
920c8037b14a61cfc08d3cda74b262c6b4c360f1
F20110109_AABQTL doh_y_Page_059.txt
75bcbde42d9d2351676f40e4a9f6feae
b37b9b18f85187212b9d4de7d951a5eb169e3af1
2493 F20110109_AABQSW doh_y_Page_029.txt
5a17eb4d946b4d7be28d637ad9d97e7e
78723820924e2318d63a69053041a6467e063954
69685 F20110109_AABPQJ doh_y_Page_133.jpg
7df36263256bac41750be35a0913ac15
a4b4b2dd38a24ed9121bf3feb8d10651b46a1024
123368 F20110109_AABPPU doh_y_Page_080.jp2
f14469251593869442c2c012a6722126
e3881e0c6a17cfc3dbaa75c754b1af25e1b7f897
2231 F20110109_AABQUA doh_y_Page_085.txt
e6c41e82d4c2e5eff38395da8d0b518d
09b7d0c4d93d77e197d51f565640a759b3168898
2142 F20110109_AABQTM doh_y_Page_060.txt
a76f6ada2ff5d358bb8e27c2d412d91c
99f7e0bcb67544bd126ced5b1057e2cbd5b74bf4
2049 F20110109_AABQSX doh_y_Page_030.txt
683807c9a1bbd1f59f227f6df1d70e9c
f13f55453e16241d833588a6649743e13d8608c3
5942 F20110109_AABPQK doh_y_Page_067thm.jpg
67cc3c4a3d7ad5278d37c0a55eb3a445
239b98084fe25d50fbdafbe484bb8a2e8a9f59cc
5671 F20110109_AABPPV doh_y_Page_130thm.jpg
e59855f223db817d065a6c33baf255cd
2b3277389611ccb10881c6ad5bb59eb9e1458bf9
2359 F20110109_AABQUB doh_y_Page_086.txt
88ca14863c64a44c152df2224d44a848
c60b072d2b95357f52686f40be97c8f7ee7c3ad9
1834 F20110109_AABQTN doh_y_Page_063.txt
9eaae57af2c12f63f142c2f667be86b4
ad4bdbc6aa3966dfc301ff329be6c38efc0d91c9
2154 F20110109_AABQSY doh_y_Page_031.txt
554ad058d1d31336dd013c0cc1bb66b0
da8cfbd56b8186a944b96880e49ebb0a925a5af8
30355 F20110109_AABPQL doh_y_Page_145.QC.jpg
db0e099ef3b904561ad8d20b5c830dba
0f9bfa6a725f4e9cf840667ee7ab0882790fd46a
2133 F20110109_AABPPW doh_y_Page_041.txt
057355a6e1ee746cb93959421aad2722
6c54fb09396d9f952f71135e1f7f467b46438871
1787 F20110109_AABQUC doh_y_Page_088.txt
7978d24a662d26b40f4bf19878b275f0
c3b2bca318ef7d952b1ff3418a07b261058cbbad
2173 F20110109_AABQTO doh_y_Page_064.txt
1cee7efb127569c9581af095be0a17a6
25e55b7c1f79800544e64a111dd520583e56ec71
1835 F20110109_AABQSZ doh_y_Page_034.txt
b237a809b347fb7e2bd372df920a5fa8
10d8c372428a87e90cd14626287eafa84111c6f4
50783 F20110109_AABPRA doh_y_Page_094.pro
d5ada19bd91c39b6d132e80520be3cad
957f42be53933962147d074af809a45fb326a160
2553 F20110109_AABPQM doh_y_Page_032.txt
eee30f1e1b4fe150eb27db517101ae88
f97e8986bef9e31a804971c09c92f39d726b4260
50740 F20110109_AABPPX doh_y_Page_102.pro
421fcce3c286192f2d1855d1a7e05328
6a198c635617dd1073fe27c5fbdbb7f3d82de2af
1813 F20110109_AABQUD doh_y_Page_089.txt
30ec03702f9d94b64264a20450ebd376
cc18dd2583cc35f5adc38e3a618f45d5df995a6b
2344 F20110109_AABQTP doh_y_Page_066.txt
2cb5940957af9c98512d9fbebfd14f81
e7d82eb8f6ea8f745646ea3d4dd1f70679d80713
F20110109_AABPRB doh_y_Page_023.tif
5380202b7b9991cad01204f5505db589
814bd1267978e5f31a4ec13610a9f0a474febad2
6739 F20110109_AABPQN doh_y_Page_024thm.jpg
5e474f5a5d8f0468bc986cbcb4724088
affd829b036b4e017ddf7646da4d0eb9cb66243e
95525 F20110109_AABPPY doh_y_Page_053.jpg
16550d137681040e05bafac999a80fec
92f13708cf63d3c7aec4b4014a9ffdde9a7d8cc8
2084 F20110109_AABQUE doh_y_Page_093.txt
6db820034c42c5cc5d615233ab000bf7
e836aa61cad4f4916b74bf4f3342eb51dd2b4a03
2971 F20110109_AABQTQ doh_y_Page_067.txt
c78ebb1a8af9443fb32bd083f983ebca
8194d538d419291ddd1b37a376687968db8c16e9
1051959 F20110109_AABPRC doh_y_Page_145.jp2
0c6cd715ffc76578a5672ca5cd29a3bc
96598da82febc8826dba8b26e79c9c7f5e4ecc53
44812 F20110109_AABPQO doh_y_Page_139.pro
9a7dc34beca014932e46545238f62797
62200bba7cc7cf8ec2e01e4838cc263f80335be2
F20110109_AABPPZ doh_y_Page_033.tif
e74c64f32434263b7661f4de5bc4c523
2093b7dfca5649ecf9d9443c1a4997a3dc3fae4f
2543 F20110109_AABQUF doh_y_Page_095.txt
15e0619ea27e198a8e80058be90f7cd8
b3a8b97e6cd185639b88f468eb8ce8e9cb0eb208
2626 F20110109_AABQTR doh_y_Page_068.txt
8d444bfbbd9d0eee43346eb97de3fa2c
0b681b4be0d65f73c8e61a36a41332918c7b03d5
24865 F20110109_AABPRD doh_y_Page_052.QC.jpg
8038031124da68ce9456ae961d3cf430
2209b8139128562a27be2a79d23108c9d49645e2
14146 F20110109_AABPQP doh_y_Page_042.pro
277267e11f41ddc0da70cf94c4afc747
8c251d41ec414a296a7ca645a5186e5a40b8ef3d
29698 F20110109_AABRAA doh_y_Page_119.QC.jpg
adee1e3aa4885501babe41392dd29818
84a22502bd4623df5e0c3a950730960c1a519e1a
2437 F20110109_AABQUG doh_y_Page_097.txt
1bb4693f3015dfa23aa6a708bbddd0ca
759fe70e5a8e7b2c43f6565202b6faed83fe13a4
2426 F20110109_AABQTS doh_y_Page_071.txt
422362bbd584e7821d42df6f3ed743bd
88abd1f1b5c873d6822daf589fd23753e8a15ffb
4098 F20110109_AABPRE doh_y_Page_006.txt
707339253731486872383d19d75c1ee8
c6905f036615b5a74ecc80943e17d56e8f8d82f5
51286 F20110109_AABPQQ doh_y_Page_004.pro
99d4a9f137405dc207fe2b42e7c349af
9a0da31cc37ba794e7629b8f50c4ddca35abf3f9
5860 F20110109_AABRAB doh_y_Page_120thm.jpg
751fa15945522c70cdfdc8e36209981c
2398b9ea7347dcc3a5028aecb40f86b7e0a2174b
2414 F20110109_AABQUH doh_y_Page_098.txt
8dd3f6b1ebfc7c487644784ff32c3e44
943a135948ee55d9d29d6fb2f7f6e15ed2d2c276
2507 F20110109_AABPRF doh_y_Page_113.txt
55b58fd6ae8b69f3bf09dd7a196b2a91
2fa83d430b0b02d8d7a2e67bd8e50df0667add48
F20110109_AABRAC doh_y_Page_121thm.jpg
5784988411eae8ddddbf7629807db6db
3cb76cd28e50280f6f4acfa5948953469393098d
F20110109_AABQUI doh_y_Page_101.txt
ebb3d3f5c920daaed4d872247d4e63f0
8fb2cdd755e632a0c4bcf3c0e9b5bb6335436c7f
2026 F20110109_AABQTT doh_y_Page_073.txt
4dc54ba73ba6a007085fb9fe3ec9c192
e4fdf4c377294bb3612ebb9446b9442e2c54edc3
F20110109_AABPRG doh_y_Page_117.jp2
9d9ad81f9c48ee9ddc2b7d970af53612
524af64f0263da3cfb024a9a050debe8b867874e
56698 F20110109_AABPQR doh_y_Page_107.jp2
24f3e0e87743ccaaee44c8847246f795
e3f2f6adde9c963e06477d74a415b5e0c163d5e6
6326 F20110109_AABRAD doh_y_Page_123thm.jpg
c0c263ef07b188f22f24db37db02d7d0
a8735ba5c1199d709341f30256f10efc9d4f3e4b
1444 F20110109_AABQUJ doh_y_Page_108.txt
aca3e2513c15c74f3de8c34dd4250aaf
2ac63c84d2a5306660b6da4c5aececf830ea98b9
F20110109_AABQTU doh_y_Page_074.txt
02e211e29fd334e6e46fba346920f942
b3231fdc8cd71e7f59989b8c12da9d700f8957cf
F20110109_AABPRH doh_y_Page_122.jp2
6072d1333d83617de541e416776f58a5
e920cbc61a21cad77931663b1d122388b2782ab5
27837 F20110109_AABPQS doh_y_Page_164.pro
3a51e6e6a0b5c5f93b950267828ebccd
251142d51a3bf47ce19306d571a8bd4959f9c570
6071 F20110109_AABRAE doh_y_Page_124thm.jpg
ebf70d8ecf2cd2499ac97b5ea49697cd
ea449c599da0d0ea5c9cf50251b71f13a3d032de
F20110109_AABQUK doh_y_Page_114.txt
71301cfec75bfc7235cac86e03ea0cdc
d7e9fc1e4c78cc813f92bbf8e0db79a791fc78e5
2226 F20110109_AABQTV doh_y_Page_077.txt
8e13ce585df41852114e276e50a57fb9
568fc26fa023f88e86401a5d27c1bb68982ee1fb
85737 F20110109_AABPRI doh_y_Page_010.pro
58195deff444edf98a58bfc079aec9ff
b36305006a0f4046f855ecb353f3861b306be7c6
17801 F20110109_AABPQT doh_y_Page_105.QC.jpg
e9a2bdcb5447c44467218ee92ff3f51f
a88d9c3106b7a5fd00c650f72efbd3e735a57da5
6862 F20110109_AABRAF doh_y_Page_128thm.jpg
6df5900a76fac85dd43f8e7123af3ad3
ba17a6568046ae487941e435c274e8a78d73bff2
2440 F20110109_AABQUL doh_y_Page_115.txt
517c5064545f374eb6569f485d45bf34
85e2731596699cdf840240a39cd6dda4aa729461
2388 F20110109_AABQTW doh_y_Page_078.txt
720ef57b7c57f04bff7345c7a3f40584
913d642cb8d67c9a54fb628369ea1272ecea4c5f
111451 F20110109_AABPRJ doh_y_Page_023.jp2
19a2ccaa3ca87610b68b36e4e6972f1a
4bb9a57cfa76ff8be5ac65a11dc91637c693f133
4745 F20110109_AABPQU doh_y_Page_105thm.jpg
4d56dbd6b4e08e9b729de97da96110bc
97a0fb3571eeb465536d44da0640200fbc05fdc7
7349 F20110109_AABRAG doh_y_Page_129.QC.jpg
e86c009f946d6cc0df4768f22cdc28af
70b9d6f4a5b247739893a48e633579f31eaa3dad
2536 F20110109_AABQVA doh_y_Page_145.txt
88faa03dff89a107722c96ee2f9465db
f3ae4d9f7d03b149aa8bbfc1daf93300f0f58143
2306 F20110109_AABQUM doh_y_Page_116.txt
3c29902e88f2fe2598779377e74fa7fc
8f55d37fe0d0fce5d0a7b004e71ad2f9ee3c86bc
1949 F20110109_AABQTX doh_y_Page_079.txt
49b92210404c6ab7e32379f66bc795bf
613f6fbc13e6920a06ba46ca3acc0912fb73224c
77687 F20110109_AABPRK doh_y_Page_076.jpg
fa54c346e04521f3e479e900c452dbfa
da40d9570c46de8469a4b87f693759f32ca9df55
F20110109_AABPQV doh_y_Page_008.tif
47f34c782c5cc79e96253787d5d55ca5
d432523016f05860d2498a927c08b434222d0171
23345 F20110109_AABRAH doh_y_Page_130.QC.jpg
b95f7644b72f2475c62bb714bb2fae9b
7ec01aa84349748a4ae651f31b69e1a14a18d7c8
1869 F20110109_AABQVB doh_y_Page_148.txt
780a8957c95402be5eef57f21ec5f09d
304d365ba67751b4d4c7ee5f233e9badba66e16b
2720 F20110109_AABQUN doh_y_Page_119.txt
065093ef0f42428d69a1f4c11579a642
c14bfb9fd7c044bb6a4496bda7efbfa5eefcff23
2150 F20110109_AABQTY doh_y_Page_083.txt
8fa133129ea8352ea8dd300cb9591355
119de0764cbdc58cac5b61a2610cd60101d1aff9
6099 F20110109_AABPRL doh_y_Page_122thm.jpg
3480ab220a4acb1619711af2fdc4f9c6
beb3cf5864fcdf18429a68618e06aed8a16bb37e
26680 F20110109_AABPQW doh_y_Page_024.QC.jpg
a4c2c04cda532adb7b281fb6c08ec6a9
e21c5e42694ac9363feb198e0652c7cdc14b8732
29334 F20110109_AABRAI doh_y_Page_131.QC.jpg
4a11a13a972dde666057b80e030f59ca
0e4543306ddbf8cc0c9a30847ec22976aed8078d
3631 F20110109_AABQVC doh_y_Page_150.txt
bfb4ac21a8f4f9622297dc10ac883c26
a01fc4d3e40f31750fdbc563f4d78168bf1648ec
2686 F20110109_AABQUO doh_y_Page_120.txt
e8a96d2f6e4680543cbf7a6a45b30cd6
0cc9ba541cc1c4a8f954ac07ffd254e021311dfc
1914 F20110109_AABQTZ doh_y_Page_084.txt
b03f9734dfbc9b9949037e58cb107025
0762d1ee9ab2a8b69ffb5e9de25fd8faf323f576
F20110109_AABPRM doh_y_Page_027.tif
ba23daa3a57b4a43e549b2da84ae357b
1fcf8b7abe6aa113a14d15f215500600c720af41
F20110109_AABPQX doh_y_Page_162.tif
7910e8df76b20180221c8fb583c1e1f8
b2d8f836acda0bc3569ba445265c2c15bf8a18b0
61684 F20110109_AABPSA doh_y_Page_163.jpg
f1256bb9b1ee20a669199108e4559572
d172c5274b2e852461a0d5ecf677d45084ef3de1
5821 F20110109_AABRAJ doh_y_Page_132thm.jpg
808d87e7985b1b566e15413abe5953eb
4b74c5ec15c32c65289d0e8f906284e5d2b262e8
F20110109_AABQVD doh_y_Page_152.txt
1bda4f6232970dac175cd5266a174214
fad58d9563171e1558289e9c278589ca324259f6
2719 F20110109_AABQUP doh_y_Page_122.txt
f9669332999c4c587819e05eb1ab4db6
190ecaf6d684af2d72bbe58773ac1fd9229e108d
102554 F20110109_AABPRN doh_y_Page_083.jp2
2794b708840bb01b65186f1a069aba42
0d926fff0fb6d164443b7698474a81f1998aab11
2786 F20110109_AABPQY doh_y_Page_136.txt
69fb144e559843aa7b4a880c0e8a09a0
2d719935ec57c818b08b6a3abfa6bd1997bc4ba9
F20110109_AABPSB doh_y_Page_073.tif
c2e35d671c9129c8a5df557a779a72d7
a3987fc019a4ca344d1b29e994408331be977d65
21711 F20110109_AABRAK doh_y_Page_133.QC.jpg
1e5400451b4e29e23a1de54e93139dc6
b01f7f10fbe3d9388a584f5d04403c76338e3f2b
847 F20110109_AABQVE doh_y_Page_153.txt
68098b701a60833b3308022c78e10521
5c0bd19e4b693d5f49c629cb6005ec737188dee5
2395 F20110109_AABQUQ doh_y_Page_124.txt
9c447bdaf9937e989d6042b64c702439
9effda9cce3b2aa3c1beac82bfb0609ec6bec676
5928 F20110109_AABPRO doh_y_Page_116thm.jpg
2dbdb1b552e17963cf75708724d8dea7
999c2171d72958faf93620d08ee3b738afcb60ff
77871 F20110109_AABPQZ doh_y_Page_068.jpg
e99447cfcbe8b26b183a3cc92477d82d
b08727379758452eb6b3e0c98665ec8fa4d1dc37
23949 F20110109_AABPSC doh_y_Page_141.QC.jpg
43cd9c1d94f5568a62a685b5cc86107f
bcd55b24d1c592ede139a06e3f21fa51087bd98d
19202 F20110109_AABRAL doh_y_Page_134.QC.jpg
4d98a6a8a256cdf136c3344d5ad1b704
eaadc0d14ff9df4c9da37b40f0ed785f75e7b20d
1765 F20110109_AABQVF doh_y_Page_154.txt
68ee978d3fe3e655e9ee6a08966da464
47a050f33e8353df57bc63b3dcca095b673d4ace
2811 F20110109_AABQUR doh_y_Page_125.txt
beb0a62e44f136b5fe61f43a701a2148
78e855a4efca64c156898d87085e652ea4a9f885
81821 F20110109_AABPRP doh_y_Page_048.jp2
893eb1363e68c85c22103588674d6a2a
3c9b790afb5da8e2643e32f394c6a43e42047e6d
F20110109_AABPSD doh_y_Page_151.tif
499b2ecaa23f00649a36e6c46abad941
10d9878be68162c17c81bdb972b50082d0a7754a
7336 F20110109_AABRBA doh_y_Page_160thm.jpg
3f57452c7d8658f4276637feecd537a0
bd3e1cb0ad8479e92ed72d1a1f225650249c28ac
6778 F20110109_AABRAM doh_y_Page_136thm.jpg
7d9188ef506d6f0580eac710db208b15
b8ad6a462f0ff70d286496804ba6b32c7c7c4b3a
1789 F20110109_AABQVG doh_y_Page_156.txt
dda8771fdfbf85f2527a665fd565a3c1
a3f29b4e03bdaf63093e93353c5105b577610aee
579 F20110109_AABQUS doh_y_Page_129.txt
7e48413699e3e09afd1d2c59da9dac58
4909588ce5abc6de0589c1685374c0b6f708ce23
90891 F20110109_AABPRQ doh_y_Page_156.jp2
108f7efb26241a2d00bbb210c723acc8
c2c4ebd54b12fe9dacba3f4e6d0e8040e534a987
24523 F20110109_AABPSE doh_y_Page_125.QC.jpg
76d616c187c4632c6ca88081640c5826
72fe13a2b73d4943285061fc50dc92201a337d55
27950 F20110109_AABRBB doh_y_Page_162.QC.jpg
230a9af24085579c5d3707722fa6afc3
16687c25a71d191b8fe900ed341e08274a3f1dbd
5386 F20110109_AABRAN doh_y_Page_137thm.jpg
abf4b47e533b6fc34e7cfb8352a0b057
71fe61e8b7b58aee19cdf4d1c8a33808c5c7df53
2818 F20110109_AABQVH doh_y_Page_159.txt
33fd9838238f6bac473a93f60d89134f
2414b221c51761c31f4b5bc7a0a662e0cdb247e2
2011 F20110109_AABQUT doh_y_Page_130.txt
9077cf801692564655f203014ac00410
84f20cd9c27b3a86a007a59b719791cfb440d9af
37127 F20110109_AABPRR doh_y_Page_106.jpg
5c47df5ee0c0ac7f3bffaaaccc071c8f
8734772392c9155edb736d0a7df2d2dab0fcee52
78258 F20110109_AABPSF doh_y_Page_030.jpg
2f8daa03946963a934ae50d4d3e3b178
6ed12dc041e28cd21f27562e7b72b066db891d64
14851 F20110109_AABRBC doh_y_Page_164.QC.jpg
f3fd1c7af23c0c876f86e6eba0abc0b7
bb2ed6d308cdd4cdc1cee41a3a0a65517adf967a
27484 F20110109_AABRAO doh_y_Page_140.QC.jpg
5e2cfb0664c34a991bb98c08536f5758
f8e77f834cf1131821d9264b685bb303923120e6
3053 F20110109_AABQVI doh_y_Page_160.txt
e25c2060350fb012b6bba591eba1b4d6
a58dcf13a5678f589bdfdfd80fa8bce4532d774c
F20110109_AABPSG doh_y_Page_105.tif
2dd94b787669ef0d89384d6a55ee4cf3
3f9bf8369111a4a2cd457211a3aa36b6ab86b41f
3770 F20110109_AABRBD doh_y_Page_164thm.jpg
5b9c2f2bf066fb35afd603adcd099081
be8501a18234c739ddf53ef7cccbd8d32719fb10
6451 F20110109_AABRAP doh_y_Page_142thm.jpg
025ee3ace601f2f6bd7f4e544ff37607
c44b7e43fbb882cb5cc83c10879c34463fea5079
2968 F20110109_AABQVJ doh_y_Page_161.txt
f88c2f8778c63419d1ed5366518ce8c5
82a1732102329aa9a47214dccda90cc80ed96445
F20110109_AABQUU doh_y_Page_134.txt
7ee3d26fc18155cd868ccc58f14c9e8b
b086c7f414ed8c544330e40320a75a71e5708ee5
F20110109_AABPRS doh_y_Page_076.tif
b1d5ad0537621d2b194b2683d16b9dec
2d9726b36f3d57991dac738b7b6797e87e5d7713
F20110109_AABPSH doh_y_Page_052.tif
cf5add8bd333122578d0e993dd0d39bb
341316cd916ed1818398c81384ee24edfcc2fd33
25791 F20110109_AABRAQ doh_y_Page_144.QC.jpg
28b3bb75c009f753bb436518eabc63f7
0a212a44ac5ef8ba15bfdc5f76cdffd5efe7b23c
1584 F20110109_AABQVK doh_y_Page_163.txt
5421fa53d3fb4bf7fa077cbab6a2fa4e
ce1528b7282960678e9aa02204ea9783a0642879
1974 F20110109_AABQUV doh_y_Page_137.txt
70df2ac69c9e21f309ff27dcc270e5d9
4e11e679b66a57ae7a4bf6263572ef2e0eb8ba6d
6440 F20110109_AABPRT doh_y_Page_150thm.jpg
a5b8d326900826962093a6eee5bf2e48
8e8d11768f136802a3cd0e0c055dbbfdc6dce384
27360 F20110109_AABPSI doh_y_Page_018.QC.jpg
0ee1f1464f873d7ed33516f45d12cde8
839428911121c11fabe3d30e7161c44279cdad24
7100 F20110109_AABRAR doh_y_Page_145thm.jpg
a7decb17be481d665ab40049f7f69eea
0efcc4893daeaf0fd8272afb12dbc3a7ec3bdfa9
1159 F20110109_AABQVL doh_y_Page_164.txt
903344123dfb78f55c6dbbc75dc64919
078c428a3c04d8b8f64a9e49b16db2aeaa157e66
2307 F20110109_AABQUW doh_y_Page_138.txt
7c19ae46bf93269139de2f125f1ae413
7664de8d648be58f6d3434445bee7a096a8204a0
F20110109_AABPRU doh_y_Page_102.tif
540ef44474996c7c2f4ff6f1de3a3fc9
083de0d2eec446b75fd6ba7a9538f0c7f912d58f
48218 F20110109_AABPSJ doh_y_Page_073.pro
9471ccde95af7149b0196098df096a27
1f2d09204fa5e08e73333273d45f5a062a35d484
25030 F20110109_AABRAS doh_y_Page_146.QC.jpg
063c703e0b6dbcb072dc21d778df7a86
a246a03a0828d43f2c6a7630c546d3cad994e7b4
6559 F20110109_AABQWA doh_y_Page_135thm.jpg
72d9de3f7f883acc1b5315ecbe18474d
7fa7533e9cc48d3ced0128de9f9f460e4b4d83ce
1311979 F20110109_AABQVM doh_y.pdf
6736adf0152a6bca27f6d390e57c4626
7e46aa3c5e2ca99fbe066a666a1223c1c1d89b42
2193 F20110109_AABQUX doh_y_Page_139.txt
3514444ef9bcac4574a2d4cc78d8fc94
4a5d888ec321f605a017db0c36694f71b6ec41ae
24596 F20110109_AABPRV doh_y_Page_004.QC.jpg
101c6891ac21ed2153d2f04351945e67
dcd8b71bb7518783fc3a0bf40eb65e9089aa0bda
59597 F20110109_AABPSK doh_y_Page_027.pro
e9e57c2877dc107f0fe96c54ec542c61
085dd93afe6aec1f27a95ae9be1ef510fa3f4bed
25210 F20110109_AABRAT doh_y_Page_148.QC.jpg
2248460886d0fe84fd88ff045ac9399f
3086d0f9f6d1e54a8a36463cd2282604c969f890
29304 F20110109_AABQWB doh_y_Page_080.QC.jpg
4be202d3c749d7629408a3f8185bf07c
2148220c8d8b7c8174a9929417e9e2d2cb69d760
5535 F20110109_AABQVN doh_y_Page_062thm.jpg
459aa5dab8c2275a191e5fb99e947d42
98e31555d425713852e900cf9be82d6530627c7d
2726 F20110109_AABQUY doh_y_Page_141.txt
05cbc0d474d3a81afee11a7cba72c909
6994dad64ed08dc1852ae5bce94862705e9b5885
2445 F20110109_AABPRW doh_y_Page_126.txt
d860cd7df6a744867349cc87ed9627bb
1b316c43de9c6556854cec50e4936de24ec5f73c
6857 F20110109_AABPSL doh_y_Page_020thm.jpg
733e65181c17acb685bb6ec84d7a9acf
ebfc0f656e6220e31b61f1e6cfa1bbb3f89b20fd
7124 F20110109_AABRAU doh_y_Page_148thm.jpg
a71608d8c4a5b0839642e4a1ed4f3530
4ea7f71ed8a564cab0f8a2e22d99d25a0848791c
19580 F20110109_AABQWC doh_y_Page_044.QC.jpg
e368a27e9e71e174822fc24da092e3fa
efa9377c5dd5b6d19f111a75b43df0314b734af4
28333 F20110109_AABQVO doh_y_Page_029.QC.jpg
96b584ef93bcbe306bb08aa7d8c35c01
e601b95daa4d3b296ddb2fab1bc10aa44e6caa3f
1561 F20110109_AABQUZ doh_y_Page_144.txt
bd30b44d135c5fdeaaba269c211d34c0
b70c906ef668b9e7bcecc2e5beb6c1e58db9d276
101618 F20110109_AABPRX doh_y_Page_162.jpg
258c7f65a66f9f11a384510df5896fd5
dc2ec733c618cd9ab0a135b7e436f8d5921fd1b9
26671 F20110109_AABPTA doh_y_Page_152.QC.jpg
ad51a92b7341ac612996e3521b201f22
a1dd8d590a0c9d77302987b56c2afe3ae0d334ed
6053 F20110109_AABPSM doh_y_Page_102thm.jpg
4ec50755c60be5cabb3e68d53753bb80
f6fa0f03494f73fecc8c14c0036b852c699f3e66
10640 F20110109_AABRAV doh_y_Page_153.QC.jpg
a3e6fd6b908fcb7dd0f2833f9ae1ad43
f39df33ee01a2ed5a3cb2a41d52bfde31cc39256
5492 F20110109_AABQWD doh_y_Page_064thm.jpg
a5deb75408fbbd37750d913c480eb575
5ccd855b644fdd77122c3f55c91345dd8d2061f7
28098 F20110109_AABQVP doh_y_Page_019.QC.jpg
3b48acdc93a8742b1ff9ee0ac9135ff4
5ae8af9b29d6df6f8cff7bbda091d88329132ddc
29085 F20110109_AABPRY doh_y_Page_017.QC.jpg
32bf381bb9150880488d46311cd70736
43e66add5b87eeebdff97962780092d8d526032b
93298 F20110109_AABPTB doh_y_Page_075.jpg
488d999abb3902016b5c360367daffc1
588fc9d4a1c50d1d3729b4aa6504cfb4ae4688e6
1973 F20110109_AABPSN doh_y_Page_033.txt
364e5b95c8967f0bda1f2fb793d4bc74
12d1122ef5590df9a7e0aa6d4c892200fe784489
2601 F20110109_AABRAW doh_y_Page_153thm.jpg
7532e7691de8a1c4caba9dbc145c1fef
1b4ed390d68d954ad47092b79c06aa27506bf4dd
2484 F20110109_AABQWE doh_y_Page_072.QC.jpg
983e411d338685fe58934eee3bd9cac9
f44a03fd98c31146d2eaff64e56e01a079fa7e1d
24488 F20110109_AABQVQ doh_y_Page_077.QC.jpg
7ab79fbe6e022d7772a0dab7de422674
13a829f5b028cd8b46ff59730711508c0904e14a
F20110109_AABPRZ doh_y_Page_106.tif
713823a183b624e37f702c355653fe9a
e90a4f5268e3f59aa54b7c81447835fa20343aca
73986 F20110109_AABPTC doh_y_Page_091.jpg
b3d8066a479003b06b8d146a745c0b42
42b3398b263fe31e24982fd3ae6d03ec6e867081
122121 F20110109_AABPSO doh_y_Page_111.jp2
207fd56726a61d0773d3d6d816286c72
4e71177d53139fd289c08697926e67a4b1eab0f0
5887 F20110109_AABRAX doh_y_Page_155thm.jpg
e6846cf477f57cc56353b06c3248b371
28f37d472f219a88e7396d0c987c1757f1a712f1
15852 F20110109_AABQWF doh_y_Page_163.QC.jpg
87fece838922d0b09449aaeee67c740a
c403cf447835a7ccbb91e233422c7cae9fe0de5c
21704 F20110109_AABQVR doh_y_Page_079.QC.jpg
fe78c526fa6147b8c03b6ffa94cdb850
c640928740c2e2deaa0594d2403307c08efc28e8
48649 F20110109_AABPTD doh_y_Page_151.pro
d08936bec4a7205252832b0b859d8281
737cd9f19258551ba833f3d2f76700e3e5181b4c
114619 F20110109_AABPSP doh_y_Page_135.jp2
52dc5e4663a24f776fe24a9aa867ba2a
d7cf60ec532d5d414b97dd5e1d4a8453d9e5ea91
27133 F20110109_AABRAY doh_y_Page_157.QC.jpg
6b974c084099506de4508abe3a13229c
8904b6f5e10d503524ae7f16a2338827fa2ecafc
8996 F20110109_AABQWG doh_y_Page_008.QC.jpg
fb830be25c0a506aa77f62f41f744840
689441e3f505974f3dc66778eee97c9393eb78cf
6648 F20110109_AABQVS doh_y_Page_071thm.jpg
79a8282b81401a283399e70e6bb24cf9
7ca6e1d40d3a216aa9b2f4ab76679fbec21badb4
80628 F20110109_AABPTE doh_y_Page_057.jpg
b709450fde9bd1e531aafedb1f69b81e
42d8c16f5fa3fa1d97ae286a2db69ab666f8526c
2364 F20110109_AABPSQ doh_y_Page_019.txt
3f5b109af308fa832fba467a6b1f6e36
05ed12a529a35532a63e5b9496326b7c657ab87a
7334 F20110109_AABRAZ doh_y_Page_159thm.jpg
f8c548ac945e83d5858983ba3dd0b087
221aea238d21197d06b9a0eac6a29aed7222ca87
28767 F20110109_AABQWH doh_y_Page_071.QC.jpg
ab539aec8dc71a0ae7cea3f9fc94f19b
7adc3d84e7e749386f08219443e8248e3b3c31e8
5955 F20110109_AABQVT doh_y_Page_059thm.jpg
1319bbaecb788f76cc1a954ff8248fd9
8cd433a24e5bbb7a200ad923f9097d8d74d1f62b
F20110109_AABPTF doh_y_Page_059.tif
8041af9a8e11339bdd44082e5212fecf
05d8c07b761f93c08491238b1331e489d990e833
2153 F20110109_AABPSR doh_y_Page_118.txt
257bc5dba6ad290f01a763900b5cb790
6147e25f006c871eed1e8aa0ff247a05fbd4f203
4206 F20110109_AABQWI doh_y_Page_049thm.jpg
670eb27f5d2a98bd851e624abd0b1815
b4a2a8447ee0ee7ff2c55c8b2307cb07911b884c
F20110109_AABQVU doh_y_Page_068thm.jpg
84273368916f45082ca03b7e3cdc3a23
5d6b5e577b368e37ec856cf95bb25dd428b6ecfa
84625 F20110109_AABPTG doh_y_Page_151.jpg
9643f9f0c34f623ea7167bea76003f85
dfbbc311b36375493268c6b6c07967285cc0c882
2703 F20110109_AABPSS doh_y_Page_162.txt
824d66dc18c81c28221ee308fa3cc6c1
5b612fc5ce1e5ef1471f3bad850f825b07826987
241424 F20110109_AABQWJ UFE0000675_00001.xml
f607f690ec28ee17ab95768abc1a42fd
e0e760a88a52cc7370772a9c0d223823e06113e7
1051964 F20110109_AABPTH doh_y_Page_161.jp2
ac09a7ef952a80b2918ff70f518ee740
46a22344eacb1d9085f61ea80cfb3563a7b272d9
5923 F20110109_AABQWK doh_y_Page_001.QC.jpg
e45c70620083801f156fe5366acca01d
4c74261dcda8331245a206b52e7817e12500acc5
6732 F20110109_AABQVV doh_y_Page_098thm.jpg
66b5dd48d8720ee551b46bf0e3e8eb9a
ba60551dd1c5df9182423016738462b8a1390ed3
F20110109_AABPTI doh_y_Page_051.txt
a6d9406554f8868e513505702292d099
00033dc54be20c342b5644041011dfc87d6dffe2
F20110109_AABPST doh_y_Page_063.tif
bc05b4b5f485e6c5fc5b42953eeae74b
7a2c244c4cfcf3a0b0e439f836d38999055683d8
1771 F20110109_AABQWL doh_y_Page_001thm.jpg
4bfd5c0dcf3420302675e1121212266a
234e1589ed3439aa3e1ed236ff905fc35155c39f
5986 F20110109_AABQVW doh_y_Page_070thm.jpg
95bb6a79db9b8182d4f21ff1002551e8
3960c179909d9efc70e944367cd7d24289d439f7
5594 F20110109_AABPTJ doh_y_Page_134thm.jpg
a260a10dd98c3ec916a408326efcfded
539d50dc62851a5fb36a16976629e040df18ac90
F20110109_AABPSU doh_y_Page_130.tif
a52e6471e5fcda02078ba2cf32e18c88
04b75fd7bc6808e2941f061f232a6224c9bf2634
F20110109_AABQXA doh_y_Page_025thm.jpg
623a8ae52b9f678c93639b048ab5de94
0a88acb87770be53ec5324ec5f6c01d0c84eb34c
1426 F20110109_AABQWM doh_y_Page_002.QC.jpg
d2ccde79009615b5dbe512dace8f2fbb
11f4e63eb4626cab292ed46e33d9afff0361318c
20061 F20110109_AABQVX doh_y_Page_154.QC.jpg
6e475b6e16902e68c0359a2418e278bf
ddf65def13d389bc68740c3be2872f0c3c4a31a0
23233 F20110109_AABPTK doh_y_Page_069.QC.jpg
cd521e812b9782bb5bcdf5058dd0c55e
2a3e714fda0268d08ea6a40b1ac57194dec114f6
981172 F20110109_AABPSV doh_y_Page_139.jp2
4d1a3d702bbfd0b8ee19d9a45ba16096
843c4abf8339e685c1861acab3e6b96b5bb12a37
28734 F20110109_AABQXB doh_y_Page_026.QC.jpg
aef274e045a6681d1d02ced3eece3d96
a1178d204f906798d1201256c7a8f2b47b7d1932
503 F20110109_AABQWN doh_y_Page_002thm.jpg
83a48dcf0441fc6ac7233dc0e3823c50
26b8ffb962dfc989382d3a11c6d212fe6743f6e1
28459 F20110109_AABQVY doh_y_Page_115.QC.jpg
eb28cf617882fd5748d619cacdfa1f75
af4876dac0e282def6913dcb8cfc255ec5886365
698706 F20110109_AABPTL doh_y_Page_008.jp2
83b3b7e4df9cd8804e7d026c0b48c038
36eaf9d503b7327f527c90356738a076e62fe21b
29153 F20110109_AABPSW doh_y_Page_159.QC.jpg
ccd2b24365a108289f80173b6ab59df7
c6a77cffdf85bb4c0e36d6c21e522548a86e78a0
28268 F20110109_AABQXC doh_y_Page_027.QC.jpg
5023db70608fdf932e23ee88d1d0a12b
e809ec33a168ddb3481e35af00adee9d02552fa6
5669 F20110109_AABQWO doh_y_Page_004thm.jpg
62789925785bccfa315ff4372851bc84
6a960462bd72668516aa7335c4bf0cfe62cff64e
14764 F20110109_AABQVZ doh_y_Page_088.QC.jpg
9db8382a9c5ca82a369b9c0b75a6e15c
8c2ef8b81d938d8a43e90ae7e1ec40293669aa29
7354 F20110109_AABPUA doh_y_Page_113thm.jpg
efb028cb240555cced3077920a4c7f5d
25edb9b070325c4489a083e6ba05867a66a22f80
121659 F20110109_AABPTM doh_y_Page_007.pro
2e1f230686528ed1bb8ed340dc453e04
7885d6108c7fd1e7abc8c9c3e0eaf7f1be79eca3
123585 F20110109_AABPSX doh_y_Page_053.jp2
55d51b147edeee9df025c2be7c1907a2
a557d2dc3090e17ce7f287bc300642abfde08f02
6895 F20110109_AABQXD doh_y_Page_027thm.jpg
6327c16fc32abfcbe5869ad4d9729387
bc9ee79f4b6dc21cac6813fb9f08f1fb081f99df
21632 F20110109_AABQWP doh_y_Page_009.QC.jpg
a145e8c45cddd5b64877dd869d643481
24789cba3250a24734220f1a6bf101a5e52b12ca
38394 F20110109_AABPUB doh_y_Page_163.pro
2e88837dbec52b6296cfa85f1dd3c631
83794af9fa3b8188689b9e0bf897ff21eeefb43e
2222 F20110109_AABPTN doh_y_Page_091.txt
a3a5e06d69e976dc78fb2b1f9dddb1c3
fbc5db839dee9f7a2dc06fb3ef9f4607658d8a13
1987 F20110109_AABPSY doh_y_Page_050.txt
ec01389bf91a173abead4c933f9075d7
f3cf2574c26943131b3fba457193e092eb6fb24c
29969 F20110109_AABQXE doh_y_Page_032.QC.jpg
dd37bfadc9e8c73fe9211fe819754391
8883779db7c34c55ae5b93343f1f2729bd0d05bf
F20110109_AABQWQ doh_y_Page_010thm.jpg
21b808963f3272a62cabdf70155eee03
2b7d27da476570334f755e6d5a7158c6b8b941e6
62331 F20110109_AABPUC doh_y_Page_126.pro
7a2426799301037182d805b279ac3954
cd2ef7292ead1154469a22f3700ce919d7370ba3
91303 F20110109_AABPTO doh_y_Page_097.jpg
d217c7447d9f851b4a0874e247d4b744
40386116dbd1ecfd6fd5cd95292d9475581513b8
1051949 F20110109_AABPSZ doh_y_Page_157.jp2
acf92cade9dec8f873327f9ae70124ea
5e4965223caf22c893c90b8e96938c6aa27bbb6b
6973 F20110109_AABQXF doh_y_Page_032thm.jpg
b9326863acdb47add931427c71a25f99
0732f6882da82a2f8cc2f183c4169c20fc37e130
12449 F20110109_AABQWR doh_y_Page_011.QC.jpg
734a89430966ac347ed5dac9220e3d74
a96ab82d1293328e7ee23e1a938dc16a6bfaa6a3
27433 F20110109_AABPUD doh_y_Page_086.QC.jpg
6edd5fb9f09347952621097cbeece567
b83c002b4aa412d40bd2231f5b9a0387162bf8eb
86809 F20110109_AABPTP doh_y_Page_096.jpg
d41211c6b4a0a8edafbcf47480a81084
c48982c1bfaeb6592ba9d2a13a72b85cbc7693f9
22047 F20110109_AABQXG doh_y_Page_034.QC.jpg
4b7d82cfa18e040d6b17f5dbca9844f9
955719e327ab9117540ddfb61d34b2e2f1260ad6
3088 F20110109_AABQWS doh_y_Page_011thm.jpg
ff352c10f6cd941acf7753e4df971cb4
9ca353049a103e2f59eabde81b7dc030b854cdcc
25096 F20110109_AABPUE doh_y_Page_107.pro
6674c677fa9c6e70f94828849653e23e
d2ccdbeafcfe38a72180b8ec77df3d70fa0c487a
23779 F20110109_AABPTQ doh_y_Page_070.QC.jpg
3395ec4feb7e14d7544bea7361ed6dae
d5264fe244027d5d56f667757d6479235edf8178
5422 F20110109_AABQXH doh_y_Page_034thm.jpg
e85583ad31dc20e571980b09bcbd1b0b
f234ce08b100eed0cd864596a64ab91e8744c333
23052 F20110109_AABQWT doh_y_Page_014.QC.jpg
4923b49e93b86936e3d9406e3290b007
a82a0ce70ab2ef2c9a2744cfe5676daa9dbc44a0
13489 F20110109_AABPUF doh_y_Page_129.pro
822e5a7480b5f28b48026c0c6d2619f8
b8f319a04319b0f08abb5130462d195e72a72ae8
2382 F20110109_AABPTR doh_y_Page_140.txt
713c481758cd8703b1ecf9214148a9cc
95146f790bc6799b648d4530aae2d2b46657d3d3
26077 F20110109_AABQXI doh_y_Page_035.QC.jpg
d44e5bd028e3f5deec61a5b772b8e813
bdaf4917c65fe67fc937af376387955c5e727269
5446 F20110109_AABQWU doh_y_Page_014thm.jpg
cbcbb3c63e37d2b09f999373f09b3e3d
cd7a12198c85ea56285ef9ab335649bb5f13de73
93123 F20110109_AABPUG doh_y_Page_071.jpg
638623f8913bb0367c2af519fefec43e
7e3af9b5f8e2c959c556663559dd025100359829
F20110109_AABPTS doh_y_Page_085.tif
9c1d8ced8ae48010a71762d6b0105175
0c0d0c82bdfc78ae42948641117981f053f16dbf
101959 F20110109_AABQAA doh_y_Page_077.jp2
937f3f8d764101cf5935d8430bbed637
2316acae5503408a3cbbf8e46c342b903569561d
6581 F20110109_AABQXJ doh_y_Page_035thm.jpg
3403f142f73c3f6129721c4486d53dd7
5c526027a680ee49fda4dfb337ae4ae9386a39e6
27011 F20110109_AABQWV doh_y_Page_016.QC.jpg
84312c91772233a4d30e088e2dfe519b
d644f1fcc972225266ff70a7fec0fbf050357d5a
F20110109_AABPUH doh_y_Page_133.txt
fe70eb200f26df3bcb9ef9bcd92c2793
d6bfaa9e6dd248990821cdb3f5d52a9333808c29
6796 F20110109_AABPTT doh_y_Page_051thm.jpg
adf82857597decb991fd02d69633acd1
1d3716a69847a3fdabc1e398c0ba8b1acf35cd77
27163 F20110109_AABQAB doh_y_Page_143.QC.jpg
397b2d9a983e12d0e67fe0431bfa6560
eaffccb575111252a0a8204f80df0fdb813d060c
27083 F20110109_AABQXK doh_y_Page_037.QC.jpg
a7048b65d53413c81f220c2384cc9f02
508050d8beff68be97e11323f304879b5c796d72
1527 F20110109_AABPUI doh_y_Page_003.QC.jpg
41c712fb09f3d60286b87a6247a454c0
8a6a78ae96dbf1da16da62c9669ff264163635f5
2472 F20110109_AABQAC doh_y_Page_128.txt
6252eac619b935373441636212c9a475
a511103deb5faafe0f408aecf97c0567766b657c
22519 F20110109_AABQXL doh_y_Page_038.QC.jpg
679e734eb0094db8dcc0bde11a80edf4
10122f149317052d859829c28c1f7c858131f549
F20110109_AABQWW doh_y_Page_016thm.jpg
5136d163700a6ba87e93ac6f0b64710b
be9762b9c55c8870098595cd426492a84cb55561
2393 F20110109_AABPTU doh_y_Page_104.txt
41e1de8700f454316d20ab38b49912a1
4c901cb1e275490dffbcc4661e64f4fc9acef2af
59593 F20110109_AABQAD doh_y_Page_082.pro
eef4e2f0ff78f11dbb1a14e1ef49c1dc
68189eb1f87881f0ec0b2101c07b2d89d3b4f67a
26712 F20110109_AABPUJ doh_y_Page_117.QC.jpg
e0d11c0ebb0a6d5a52eb5006df52befb
23ebeb9b7c63c4df2430d2246f2130106116e299
6008 F20110109_AABQYA doh_y_Page_057thm.jpg
0504590acce6061e59c15260e6d3220e
65de41796e44215ce3a29f43b96b3bf70e2fb8e1
5824 F20110109_AABQXM doh_y_Page_038thm.jpg
ebe651d0103c4ef3cf6a968650e8b4c7
5565cb1062ecf44df95b3ae6ffbcbaf2b4656b9d
F20110109_AABQWX doh_y_Page_021thm.jpg
6cf353de686bf51ec461453fcecf6bdc
e25081c868778edd53f35344a17c60296912bb08
1880 F20110109_AABPTV doh_y_Page_044.txt
844d04ff79b01ca9ded8e38d54a3803a
768bd6abafbb05e36e7f83466d6ace0fb5d5dfc9
6012 F20110109_AABQAE doh_y_Page_141thm.jpg
30dc74cf3ea95ce3d26a1478e24f6088
4e36b22ea45942ef4a513029b83bf08566576fd0
1051986 F20110109_AABPUK doh_y_Page_124.jp2
2d172ccfee98ef472b6d5d4de1ee5cb5
e8ac32f1395c1b7e849c8b64efcf706be461ab38
19163 F20110109_AABQYB doh_y_Page_058.QC.jpg
5f98caa4b157d59f8bb7dc9efe850694
e8b8465932af50b82593a80db8c68aef4b958ab8
25817 F20110109_AABQXN doh_y_Page_039.QC.jpg
403eab94c089b527556631c4a7dc184e
59494fa67ba5227f77d4dd76982770c14e1453a0
6418 F20110109_AABQWY doh_y_Page_022thm.jpg
6059eed4355770aa2d3b199ed44b01a5
059aade994ce0d3e8d7d354d8e718fba364aae67
18469 F20110109_AABPTW doh_y_Page_047.QC.jpg
6ca8dc948b2c660f11cfb2150853a18e
9ef540acb249ed5e452df40d36aba676d8d856bc
51116 F20110109_AABQAF doh_y_Page_083.pro
90f915fee245552c21defe6f9e8729a5
1fc3f663b9267bbab930c57ef7895550515c043b
2608 F20110109_AABPUL doh_y_Page_036.txt
89aa70632707ed6c4a972ee47feb11ee
669bad848f8e6024f583edb210f33c1e6e0edffb
5135 F20110109_AABQYC doh_y_Page_058thm.jpg
bae7a92c2a7e6e9e2e2c4fc7555056f3
95d97115fc7840cfd91d6c345872b4d390aed203
3609 F20110109_AABQXO doh_y_Page_040thm.jpg
261af14644beb2452fd001103ef3a5aa
7c3215ea2d942920200e3410336ac189215195f1
28989 F20110109_AABQWZ doh_y_Page_025.QC.jpg
c2b83c503544d95d64f5f2d09732a400
7dbaba13f6ee509fc90b276b65a546c61b92672d
F20110109_AABPTX doh_y_Page_152thm.jpg
32f34dd72589be082bf84da60d674920
a735c10d547abfa115e0d11253b812402767a283
86348 F20110109_AABQAG doh_y_Page_085.jpg
a09cbf696f788d71a76ce46085359305
05e54779a91f958aa7d7016b11c46de5227d791d
179 F20110109_AABPVA doh_y_Page_072.txt
0c6f3c221f56bd6928d125aae9f8a7d2
bd74176a643fcfe061ec7d628074ecbe5de9bdb5
2201 F20110109_AABPUM doh_y_Page_092.txt
26aa6183a1cfd25de49901c89cc16029
bb307eccbd8d828ca145e11c7721a99791bf213c
21942 F20110109_AABQYD doh_y_Page_059.QC.jpg
1b49b277c240dd6e2ce41fce0e8b199b
f9794277471c853abf169ac2ee5e7490ce60448c
6150 F20110109_AABQXP doh_y_Page_041thm.jpg
d0e3a7a1905495396eb94d9599c27439
e23d69fe5ac5675bde59d115d512bd287c3ec2c9
57381 F20110109_AABPTY doh_y_Page_152.pro
5564b028bbb4b73023d211632900ff0a
7dc0c784c7a4a7319fe7b733084d4fa19f23478f
1051970 F20110109_AABQAH doh_y_Page_149.jp2
c80cbcd4d38470031cc31ef0ae7cdd6b
753812a719c5802a6ea0e6d38dec611f19af2222
2357 F20110109_AABPVB doh_y_Page_121.txt
14fa77bcda7b1929ed694e02de0e314b
c3ef943afa7cb15d9cab43c868607fe18de41a36
73493 F20110109_AABPUN doh_y_Page_038.jpg
4919eedae6b7917549286888a5de4ff2
879f8da333acecf1d24e1a61d6fd871c4668742a
20304 F20110109_AABQYE doh_y_Page_060.QC.jpg
bf236fad7e9320cccb7eb5ba9c16dcc6
63f68ef1208f142b0b472e2730d25043c881ded4
14607 F20110109_AABQXQ doh_y_Page_042.QC.jpg
df3b1dde772b434f0a4c41d13288f6e9
5e4f90fdacea276bfa5088a5552eb5e1dad697cb
6601 F20110109_AABPTZ doh_y_Page_147thm.jpg
80e4a6f5aee44e22717720472bf873b2
7e5183cf5ee6bdadba4b5a5a8df10fbc1b64f25b
F20110109_AABQAI doh_y_Page_052.jp2
d936401903c3587d960081a155ad6f79
7c62b34c2f49b021b0d6ee786094f49d28f739a6
50426 F20110109_AABPVC doh_y_Page_040.jpg
a5e1880c1a26e307742ddeedbbadd9fd
ca68c2612eb7d6d9b11caf73b3123ce38fae6d63
21469 F20110109_AABPUO doh_y_Page_087.QC.jpg
5012dd34f78531c3794dc70ed87059f7
c28e066df2b247b745361d4ccc83bd4dbab12c7f
5281 F20110109_AABQYF doh_y_Page_060thm.jpg
6fd3f201fa8bd136137ed18b1462fa3c
95b83735ff3df96a504b06f76ded789c9685bc4a
4060 F20110109_AABQXR doh_y_Page_042thm.jpg
ab65aeeebf955a3681c10a0d9bc7d98b
2e5fad0899c3cf6048e9c3fe8c51a648306c8b8b
6963 F20110109_AABQAJ doh_y_Page_086thm.jpg
c6292e2b293d858305b0baf825ae5cab
51e31b00325e08899318b86885636b331e675d24
87590 F20110109_AABPVD doh_y_Page_147.jpg
a719056cd70bac53c2e3c3a1dbec2146
87cafdcbb00d6e0ea966f4b3c4643589392f5407
24015 F20110109_AABPUP doh_y_Page_155.QC.jpg
c6d73c298c788ebd500f23d6b4c13049
0ac55fb2bcd4156947a984c04faa82d529e546bb
20243 F20110109_AABQYG doh_y_Page_062.QC.jpg
865cb5bb7087bf425bc65b866f760959
8b46dd59083d1169e4a96c22ecf2bd513243ab51
6787 F20110109_AABQXS doh_y_Page_043thm.jpg
ecf6243c125e0f0805cd0bc0a644522d
c2d6faa352b9dca9f416685a6d463ec85a8dd48b
2485 F20110109_AABQAK doh_y_Page_123.txt
c66deaf5874c7b6b7cdd98ab2ab13ec7
7024716cba9054227beaa0ed7759274b44b12093
62061 F20110109_AABPVE doh_y_Page_128.pro
452c7370de35a4c79ec9e55899132274
b898b379f550f61fa4d4661d26019b99ad74a299
6252 F20110109_AABPUQ doh_y_Page_149thm.jpg
4f5483a9289c11dcacbedadf9fef90f6
95e1d74fb30f3a38c3cbc0d356e0cd9da7acc889


Permanent Link: http://ufdc.ufl.edu/UFE0000675/00001

Material Information

Title: Voltage-clock scaling and scheduling for energy-constrained real-time systems
Physical Description: xiii, 151 p.
Creator: Doh, Yoonmee ( Dissertant )
Peir, Jih-Kwon ( Thesis advisor )
Chow, Randy Y. ( Reviewer )
Dankel, Douglas D. ( Reviewer )
Newman, Richard ( Reviewer )
Chun, Paul W. ( Reviewer )
Publisher: University of Florida
Place of Publication: Gainesville, Fla.
Publication Date: 2003
Copyright Date: 2003

Subjects

Subjects / Keywords: Computer and Information Science and Engineering thesis,Ph.D
High performance computing   ( lcsh )
Dissertations, Academic -- UF -- Computer and Information Science and Engineering
Electric power -- Conservation   ( lcsh )
Electronic digital computers -- Power supply   ( lcsh )
Low voltage integrated circuits -- Design and construction   ( lcsh )
Timing circuits -- Design and construction   ( lcsh )

Notes

Abstract: Nowadays, exponentially increasing demands for portable devices and more sophisticated and intelligent functionalities in embedded applications make processors much power-hungrier. Due to a limited energy budget, low-power computing at a relatively low level of power consumption or power-aware computing with the knowledge of power source plays important role in extending systems lifetime. In the dissertation, we study how to reduce power consumption using a low power voltage-clock scaling scheme in real-time systems that require strict time and energy constraints. The property of power-delay tradeoff has significant impact on the schedulability as well as on the performance of the systems. First, we focus on dynamic reclaiming of early released resources in earliest deadline first (EDF) scheduling using voltage-clock scaling. In addition to a static voltage assignment, we propose a new dynamic-mode assignment, which has a flexible voltage mode setting at run-time, enabling much larger energy savings. Using simulation results and exploiting the interplay among power supply voltage, frequency, and circuit delay in CMOS technology, we find the optimal two-level voltage settings that minimize energy consumption. Next, we study battery-driven real-time systems that jointly schedule hard periodic tasks and aperiodic (sporadic) tasks, whose power sources are bounded in a feasible range decided by a set of tasks. Therefore, reducing power consumption is not the only objective of task scheduling in this case. To make the most of the available energy budget, an effective energy-sharing scheme is proposed using two-mode voltage-clock scaling-EDF scheduling. Based on the proposed energy allocation model for energy-constrained real-time systems, a dual-policy dynamic scheduling method is proposed not only for faster responsiveness but also for reducing power consumption. The feature of the approach is an intermixing of two schedules; the one consumes minimum energy and the other the worst-case energy, respectively, leading to much longer lifetime under a bounded energy budget. Lastly, we build a scaling mechanism that optimizes energy saving and responsiveness to the aim of the system s performance. Fully utilizing the property in sharing constrained-energy and processor s capacity in total bandwidth server, we adjust total power consumption and average response time of aperiodic tasks by simply controlling the utilization of periodic tasks.
Subject: battery, clock, consumption, edf, energy, powered, real, saving, scaling, scheduling, systems, time, vcs, voltage
General Note: Title from title page of source document.
General Note: Includes vita.
Thesis: Thesis (Ph. D.)--University of Florida, 2003.
Bibliography: Includes bibliographical references.
General Note: Text (Electronic thesis) in PDF format.

Record Information

Source Institution: University of Florida
Holding Location: University of Florida
Rights Management: All rights reserved by the source institution and holding location.
System ID: UFE0000675:00001

Permanent Link: http://ufdc.ufl.edu/UFE0000675/00001

Material Information

Title: Voltage-clock scaling and scheduling for energy-constrained real-time systems
Physical Description: xiii, 151 p.
Creator: Doh, Yoonmee ( Dissertant )
Peir, Jih-Kwon ( Thesis advisor )
Chow, Randy Y. ( Reviewer )
Dankel, Douglas D. ( Reviewer )
Newman, Richard ( Reviewer )
Chun, Paul W. ( Reviewer )
Publisher: University of Florida
Place of Publication: Gainesville, Fla.
Publication Date: 2003
Copyright Date: 2003

Subjects

Subjects / Keywords: Computer and Information Science and Engineering thesis,Ph.D
High performance computing   ( lcsh )
Dissertations, Academic -- UF -- Computer and Information Science and Engineering
Electric power -- Conservation   ( lcsh )
Electronic digital computers -- Power supply   ( lcsh )
Low voltage integrated circuits -- Design and construction   ( lcsh )
Timing circuits -- Design and construction   ( lcsh )

Notes

Abstract: Nowadays, exponentially increasing demands for portable devices and more sophisticated and intelligent functionalities in embedded applications make processors much power-hungrier. Due to a limited energy budget, low-power computing at a relatively low level of power consumption or power-aware computing with the knowledge of power source plays important role in extending systems lifetime. In the dissertation, we study how to reduce power consumption using a low power voltage-clock scaling scheme in real-time systems that require strict time and energy constraints. The property of power-delay tradeoff has significant impact on the schedulability as well as on the performance of the systems. First, we focus on dynamic reclaiming of early released resources in earliest deadline first (EDF) scheduling using voltage-clock scaling. In addition to a static voltage assignment, we propose a new dynamic-mode assignment, which has a flexible voltage mode setting at run-time, enabling much larger energy savings. Using simulation results and exploiting the interplay among power supply voltage, frequency, and circuit delay in CMOS technology, we find the optimal two-level voltage settings that minimize energy consumption. Next, we study battery-driven real-time systems that jointly schedule hard periodic tasks and aperiodic (sporadic) tasks, whose power sources are bounded in a feasible range decided by a set of tasks. Therefore, reducing power consumption is not the only objective of task scheduling in this case. To make the most of the available energy budget, an effective energy-sharing scheme is proposed using two-mode voltage-clock scaling-EDF scheduling. Based on the proposed energy allocation model for energy-constrained real-time systems, a dual-policy dynamic scheduling method is proposed not only for faster responsiveness but also for reducing power consumption. The feature of the approach is an intermixing of two schedules; the one consumes minimum energy and the other the worst-case energy, respectively, leading to much longer lifetime under a bounded energy budget. Lastly, we build a scaling mechanism that optimizes energy saving and responsiveness to the aim of the system s performance. Fully utilizing the property in sharing constrained-energy and processor s capacity in total bandwidth server, we adjust total power consumption and average response time of aperiodic tasks by simply controlling the utilization of periodic tasks.
Subject: battery, clock, consumption, edf, energy, powered, real, saving, scaling, scheduling, systems, time, vcs, voltage
General Note: Title from title page of source document.
General Note: Includes vita.
Thesis: Thesis (Ph. D.)--University of Florida, 2003.
Bibliography: Includes bibliographical references.
General Note: Text (Electronic thesis) in PDF format.

Record Information

Source Institution: University of Florida
Holding Location: University of Florida
Rights Management: All rights reserved by the source institution and holding location.
System ID: UFE0000675:00001


This item has the following downloads:


Full Text











VOLTAGE-CLOCK SCALING AND SCHEDULING
FOR ENERGY-CONSTRAINED REAL-TIME SYSTEMS


















By

YOONMEE DOH


A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY

UNIVERSITY OF FLORIDA


2003





























Copyright 2003

by

Yoonmee Doh


























To my son Minjae, my husband Daeyoung, and my families, with love
















ACKNOWLEDGMENTS

I would like to thank many individuals for the care and support they have given me

during my doctoral study. First of all, I would like to express my gratitude to Professor Jih-Kwon

Peir. As my advisor, he has provided me with guidance, insightful comments, and suggestions. I

wish to extend my thanks to my main advisor, Professor Yann-Hang Lee at the CSE Department

of Arizona State University, not only for his invaluable academic guidance but also for his strong

support, encouragement, and his caring ways through the years he has supervised my research. I

would also like to thank Professor C. Mani Krishna at University of Massachusetts for his

priceless advice. My appreciation also goes to the professors on my supervisory committee,

Randy Y. Chow, Douglas D. Dankel, Richard Newman, and Paul W. Chun, for their valuable and

constructive advice.

I would also like to thank former and current members of the Real-Time Systems

Research Group at the University of Florida and Arizona State University for their invaluable

help, friendship, and discussion. Thanks also go to the CSE Department of Arizona State

University for giving me an opportunity to visit and to work as a visiting research scholar and for

providing administrative support during my stay.

I am also deeply grateful to my middle school teacher, Jongyee Choo at Sungwha High

School. Without his continued encouragement and moral support, I could never be what I am. My

thanks should also go to the former director of ETRI, Professor Munkee Choi, at Information and

Communications University and the current members of KCISE at the University of Florida for

their help with all the details needed at UF to complete a degree during my stay at ASU.

Finally, I would like to give special thanks to the people who are most dear to me, my

dear mother, Seeok Han, my brothers Jinwoong, Youngjin, Younghyo, and my sister, Sunmee, to










whom I owe everything. Their blessing, guidance, and love made me what I am today. I am also

grateful to my parents, my sisters, and my brothers-in-law since they have always encouraged me

in my studies and believed in me. Many thanks go to my various friends near and far, for hanging

in there with me. Especially, I thank Wendy Tiedemann and Okehee Goh for their endless

support. My final acknowledgements go to my wonderful husband, Daeyoung, and my lovely son,

Minjae, for their continued love and support given to me until now.

















TABLE OF CONTENTS

Page


A C K N O W L E D G M EN T S................................................................................... ....................... iv

L IS T O F T A B L E S ........ ............. ........................... ...................................... ... ....................... viii

LIST O F FIG U RES ............................................. ................................... ......... ........... .. ix

A B ST R A C T ................ .................................................. .......................... .................. .... xii

CHAPTER
1 IN T R O D U C T IO N ................................................... .................. ............................................ 1
1.1 Low-power and Power-aware Real-Time Systems........................................................ 1
1.2 Research Background and Related Works ....................................................................5
1.2.1 Dynam ic Power M anagem ent................................................................... .......................5
1.2.2 Low Pow er vs. Pow er-aw are Com putting ........................................... ......................6
1.2.3 Dynam ic V oltage-Clock Scaling ............................................ ............................ 8
1.2.4 Fundam ental Scheduling Theories ........................................ .......................... 10
1.2.5 Low Power Real-Tim e Com puting......................................... .......................... 12
1.2.6 Power-aware Real-Time Computing .................. ................................................... 14
1.3 M ain C contributions ............................................................................... ...... ................... 17
1.4 O organization of the D issertation ......................................................................................... 18
2 TWO-MODE VCS-EDF SCHEDULING FOR HARD REAL-TIME SYSTEMS .................21
2 .1 In tro d u ctio n .................................................................................. .......... .. .............. .... 2 1
2 .2 System M odel ................. ........ ............. .. ...... ................................ ................23
2.3 Voltage-Clock Scaling under EDF Scheduling ...................................... ................ 24
2.4 Simulation Evaluation of VCS-EDF Algorithm ...................................... ................28
2.5 Optimal Voltage Setting in VCS-EDF scheduling .....................................................33
2 .6 C onclu sion ................ .................. ....... ............................................... 36
3 CONSTRAINED ENERGY BUDGET ALLOCATION ..................................................37
3.1 Introduction......................................................... .. ............. ....... 37
3.2 Design Concepts ...................... ....... .................... ............ 39
3.3 System M odel for Energy Sharing........................................................... ............... 41
3.3.1 Schedule for Periodic Tasks ................................................ ............................. 41
3.3.2 Schedule for Aperiodic Tasks ........ ..... ......... ................................. ..................42
3.3.3 V oltage-C lock Scaling .......................................................................... ......................43
3.3.4 Bounded Energy Consumption........................................ ....... ................44
3.4 Profiling Energy and Utilization Usages in a Real-time Embedded System .....................44
3.4.1 Periodic Tasks............. ............................... ............ 45










3.4.2 A periodic T asks ...................................................................................... ................46
3.4.3 E energy B budget A location ........................................ ..............................................47
3.5 Constrained Energy Allocation using VCS-EDF Scheduling............................................48
3.5.1 Energy A location Factors ................................................ ................................ 48
3.5.2 A lgorithm for Energy Budget A llocation............................................... .... ..............51
3.6 Sim ulation E valuation .............................................................................. ......................52
3 .7 C o n clu sio n ............................................................. ................. 5 8
4 DUAL-POLICY DYNAMIC SCHEDULING .............................................. ................ 60
4.1 Introduction......................................................... .. ............. ....... 60
4.2 Design Concepts .................. ........ ... .................................63
4.2.1 Simple Two Voltage Settings .................... .................................. 63
4.2.2 Total Bandwidth Server for Aperiodic Tasks................................ ... ............. 64
4.2.3 Energy Budget Allocations using Two-mode VCS-EDF Scheme .............................65
4.2.4 E lem entry Schedules........................................................... ............................ 65
4.3 Dynam ic Dual-Policy Scheduling M odel ........................................ ........................ 68
4.3.1 Schedule for Only Periodic Tasks ................................................... 69
4.3.2 Schedule for Both Periodic and Aperiodic Tasks..................... ................................ 70
4.3.3 Schedules for Transition between Elementary Schedules ........................................71
4.4 Dual-Policy Dynamic Scheduling Using VCS-EDF................................ ................80
4 .4 .1 T erm s and C conditions ............................................................................. ................80
4.4.2 Sw itching Scheduling Policies ........................................................ ................ 81
4.5 Algorithm for Dual-Policy Dynamic Scheduling .................................... ................89
4.6 Perform ance Evaluation ....................................................................................... ................ 96
4 .6.1 E energy C onsum option ........................................................................... ................... 98
4.6.2 A average R response Tim e ............................................................. .... ......... ....... 108
4.7 Conclusion ................................................................. .....................115
5 SCALING OF ENERGY CONSUMPTION AND RESPONSIVENESS...............................117
5 .1 Introdu action ...1.... ... ......... .. .......................... ...... .... ..... ... ........ .................. .... 117
5.2 Feasible Ranges of Utilization and Energy Consumption for Periodic Tasks................... 120
5.3 Scaling Energy Saving and Responsiveness in Dual-Policy Dynamic Scheduling ...........122
5.3.1 Scaling Factor ...................... ................................ .................. ......... 124
5.3.2 S1 Schedule w ith Scaling Factor ...............................................................................125
5.3.3 Scaling under a Constrained Energy Budget............................................................. 125
5.4 Perform ance Evaluation ............................................................................... ............. ......... 126
5.5 C conclusion .................... .......... .................. ...................................................... ...... 139
6 CONCLUSIONS AND FUTURE WORK................................. ...... ................. 141
6 .1 C o n trib u tio n s ................ ................................................................ ....... .. .... ........... 14 1
6.2 Future R research D irections............................................................................................. .. 142
L IST O F R E FE R E N C E S ....................................................... ................................................ 144

B IO G R A PH IC A L SK ET C H ............................................................................................ ......... 151

















LIST OF TABLES


Table Page


1-1 Microprocessors that allow the core to operate at different voltages and frequencies............9

4-1 Switching Scheduling Policies with respect to the Interval Changes .................................. 89

4-2 An example of increased L-mode execution times for periodic tasks when UA= 0.3 .............. 102

4-3 An example of increased L-mode execution times and energy saving for periodic tasks
w h en U A= 0 .3 ................................................................................................. ......... ........... 106

5-1 Average response times with respect to energy saving factor S(S1 schedule) when Ec=
E m Up= 1.2, UA=0.3 ....................... ................................................................ ................ 132

















LIST OF FIGURES


Figure Page

2-1 On-line reclamation algorithm for voltage-clock scaling ................................................. 27

2-2 The percentage of execution time in H-mode ...............................................................29

2-3 The percentage of the reduction for the time in H-mode ...................................... ........ 31

2-4 The relative energy consumption of fixed, static, and dynamic approaches..........................32

2-5 An example of finding the optimal aL ......... .............................................. ......... .............. 34

2-6 The optimal L-mode voltages VL (VH= 3.3 V, 1.3 Watts, and 50 MHz)...............................35

3-1 An example of the deadline assigning algorithm in Total Bandwidth Server ......................43

3-2 The relationship between power consumption and utilization for a set of periodic tasks.......46

3-3 The algorithm for constrained energy budget allocation ...............................................51

3-4 The responsiveness to the energy allocation of periodic tasks......... ......... ................ 54

3-5 The ratios of available utilization to the minimum utilization for periodic tasks ................55

3-6 Energy allocation percentage to the maximum energy demand ..........................................56

3-7 Minimum average response time with respect to the bounded energy budget .....................57

4-1 An example of scheduling mixed real-time tasks and two explicit intervals in the event
p pattern ................ ................. ............... ................................................ 6 6

4-2 Switching schedules for a busy cycle starting with a periodic task and non-zero WD ...........82

4-3 Switching schedules for a busy cycle starting with a periodic task and all WD (t)O0 ..........85

4-4 Switching schedules for a busy cycle starting with an periodic task and WD (t) >0...........86

4-5 Sw itching from S1 to S2 schedules ................................................................. .....................87

4-6 Sw itching from S2 to S1 schedules ................................................................. .....................88










4-7 The algorithm for Dual-Policy Dynamic Scheduling ................................. ................92

4-8 The percentages of executed times to the total execution times over a various energy
budget in cases ofUp =0.8 and 1.0 for a fixed UA =0.3.......................................................... 100

4-9 The percentages of executed times to the total execution times over a various energy
budget in cases of Up=1.2 and 1.4 for a fixed UA =0.3........................................................... 101

4-10 The percentages of time executed in high-speed mode to the total execution times over a
various energy budget in cases of Up=1.2................................ ..................... 103

4-11 The percentages of time executed in low-speed mode to the total execution times over a
various energy budget in cases of Up=1.2................................ ..................... 104

4-12 Energy consumption ratios of dual and single-policy dynamic scheduling to static analysis
for the variation of the real execution time demands of periodic task when Up=1.2 ........... 107

4-13 Average response times in regard to the actual workload demands of periodic tasks when
U p = 1.2 .................................................................................................................... ........... 109

4-14 The responsiveness with respect to the bounded energy budgets when Up=1.2.................. 110

4-15 The responsiveness with respect to the bounded energy budgets when Up =0.8 and 1.0 .......111

4-16 The responsiveness with respect to the bounded energy budgets when Up=1.2 and 1.4 .......112

4-17 The percentages of execution time in changed mode execution from assigned mode to the
total execution tim es w hen Up =1.2 .............................................. .............................. 114

5-1 The relationship between power consumption and utilization for a set of periodic tasks....... 121

5-2 Sharing of energy consumption and utilization in Dual-Policy Dynamic Scheduling ..........123

5-3 The range of energy scaling factor ...................................................................... ................ 124

5-4 Feasible scaling ranges of energy consumption and responsiveness under a constraint
en erg y b u d g et ......................................................................... .......... ........ ............ 12 6

5-5 The percentages of executed times to the total execution times over a various energy
budget in cases of Up 1.2 for a fixed UA =0.3 ................................................... ................. 127

5-6 The increases in high- and low-speed mode execution times and energy saving by them
when Up=1.2 for a fixed UA =0.3 ............................ .... ....................................... 128

5-7 Energy saving with respect to Single-Policy Dynamic Scheduling with the variations of S
(S1 schedule) and constraint energy budgets when Up=1.2 and UA =0.3 ............................. 130

5-8 Average response times with respect to energy scaling factor S(S1 schedule) and
constraint energy budgets when Up=1.2 and UA =0.3 .............................. ................ 131










5-9 Comparisons of responsiveness between SPDS and DPDS with respect to constraint
energy budget, Ec = Emn + wEdf, and energy scaling factor .......................................... 133

5-10 The percentages of switched execution times from assigned mode in worst-case for the
intervals when the transitory schedule S12 is selected to total execution time .................... 135

5-11 The percentages of execution time in changed mode execution from assigned mode in the
worst-case with respect to constraint energy budget, Ec = Emn + wEdff, and energy scaling
fa cto r ............................................................... .......................................... ......... ....... 13 6

5-12 Comparisons of energy consumption ratios to static analysis between SPDS and DPDS
with respect to constraint energy budget Ec Em, + oEdf over the variation of workload
dem an d in p periodic task s........................................................... .......................................... 137

5-13 Comparisons of average response times between SPDS and DPDS with respect to
constraint energy budget Ec Em,, + cEdf over the variation of workload demand in
periodic tasks ............................................... 138
















Abstract of Dissertation Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Doctor of Philosophy

VOLTAGE-CLOCK SCALING AND SCHEDULING
FOR ENERGY-CONSTRAINED REAL-TIME SYSTEMS

By

Yoonmee Doh

May 2003


Chairman: Jih-Kwon Peir
Major Department: Computer and Information Science and Engineering

Nowadays, exponentially increasing demands for portable devices and more sophisticated

and intelligent functionalities in embedded applications make processors much power-hungrier.

Due to a limited energy budget, low-power computing at a relatively low level of power

consumption or power-aware computing with the knowledge of power source plays important

role in extending systems' lifetime. In the dissertation, we study how to reduce power

consumption using a low power voltage-clock scaling scheme in real-time systems that require

strict time and energy constraints. The property of power-delay tradeoff has significant impact on

the schedulability as well as on the performance of the systems.

First, we focus on dynamic reclaiming of early released resources in earliest deadline first

(EDF) scheduling using voltage-clock scaling. In addition to a static voltage assignment, we

propose a new dynamic-mode assignment, which has a flexible voltage mode setting at run-time,

enabling much larger energy savings. Using simulation results and exploiting the interplay among

power supply voltage, frequency, and circuit delay in CMOS technology, we find the optimal

two-level voltage settings that minimize energy consumption. Next, we study battery-driven real-










time systems that jointly schedule hard periodic tasks and periodic (sporadic) tasks, whose

power sources are bounded in a feasible range decided by a set of tasks. Therefore, reducing

power consumption is not the only objective of task scheduling in this case. To make the most of

the available energy budget, an effective energy-sharing scheme is proposed using two-mode

voltage-clock scaling-EDF scheduling.

Based on the proposed energy allocation model for energy-constrained real-time systems,

a dual-policy dynamic scheduling method is proposed not only for faster responsiveness but also

for reducing power consumption. The feature of the approach is an intermixing of two schedules;

the one consumes minimum energy and the other the worst-case energy, respectively, leading to

much longer lifetime under a bounded energy budget. Lastly, we build a scaling mechanism that

optimizes energy saving and responsiveness to the aim of the system's performance. Fully

utilizing the property in sharing constrained-energy and processor's capacity in total bandwidth

server, we adjust total power consumption and average response time of periodic tasks by

simply controlling the utilization of periodic tasks.
















CHAPTER 1
INTRODUCTION

1.1 Low-power and Power-aware Real-Time Systems

In recent years, the rapidly increasing popularity of portable battery-operated computing

and communication devices have motivated research efforts toward low power and energy

consumption. Battery life is the primary constraint for energy-constrained systems such as

personal mobile phones, laptop computers, digital cameras, and personal digital assistants

(PDA's) [1]. On the other hand, limiting power is also important in the field of general or high-

performance systems. In the report of examination of electricity usages in U.S., total power use

by office equipment and network equipment is about 74 TWh per year, which is about only 2% of

total electricity use in the U.S., and power management currently saves 23 TWh/year [2]. An

exponential growth of Internet usage also requires power-efficient server farms, which are

warehouse-sized buildings filled with servers of Internet service providers (ISP). For example, an

ISP with 8,000 servers needs 2 megawatt of power [3]. The power demanded by information

technology (IT) will grow exponentially to overpass all other power uses combined in the near

future. Therefore, it is obvious that both energy-constrained electronics and servers need

processors that consume less energy.

Due to the confined battery capacity in portable systems and power efficiency in high-

end systems, to maintain adequate computing performance levels without useless drainage is the

main purpose in power-aware computing. Therefore there has been tremendous interest in power

management for portable and mobile embedded systems, showing evident advances in the fields

of circuit designs, processor architecture, and operating systems, and moving toward system-level

or high-levels in design architecture.










From research during the past several years, we can easily catch two major shifts in the

field of power-aware computing. First, power-efficient designs, i.e., low power designs, are no

longer only for portable computing systems. Power dissipation has rapidly become a first-order

design constraint in almost every type of computing system including hand-held devices, desktop

computers, and even high performance computing servers. The second is that computing efforts

based on the state of power capacity and the power estimation of system components or whole

system level have been introduced as power-aware computing.

For the power-efficient designs, significant reduction in power consumption is possible

from techniques ranging from low-power CMOS circuit design to power management software

tools. Initial power management efforts focused on putting the system in a low-power/low-

performance sleep mode when it was idle. With the advent of the advance configuration power

interface (ACPI) standard, such power management has been successfully employed in real-life

systems. However, such approaches depend for their efficacy on efficient ways to decide when

and which device should be shut down and woken up.

An energy characteristic called voltage-clock scaling (VCS) in CMOS technology allows

the designers to obtain revolutionary power reduction. Power is proportional to the square of the

operating voltage and proportional to clock frequency. Modem processor cores can operate at

different voltage ranges to achieve different levels of energy efficiency showing a property of

operating voltage-frequency tradeoff. In other words, lowering the voltage means lowering the

frequency and vice versa. Scaling down both operating voltage and clock frequency allows the

low power design to save energy consumption and to be studied actively. For instance an

ARM7D processor can run at 33MHz and 5V as well as at 20MHz and 3.3V. The energy-

performance measures at these two operation modes are 185 MIPS/WATT and 579 MIPS/WATT,

and the MIPS measures are 30.6 and 19.1, respectively. Another example is Motorola's PowerPC

860 processor that can be operated in a high-performance mode at 50MHz and with a supply

voltage of 3.3V, or a low-power mode at 25MHz and with an internal voltage of 2.4V. The power










consumption in the high-performance mode is 1.3 Watts, as compared to 241mW in the low-

power mode.

Advances in low power circuit design and power management have introduced a new

research field of low power computing, which emphasizes running at a low energy consumption

level, if possible, while conserving the performance of an application. In addition to low power

designs, power-aware computing that reflects the state of battery capacity and the characteristics

of batteries is widely studied. But, in general, the timeliness of computing is not greatly

considered in power-aware computing. Real-time systems are often needed in specific and hard

environments, such as stand-alone or isolated locations, so that power consumption becomes a

critical design issue. More importantly, they have strict requirements of temporal correctness as

well as functional correctness. Missing timeliness in real-time systems is considered as a failure

and may have catastrophic consequences. For instance, a missed deadline in the control loop of

the auto landing system may cause a crash. Even for non-time-critical tasks that are with soft or

firm deadlines, a delay in task completion greatly reduces the value of their computation results.

Thus, we can generalize system failures to include non-responsiveness or tardy outputs of the

system.

Therefore, to get effective power-savings requirements in real-time systems without

violating time constraints of real-time applications, we propose a new concept of power-aware

real-time computing and its system model. It supports an integration of hard and soft real-time

tasks and multi-task soft real-time applications like multimedia application currently attracting

much attention.

In this dissertation, first we investigate the issues related to the low-power real-time

scheduling and significantly improve energy-efficiency in real-time systems by combining the

power reduction characteristics with real-time scheduling. For hard real-time scheduling for a

single processor, we propose VCS-EDF scheduling focused on dynamic reclaiming of early

released resources in earliest deadline first scheduling using voltage clock scaling. In addition to a










static voltage assignment, we propose a new dynamic-mode assignment, which has a flexible

voltage mode setting at run-time enabling much larger energy savings. Using simulation results in

VCS-EDF scheduling and exploiting the interplay among power supply voltage, frequency, and

circuit delay in CMOS technology, we find the optimal two-level voltage settings that minimize

energy consumption.

Secondly, we study battery-driven real-time systems, which jointly schedule hard

periodic tasks and periodic (sporadic) tasks, whose available energy is bounded in the range

possibly given by a set of tasks. Therefore, reducing power consumption is not the only objective

of task scheduling in this case since response time may be unrestricted when it concerns only

concerning total energy reduction. To make the best of an available energy budget constrained for

specific time period, an effective energy-sharing scheme should be provided for the combined

objectives. We model and solve these problems for a real-time system based on the tasks'

requirements, their characteristics of energy and utilization demands, and the power-utilization

property in VCS-EDF scheduling. We first profile energy and utilization usages of periodic and

periodic tasks focusing on EDF scheduling using static VCS. Then for the sharing of the

bounded energy budget in a real-time system, an energy budget allocation method is proposed.

We also propose a static scheduling algorithm to determine the optimal two-level voltage settings

of all tasks under bounded energy consumption, while guaranteeing that no deadline of periodic

task is missed and average response time of periodic tasks is minimized. The algorithm selects

the voltage settings that have the minimum average response time among the schedulable ones

within a given energy consumption. To schedule periodic tasks, we adopt Total Bandwidth

Server proposed by Spuri and Buttazzo, which can be expressed by bandwidth preserving

algorithm that guarantees the isolation of bandwidth between periodic and periodic tasks.

Thirdly, we expand our energy budget allocation model to a dual-policy dynamic

scheduling that significantly improves energy-efficiency and extends the lifetime of battery-

driven real-time systems. The proposed dynamic scheduling switches its scheduling policies










between two schedules utilizing an explicit pattern of event occurrence at run-time, exploiting the

interplay between utilization and energy consumption in VCS-EDF and devising a new view of

total bandwidth server algorithm in terms of sharing constrained energy. One scheduling policy is

a set of worst-case voltage settings from the proper allocations of energy budget. The other is for

a given periodic task set to consume minimum energy under allocated energy consumption.

During the intervals having only periodic tasks, the switched mode execution from high-speed in

the worst-case schedule to low-speed enables the Dual-Policy Dynamic Scheduling to outperform

in the reduction of energy consumption, compared with the scheduling method that sticks to the

running modes by the worst-case.

Finally, in the proposed Dual-Policy Dynamic Scheduling, we build a scaling mechanism

that can optimize energy consumption and responsiveness to the aim performance of a system.

Fully utilizing the property of energy and utilization sharing in total bandwidth server having a

restriction of limitation in energy consumption, we characterize the performance of the Dual-

Policy Dynamic Scheduling and show scaling up/down total power consumption and average

response time by controlling the utilization of periodic tasks in their plausible range.

1.2 Research Background and Related Works

1.2.1 Dynamic Power Management

An approach to low power is to utilize power down features to minimize the power

consumption of unused hardware. For instance, turning off (or dimming) the screen while a

laptop computer is idle and shutting down hard disks while it is not accessed conserves the energy

without affecting any functionality. Packing message transmission delays state change from the

listening mode to the transmit mode of radio part such that it extends the battery life for mobile

devices in the wireless communication environment. But, re-activation of hardware can take some

time, affecting performance like response times.

The simple-power-down-when-idle techniques can significantly reduce the system's

power consumption [1]. Dynamic power management (DPM) reduces power consumption by










selectively putting idle system components to low-power states. Thus there are several power

states for each component in a system and the state transitions are controlled by commands issued

by a power manager (PM) that decides when and how to force the power state transitions based

on its observations and/or assumptions on the workload. The power manager makes state

transition decisions according to the power management policy [4]. Because shutting down an

active device and waking up a sleeping device take time and extra energy, changing power states

has delay and/or energy overhead and the policies trade off the performance for the power

consumption.

Microsoft proposed OnNow Initiative that controls power/performance through the

software layer [5]. Intel, Microsoft, and Toshiba proposed the open industrial standard called

advance configuration power interface (ACPI) such that system-level power management has

been successfully settled down in real-life [6]. Linux also supports ACPI from kernel 2.4 [7]. But

because the policies depend on the workload predictions and/or assumptions, such approaches

should be more refined for the systems to be optimally power managed.

1.2.2 Low Power vs. Power-aware Computing

Limiting power consumption presents a critical issue in computing, particularly for

portable and mobile devices. The field of computer architecture has recently seen a rapidly

expanding interest in power reduction at the architectural and software level. Low power

computing has traditionally been the primary focus of designers of portable and battery-powered

computing systems and has in the past largely been considered a low-level circuit design issue.

There are many facets in modern computers where the system designer can get energy

saving because most computing systems generally do not consume all of their resources all of the

time. Slack time can be exploited to either slow down computation or save energy by shutting off

components while not in use. And much previous research on low power design techniques tries

to minimize average power consumption either by transition to a low power consumption state

when it is idle [8, 9, 10, 11] by reducing the active current drawn by a circuit keeping the supply










voltage fixed, or by scaling the supply voltage statically or dynamically. But, from the viewpoints

of power-aware computing, the goal targets not only saving energy without sacrificing

performance in intended applications to get longer battery life, but also making the best use of the

available power for power-confined devices. For example, power-aware computing/

communication (PAC/C) is carried in DARPA project [12], in which promising areas such as

power-aware algorithm designs/libraries, power-aware compilation, power-aware operating

systems as well as a novel integrated software/hardware technology suite incorporating

innovative individual power reduction technologies are being pioneered.

In power-aware computing, the remaining power capacity and the consumption

management of power source are very important such that a system can effectively use the

available power. Battery-driven systems like handheld devices have more stringent power

consumption limits. In such systems, battery management is also highly emphasized on an extent

of mission duration and quality of services due to the increasing requirement of miniaturization

and complicated functionalities. Therefore, a lot of works have been carried to understand the

behavior and properties of the power source in power-aware computing [13, 14, 15, 16, 17].

Sometimes, to prolong the lifetime of the power source, the reduction of workload to be

done is required to fit the power consumption into the available level, but leads to unnoticeably

degraded performance in applications. Available energy should be well allocated among

applications in the system. Regarding proper allocation, components in a system including

hardware and software need to be redefined as power-aware ones such that they enable the

applications to become acceptable for the user at some power level. Power-awareness of

components requires that the energy consumption be quantified in component basis. Much work

has been done to measure and abstract the quantities in every system level, from circuits to

applications. One of the well-known frameworks of energy consumption estimation is the

advanced configuration and power interface that provides system-wide power states. For low-

power software development Simulators such as Wattch [18] and SimplePower [19] estimate the










power consumption of microprocessor-based systems in an instructional- or architecture-level. As

a profiling application energy usage, PowerScope quantifies what fraction of the total energy is

consumed for specific processes in the system [20]. For system-on-chip (SOC) components such

as memory hierarchies and system buses, power estimation and optimization techniques have

been proposed [21]. X. Fan et al. investigate the memory's influence on selecting the appropriate

voltage/operating frequency and extract the factors that affect the clock scaling decision to meet

the system's energy/performance goals [22]. Furthermore, a circuit level energy-monitoring tool

is proposed for the embedded systems, in which it collects power consumption data even in a

cycle-by-cycle resolution [23].

1.2.3 Dynamic Voltage-Clock Scaling

The basic concept of power reduction in the variable voltage processors is a technique

called voltage-clock scaling or dynamic-voltage-scaling in CMOS circuit technology. CMOS

circuits have both dynamic and static power consumption. Static power consumption is caused by

bias and leakage currents and is insignificant in most designs that consume more than ImW. The

dominant power consumption for CMOS microprocessors is the dynamic power. Every transition

of digital circuit consumes power, because every charge or discharge of the digital circuit's

capacitance drains power. The dynamic power consumption is equal to

P = C,N,,Df, (1-1)

where CL is the output capacitance, Nw the number of switches per clock, and f the clock

frequency. It is clear that power consumption in CMOS digital circuits is proportional to the

square of the supply voltage (VDD) and the clock frequency such that lowering VDD is the most

effective mean to reduce the power consumption. Lowering VDD, however, causes the problem of

increased circuit delay. The circuit delay td is given by the following equation [24]:


td =k DD (1-2)
(VDD VT )










where k is a constant depending on the output the gate size and the output capacitance, and Vis

the threshold voltage. As the clock frequency is inversely proportional to the circuit delay, it is

expressed using td and the logic depth of a critical path, Ld [25]

1
f =- (1-3)
Ld td

Obviously, from the equations, we can see that there is a fundamental trade-off between circuit

delay and supply voltage. Processor can operate at a lower supply voltage, but only if the clock

frequency is reduced to tolerate the increased propagation delay.

Kuroda et al. use voltage scaling in the design of a processor core, in which they can

adjust internal supply voltages to the minimum automatically according to its operating frequency

[26]. More recently, there are a number of variable voltage processors that allow the supply

voltage to be changed. Based on the VCS technique, most of today's processor cores have been

designed to operate at different voltage ranges to achieve different levels of energy efficiency as

shown in Table 1-1.

Table 1-1 Microprocessors that allow the core to operate at different voltages and frequencies
Power
Processors Voltage Speed Consumption Features
(MHz) (Watt)
StrongARM SA-2 1.30 600 0.45 12-fold energy reduction
0.75 150 0.04
Pentium-III 1.60 650 22 SpeedStep Technology
1.35 500 9 2 modes
Crusoe (TM5400) 1.65 700 2 16 levels
1.10 200 1 in steps of 33MHz
XScale 0.75 150 0.04 185 MIPS
1.6 800 0.9 1000 MIPS
ARM7D 5.0 33 0.165 185 MIPS/W
3.3 20 0.033 579 MIPS/W
PowerPC860 3.3 50 1.3 2 modes
2.4 25 0.241

The StrongARM SA-2 processor, designed by Intel, is estimated to dissipate 500 mW at

600 MHz, but only 40 mW when running at 150 MHz, showing a 12-fold energy reduction for a

4-fold performance reduction [27] and the Pentium-III processor with SpeedStep technology

dissipates 22W at 650MHz but 9W at 500 MHz [28]. Likewise, AMD has added clock and










voltage scaling to the AMD Mobile K6 Plus processor family and Transmeta has also announced

TM5400 or Crusoe processor [29] that actually supports voltage scaling and 16 levels ranging

from 1.65V at 700 MHz to 1.1 V at 200 MHz in steps of 33 MHz. For wireless and networking

services, Intel also introduces XScale micro-architecture that features on-the-fly-scaling of

voltage and frequency in the range from 40mW at 150MHz up to 0.9W at 800MHz [30].

Pouwelse et al. show several levels of the clock frequency versus supply voltage for the

Transmeta Crusoe processor and carried an actual implementation in a wearable computer for

low-power computing [31].

Digital CMOS circuits are very amenable to implementing DVS because their

performance and energy consumption scale together over a wide range of supply voltage.

Although the maximum supply voltage drops with improved process technology, reducing the

range, DVS will continue to be a viable technique for future process technologies.

1.2.4 Fundamental Scheduling Theories

1.2.4.1 RMA and EDF Scheduling

Rate monotonic analysis (RMA) is a collection of quantitative methods and algorithms

with which we can specify, understand, analyze, and predict the timing behavior of real-time

system designs. RMA grew out of the theory of fixed priority scheduling. A theoretical treatment

of the problem of scheduling periodic tasks was first discussed by Serlin in 1972 [32] and then

more comprehensively discussed by Liu and Layland in 1973 [33]. They studied an idealized

situation, in which all tasks are periodic, do not synchronize with one another, do not suspend

themselves during execution, can be instantly preempted by higher priority tasks, and have

deadlines at the end of their periods. The term "rate monotonic" originated as a name for the

optimal task priority assignment in which higher priorities are accorded to tasks that execute at

higher rates (that is, as a monotonic function of rate). Rate monotonic scheduling is a term used in

reference to fixed priority task scheduling that uses a rate monotonic prioritization. Although a









fixed priority scheduler is used widely due to the feature of analysis for a system's feasibility,

RMA cannot commit to the feasibility of a system that uses more than in worst case 69% [33] or

in an average case 88% [34] of available CPU time. And the worst problem with fixed priority

scheduling is that it is oblivious to deadlines, that is, blindness to hard real-time.

Compared to rate monotonic scheduling, which is a static priority driven scheduling

method, earliest deadline first is a dynamic priority driven scheduling method. In EDF, the task

with the earliest deadline is always executed first and fairly easy to implement. The execution

queue is sorted by the time of the next deadline. When a task becomes active it must be inserted

in the execution queue, or if its deadline is before the deadline of the currently executing task, it

must preempt the currently executing task. EDF has only one serious drawback: the theory is

optimal only for loads that can be scheduled. It does not address overloads. EDF degrades

ungracefully when it is overloaded. Another big point is that dynamic priority scheduling tends to

be complex and sometimes uses heuristics comparing to the guaranteed feasibility based on an

analysis in fixed priority scheduling. But a processor can be fully utilized by dynamic priority

scheduling.

1.2.4.2 Aperiodic task scheduling

Contrary to the guarantee of meeting deadlines in the hard task scheduling, there is no

form of guarantee for periodic tasks. They are usually served in background with respect to hard

tasks in order not to jeopardize the schedulability of hard tasks or served by an periodic server to

improve responsiveness. Substantial research has been done in the scheduling of periodic tasks

in both fixed and dynamic priority systems. The sporadic server algorithm [35], the deferrable

server algorithm [36], and the slack stealer algorithm [37] are for the fixed priority environment.

A number of algorithms that solve the periodic task scheduling in dynamic priority systems

using EDF scheduler can be found in literatures; deferrable server [38], slack stealing [39], or

sporadic server [39, 40]. To improve the response time of periodic requests, an efficient










approach called total bandwidth server (TBS) has been proposed by Spuri and Buttazzo [40, 41].

Yielding much faster responsiveness under sharing resources among periodic and periodic tasks,

the algorithm has been extended to reflect in the environment of resource sharing [42, 43]. The

TBS allocates feasible priority by assigning suitable deadlines to arrived periodic tasks while

guaranteeing deadlines of other periodic tasks and schedules them as hard periodic tasks. By

handling periodic tasks like periodic tasks within the reserved bandwidth, the TBS can produce

better responsiveness than other periodic mechanisms, sporadic server, slack stealing, and so on,

based on the idea of using idle time of periodic scheduling or "stealing" all the possible

processing time from the periodic tasks, without causing their deadlines to be missed.

1.2.5 Low Power Real-Time Computing

Low energy consumption has already shown up as a critical feature in high-end systems

as well as power confined real-time systems. Dynamic voltage scaling and frequency scaling in

variable voltage processors are outstanding techniques because the power consumed by a

component implemented in CMOS technology is quadratically proportional to voltage and

linearly proportional to frequency. In other words, operation takes even longer, while greater

energy reductions can be achieved with slower clock and lower voltage. The longer execution

time affects performance degradation in application or meeting strict time constraints in real-time

systems. Therefore there have been a number of techniques that combine low-power techniques

and scheduling algorithms in systems.

The benefits of reducing the supply voltage and clock speed in a processor to save energy

have been primarily studied based on simulations. Weiser et al. showed the potentials of voltage

scaling for general-purpose processors using traces gathered from UNIX-based applications [44].

Their scheduling algorithms are interval-based voltage schedulers, which set clock speed

depending on processor utilization in previous intervals. By employing the same traces, Govil et

al. extend the work of Weiser et al. and study several dynamic speed-setting policies that slow the

processor when it is mostly idle and speed it up when it is mostly active [45]. Also using interval-










based clock scheduling Pering et al. achieve considerable reduction of energy consumption

comparing to full speed running [46] and later they present a heuristic based on EDF scheduling

[47]. Unlike previous studies in voltage scaling that rely on simulations, there are several raw

measurements of the power-delay trade-off in voltage scaling. Grunwald et al. have investigated

the power consumption of the Itsy Pocket Computer [48] for previously proposed interval-

schedulers and found that frequent voltage and clock changes incur unnecessary overhead.

Throughout a wireless multimedia terminal called InfoPad, Truman et al. measure the power

consumption in the portable system and DVS scheme to reduce the power consumption [49].

With the importance of the prediction of appropriate performance for the next interval, a

workload prediction strategy using adaptive filtering is proposed [50]. However, since the gain is

extremely dependent on the interval length, the optimal setting varies per application, and even

the individual requirements of running tasks, e.g., deadlines and computation estimates, were not

considered, interval-based voltage schedulers result in poor behavior for more complex

workloads such as burst applications.

In DVS approaches for real-time systems, scheduling is done at the task level using the

task execution times based on worst execution times (WCET) in general and exploiting slack

times from static analysis and runtime workload variation.

The concept of real-time scheduling is firstly applied to dynamic speed setting by Pering

and Broderson [51]. Non-preemptive EDF scheduling based on the ILP method is also presented

[52]. The authors controlled two different operating speeds/voltages through OS system calls to

minimize the energy consumed by a periodic task set. A minimum-energy scheduler for dynamic

speed-setting based on the EDF scheduling policy is proposed [53] and they compare some on-

line algorithms to an off-line algorithm executed by assigning the optimal processor speed setting

to a critical interval that requires maximum processing. Similarly, Hong et al. consider a low

energy heuristic for non-preemptive scheduling with a dynamically variable range of [0.8, 3.3] V

[54]. They also present a heuristic even for preemptive model with a limited speed changes [55].










Quan and Hu study the optimal voltage setting for fixed-priority scheduling [56]. All these

approaches require that the task release times must be known a priori. Hong et al. describe an on-

line scheduling algorithm for hard real-time tasks assuming the release times of jobs are not

known a priori [57]. For the periodic task model and rate-monotonic scheduling, two on-line

voltage-scaling methods [58] were proposed, which change voltage levels at the execution stage

from the initially assigned levels as such changes become necessary. Using integer linear

programming (ILP), Ishihara and Yasuura present a very interesting result regarding the impact

on energy of the number of available distinct voltage levels [59]. They pointed out that at the

most two voltage levels are usually enough to minimize energy consumption. In the presence of

task synchronization, R. Jejurikar and Gupta use slowdown factors based on DVS for energy

saving of EDF scheduling [60].

There are also several hybrid approaches exploiting both DPM and DVS schemes.

Transmeta has combined both schemes in a processor called Crusoe [61] targeting mobile

computing, which is able to dynamically adjust clock frequency in 33 MHz steps. By running

applications at several frequencies even in the active mode of DPM, they can get larger power

savings in addition to the one obtained by DPM. Based on the studies of energy efficient design

for portable devices [62], another hybrid method has been studied on MPEG applications on top

of a Crusoe processor based system [63]. Also Kim and Ha observe trade-offs between DPM and

DVS schemes and propose a hybrid method that exploits both workload-variation slack time and

shutting off unused components on a timeslot-by-timeslot basis [64].

In this dissertation, we apply VCS scheme to EDF scheduling for hard real-time tasks,

reclaiming resources based on the property that actual execution times of tasks in real-world

embedded systems change as much as 87% relative to the measured WCET [65].

1.2.6 Power-aware Real-Time Computing

Maximizing the utilization time of energy that can be delivered by a battery have become

one of the most important design considerations for a power-limited system, since it directly










impacts the extent of the system life. Instead of focusing on reducing power consumption alone,

researchers have begun to study the battery behavior and the effect of the battery discharge

pattern on battery capacity as well [66]. Against the result of previous interval-based dynamic

voltage scaling scheduling, in the experimental research by using the Itsy hand-held computer

[67], Martin and Sieworek show that reducing power consumption is not always the best strategy

when taking battery effectiveness into account because most of the batteries are non-ideal [68,

69]. He presents a revised Weiser's PAST algorithm to account for the non-ideal properties of

batteries and the non-linear relationship between system power and clock frequency. Based on the

non-linearity in battery discharge, a system-level power estimation methodology is proposed [70],

where they have shown the formula of energy-consumed processor, memory and L2 cache,

interconnects and pins, DC-DC Converter, and a battery capacity model. Pedram and Wu study

tradeoffs between energy dissipation and delay in battery-powered digital CMOS design [71, 71].

Benini et al. propose several DPM policies to take into account battery's charge state study [73].

In particular, they introduce a class of closed-loop policies, whose decision rules used to control

the system operation state are based on the observation of both system workload and output

voltage of the battery.

Power-aware real-time scheduling must carry out two key features, not only being aware

of domain-specific knowledge such as the power source, battery status, and other operating

conditions, but also guaranteeing requirements of real-time tasks, assuring the best performance

of real-time applications, and even efficient utilization of power constraints under the power-

awareness.

Much research has been done to introduce the power-awareness into real-time computing,

from the properties of power source to instructional level by an assistance of compiler. For

distributed real-time embedded systems having voltage-scalable capability, Luo and Jha suggest

two schemes to optimize the battery lifetime by modeling a battery [74]. The one is a battery-

aware scheduling scheme based on heuristics of minimization of the peak power consumption










and reduction of the variance of the discharge current profile to get the battery efficiency. The

other is a variable-voltage scheduling scheme via efficient slack-time re-allocation. Motivated by

the task requirements and power source characteristics of Mars rover having two power sources: a

solar panel and non-rechargeable battery, Liu et al. propose a power-aware real-time scheduling

[75]. All prior studies try to reduce total energy consumption exploiting the property of scaling

scheme or power source.

Besides, real-time embedded systems having a constrained energy budget lower than the

maximum, which the tasks can consume, demand an efficient scheme to share a limited energy

budget among competing real-time and non-real-time tasks as well as reduction of total energy

consumption. For systems consisting of soft periodic tasks, the objective of minimizing power

consumption using a popular energy reduction technique, voltage-clock scaling, will result in

slow execution. On the other hand, in many cases, the battery capacity can be replenished or there

is a finite mission lifetime. Minimizing power consumption that doesn't utilize all available

energy may not lead to optimal system performance. A better power control strategy in such cases

is to minimize the response times of soft real-time tasks, providing that the deadlines of hard real-

time tasks are met and the average power consumption is bounded.

In spite of widespread recognition of the importance of energy, there is no convenient

abstraction of the power consumption and sharing in real-time scheduling. One of goals in this

dissertation is to abstract energy usage and utilization required by real-time tasks and to allocate

the confined energy budget as a first criterion in real-time scheduling. On top of the quantitative

analysis for the system's power-awareness such as system component or instructional level power

estimation/monitoring, we abstract energy and utilization usages on task basis by exploiting the

property of voltage-clock scaling. Also, we build a constrained energy budget allocation model

that enables tasks to share the available energy concerning the requirements of real-time tasks and

present a static analysis based on voltage-clock scaling. Furthermore, we propose an energy

efficient real-time dynamic scheduling, which switches two scheduling policies to get energy










saving, and construct an algorithm to optimize energy consumption and responsiveness according

to real-time application's requirement.

1.3 Main Contributions

The objectives of the dissertation are to design a low-power scheduling reducing total

power consumption for hard-real-time applications and to build power-aware real-time systems

supporting energy efficiency for real-time application under bounded energy budget. The main

contributions of the dissertation are as follows:

A low-power scheduling for hard real-time systems. We devise comprehensive

scheduling algorithms for integrated real-time systems. They include

(1) a fundamental two-mode scheduling theory,

(2) reduction of power consumption using power-aware voltage-clock scaling,

(3) dynamic reclaiming of early released resources, and

(4) optimal voltage setting in VCS-EDF scheduling.

Power-aware scheduling for mixed real-time tasks under a constrained energy

budget. In order to develop a power-aware static analysis for real-time embedded system, the

relationship of energy and workload demands is investigated. We develop an energy budget

allocation model for battery-driven real-time systems, including not only small appliances being

widely used, but also sensor network nodes for special purposes. The model concerns

(1) integrated scheduling of both hard and soft real-time tasks in a system,

(2) profiling of energy and processor's capacity usages on the basis of task

(3) efficient share of a bounded energy budget for battery-driven real-time systems, and

(4) better performance in non-real-time applications.

Dynamic scheduling for mixed real-time tasks considering power efficiency. We

demonstrate that more sophisticated and effective power-aware dynamic scheduling may enhance

the overall power consumption for real-time systems. They include

(1) a fundamental dual-policy dynamic scheduling theory,










(2) static analysis using the energy budget allocation model,

(3) modified Total Bandwidth Server for scheduling periodic tasks, and

(4) reduction of total energy consumption.

Optimizing energy efficiency and responsiveness. Given the energy-utilization

tradeoffs in power-aware real-time scheduling, we show that the adjustment of the periodic tasks'

workload within schedulable range can lead to an effective utilization of the limited energy

budget from the understanding of the energy and performance implications. The tuning of

periodic tasks' workload implies

(1) making the best use of a constraint energy budget,

(2) appropriate sharing of energy and processor's computation capacity in run-time scheduling,

(3) proper adjustment of energy consumption and responsiveness to the system's performance,
and

(4) reduction of total energy consumption pursuing system's target performance.

1.4 Organization of the Dissertation

The rest of the dissertation is organized as follows. Chapter 2 presents a solution for

reduction of total energy consumption in hard real-time systems. The two-mode Voltage-Clock

Scaling EDF scheduler is proposed, which uses a simple setting arrangement that the processor in

a real-time system can be dynamically configured in one of two modes named low-voltage (L) -

mode and high-voltage (H)-mode. In L -mode, the processor is supplied with a low voltage (VL)

and runs at a slow clock rate. And, the processor can be set in H-mode, i.e. be supplied with a

high voltage (VH) and run at a fast clock rate.

Chapter 3 investigates the VCS problem in sharing a limited energy in battery-driven

real-time embedded systems. To provide real-time guarantees, the delay penalty in VCS needs to

be carefully considered in real-time scheduling. In addition to real-time requirements, the systems

may contain non-real-time tasks whose response time should be minimized. Thus, a combination

of optimization objectives should be addressed when we establish a scheduling policy under a










power consumption constraint. In this dissertation, we devise the VCS-EDF scheduling to get

proper allocation of energy budget that is limited to mixed hard and soft real-time tasks. Based on

schedulability of VCS-EDF, we first analyze the characteristics of energy and utilization demand

of periodic and periodic tasks, and then profile energy and utilization usages in the viewpoint of

real-time scheduling. The profiling enables developers to build an energy-efficient or power-

aware real-time schedule and is directly related to how definitely it assigns a bounded energy cost

to tasks for specific real-time application. Then, we build a model for sharing constrained energy

budget to real-time tasks and propose a static real-time scheduling to assign operation

voltage/frequency to tasks, satisfying the requirements of hard and soft real-time applications. To

get a better performance for periodic tasks, voltage settings resulting in the fastest

responsiveness are selected among the schedulable ones under a given energy budget.

Chapter 4 proposes an efficient energy saving scheme for run-time scheduling called

dual-policy dynamic real-time scheduling. It is for the real-time embedded systems, which jointly

schedule both hard and soft tasks, and whose energy usage is bounded. By the constrained energy

allocation scheme proposed in chapter 3, a set of voltage settings that make the best use of

assigned energy and gives better performance for periodic tasks is decided. In the chapter, based

on the voltage settings determined in the constrained energy allocation, we propose a dynamic

scheduling to ensure an extended lifetime of the system under the given energy budget. The

proposed approach is featuring an intermixing of two elementary schedules with the following

observations. As total bandwidth server algorithm is applied to mixed tasks under a constrained

energy budget, we notice the share of the processor's capacity is directly related to the energy

sharing among them. Also, we observe a change of pattern in a joint scheduling of both periodic

and periodic tasks, which consists of two intervals assorted by the existence of any periodic

event. As for energy consumption in two-mode voltage-clock scaling EDF scheduler based on

total bandwidth server algorithm, the voltage settings for only periodic tasks consumes less

energy than the ones for mixed tasks. In the intervals having only periodic tasks, applying worst-










case voltage settings determined for the mixed tasks leads to more energy consumption to the

voltage settings assigned for periodic tasks only. Therefore, the proposed algorithm switches

running modes (scheduling policies) along with the change of pattern in event occurrences. For

the intervals having mixed events of periodic and periodic tasks, the worst-case schedule is

taken. For the other intervals having only events of periodic tasks, the voltage settings only for

periodic tasks are allowed for energy saving.

Chapter 5 considers a scaling mechanism in total energy saving and responsiveness of

periodic tasks in the dual-policy dynamic real-time scheduling and proposes a method to adjust

energy consumption and response times to the aimed performance. When we introduce a set of

scheduling policies as a set of voltage settings/running speeds for periodic tasks in chapter 4, they

fall upon extremes in feasible ranges of their energy consumption and utilization. Due to the

difference in energy consumption between the two extreme schedules, the dual-policy dynamic

scheduling can save energy consumption. In-between the extreme schedules for periodic tasks,

there exist other combinations of voltage settings/running speeds, which have different energy

consumption and utilization. If a set of voltage settings other than extremes is used for the

intervals consist of only periodic tasks, the amount of energy consumption and average response

time that the scheduler can acquire is changed accordingly. Thus, we introduce a new scaling

factor, which can control the energy consumption/responsiveness, such that the dual-policy

dynamic scheduling optimize the system's performance to the requirement of the real-time

system under a specific energy budget.

Chapter 6 summarizes the main contributions of the dissertation, and discusses future

research directions.















CHAPTER 2
TWO-MODE VCS-EDF SCHEDULING FOR HARD REAL-TIME SYSTEMS

2.1 Introduction

In recent years, the rapidly increasing popularity of portable battery-operated computing

and communication devices have motivated research efforts toward low power and energy

consumption. Battery life is the primary constraint for energy-constrained systems such as

personal mobile phones, laptop computers, and PDA's. Significant reduction in power

consumption is possible from techniques ranging from low-power CMOS circuit design to power

management software tools.

Initial power management efforts focused on putting the system in a low-power/low-

performance sleep mode when it was idle. With the advent of the Advance Configuration Power

Interface (ACPI) standard, such power management has been successfully employed in real-life

systems. However, such approaches depend for their efficacy on efficient ways to decide when

and which device should be shut down and woken up [4, 5, 6].

Processor cores can operate at different voltage ranges to achieve different levels of

energy efficiency. For instance an ARM7D processor can run at 33MHz and 5V as well as at

20MHz and 3.3V. The energy-performance measures at these two operation modes are 185

MIPS/WATT and 579 MIPS/WATT, and the MIPS measures are 30.6 and 19.1, respectively [76].

Another example is Motorola's PowerPC 860 processor, which can be operated in a high-

performance mode at 50MHz and with a supply voltage of 3.3V, or a low-power mode at 25MHz

and with an internal voltage of 2.4V [77]. The power consumption in the high-performance mode

is 1.3 Watts, as compared to 241mW in the low-power mode.









The basic concept of power reduction in the variable voltage processors is a technique

called Voltage-Clock-Scaling in CMOS circuit technology. The power consumed for transitions

in digital circuit is equal to Pm, = CLNWV2Df (2-1). Due to the quadratic relationship between

the supply voltage (VDD) and the clock frequency, a small reduction in voltage can produce a

significant reduction in power consumption. However, lowering VDD increases the circuit delay

by the amount of the equation td = kVDD /(VDD )2 (2-2). Obviously, the longer execution

time affects performance degradation in application or meeting strict time constraints in real-time

systems. From equation (2-1), lowering supply voltage will reduce power consumption. However,

it also slows down the logic.

Based on these equations, a voltage-scaling scheme was introduced in many studies by

dynamically adjusting clock speed, allowing a system to operate at a lower voltage level to save

energy without missing task deadlines. Clearly, if low energy consumption is a desirable feature

in real-time systems, voltage-clock scaling must cooperate with the task scheduling algorithms

since the power-delay tradeoff property in low power design affects meeting the strict time-

constraints of real-time systems. For instance, the execution of a high-priority at a low voltage

and slow clock rate may cause a low-priority task to miss the deadline due to the additional delay

from the execution of the high priority task.

In this dissertation we extend the resource reclaiming [78] with EDF scheduling

algorithms. Energy saving is made possible by running tasks in low-voltage mode during

reclaimed slack periods that are released by tasks that do not consume their entire worst-case

execution times. The algorithm proposed in this paper makes the slack time reclamation possible

even if the task arrival instances or phases are not known a priori. We also propose a new

dynamic voltage assignment which can result in much greater energy saving. We then discuss and

demonstrate how the voltage setting should be chosen so that the dynamic algorithm and slack

period reclamation can be most effective.










The chapter is organized as follows. In Section 2.2, we outline the preliminary system

model. In Section 2.3, we describe the detail algorithms of voltage assignment and slack period

reclamation. To illustrate the effectiveness of the proposed algorithms, we evaluate the energy

saving performance in Section 2.4. In the following section, we present how to get the optimal

voltage settings. Finally, a short conclusion is provided in Section 2.6.

2.2 System Model

In real-time systems, tasks may arrive periodically or sporadically and have individual

deadlines. For Earliest Deadline First (EDF) scheduling, a task is modeled as a cyclic processor

activity characterized by two parameters, T, and C,, where T, is minimum inter-arrival time

between two consecutive instances and C, the worst-case execution time of task C.

The EDF scheduling algorithm always executes the earliest-deadline task awaiting

service. To apply voltage-clock scaling under EDF scheduling, we make several assumptions as

follows:

Al. Voltage switching consumes negligible overhead. This is analogous to the
assumption, made in classical real-time scheduling theory, that preemption costs are
negligible. Voltage switching typically takes a few microseconds. In fact, a bound of
the total overhead can be calculated by considering the number of task arrivals and
departures since voltage switches are only done at task-dispatch moments.

A2. Tasks are independent: no task depends on the output of any other task.

A3. The worst-case execution demand of each task -, C,, is known. The actual execution
demand is not known a priori and may vary from one arrival instance to the other.

A4. The overhead of the scheduling algorithm is negligible when compared to the
execution time of the application.

A5. The system operates at two different voltage levels. Ideally, a variable voltage
processor that has continuous voltage and clock setting in the operational range is
available.

The first four assumptions are analogous to assumptions made in real-time scheduling

theory. As for A5, we assume a simple setting arrangement that the processor in a real-time

system can be dynamically configured in one of two modes: low-voltage (L) -mode and high-

voltage (H)-mode. In L -mode, the processor is supplied with a low voltage (VL) and runs at a










slow clock rate. Thus, task execution may be prolonged but the processor consumes less energy.

On the other hand, the processor can be set in H-mode, i.e. be supplied with a high voltage (VH)

and run at a fast clock rate, in order to complete tasks sooner at the expense of more energy

consumption. The processing speeds at L-mode and H-mode are denoted as aL and aH,

respectively, in terms of some unit of computational work. Depending upon the voltage setting

for task T, the worst-case execution time (WCET) is C/,aL or CoH.

Assume that in the system there are n tasks, r, r2..., and I,, that are numbered in

decreasing priority order. That is, 1D2D: ...D, where D, is the deadline of task IT. Thus, the

total utilization demand by all tasks is p = 1 C, /I Also, upon each invocation, the task T

must be completed before its deadline period D,. This is the real-time requirement.

To minimize energy consumption in real-time systems, the voltage-clock scaling problem

is imposed when aL < p s aH. The task set is schedulable if the processor is entirely run in H-

mode, and misses at least one deadline if running in L-mode completely. Keeping the processor

entirely in H-mode to meet the deadlines of all the tasks results in extra energy consumption.

Therefore, an algorithm is called for to determine the optimal voltage settings and to minimize H-

mode execution, while guaranteeing that no deadline is missed

2.3 Voltage-Clock Scaling under EDF Scheduling

The VCS-EDF scheduling is composed of mode assignment and resource reclaiming

phases. Assuming tasks run to their WCETs on EDF scheduling, mode assignment picks the

voltage setting for each task, i.e. H- or L-mode, that will minimize the total energy consumed and

ensure schedulability under EDF. The reclaiming phase dynamically switches voltage settings

taking into account the resources released by tasks that complete their work ahead of WCET. The

difference between WCET of a task and the execution time it consumes is called a slack period.

The optimization problem can be stated as follows: Pick H and L such that

HUL = ( rt, r2, ..., }









HnL =
I, HC/T, is minimized

subject to the well-known sufficient condition' for the schedulability of periodic tasks under EDF,
i.e.,

1 C 1 C
Ci 1 i 1. (2-3)
H ieH min(7,Di) aL ieL min(T,,D,)
This optimization problem can be treated equivalently as the decision problem of the

subset sum, which is NP-complete. Consequently, efficient search techniques e.g., branch-and-

bound algorithms, should be employed to find a solution ifn is large.

For dynamic mode assignment, the subsets H and L are determined for each busy cycle

during which the scheduler is busy continuously without any idle intervals. We assume that H =

{ Ti, r2, ..., I} and L = 0 at the beginning of a busy cycle. At the first arrival instance of task ;,

the subsets can be modified to H-{tj} and Luf{ }, respectively, if

1 C, 1 C,
-- 1. (2-4)
aH EH-} min(Tz, D,) aL eLu min(T,,D)

In other words, the tasks will be assigned to the low voltage mode subject to the schedulability

constraint and the assignment is done in the order of the tasks' first arrival instances during each

busy cycle. While the dynamic assignment is not aimed at the minimization of the execution

period in H-mode, it takes advantage of short busy cycles where no H-mode execution should be

invoked.

Given the voltage assignments defined in H and L, tasks can be dispatched and run in the

assigned mode. The sufficient condition guarantees that, if every task takes up to its WCET, there

is enough system capacity for each task to be completed before its deadline. When a task

consumes less execution time than its WCET, there is a slack period to indicate the remaining

budget that is no longer needed before the task's deadline. Since the slack period will not exist


1 The condition is also necessary if D,2T, for all i.









any more after the task's deadline, we denote this deadline as the expiration time of the slack

period. Thus, a waiting task that has a deadline greater than the expiration time of a slack period

can use up this slack period and run in low-voltage mode. This reclamation algorithm is given in

Figure 2-1 where the following definitions are used:

ST-Q: the slack-time queue to track the slack periods given from the tasks that don't use up the

whole WCETs. Each element in the ST-Q indicates an amount of slack period of a

completed task. A slack period has an expiration time that is the deadline of the task and

can be consumed by any other tasks that have a deadline earlier than the expiration time.

TK-Q: the normal EDF task queue for all tasks in the system.
ct,: the computing time that task has consumed for its scheduled period of the EDF schedule. It

doesn't include the running time during any available slack periods of other tasks.

st, : the slack time of task ,. The initial slack time is equal to C, la- ct, at the completion instance

of i where ais the speed factor of the assigned voltage mode.

enQueue(element, Q): insert an element into the queue of Q.
deQueue(Q): delete the first element from the queue of Q.
head(Q): the element at the head of queue Q.

SL-decrement: the flag to indicate the slack period in the head of ST-Q must be decremented as

time progresses. The flag will be on when a task is using up the slack period or when the

system is idle.

To track the slack periods for all tasks and to combine online EDF scheduling and

voltage-clock scaling, we employ two queues, i.e., TK-Q and ST-Q, in which tasks and slack

periods are ordered according to their deadlines and expiration times, respectively. A task's slack

period is computed when it completes the actual computation. The slack period is inserted into

ST-Q if it is greater than zero. At the dispatch instance of task 1, the task is executed at low

voltage if there is a slack period can be reclaimed (i.e. the expiration time of the slack period is

less than the task's deadline). Otherwise, it is executed at its assigned voltage mode.










Algorithm Slack-time Reclamation:
at the arrival instance av, of task z {
if (TK-Q != empty) adjust-ct-st;
ct, 0;
set task deadline to av,+D,;
enQueue(,, TK-Q); I enqueue the arriving task
dispatch(TK-Q, ST-Q);
}
at the completion instance of a task {
adjust-ct-st;
S= deQueue(TK-Q);
if (r E H) st, C, o- ct, I set slack period
else st, CaL ct,
set st,'s expiration time to the deadline of task ,
if (st, > 0) enQueue(st,, ST-Q);
dispatch(TK-Q, ST-Q);
}
at the end of a slack period {
st, deQueue(ST-Q);
dispatch(TK-Q, ST-Q);
}
Procedure adjust-ct-st // adjust accumulated execution

// time and available slack periods
= head(TK-Q);
exec time = the execution time
since the last dispatch instance;
if (SL-decrement--off ct, ct, + exectime;
else { stk = head(ST-Q);
stk = stk exec time;
}

Procedure dispatch(TK-Q, ST-Q) II// dispatch a task
// and a slack period, assign execution mode
if (TK-Q != empty) {
= head(TK-Q);
SL-decrement = off // assume no slack time
if (ST-Q != empty) {
stk = head(ST-Q);
if (deadline, > expiration_;.. {
SL-decrement = on; // reclaim
set voltage mode to L; / L- mode
set the end of slack period to
(current instance + stk);
}
if (SL-decrement of) { // no reclamation,
// run the task with the assigned voltage
if (, E H) set voltage-mode to H;
else set voltage mode to L;
}
}
}
else { //the system is idle,
stk head(ST-Q); I slack period must be
SL-decrement = on; //decremented
set the end of slack period to
(current instance + stk);



Figure 2-1. On-line reclamation algorithm for voltage-clock scaling










When a slack period is reclaimed by a task or when the system is idle, the slack period at

the head of ST-Q is decremented as time progresses and is removed from ST-Q once it is

exhausted. On the other hand, a running task needs to accumulate its computation time when it

doesn't use up any slack periods. This implies that the execution is using up other tasks' budgets

and, when the task is done, an additional slack period can be accumulated due to its reclamation

and possible early completion.

2.4 Simulation Evaluation of VCS-EDF Algorithm

As described in Section 2.2.2, the static and dynamic voltage assignment can guarantee

all tasks to meet their deadlines. Depending upon task characteristics, such as periods, WCETs,

and arrival phases, the amount of time that the processor is running in H-mode may vary a lot. In

this section, we evaluate their average energy consumption based on random task parameters in a

system of 10 real-time tasks. For each test case, we measure the percentages of the time that the

processor is in H-mode and L-mode, and is idle.

In addition to the schemes of static and dynamic voltage assignments with slack period

reclamation, we also considered a fixed voltage assignment which follow the static assignment

but with no slack period reclamation. Note that the fixed assignment minimizes the energy

consumption when all tasks invoke the worst-case execution demands.

In our simulation, we first generate 10 random task periods in the range of 100 to 1000,

and assign the task deadlines equal to their periods. We assume that VH and VL are fixed and the

execution speeds are set to aL=1.0 and aH=2.0. aL=1.0 represents the normalized processing

speed. Then, relatively the execution speed at aH=2.0 is double the speed of L-mode. The worst-

case execution demands of the tasks are chosen in the range of aL to aH. The real task execution

demand is then selected randomly such that the mean is in the range of 0.6 to 1.0 of the worst-

case execution demand.













90

80
U0
"o
0
E 70
"I
. 60
(U)
E
5 50
(U)
" 40

(U)
0130
4-,
S20

10


T 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
Utilization in L-mode

(a) Percentages of the time in H-mode for fixed and static voltage assignments


80

0
o
E 70

. 60
(U
E
. 50
(U)
e--
4 40
O
0
()
C 30
5--
S 20
1)
0_


T 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
Utilization in L-mode

(b) Percentages of the time in H-mode for fixed and dynamic voltage assignments

Figure 2-2. The percentage of execution time in H-mode










In Figure 2-2(a) and (b), we show the evaluation results for execution demands ranging

from 1 to 2. The curves with dashed lines are the percentage measures from the fixed voltage

assignment, whereas the solid lines are based on the static and dynamic voltage assignments.

With the fixed mode assignment, the measured percentage in H-mode is approximately

proportional to the average of the actual workload.

The curves in Figure 2-2(a) and (b) show some interesting trends. The difference of the

measured percentage in H-mode execution between the fixed-mode and static-mode assignments

increases with the workload. This indicates the effectiveness of slack period reclamation in a

heavily loaded system. Also, the variance of task execution time plays an important factor, as an

increased number of slack periods can be useful for a subsequent task execution. Furthermore,

the dynamic voltage assignment is more effective when the workload is moderate (neither very

low nor very high). This is due to two facts. The first is that the probability of finding short busy

cycles diminishes as we increase the workload. On the other hand, when the workload is low,

most tasks are started in L-mode in the fixed assignment. The voltage assignment made by the

dynamic approach at the beginning of each busy cycle would not be substantially different from

the one under the fixed approach.

We study the improvement of the proposed VCS-EDF scheduling in Figure 2-3 where the

percentage reductions of the H-mode execution times over the fixed assignment approach are

depicted. For instance, with aL=1.0, aH= 2.0, p=1.5, and the average execution time is 0. 7of C,,

the percentages of the time in H-mode under the fixed-, static- and dynamic-mode assignments

are 35.04%, 26.08%, and 20.28%, respectively. These percentages indicate that, compared to the

fixed approach, the reductions of the time in H-mode reach (0.35-0.26)/0.35=0.26(26%) and

(0.35-0.20)/0.35=0.43(43%) for static and dynamic approaches, respectively. The curves in the

figure show that the dynamic voltage scaling can almost completely eliminate H-mode execution

when the workload is low and the real task execution time is much smaller than the WCET. This

significant result is due to (1) no pre-assignment of H-mode execution, and (2) effective slack










time reclamation. As we increment the workload, the percentage reductions shrink as the H-mode

become necessary to meet deadline requirement, even though the reduction of the H-mode

execution is substantial as shown in Figure 2-2. Figure 2-3 also reveals the difference between the

static and dynamic approaches. As long as the workload is not high, there will be many short

busy cycles and few long ones. The dynamic approach of making a greedy decision at the

beginning of each busy cycle is justified given that there is no knowledge of subsequent task

arrivals.


0.9
--, 0.6
0.8 -- 0.7
o, 0.8
0 Dynamic-mode 0.9
S0.7 (dotted lines)
4", -mean
S0.6

S0.5- S -
0 4
0 0.4 -

| 0.3 -

0.2

0.1 Static-mo e
(solid lines)

1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0
Utilization in L-mode

Figure 2-3. The percentage of the reduction for the time in H-mode

Using the percentage of the time spent in H-mode, L-mode, and in the idle state, we can

measure the savings in power consumption. Assume that VT=O and that there is no power

consumption in the idle state (in practice, idle power consumption are extremely low, which

justifies this assumption). The ratio of the average power consumption under the static approach

to that of the fixed approach is











PCMOS (static) _PT (static)V2 + PTL( static)Vl
PM,,o(fixed) PTH(fixed)V2 +PTL(fixed)V2

PTH (static)+PTL (static)( L )2 (2-5)
(XH

PTH (fixed) +PTL (fixed) (L )2
cxH

where PT,(y) is the percentage of execution time in x-mode under y approach. Similarly, we can

compute the ratio PcMos(dynamic)/PcMos(fixed). The ratios are plotted in Figure 2-4 for various

workloads. In the extreme case, more than 25% of the energy can be saved by the dynamic

approach over the fixed assignment. Note that the fixed assignment can outperform any global

voltage setting, as it uses the optimal voltage assignment for each task, but does not incur any on-

line adjustment.


1.00
Static/Fixed
(dashed lines)

0.95 ,

0 -
I.)
0
> C
> 0.85 --
2185 ---^--^-------+" + ,


0.80
n- mean
Dynamic/Fixed 0.6
0.75 -(solid lines) / 0.7
0.8
-- 0.9
0.70
1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0
Utilization in L-mode

Figure 2-4. The relative energy consumption of fixed, static, and dynamic approaches










2.5 Optimal Voltage Setting in VCS-EDF scheduling

In the simulation experiments of Section 2.2.3, we assume fixed aL and aH (i.e. fixed VL

and VH). Here, we address the problem of determining the optimal voltage settings given the

characteristics of the given task set.

If the task execution demands are constant and every instance of task r, requires a fixed

demand of C,, then VH should be set to VH* which leads to an execution speed aH* and p/H *= 1.

The processor will have a full utilization of 1. There is no need to have a different VL
voltage scaling and any VH less than VH can result in task deadline violations. Also, any VH

higher than VH* will cause additional power consumption as the power consumption is a concave

and increasing function of the supply voltage.

When the real task execution demands are random and are bounded by the worst-case

demand, we still need to set VH=VH* to guarantee schedulability in the worst-case scenario. On

the other hand, any settings of VL are feasible under the VCS-EDF scheduling and lead to variant

execution times in H-mode and L-mode as well as the average power consumption. In Figure 2-5,

we have an example of variant VL (a) vs. execution time and power consumption. We first adjust

VH such that the processor is fully utilized under the worst-case scenario. With the actual

execution times, we can utilize the slack periods and run the tasks in L-mode. The execution

sequences for different aL's are shown in Figure 2-5 (a). With the assumptions that V,=0 and no

power consumption at idle state, we can compute the relative energy consumption for a special

case where the real workload is 66.7% of the worst-case execution demand. With a slow

execution speed and low power consumption in L-mode, the processor must stay in H-mode for a

substantial amount of time. Thus, there is only a marginal energy saving. On the other hand, if we

set a high aL and spend less time in H-mode, the total energy saving is again diminished as a high

VL must then be applied. As illustrated in Figure 2-5 (b), there exists an optimal setting of VL,

which balances the invocation of H-mode execution and the power consumption in L-mode.
















WCET
in H-mode 4 3 5
0 1 2 3 4 5 6 7 8 9 10 11 12

Actual.....
Work i) 2 (H) iT, 2 (H) 1 14 (H)



a=0O 2 2 (H) T ) i 2(H) zdle(L) t 4 (H) dle(L)
- - i d

az=0.5 T, 2(H) i 2(L) T2 1.5(H) it 1.5(L) i3 3.625 (H) .



ao=1.O T, 2 (H) T22 (L) 1 (H) T3 2 (L) i3 3 (H) .

/= .5(H)
az=1.5 i 2(H) i2 2(L) 1- 3 2.5.5 ( I3 2.125(H) .


a,=2.0 IT, 2(H) T2 2(L) I3 3(L) t l(H) *
0 1 2 3 4 5 6 7 8 9 10 11 12

(a) Task executions according to the speeds of two modes


4-


100




O 8C
0


S7C

l 60


I 5C

40

30

20

10


WCET 0 0.5 1.0 1.5 2.0 aL


(b) Relative energy consumption for different aL


Figure 2-5. An example of finding the optimal aL



In Figure 2-6, we present simulation results of the optimal voltage settings using the DC


characteristics of Motorola's MPC860 processor. At VH=3.3V, the processor runs at an operating


I1 I L-mode Execution
I H-mode Execution







1 2
-t----------------- ---- -

833
100 -- -- ----- 21 1
41 7


667
......659 4 -
500
38 5
250











frequency of 50 MHz and has a power consumption of 1.3 Watts. In addition, we assume that the

processing speed is proportional to the operating frequency and that VT=O. 7 which is the typical

threshold voltage in most CMOS circuits with 0.25-0.35|um technology. In our experiments, the

worst-case execution demands of 10 tasks are chosen such that a full utilization is achieved at H-

mode. Then, the supply voltage at L-mode, VL, is varying from 0.7 to 3.3, and the real task

execution demands are generated as a random number such that the mean demand is a proportion

of the worst-case demand. Using the simulation results of the dynamic VCS-EDF scheduling, i.e.

the percentages of time in H-mode and L-mode execution, we can compute the average energy

consumption for various VL from the equations (2-1), (2-2) and (2-3). The curves in Figure 2-6

indicate the optimal VL and the possible power savings when a good candidate of VL is chosen



1.3


1.2


1.1 Vopt= 2.252
.0
E 1-

0. Vopt= 2.214
0.9


0.8- Vopt= 2.176

0.6
0.7 0.7
0.8 Vopt= 2.087
-- 0.9 mean
0.6- I I
0.5 1 1.5 2 2.5 3 3.5
L-mode Voltage

Figure 2-6. The optimal L-mode voltages VL (VH= 3.3 V, 1.3 Watts, and 50 MHz)










2.6 Conclusion

In this dissertation, we investigate the voltage-clock scaling problem in real-time

embedded systems. Under EDF scheduling, we propose two scaling methods to reduce power

consumption. Both methods utilize L-mode execution during task slack periods that come from

the discrepancy between the worst-case and the real computation times. The static approach

assigns a fixed voltage setting for each task in the offline phase such that the average execution

time in H-mode is minimized and the schedulability condition is satisfied. At the online (run-

time) stage, the tasks are dispatched according to the EDF algorithm and run at the assigned

voltages except during the slack periods. The other method, a dynamic approach, does voltage

assignment at the beginning of each busy cycle. Subject to the schedulability constraint, it assigns

tasks to L-mode execution when the first instance of each task arrives in the busy cycle.

Our simulation results demonstrate that the proposed two approaches are quite effective

compared to a fixed optimal task-base voltage assignment that does not perform any online

adjustment. The dynamic approach can outperform the static one if no H-mode execution is

invoked during short busy cycles. Finally, we discuss the selection of optimal voltage settings

for given workloads.















CHAPTER 3
CONSTRAINED ENERGY BUDGET ALLOCATION

3.1 Introduction

Recently, the growth of mobile computing and communication devices such as laptop

computers, cellular phones, and personal digital assistants (PDA's) has been explosive and the

demands for embedded applications on those devices has become more sophisticated and

intelligent along with the advanced technology in microprocessors. With accelerated

miniaturization, portability, and complex functionality of the handheld devices (i.e. multimedia in

portable phone), batteries having smaller size but longer-lifetime are indispensable. Processors

are becoming increasingly power-hungry. Still, there is a big gap between the pace of current

battery technology and energy demands of microprocessor systems [79]. For this reason, the field

of power-aware computing has gained increasing attention over the past decade.

Simple techniques, such as turning off (or dimming) the screen while a system is idle and

shutting down hard disks while it is not accessed is now commonly adopted in most portable

device designs. However, in many cases, re-activation of hardware can take some time, and affect

response time. Also, deciding when and which device should be shut down and woken up are

often far from trivial. Another effective approach to power reduction is a technique called

Voltage-Clock Scaling or Dynamic-Voltage-Scaling in CMOS circuit technology. Due to the

quadratic relationship between supply voltage (VDD) and clock frequency, a small reduction in

voltage can produce a significant reduction in power consumption [24, 25]. However, increase in

the circuit delay by lowering VDD provides longer execution time and this leads to performance

degradation in application response time and a failure to meet real-time deadlines.










If low energy consumption is a desirable feature in real-time embedded systems, voltage-

clock scaling must cooperate with the task scheduling algorithms since the power-delay tradeoff

property in low power design affects meeting the strict time-constraints of real-time systems. The

execution of a high-priority at a low voltage and slow clock rate may cause a low-priority task to

miss the deadline due to the additional delay from the execution of the high priority task.

While VCS has been a well-populated research area, power-aware system design has

generally focused on minimizing total power consumption. For systems consisting of soft

periodic tasks, the objective of minimizing power consumption will result in slow execution. On

the other hand, in many cases, the battery capacity can be replenished or there is a finite mission

lifetime. Minimizing power consumption that doesn't utilize all available energy may not lead to

optimal system performance. A better power control strategy in such cases is to minimize the

response times of soft real-time tasks, providing that the deadlines of hard real-time tasks are met

and the average power consumption is bounded.

In this dissertation, we target battery-driven real-time systems, jointly scheduling hard

periodic tasks and soft periodic tasks, whose battery capacity is bounded in the feasible range

given by a set of tasks. The scheduling should guarantee meeting the task deadlines of hard real-

time periodic tasks and achieve average response time of periodic tasks that are as low as

possible. Under the constraints of a bounded energy budget, finding an optimal schedule for a

task set should aim to satisfy both optimal power consumption and strict timing constraints

simultaneously.

We first investigate the characteristics of energy demands of periodic and periodic tasks

focusing an EDF scheduling exploiting the feature of VCS. Based on the energy requirement of

mixed real-time tasks, we also propose a static scheduling for energy budget allocation, which

determines the optimal two-level voltage settings of all tasks under bounded energy consumption,

while guaranteeing that no deadline of any periodic task is missed and that the average response

time of periodic tasks is minimized. The algorithm selects the voltage settings that have the










minimum average response time among the schedulable ones within a given energy consumption.

To schedule periodic tasks, we adopt the Total Bandwidth Server, which was proposed by Spuri

and Buttazzo and handles periodic tasks like periodic tasks within the reserved bandwidth such

that it outperforms other mechanisms in responsiveness.

The rest of this chapter is structured as follows. Main concepts for designing a

constrained energy budget allocation model are explained in section 3.2. In section 3.3, we

outline the preliminary model with several assumptions. Then, we discuss profiling of energy

consumption and processor utilization under bounded energy budget in section 3.4. Considering

the characteristics described in section 3.4, energy allocation methods and an algorithm of voltage

assignment are described in section 3.5. To illustrate the effectiveness of the proposed algorithm,

we evaluate the performance in section 3.6. A short conclusion then follows in Section 3.7.

3.2 Design Concepts

As a key implementation vehicle of the real-time systems having mixed tasks under

bounded energy consumption, the energy budget allocation model has the following design

concepts at its core:

Scheduling hard and soft real-time tasks with power-awareness. An integration of

hard and soft real-time tasks and multi-task soft real-time applications like multimedia

application are currently attracting much attention.

Sharing a bounded energy budget. In many occasions, the battery capacity can be

replenished or there is a targeted mission lifetime for a system that is confined by its batteries. In

such cases, reducing power consumption cannot be the only objective of task scheduling. If

batteries will be charged at a predictable instant, the tasks should be scheduled to make the best of

the available energy as better performance as they can achieve. And if the application of the

system is composed of mixed real-time tasks, the bounded energy budget should be shared in a

way that the requirements are satisfied for both sets of tasks.










Switching voltage levels by Voltage-Clock Scaling. Based on the VCS technique, most

of today's processor cores have been designed to operate at different voltage ranges to achieve

different levels of energy efficiency. In this dissertation, we assume simple voltage settings that

the processor in a real-time system can be dynamically configured in one of two modes: low-

power-low-frequency mode and high-power-high frequency mode.

Profiling energy and bandwidth usages of tasks. To allocate a limited energy budget to

tasks effectively such that the budget is fully utilized for better performance, the energy usage

should be outlined at each task level in a system. In the dissertation, we have devised the VCS-

EDF scheduling to profile energy demands. The processor's operation at different energy

performance levels leads the energy usage to be profiled according to real-time tasks' execution

requirements. In addition to profiling the energy usage, the processor utilization must be also

profiled to guarantee the schedulability of tasks. Due to the property of power-delay tradeoff in

the voltage-clock scaling, processor requires prolonged execution time in low-power-low-

frequency mode, comparing to the one in high-power-high-frequency mode. Obviously, the

variation of a given execution time according to the determination of operating modes

(frequencies) affects processor utilization and the schedulability of EDF scheduling.

Guaranteeing no missed deadline for hard periodic tasks. In real-time systems that

have mixed tasks, periodic tasks are usually served in the background with respect to hard

periodic tasks in order not to jeopardize the schedulability of hard tasks and served by an

periodic server to improve responsiveness. In this dissertation, the schedulibility of hard periodic

tasks is guaranteed by the isolation of bandwidth between periodic and periodic tasks.

Ensuring fast responsiveness for periodic tasks under a given energy budget. If

systems consist of only soft periodic tasks, slow execution for these tasks to minimize power

consumption may result in unrestrained response time. On the contrary, if the objective of

minimizing periodic tasks' response time is given for scheduling mixed tasks under a limited

energy budget, an appropriate amount of energy should be adjusted to periodic tasks to ensure










responsiveness as fast as they can get within the available energy budget for them. Due to the

inverse-relationship between energy consumption and utilization, the responsiveness can be also

affected by sharing of the total energy budget to periodic tasks. The increased energy allocation to

periodic tasks leaves periodic tasks less energy budget and this causes a delayed response time

in return for the increased utilization of periodic tasks.

Expanding the life span of a battery-driven real-time embedded system. Since

reduced power consumption promises the longer lifetime of the system, developing an effective

scheduling scheme that consumes much less power is also preferred to schedule mixed tasks

under a power consumption constraint.

3.3 System Model for Energy Sharing

For the targeted real-time systems, tasks may arrive periodically and have individual

deadlines that must be met. Or they can be periodic and can accrue computation values, which

are inversely proportionate to their response times. Under a given bound on energy consumption,

we build a system model and make several assumptions as follows.

3.3.1 Schedule for Periodic Tasks

For Earliest Deadline First (EDF) scheduling, a periodic task is modeled as a cyclic

processor activity characterized by two parameters, T, and C,, where T, is minimum inter-arrival

time between two consecutive instances and C, the worst-case execution time (WCET) of task iT.

The EDF scheduling algorithm always serves a task that has the earliest-deadline among waiting

tasks. The following assumptions are analogous to assumptions made in real-time scheduling

theory.

Tasks are independent: no task depends on the output of any other task.

The worst-case execution demand of each task -T, i.e., C, is known. The actual
execution demand is not known a prior and may vary from one arrival instance to the
other.

The overhead of the scheduling algorithm is negligible when compared to the
execution time of the application.










3.3.2 Schedule for Aperiodic Tasks

Infinite number of soft periodic tasks [J, i=0,1,2,...} are modeled as sporadic processor

activities represented by two parameters, A, and p, where A, is average inter-arrival time between

two consecutive periodic instances and p the average worst-case execution time of task J,.

Aperiodic tasks are scheduled by total bandwidth server algorithm that makes fictitious

but feasible deadline assignment based on the available processor utilization guaranteed by the

isolation of bandwidth between periodic and periodic tasks. In the TBS algorithm, the k-th

periodic request arrives at time t = rk, a task deadline

Ck
dk = max(rk,dk-) )+ (3-1)
UA

is assigned, where Ck is the execution time of the request and UA the allocated processor

utilization for periodic tasks. By definition do=0. The request is then inserted into the ready

queue of the system and scheduled by the EDF algorithm, as any other periodic instances or

periodic requests already present in the system. In Figure 3-1, an example of deadline

assignment by Total Bandwidth Server is shown. Given utilization UA= 0.25 for periodic task of

To, the deadlines of the instance J1, J2, and J3, that are requesting execution time of 1, 2, 1, are

assigned as d1= 4, d2= 8, d3= 7, respectively, by the equation (3-1) and scheduled with periodic

tasks, ZI and r2.

Note that the assignment of deadlines is such that in each interval of time, the processor

utilization of the periodic tasks is at most UA. Hence, a set of periodic tasks with utilization

factor Up = "1 C, /T, and a TBS with a bandwidth UA is schedulable by EDF if and only if UA +


Up .1. Comparing to the other scheduling algorithms for periodic tasks, the TBS algorithm has

a very simple implementation complexity and shows very good performance in average response

time [40].











S (1) 2) I J3 1)






I ------o------;------------
0 2 4 6 8 0 12 14 16 178 2 22 24




0 2 4 6 8 10 12 14 16 18 20 22 24
Aperiodic task r. UA=0.25
Periodic tasks ri -(6,3), zr -(8,2) ,Up=0.75

Figure 3-1 An example of the deadline assigning algorithm in Total Bandwidth Server

3.3.3 Voltage-Clock Scaling

3.3.3.1 Voltage Switching


We assume voltage switching consumes negligible overhead. This is also analogous to

the assumption made in classical real-time scheduling theory, that preemption costs are negligible.

Voltage switching typically takes a few microseconds. In fact, a bound of the total overhead can

be calculated by considering the number of task arrivals and departures since voltage switches are

only done at task-dispatch moments.

3.3.3.2 Two Voltage Levels


The system operates at two different voltage levels. Ideally, a variable voltage processor

that has continuous voltage and clock setting in the operational range is available as explained in

Table 1-1. We assume a simple setting arrangement that the processor in a real-time system can

be dynamically configured in one of two modes: low-voltage (L) -mode and high-voltage (H)-

mode. In L-mode, the processor is supplied with a low voltage (VL) and runs at a slow clock rate.

Thus, task execution may be prolonged but the processor consumes less energy. On the other

hand, the processor can be set in H-mode, i.e. be supplied with a high voltage (VH) and run at a

fast clock rate, in order to complete tasks sooner at the expense of more energy consumption. The










operating speeds at L-mode and H-mode are denoted as aL and aH, respectively, in terms of some

unit of computational work. Depending upon the voltage setting for task -,, the worst-case

execution time is C/aL or C/oH.

3.3.4 Bounded Energy Consumption

In battery-powered embedded systems, it is often equally important to control power

consumption to extend the lifetime of the battery and to enhance system performance. Given that

the battery can be replenished or the mission lifetime is limited, we may assume that the available

capacity can safely be consumed during a predefined interval of operation. Thus, an average

power consumption rate or energy budget can be set to the ratio of available capacity to the target

operation interval. Also, it is possible to communicate with the battery such that the system and

its scheduler can know the current status of the battery capacity. One of the mechanisms for doing

this is the smart battery system (SBS), which has been now actively standardized and introduced

to battery-driven systems [79]. In this dissertation, for the information of bounded energy budgets,

we assume battery-driven real-time systems have such kind of mechanism. And, we assume the

embedded system, whose processor is the major factor of the energy consumption

3.4 Profiling Energy and Utilization Usages in a Real-time Embedded System

For all real-time tasks, the available energy consumption is confined to a given energy

budget called Ec, which has to be shared among periodic and periodic tasks. Let Ep and EA are

the energy budget allocated to periodic tasks and periodic tasks, respectively. The voltage-clock

scaling problem is to find voltage settings for both periodic and periodic tasks such that

all periodic tasks are completed before their deadlines and have energy consumption
less than Ep.

all periodic tasks can attain the minimal response times while consuming energy
less that EA.

Ep + EA Ec.









3.4.1 Periodic Tasks

Assume that, for periodic task z, m, is the voltage setting determined between the two

possible modes, i.e. L-mode and H-mode and o (m,) is the speed of task at mode m,. Given m,

for all of periodic task T, the energy demand for periodic task of Ep is

1 C
E,(m,)= -p(m) (3-2)
a, (m, ) 7T,

where p(m) is the power consumption at mode m,, C, the average execution time of task -, In

addition, the worst-case utilization is given by


U, (m)= C 1 (3-3)
upya, (m,) T

If m, is H-mode for all periodic tasks, the processor runs at a fast clock rate all the time,

thereby minimizing the utilization. The maximum energy demand for the tasks is represented as

1 C,
max Ep = PH (3-4)
aH. 7

and its utilization becomes


minUp = I (3-5)
aH T,

On the contrary, if m, is L-mode for every periodic task -T, the processor runs at a slow

clock rate all the time such that the utilization is maximized, but consumes the minimum possible

energy. For the sake of schedulability, the tasks should be scheduled in such a way that the

utilization is less than unity Therefore, we define min Ep as an energy demand when there exists a

set of {m,} so that the worst-case utilization

1 C 1 C
Up (m,) = 1 and Ep (m,)= p(m,) is minimized. (3-6)
a(m,)T, m a(m, ) T,

In Figure 3-2, we describe the relationship between energy consumption and utilization

for a set of periodic tasks. The maxima and minima are denoted as max Ep and min Ep for the









energy and max Up and min Up for the utilization, respectively. Again, min Ep follows equation

(3-6). Regarding the feasibility of the energy constraint and the worst-case utilization, Ec must be

greater than min Ep and min Up should be no greater than 1. By definition, if min Up is greater

than unity with all H-mode executions, it is impossible to find voltage settings to ensure that all

tasks meet their deadlines. If max Up is less than 1, the tasks are schedulable with all L-mode

assignments and energy consumption can never be less than min Ep. In the case, max Up becomes


Up (L) = C andmin Epdoes Ep (L) = p-- .
aL T1 aL T

If energy budget Ep is given in the range from min Ep to max Ep, Upavailable is the available

utilization corresponding to the allocated energy budget Ep. And, by searching a set of voltage

settings meeting the given energy budget and schedulability, energy demand and utilization for

periodic tasks are determined as Ep (m,) sEp and Up (m,) 2 Up lable, respectively.

0 min E, E, maxE,

I Energy


Schedulable
Utilization

0 min Up Udvailabie 1 max Up

Figure 3-2 The relationship between power consumption and utilization for a set of periodic tasks


3.4.2 Aperiodic Tasks

Denote by mA the voltage setting determined between the two possible modes for

periodic tasks, which have the average inter-arrival time of A and the average worst-case

execution time of p. If all of them are assigned in mode mA and the power consumption at mode

mA is p (m), the energy consumption and utilization of them are










1/1
EA (m,) = p(m ), (3-7)
a(mA) A


UA (mA) --= (3-8)
(mA) 2

respectively.

Also, if all of them are assigned in L-mode or H-mode, they demand minimum energy

min EA or max EA given by the following equations


minE PL and maxEA = PH (3-9)
SL2 ^cH2

having the utilization


min UA =- and max UA = / (3-10)
aL2 .2

3.4.3 Energy Budget Allocation

While the constraint Ep + EA : Ec must be satisfied, we can decide how processor

utilization, task scheduling, and task response time are affected. From the viewpoint of utilization,

the more utilization is available for periodic tasks, the shorter the deadlines that are assigned to

them by the deadline assignment of equation (3-1). This assigns higher priorities to them in EDF

scheduling such that they can get a faster response. To give more utilization to periodic tasks,

the utilization of periodic tasks must be shrunk and it can be done by assigning more tasks to H-

mode, but requires more energy consumption. Since the total energy budget is bounded, the

energy budget left to periodic tasks will be reduced. As a result, the periodic tasks must be run

in a low voltage mode and their response times will be extended.

Likewise, from the viewpoint of the energy budget, the portion assigned in H-mode for

periodic tasks should be maximized within an assigned energy budget EA to get faster

responsiveness. But, as before, if the energy demand of periodic tasks is increased, the energy

available for periodic tasks will be decreased. Consequently, the available utilization for periodic










tasks will be decreased due to the increased execution time of periodic tasks, which may result in

degradation in responsiveness.

Eventually, to get both schedulability and fast responsiveness under a bounded energy

budget, an effective scheduling and energy allocation scheme is needed for jointly scheduling

hard periodic and soft periodic tasks. The scheduling should address the concern of the trade-off

between utilization and energy consumption as shown in Figure 3-2.

3.5 Constrained Energy Allocation using VCS-EDF Scheduling

In this section, we describe an energy allocation scheme, which allocates bounded energy

budget to periodic and periodic tasks based on VCS-EDF scheduling, meeting the requirements

of real-time tasks, i.e. to meet deadlines of periodic tasks and to get faster average response time

for periodic tasks. Given an energy budget Ec, considering the feasible range of energy demand

determined by tasks, it finds voltage settings for periodic tasks and the execution portion in H-

mode and L-mode to the worst-case execution time for periodic tasks under a bounded energy

budget.

3.5.1 Energy Allocation Factors

Suppose that Ep and EA can be allocated in the range of [min Ep, max Ep] and [min EA,

max EA], respectively, Ema = max Ep + max EA, and Em = min Ep + mmin EA. If the bounded

energy consumption budget is given as Ec, Ec must fall into the range Emm Ec Emax where min

Ep, min EA, max Ep, and max EA are as defined in equations (3-4), (3-5), and (3-9) to a given set of

tasks. Then, voltage settings must be determined such that the energy consumption satisfies the

constraint of Ep + EA Ec, while guaranteeing the schedulability of periodic tasks and

minimizing average response time for periodic tasks. For ease of explanation, we define Edff

Emax Emn..










Let f and ybe energy allocation factors of periodic and periodic tasks, given by 0 <# _<

1 and 0 y 1, respectively. Then, the energy budgets Ep and EA allocated to them are

represented as

Ep = min Ep + f(max Ep min Ep), (3-11)

EA = min EA + y(max EA min E), (3-12)

respectively.

Suppose Aa = (max EA min EA), Ap = (max Ep min Ep), and Ac = Ec (min EA + min

Ep), respectively, then the inequality (Ep + EA < Ec) becomes

yAa + 6JAp sAc.

Hence, / and yare determined by

Ac yAa < Ac- Ap < Ac (3-13)
o<1= l, y .- (3-13)
Ap Aa Aa

respectively. The choice of determines 3, and vice versa, and also determines EA and Ep by

equations (3-11) and (3-12).

If y0- and yl, energy min EA and max EA are assigned to periodic tasks, i.e. assigning

all periodic tasks in L-mode and H-mode, respectively. If yis 0.6, energy assigned for periodic

tasks becomes (min EA + 0.6Aa). Unlike voltage settings for periodic tasks, which are decided on

the basis of a task, the running mode for periodic tasks are determined by the fraction in H-mode

and L-mode. If the fraction assigned to H-mode is xH, then that assigned to L-mode becomes (1-

xH). The energy consumption needs to be bounded by the budget, and so

x p_ (1- x) p
PH + PL EA (3-14)
ca 2 a1L 2

Similarly, the execution time of an periodic task is determined according to the voltage

modes and the deadline assigned in equation (3-1) is adjusted. As for responsiveness, the greater

the fraction of the processor utilization that is given to periodic tasks, the better is the









responsiveness expected under the TBS algorithm, because shorter deadlines are assigned to them.

Under energy budgets of Ec and Ep, the utilization for periodic tasks will be increased if the

voltage settings are determined to allocate more H-mode to periodic tasks within the energy

budget such that it can minimize the utilization Up (m) and make an increase in UAa"alable/. We

therefore have a constrained optimization problem to determine the optimal voltage settings,

maximizing H-mode execution, within the constraint of budget Ep and guaranteeing that no

deadline of any periodic task is missed.

The optimization problem to find voltage settings for periodic tasks can be stated as

follows: Pick the task subsets H and L for voltage settings of H-mode and L-mode such that

HuL = {i, T2, ..., ,n}
HnL=0
1 C
Up ,(m ) = is minimized
a(m,) T,

subject to the well-known sufficient condition' for the schedulability of periodic tasks under EDF,

i.e.,

1 C, 1 C(3-15)
z +-z 1 (3-15)
a H min(T, D,) aL ,= min(T, D,)

and the energy consumption constraint of

PH C PL C EP
a-H -H min(T, D) c a< min(, D,)

This optimization problem can be treated equivalently to the decision problem of the

subset sum, which is NP-complete. Consequently, efficient search heuristics, e.g., branch-and-

bound algorithms, should be employed to find a solution ifn is large.


1 The condition is also necessary if D,>T, for all i.










3.5.2 Algorithm for Energy Budget Allocation

We describe here the algorithm for the bounded energy allocation explained in the

previous section. The algorithm outputs the energy allocation factors,? and voltage settings for

periodic tasks, {m,}, and the percentage of H-mode assignment for periodic tasks, xH.



The Algorithm of VCS-EDF Scheduling Under Bounded Energy Consumption Ec


1. Compute min Ep, max Ep, min EA, max EA, Emax, and Emin.

2. If Ec is less than Emin = (min Ep + min EA), there is not enough energy to execute the
workload.

3. If Ec is in the range of Emin sEc Emax, compute the range of yand f, EA and Ep,
accordingly.

4. For each yin the range of 0 _<_1, execute the following steps

(4a) Compute f, EA and Ep,


(4b) Find {m,, which satisfies C 1 p(m) < E, and that
T a(m,)

Up (m) = c, 1 is minimized, where mi is voltage setting either in H-
T a(m,)
mode or L-mode for periodic task n, using simple search or branch-and-bound
algorithms.

(4c) Compute UAavailable = 1 Up (mi).

(4d) Given EA, find xH, the fraction of execution in H-mode for periodic tasks, and
(1-XH) the fraction in L-mode.

(4e) Applying the TBS algorithm for the deadline assignment Up (mi) and LI.
computed in step (41b) and (4c), respectively, run VCS-EDF scheduling in
voltage settings [mi] for periodic tasks and xH and (1-xH) for periodic tasks.

5. Find having the minimum average response time from the result of the scheduling
in step 4.

6. The value of determined in step 5 is selected for energy allocation, which gives the
best performance for periodic tasks, xH for running the periodic tasks in H-mode
and [mi] for voltage settings of the periodic tasks are determined accordingly.


Figure 3-3 The algorithm for constrained energy budget allocation










3.6 Simulation Evaluation

We analyze here the properties of sharing the bounded energy budgets between periodic

and periodic tasks based on VCS approach and evaluate the VCS-EDF scheme to schedule

mixed real-time tasks. For the power consumption and speed settings, Motorola's PowerPC 860

processor is used for our simulation, which can be operated in a high-performance mode at

50MHz and with a supply voltage of 3.3V, or a low-power mode at 25MHz and with an internal

voltage of 2.4V such that VH and VL are fixed to VH=3.3 and VL=2.4. The power consumption in

the high-performance mode is 1.3 Watts (pH), as compared to 241mW (ps) in the low-power

mode. The clock rate at high voltage is 100% greaterthan at low voltage: H= 2.0 and aL=1.0.

A simulation study is performed to address the improvement of task execution time with

extra available energy. In other words, the system is assumed to possess enough energy to

complete the tasks and meet the deadline requirements. In addition, there is extra energy that can

be allocated to improve the response time of periodic tasks. Our immediate objective of the

simulation study is to see how the response time can be reduced through a proper voltage setting.

Furthermore, this extra energy can be allocated to periodic tasks such that the processor

utilization reserved for periodic tasks is reduced. This leads to a reduction of deadline assignment

in the total-bandwidth scheduling scheme. On the other hand, the extra energy can be consumed

by periodic tasks that can result in a first-order effect in the reduction of response time.

In our simulation, we first generate 10 random task periods in the range of 100 to 1000

and set the task deadlines equal to their respective periods. The worst-case execution demands of

the tasks are randomly chosen such that, for each simulation case, no deadlines need be missed

and the resultant utilization is set to Up (L)=0.8, 1.0, or 1.2, respectively. For periodic tasks, we

adopt the exponentially distributed execution time with an average p equal to 45. Then we let the

inter-arrival time be exponentially distributed with mean of between 450 (10% workload, i.e. UA










(L)=0.1) and 112.5 (40%, i.e. UA (L)=0.4). The energy budget Ec is set at each of several energy

levels in the range from (Em,,+0.6Edf) to (Em,,+ Edf).

To get fast responsiveness, how much energy budget can be allowed to periodic and

periodic tasks, respectively? Over various fs and constraint energy budgets, we obtain the

average response times of periodic tasks from the simulation and plot them in Figure 3-4.

Regardless of increase in the energy budget, Figure 3-4 reveals a trend of reduction in average

response time of periodic tasks as increases. The average response time does not show always

a monotonic decrease with an increase in In some regions, it has an abrupt increase or is flat

over increasing This occurs especially when Ec =(Emn+0.6Edff) or Ec =(Emn+0.7Edf).

Note that when we increase y, periodic tasks are invoked more in high-voltage high-

speed execution. This results in a reduced CPU utilization, i.e. the utilization required by

periodic tasks under the voltage setting. On the other hand, as / is reduced, the energy allocated

to the periodic tasks decreases which leads to an increase in Up (m,) and a decrease in UA valuable

The two reductions, one on the demand to complete periodic tasks and the other one on the

available utilization for periodic tasks, can have a profound impact on the response times. Let

the CPU utilization required be denoted as Ueal and we show the ratio of UA 1abl to UAre in

Figure 3-5. For instance, with Ec =(Em,,+0.6Edff) and r-1.0 in Figure 3-5 (a), there still exists

extra energy to be assigned to periodic tasks (8 >0) and an optimal voltage setting is obtained

which leads to Up (m,)=0.55 and UA avaable = 0.45. On the other hand, UAre1 is reduced to 0.15 as

we increase ytol.0. A ratio of 3 is then obtained and plotted in the Figure.

It is interesting to observe that, whenever the ratio is flat in Figure 3-5, the average

response times have uneven decreases in Figure 3-5. In fact, as long as the ratio of UAavalable to

UAre continues to increase, the processor possesses greater capacity to complete periodic tasks

and the response time drops. In contrast, there would be a monotonic decrease in response time if

the ratio were flat as we increase .







54



Average Response Time with respect to y
100 -100
90 -- ----- 0.6 Ediff 90 -
E 0.7 a
E E
= 80 ---------------- 0.8 80
a0.9 70
} 70 1.0 0
O O
c 60 -------- 60
a 50 50
S40 ------40 --
30 ------- 30
20 20
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
7 7
(a) Up=0.8, Ua=0.3 (b) Up=1.0, Ua=0.3
200 1200

w \ 1000 -
E E
F 150
a) 800
C C
o o
S600
100 -,
0) 400 -

S50 --------- 200 --------- -- -----------

20 -20
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
7 7
(c) Up=1.2, Ua=0.3 (d) Up=1.4, Ua=0.3


Figure 3-4 The responsiveness to the energy allocation of periodic tasks

The other interesting observation in Figure 3-5 is that utilization ratios are not available

for all of values. It indicates that the possible choices of only exist in the range where the plots


are shown. This is also evidenced in equation (3-14) and is originated from the definition of in


which the minimum value of means the percentage of energy available for periodic tasks after

periodic tasks take energy budget as much as they can.

From these results, to get fast responsiveness of periodic tasks, the greater portion of the

energy budget should be allocated to periodic tasks, and then voltage settings of periodic tasks

need to be determined within the energy budget remaining for them. Note that the way we

formulate the minimal energy budget is based on the schedulability for periodic tasks and

ensuring no CPU starvation for periodic tasks. If the energy budget is below this minimum,

periodic tasks will incur much longer response times.












The Ratios of Available Utilization to Min. Utilization for Aperiodic Tasks
4 4
-'I- 0.6 Ediff
3.5 0.7 3.5
0 -o 0.8 0
Z-3 0.9-- --- 3 -
1.0
0 2.5 0 2.5
N
2 -- 2-- - -
2 2D

1.5 -------------------------- 1.5-

1 1
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
7 7
(a) Up=0.8 Ua=0.3 (b) Up=1.0 Ua=0.3

4 4

3.5 -------- 3.5
.O
3 --------------------------- 3

2.5 ---------------- 2.5

2 2

1.5 1.5 -

11 1
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
t 7
(c) Up=1.2 Ua=0.3 (d) Up=1.4 Ua=0.3


Figure 3-5 The ratios of available utilization to the minimum utilization for periodic tasks


To reveal the causes that lead to the flat regions in Figure 3-5, we now investigate how


the energy budget is allocated to periodic and periodic tasks, respectively. In Figure 3-6, we

show the energy sharing as percentages of allocated energy Ep for periodic and EA for periodic

tasks to the maximum energy demand, Emax, that is the maximal energy consumption by a given


task set. The plots in Figure 3-6 (a)-(c) cover the case when Ec is bounded to (Em,,+0.6Edy). But

in Figure 3-6 (d), we plot the energy percentages under Ec = (E,,,+0.7Edf) unlike the ones for


other periodic workloads. The reason is the energy budget (E,,,+0.6Edff) is too low to select


proper voltage settings making the given set of tasks schedulable under the periodic workload of

U =1.4.


When a set of periodic tasks can make the most of the given energy budget Ep, i.e. Ep


(m) s Ep, Ep (m) is determined by the chosen set of voltage settings, m,, in the VCS-EDF











algorithm subject to requirements imposed by the need to maintain schedulability. Thus, there is a

small discrepancy in energy consumption between Ep and Ep (m).


Percentages of Allocated Energy to Emax
1 1

0.8 ------- 0.8
o U
S0.6 --- 0.6
0 0
| 0.4 0.4 -





Y Y
(a) Up=0.8, Ua=0.3 (b) Up=1.0, Ua=0.3

1 1

C 0.8 -- 0.8----

0.6 -------- 0.6
S0.6-^-^ ^ ^^^ 0.6 ---------------------------
C CEC
S0.4 --------------------------- 0.4 Ep ---------------
-o- Ep(mi)
0.2 ----------------- 0 2 -


0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Y Y
(c) Up=1.2, Ua=0.3 (d) Up=1.4, Ua=0.3


Figure 3-6 Energy allocation percentage to the maximum energy demand

Over several regions of y, Ep (m,) is kept at the same level even if Ep is decreasing, while

being less than Ep. In other words, the same voltage settings are selected for different Ep's. For all

the possible combinations of voltage settings, if we sort them in descending/ascending order

according to energy demands, a discontinuity in energy demands exists between any two sets of

voltage settings adjacent in the sorted list. Let the discontinuity in energy demand be an energy

gap. Then, even if there is a small amount of change in energy budget Ep, it cannot change

voltage settings unless it jumps up/down any energy gap between adjacent energy levels.

However, if the number of periodic tasks is getting bigger, the flatness in Figure 3-6 will be







57



reduced because of the fine energy gap between adjacent energy levels of discontinuous voltage

settings.

It should be noticed the big drops in the response times of periodic tasks occur when the

voltage settings of periodic tasks result in a energy allocation Ep (m) that is very close to the

available budget Ep. For instance, at /=0.1 and 0.5 of Figure 3-6 (c), the settings lead to a little

reduction of UAadlable which, combining with the decrease of UArea, bring about a considerable

decrease in the task response time of Figure 3-4 (c).


Min. Average Response Time to Bounded Energy Consumption
40 40
SUa=0.1
S--- Ua=0.2
F* 36 Ua=0.3 3
S. --------------- UaO ---------------------------
-- Ua=0.4
S32 32

28-- ------------------------ 28--
28 --------------------------- 28 ----------------------^----
CE

24 24

1 0.9 0.8 0.7 0.6 1 0.9 0.8 0.7 0.6
The % of Energy to Ediff The % of Energy to Ediff
(a) Up=0.8 (b) Up=1.0
40 40

E 36 ---- 36
S32 ------------------------- 32
cin cn


C C
28 ------------ ------- ---- 28 ---------- -----------

24 L 24-

1 0.9 0.8 0.7 0.6 1 0.9 0.8 0.7 0.6
The % of Energy to Ediff The % of Energy to Ediff
(c) Up=1.2 (d) Up=1.4


Figure 3-7 Minimum average response time with respect to the bounded energy budget

We now consider how much improvement we can obtain from an increased energy

budget. In Figure 3-7, we show the evaluation results for the minimum average response time to

the constraint energy ranging from 0.6 to Edf. The responsiveness of periodic tasks for UA=0.1

and 0.2 is not much affected by the periodic tasks' workload Up and the constraint energy budget










Ec. Since every periodic task is assigned to H-mode (i.e. Y=1.0 to ensure minimal response

time) and is allocated with the maximal energy budget, the available energy budget for periodic

tasks decreases as UA increases. As a consequence, the increased workload in periodic tasks

increases the average response time for the case of UA=0.3 and 0.4 as UA""avabe is limited and the

deadlines assigned to the periodic tasks are extended.

3.7 Conclusion

In this paper, we have presented an algorithm to carry out voltage clock scaling in

workloads consisting of periodic hard and soft real-time tasks. The aim is to keep within a

predefined energy budget. The objective of the scheduling scheme is to minimize the response

time of periodic tasks while all deadlines of periodic tasks are met and the total energy

consumption is bounded by the energy budget. As we apply total bandwidth scheduling for

periodic tasks, we notice two conflicting factors in energy budget allocation. When an extra

budget is assigned to periodic tasks, their execution can be done in high-voltage and high-speed

mode. This leads to a reduced response time. On the other hand, the extra energy budget allocated

to periodic tasks can result in a lowering of the CPU utilization reserved for periodic tasks. This,

in turn, leaves more available CPU utilization for periodic tasks and cause shorter deadlines as

defined in the total bandwidth scheduling scheme.

Our simulation study assumes that there the energy budget is enough to meet the hard

real-time periodic tasks and to complete the periodic tasks. In addition, here there is extra

energy that can be allocated to either periodic or periodic tasks. Our results demonstrate that the

VCS-EDF scheduling gets the fastest responsiveness when the extra energy budget is allocated to

periodic tasks at their maximum energy demand such that all of them can run in H-mode. Given

the requirement of responsiveness and any energy budget, the proposed scheduling method can

decide the voltage settings for periodic tasks so that real-time tasks can share the bounded energy

budget effectively. Therefore, the work provides the battery-driven embedded real-time system

designer with a general view, which allows scheduling real-time tasks considering their general






59


characteristics of energy demands and processor utilization, given a constraint of bounded energy

availability.















CHAPTER 4
DUAL-POLICY DYNAMIC SCHEDULING

4.1 Introduction

Due to the accelerated miniaturization, portability, and complex functionality for

handheld devices (i.e. multimedia in portable phone), mobile computing and communication

devices such as laptop computers, personal digital assistants (PDA's) are demanding more power.

But, the big gap between the pace of current battery technology and energy demands of

microprocessor systems cannot satisfy the demands such that power management or power

efficiency become the critical design issue of battery-powered embedded system [79].

An effective approach to power reduction is a technique called Voltage-Clock Scaling or

Dynamic-Voltage-Scaling in CMOS circuit technology. Due to the quadratic relationship between

supply voltage and clock frequency, a small reduction in voltage produces a significant reduction

in power consumption. However, since lowering the supply voltage accompanies a reduction in

the clock frequency from the intrinsic relationship, obviously, the objective of minimizing power

consumption will result in performance degradation of response time or a failure to meet real-

time deadlines without concerning the power-delay tradeoff in low power design.

Despite the fact that there have been a lot of studies in low-power and power aware

computing with widely recognized importance of energy consumption in systems, energy

efficiency of real-time system under a bounded energy budget, for instance, battery-powered real-

time systems, is relatively undefined.

One of the keys to utilize a constrained energy budget more effectively is the ability to

allocate the energy consumption to specific components. For an appropriate energy allocation,

there have been many studies to measure energy impact at various levels of system such as










instructional, functional, or system components levels [81, 82]. Besides, in real-time embedded

systems, the relationship of energy and workload demands must be well understood on top of the

energy profiling since energy saving can be achieved by conformity to the conventions of

sacrificing system performance in tolerable level.

For periodic tasks that have no form of guarantees, they are usually served in the

background with respect to hard tasks in order not to jeopardize the schedulability of hard tasks or

served by an periodic server to improve responsiveness. The objective of minimizing power

consumption will result in slow execution for these tasks and the response time could be

unrestrained. On the other hand, reduction of energy consumption that doesn't utilize all available

energy may not lead to optimal system performance. A better power control strategy in such cases

is to minimize the response times of soft real-time tasks, providing that the deadlines of hard real-

time tasks are met and the average power consumption is bounded. Fulfilling all these

requirements, an energy allocation model is proposed to provide energy profiling and energy

sharing scheme at task level [83] for real-time embedded systems that have mixed hard and soft

tasks. The model is also reflecting the tradeoff relationship between energy consumption and

utilization in VCS-EDF scheduling.

In this chapter, based on the constrained energy allocation model, we propose a Dual-

Policy Dynamic Scheduling method not only to get better performance for periodic tasks but also

to extend the lifetime of a system by lowering energy consumption under a confined energy

budget. The approach is featuring an intermixing of two elementary schedules, which originated

from a pattern of event occurrences in a joint scheduling of periodic and periodic tasks.

According to traditional scheduling schemes, both kinds of tasks are scheduled under the worst-

case scenario, satisfying energy consumption and real-time schedulability. Triggered by the

existence of periodic tasks' events, explicitly two kinds of intervals are observed in the runtime

scheduling for mixed tasks. The one is P (Periodic) interval that has only periodic task events and

the other PAP (Period and APeriodic) interval that has both hard and soft task events. By the










relationship between energy consumption and utilization in VCS-EDF scheduling, the voltage

settings for periodic tasks demand a greater energy budget in case of scheduling both kinds of

tasks than scheduling only periodic task set from the viewpoint of abiding schedulability.

Therefore, in the intervals of P, the proposed scheduling algorithm applies an elementary

scheduling policy that consumes minimum energy for periodic task set rather than the worst-case

scheduling policy determined for scheduling both kinds of tasks. The energy efficiency is

obtained from how more tasks are executed in low-speed mode instead of high-speed mode for

the intervals of P.

Also, executing periodic tasks in different running speed from worst-case in the intervals

of P and PAP increase remaining workload at the switching point such that the backlogged

workload to next scheduling policy may cause at least one periodic task to miss its deadline.

Since there are slack times brought by the difference of WCET and real execution demand, the

backlogging can be alleviated by the slack times. But for the cases the slack times are not enough

to nullify the backlogging, two transitory scheduling policies are introduced in-between the

intervals of P and PAP. By the transitory scheduling policies, when the backlogged workload

becomes equal to or less than zero, the next targeting elementary schedule can be activated.

According to the switching scheduling policies along with the intervals, we modify total

bandwidth server (TBS) algorithm to apply to periodic tasks. If there's no backlogged workload

to PAP intervals, the modified TBS assigns proper deadline algorithm to periodic task like the

intrinsic total bandwidth server. Otherwise, an infinite deadline is assigned and it is maintained

till the backlogged workload becomes no greater than zero.

The rest of this paper is structured as follows. In section 4.2, we discuss design concepts

of a dynamic scheduling for energy saving and fast responsiveness under a bounded energy

budget. Then, we propose the model of the dual-policy dynamic scheduling in section 4.3. In

section 4.4, the proposed dynamic scheduling is explained in detail, including elementary

schedules that constitute the dynamic scheduling. The proposed dynamic scheduling algorithm is










explained in section 4.5. To illustrate the effectiveness of the proposed scheduling algorithm, we

evaluate the performance through simulations in section 4.6. In section 4.7, a short conclusion is

given.

4.2 Design Concepts

In this section, we propose a dynamic real-time scheduling model for mixed periodic and

periodic tasks. The goals are not only for sharing a bounded energy budget, but also for reducing

power consumption under a given energy budget. For the targeted real-time systems, tasks may

arrive periodically or sporadically, where the periodic tasks have a constraint whose individual

deadlines should be met and the performance of periodic tasks is measured in average response

time. Under limited energy consumption, we build a dynamic dual-policy scheduling model

based on the profiles of energy and utilization demands for both periodic and periodic tasks and

the energy budget allocation model as proposed in Chapter 3.

4.2.1 Simple Two Voltage Settings

The system operates at two different voltage levels. Ideally, a variable voltage processor

that has continuous voltage and clock setting in the operational range is available. We assume a

simple setting arrangement that the processor in a real-time system can be dynamically

configured in one of two modes: low-voltage (L) -mode and high-voltage (H)-mode. In L-mode,

the processor is supplied with a low voltage (VL) and runs at a slow clock rate. Thus, task

execution may be prolonged but the processor consumes less energy. On the other hand, the

processor can be set in H-mode, i.e. be supplied with a high voltage (VH) and run at a fast clock

rate, in order to complete tasks sooner at the expense of more energy consumption. The operating

speeds at L-mode and H-mode are denoted as aL and H, respectively, in terms of some unit of

computational work. Depending upon the voltage setting for task z,, the worst-case execution

time is C,/ a or C/,xH.










4.2.2 Total Bandwidth Server for Aperiodic Tasks

In traditional scheduling in real-time systems that have both periodically and sporadically

arriving tasks, periodic tasks are usually served in the background with respect to hard tasks in

order not to violate the schedulability of hard tasks or served by an periodic server to improve

responsiveness. Among substantial research works in the scheduling of periodic tasks in both

fixed and dynamic priority systems, the TBS can produce better responsiveness than other

periodic mechanisms, sporadic server, and slack stealing, and so on.

Infinite number of soft periodic tasks J, i=0,1,2,...} are modeled as periodic

computation activities represented by two parameters, A and p, where A is the average inter-

arrival time between two consecutive periodic instances and p. the average worst-case execution

time of all periodic tasks .

Aperiodic tasks are scheduled by total bandwidth server algorithm that makes fictitious

but feasible deadline assignment based on the available processor utilization guaranteed by the

isolation of bandwidth between periodic and periodic tasks. In the TBS algorithm, the k-th

periodic request arriving at time t = rk, a task deadline

Ck
dk = max(rk, dk_ )+ (4-1)
UA

is assigned, where Ck is the execution time of the request and UA the allocated processor

utilization for periodic tasks. By definition do=0. The request is then inserted into the ready

queue of the system and scheduled by the EDF, as any other periodic instance or periodic

request already present in the system.

Note that the assignment of the deadlines is such that in each interval of time the

processor utilization of the periodic tasks is at most UA. Hence, a set of periodic tasks with

utilization factor Up = -" C, /T, and a TBS with a bandwidth UA is schedulable by EDF if and

only if UA +Up 1. The definition and the formal analysis of this algorithm are proved [40]










4.2.3 Energy Budget Allocations using Two-mode VCS-EDF Scheme

While the constraint Ep + EA sEc must be satisfied, there is a profound intervention on

how processor utilization, task scheduling, and task response time are affected. From the

viewpoint of utilization, the more utilization is available for periodic tasks, the shorter deadlines

are assigned to them by the deadline assignment of equation (4-1). This brings higher priorities to

them in EDF scheduling such that they can get faster response times. To give more utilization to

periodic tasks, the utilization of periodic tasks must be shrunken and it can be done by assigning

more tasks to H-mode, but requires more energy budget. Since total energy budget given to a

system is bounded, the energy budget left to periodic tasks will be reduced. As a result, the

periodic tasks must be run in a low voltage mode and their response times will be extended.

Likewise, from the viewpoint of energy budget, the portion assigned in H-mode for

periodic tasks should be maximized within an assigned energy budget EA to get faster

responsiveness. But, under bounded energy budget in a system, if the energy demand of periodic

tasks is increased, the energy left to periodic tasks will be decreased. Consequently, available

utilization for periodic tasks will be decreased due to the increased execution time of periodic

tasks, which may result in degradation in responsiveness.

Eventually, to get both the schedulability and fast responsiveness under a bounded energy

budget, an effective scheduling and energy allocation scheme is needed for jointly scheduling of

hard periodic and soft periodic tasks. The scheduling should address the concern of the trade-off

between utilization and energy consumption.

4.2.4 Elementary Schedules

In a sequence of events of a real-time scheduling, idle and busy cycles appear in turn for

irregular duration of time so that the scheduling sequence consists of a continuum of idle and

busy cycles. For an idle cycle, the scheduler does not have any jobs to do such that neither task's

arrival nor completion of arrived tasks is happened. For a busy cycle the scheduler is working

continuously with no idle moments. Begun with the arrival of either a periodic or periodic task










and followed by the arrivals of other tasks, a busy cycle is mainly composed of arrivals,

executions, and completions of tasks. The execution is computations based on a scheduling policy

and execution demand. A completion represents that the computation has been completed and the

executed task leaves the scheduler. When there are no more tasks waiting to being executed,

another idle cycle starts, ending the busy cycle.




periodic tasks


Idle BC PI Idle BC P t
the beginning of the end of
a busy cycle a busy cycle

(a) events of periodic tasks

periodic tasks




(b) events of periodic tasks

periodic tasks
periodic tasks


Idle Pi PAPAP .PA P Idle PAP P t
BC 1 [BC2


starts of finishes of
periodic task's arrival all periodic tasks

(c) scheduling mixed periodic and periodic tasks
P: Interval having only arrivals of periodic tasks
PAP: Interval having both arrivals of periodic and
periodic tasks
BC: Busy Cycle

Figure 4-1 An example of scheduling mixed real-time tasks and two explicit intervals in the event
pattern

An example of event sequences is illustrated in Figure 4-1. An arrival sequence of mixed

tasks, periodic and periodic tasks in Figure 4-1 (c), is separately arranged into the arrivals of










only periodic tasks and the other of only periodic tasks as shown in Figure 4-1 (a) and (b),

respectively. In Figure 4-1 (a), the periodic tasks are scheduled, busy and idle cycles appears in

turns, i.e. BCpl, idle, BCp2, idle..., depending on the periods, deadlines, and execution

times/WCETs of the task set. To minimize energy consumption, the voltage-clock scaling

problem is imposed when task set is schedulable if a processor is entirely run in H-mode, and

misses at least one deadline if running in L-mode completely. Keeping the processor entirely in

H-mode to meet all tasks' deadlines results in extra energy consumption. Therefore, the algorithm

for hard real-time tasks, VCS-EDF scheduling, is called for to determine the optimal voltage

settings and to minimize H-mode execution, while guaranteeing that no deadline is missed, such

that it will play its role for energy efficiency as shown in [58].

If the systems consist of only soft periodic tasks as shown in Figure 4-1 (b), the

objective of minimizing power consumption will result in slow execution for these tasks and the

response time could be unrestrained. This is not a desirable strategy for scheduling periodic

tasks. When periodic tasks are scheduled with the same set of periodic tasks by TBS algorithm,

the processor utilization occupied by periodic tasks must be shrunk to make sufficient room for

the periodic tasks without violating the schedulability. It means more periodic tasks must be

assigned in H-mode to accommodate periodic tasks at the cost of higher energy consumption.

Thus, clearly, the energy consumption for scheduling periodic tasks with periodic tasks is higher

than the case of scheduling only for the set of periodic tasks.

In a joint scheduling of periodic tasks with periodic tasks, the arrival and completion of

periodic and periodic tasks are intermixed with each other and show an explicit pattern as shown

in Figure 4-1 (c). Following after idle cycles, any arrival of a periodic or aperodic task invokes

busy cycles, BC1 and BC2, and finishes of all arrived tasks end the busy cycles. A hard periodic

task opens the first busy cycle (BC1) and is followed by several arrivals of periodic and periodic

tasks. The second (BC2) begins with an periodic task. Suppose P (Periodic) is the interval,

which has no event for periodic tasks, but only periodic tasks and PAP (PAP: Periodic and










APeriodic), which has mixed arrivals of both tasks. Then BC2 starts with PAP, as does BC1 with

P. Likewise, an arrival of periodic task closes P and opens PAP. And the completion of all

periodic tasks awaiting execution ends PAP interval and the busy cycle encounters an interval P

again.

Our dual policy scheduling for mixed tasks is motivated by the fact that the energy

consumption required by periodic tasks is less than the one required by both periodic and

periodic tasks under the same amount of energy allocation. If voltage settings that consume

minimum energy for periodic tasks are selected to schedule periodic tasks for P intervals, less

energy consumption is expected compared to when the worst-case voltage settings for mixed

tasks throughout scheduling regardless of the pattern in event occurrences. Consequently,

whenever P interval is coming up, switching running modes from the set for mixed tasks to the

set for only periodic tasks can reduce energy consumption.

In an extreme case, a busy cycle may consist of only periodic tasks without any periodic

task, i.e. P intervals. If periodic tasks for P intervals are scheduled by the voltage settings that use

up minimum energy budget, the energy consumption will be remarkably reduced comparing the

running modes for mixed tasks, which are used for periodic tasks. Thus, to exploit the benefit in

energy consumption in switching from worst-case to minimum energy consuming schedule for

the intervals of P's, we build elementary schedules named S1 and S2 for the two intervals,

respectively, and develop a dynamic scheduling model based on the elementary schedules, in

which every first and last existence of periodic events in a sequence of scheduling events is the

turning point between the elementary schedules.

4.3 Dynamic Dual-Policy Scheduling Model

In this section, we consider VCS-EDF scheduling to improve energy efficiency in real-

time embedded systems having mixed periodic and periodic tasks. An energy efficient on-line

scheduling under a bounded energy budget can extend the service time of energy-confined system

much more. Since power consumption and execution time are contradictory to each other in










voltage-clock scaling scheme, there exists a profound intervention in utilization, schedulability,

and response time and they should be well considered in real-time systems. In addition, the

bounded energy budget must be properly shared among tasks to satisfy the time constraints for

periodic tasks and fast response time for periodic tasks in performance criterion that real-time

system pursues. Understanding the relationship between energy consumption and utilization of

tasks based on VCS-EDF scheme, we use a task-based profiling of energy and utilization

demands for both periodic and periodic tasks and adopt the energy budget allocation model [83].

Based on the event pattern occurring in a scheduling of mixed periodic and periodic

tasks and the relationship between energy and processor utilization demands, we develop an on-

line scheduling named dual-policy dynamic scheduling, which can reduce energy consumption by

switching the scheduling policies along with the events of periodic tasks. Triggered by new

arrivals after P intervals and last execution of periodic task in PAP intervals, the event pattern of

a busy cycle is repeated by two regions of interval in turns, one consists of only periodic and the

other of mixed tasks. Corresponding to the pattern by the two intervals in scheduling, we build

elementary schedules named S1 and S2, which can be applied for intervals of P and PAP,

respectively.

We assume switching between elementary schedules consumes a negligible overhead like

context switching or voltage switching between tasks. This is also analogous to the assumption

made in classical real-time scheduling theory, that preemption costs are negligible.

4.3.1 Schedule for Only Periodic Tasks

Energy is consumed only for periodic tasks. The voltage settings are determined to

minimize energy consumption by periodic tasks, while meeting their schedulability within the

allocated energy budget. Given a set of periodic tasks, a set of voltage settings, SI: {m,},

satisfying the conditions uniquely exists for them. Since the voltage settings demand the

minimum energy consumption under the allocated energy budget, let them be defined as a best-

case schedule for periodic tasks regarding energy saving.









For the sake of schedulability in EDF scheduling, the tasks should be scheduled in such a

way that the utilization is less than unity. Therefore, we define min Ep as an energy demand and

max Up as a worst-case utilization when there exist a set of voltage settings S1: {m,} so that the

worst-case utilization

1 C e
Up ( )= C'<1 and Ep(m,)=1 p(m,) is minimized. (4-2)
a(m, ) T, a(im, )T,

Regarding the feasibility of energy constraint, Ec must be greater than min Ep.

4.3.2 Schedule for Both Periodic and Aperiodic Tasks

Periodic tasks share a constrained energy budget with periodic tasks, taking account of

fast responsiveness for periodic tasks. The voltage settings are decided to achieve minimal

response times for all periodic tasks, guaranteeing to meet deadlines of periodic tasks. Each

periodic task Jk gets a finite deadline dk according to deadline assignment algorithm in total

bandwidth server. According to the constrained energy allocation model proposed in Chapter 3,

voltage settings, S2: {m,}, are determined. As the voltage settings demand the worst-case energy

consumption under the allocated energy budget, let them be defined as worst-case schedule for

periodic tasks.

Voltage settings must be determined such that the energy consumption satisfies the

constraint of Ep + EA < Ec, while guaranteeing the schedulability of periodic tasks and

minimizing average response time for periodic tasks. Using the algorithm developed in Chapter

3, the energy allocation factors, / and y, voltage settings for periodic tasks, S2: {m,}, and the

percentage of H-mode assignment for periodic tasks, XH are determined under the bounded

energy consumption Ec.

The optimization problem to find voltage settings for periodic tasks can be stated as

follows: Pick the task subsets H and L for voltage settings of H-mode and L-mode such that

HuL = { 1, 2, ..., z,}
HnL=0









1 C
S UP (m,) = is minimized


subject to the well-known sufficient condition' for the schedulability of periodic tasks under EDF,

i.e.,

1 C 1 C
CI + -c <1 (4-3)
aH e min(, ,D,) aL min(,,D,)

and the energy consumption constraint of

PH L C < EP
a H eH min(T,D,) L L min(, D,)

This optimization problem can be treated equivalently to the decision problem of the

subset sum, which is NP-complete. Consequently, efficient search heuristics, e.g., branch-and-

bound algorithms, should be employed to find a solution ifn is large.

As for scheduling periodic tasks, the total-bandwidth algorithm is used based on 7y1,

which is decided to give best responsiveness within the range of the bounded energy budget.

According to the schedulable condition of UA +Up 1 in the total bandwidth server, the utilization

of periodic tasks UA is determined by UA = 1-Up, where Up is determined by the voltage settings

in the equation (4-3).

4.3.3 Schedules for Transition between Elementary Schedules

Since the constitutions of voltage settings are different from each other for two sets of

elementary schedules, SI: {m,} and S2: {m,}, a transition between different schedules, such as

from S1 to S2 or from S2 to S1, cannot be simply accomplished by applying different voltage

settings to the tasks. The remaining workload at the switching decision points may cause the

targeting schedule to violate some times later. To prevent the violation, in this section, two


1 The condition is also necessary if D,2T, for all i.










transitory schedules, S12 for the switching from S1 to S2 schedule and S21 from S2 to S1

schedule, are proposed.

4.3.3.1 Energy Saving

For P intervals, selecting the running mode for periodic tasks from S1 instead of S2

reduces energy consumption by executing tasks in L-mode, which is assigned in H-mode in S2

schedule. Compared to the energy consumption by the worst-case schedule S2, energy saving is

achieved from the difference in energy consumption existing between the two different energy

levels for a task in two schedules. The amount of saved energy is proportional to the difference in

amount of executed time by switched running mode. However, the remaining workload increased

by running periodic tasks in low speed by Si: {m,} instead of in high speed assigned in S2: {m,}

is expected to affect not only the schedulability of scheduling in S2, but also the performance in

average response time with an arrival of periodic task.

4.3.3.2 Backlogged Workloads at Switching Points

High-speed execution finishes given amount of execution demand, which consists of a

serial of instructions, earlier than in low-speed execution due to the higher operating frequency.

Thus, as of workload accomplished after a certain passage of time, low-speed execution of a task

leaves more workload to execute than high-speed execution. The difference in remaining

workload is also proportional to the difference in operating frequencies of two execution modes.

For a set of periodic tasks in the proposed dual-policy scheduling, voltage settings are

determined as two sets of mixed H-mode and L-mode for both elementary schedules, Si: {m,} and

S2: {m,}. It is obvious that workload assigned to H-mode in S1 schedule is less than in S2

schedule since periodic tasks in S2 schedule are more likely to be assigned to H-mode due to the

share of processing capacity with periodic tasks under total bandwidth server algorithm, Up (S2)

I1 -UA (S2). In other words, when any periodic task that is assigned to H-mode for S2 is executed

in L-mode for an interval P (by S1 schedule), the low-speed execution of the task may not finish









the execution demand and may cause the unfinished portion to be accumulated to be a

backlogged workload to the next policy. During intervals of P, the more periodic tasks are

executed in L-mode of S1 schedule instead of H-mode of S2 schedule, the more workload is

remained without being executed. On the other hand, any periodic task assigned to L-mode for S2

is executed in H-mode for interval P (by S1 schedule), the faster execution of the task will finish

the execution demand earlier at the cost of more energy consumption. By the definition of

schedules S1 and S2, the difference of workload by the P intervals is varied along with the sum of

execution times of tasks in different voltage settings among tasks encountered in the intervals.

We define WD (t) as a difference in workloads at time t between current scheduling

policy and targeting worst-case scheduling policy, to which the scheduler is going to switch.

4.3.3.3 Schedulability Analysis at Switching Points of Scheduling Policies

At the moment of an arrival of periodic task after the interval P when the dynamic

scheduler changes its policy with S2 schedule, there can be more workload than S2 schedule can

afford to schedule mixed periodic and periodic tasks, abiding by its schedulability. So, if

workload at switching point is more than targeting worst-case schedule to which the scheduler

switches, at least one of the periodic tasks will miss its deadline. The unfinished workload by

running periodic tasks in S1 instead of S2 schedule for P intervals should be completed before

changing to S2 schedule not to lead an unschedulable state. Like switching from S1 to S2

schedules at the end of P interval, for switching of scheduling policies from S2 to S1 at the end of

PAP intervals, there may also exist a difference in remained workload due to the different voltage

settings for two schedules.

Therefore, for the sake of real-time schedulability, workload handed over from previous

schedule at the points of switching scheduling policies must not be higher than the workload

affordable by targeting worst-case schedule. If so, there must be an effective scheme to prevent

from being unschedulable. In case that the remained workload for the current schedule is less than









the one affordable for the worst case of the schedule to take, the switching of schedules does not

need any further action to make them schedulable.

Before proposing transitory schedules between two elementary schedules, we explain

how the non-zero workload difference between two scheduling policies endangers the

schedulability of VCS-EDF scheduling. Based on the concept of processor demand for hard real-

time tasks [80], we extend the schedulability of a periodic task set whose utilization Up is defined

in the range of aL Up < aH in L-mode.

SFeasibility Analysis of EDF scheduling

Spuri et al. define two concepts to analyze the feasibility of real-time task sets; the

processor demand as a focused measure of how much computation is requested, with respect to

timing constraints, in a given interval of time and the loading factor as the maximum fraction of

processor time possibly demanded by the task set in any interval of time. Given a set of real-time

jobs and an interval of time fti, t2), the processor demand and loading factor of the job set on the

h
interval [tl, t2) are respectively defined as h[l,2) C, and U[t,t2) 1 -- [80].
tl r,,t2z d, 12 1-

Theorem 4.1 (Spuri) Each set of real-time tasks is feasibly scheduled by EDF if and only

if ul [80].

By showing that the loading factor u of the task set is equal to U, Spuri proves the

feasibility analysis of a task set under EDF scheduling addressed by Liu and Layland [33] as

follows.

Corollary 4.1 (Liu and Layland) Any set of n synchronous periodic tasks with processor


utilization U = ', T, is feasibly scheduled by EDF if and only if U 1.


Proof. By Theorem 4.1, the thesis then follows.










I t t -t1 C
For any interval ft, t2: c, = I = (t2 -, t 1 _
trTt2d, i=l1 i=l i=l1

that is, U 1,t2) U

Now, let t =0 and t2= lcm (Ti, ..., Tn):


n t2
I;=1 I
u1 U. And it follows u=U. .
t2

SFeasibility Analysis of Two-mode VCS-EDF Scheduling

In the same way as explained above, in the VCS-EDF scheduling given by equations (4-

2) and (4-3), the processor demand and the loading factor for the task set assigned in either H-

mode or L-mode on the interval [ti, t2) is respectively defined as


h[t 1 C2 +1 kC (4-4)
aH tl <-,t2 keH keL

and


[ttlt2)
t2 t1

Corresponding to the Corollary 4.1, the feasibility of VCS-EDF scheduling is defined by

the following Corollary.

Corollary 4.2 Any set of n synchronous periodic tasks with processor utilization

T- 1 yc, 1 c,
U 'C + -L is feasibly scheduled by EDF if and only if U 1.
aaH ieH T, aL L T,

Proof. By Theorem 4.1, the thesis then follows.

For any interval [ti, t2):


h1 1Ic+ 'c,
h tl t2) C< -+ c
rH tl <,t2D, L tl ieH ieL











cH ieH i L eH



aH e H T, aL ieH TH


h[ = 1t2 1 1 C
aH iE=H T aL .eL TL

Now, let tl=0 and t2= Icm (TI, ..., Tn):


h + = U. And it follows u=U.
t2 OH iEHT, aL L T,

SFeasibility Analysis of Dual-Policy Dynamic Scheduling

By the characteristics of the processor demand, it is also corresponded to the workload in

any interval of time. Then, let WDr (t) be the workload difference, backlogged workload to policy

T, at time t defined as 1 (t) WV (t) h= hc hro,t, where C represents for current scheduling

policy and so does T for targeted one.

Theorem 4.2 Any set of n synchronous periodic tasks with processor utilization

S 1 C 1 C S2 1 C 1 ,C
-U =+ ,, T +-- and U --+ w where U2 < U ,
U H IeHsi T, L ieLs1T/i H eHs2 Ti L eLs,2 T

UA 1 and periodic tasks are scheduled by S1 by the time t with real execution demand

e, for task j, is not feasibly scheduled by S2 after time t if WD (t) >0.

Proof. Suppose that for the interval of P= [ti, t2) having only periodic events, there is at

least an arrival of a periodic task, T, assigned to H-mode in S2 schedule and L-mode in

S1 schedule. Then the processor demand for S1 schedule at t2 is

h1 1 1
hs = C, + I C, + e
hfitt) LL L
SH tl r,,t, D, aL tl r,,t, D, aL
ke H keL1









1 C, e 1 C
=(t,- 0 y
a 7H eH aL L T,


- (t2 -l1)


C, C
EH1J j


l C Ie I C
aHTI aL L+ aeL2 LI


=(2 (tC, ) ,H a. 2 -a I 1L

Se L, e

WD= (t2I)=h" C n t2_t- "-
SHH L E
aHaLTI

Now, let tl 0 and t2= 1cm (T, ..., T,):

If WD2 (t2) > aHel aLCI > 0

ht H2 e -aL C
t2 t2 aHaL T


US1 = US2 + aLC > US2
P P aHL


(4-5)


Otherwise, aHe LC < 0


US=US2 + aHeJ aLCI <
aH aL
Usi = US2 + <_ US2


At time t= t2, the workload by S1 schedule handed over S2 schedule make the

utilization by S2 schedule higher than U2 and the scheduling by S2 not feasible from

the time. If task j, which is assigned to H-mode in S2, is executed in L-mode for

intervals of P by S1 schedule before any arrival of periodic task, there is a non-zero










aoHej -aL JC,
difference as much as H] -cLT 1 between utilizations of two schedules. From
H aL T)

the schedulability point of view when S2 schedule is taken with an arrival of periodic

task, it makes S2 schedule not schedulable such that at least one of the tasks can miss

its deadline. m

Then, for the targeting schedule's schedulability, how the workload handed over at time t

can be effectively reduced before switching to the targeting S1 or S2 schedule. There is a major

factor to reduce the WD (t) to zero or less than zero. Considering that a periodic task consumes

less execution time than the WCET, the WD (t) in-between the interval P and PAP will not be so

high. Thus, if the slack times coming from the difference between WCET and actual execution

demand nullify the WD (t) or make it less than zero, the switching can be performed easily

without going through further processes to maintain schedulability. Otherwise, an efficient

scheme is required to deal with the reduction of the workload difference. The scheme should not

only guarantee schedulability in transitory intervals between schedules, S1 and S2, but also lead it

to the schedulable dynamic scheduling by the target policy. Thus, we introduce transitory

schedules for the in-between elementary schedules.

Making use of slack times to lower WD (t), if tasks assigned at low-speed mode in

targeting schedule are executed in high-speed mode, the accelerated executions also reduce the

handed-over workload. And running tasks for the transitory intervals in high-speed mode is

schedulable at the cost of more energy consumption, as the workload of the tasks set is given in

the range of aL s Up s aH and the utilization for the case become min Up, which is

UC 1 C 1 C
Up = -' satisfying schedulability, since UplorS +L L
H T aH ieHi T, aL ieL T,


where minU < UslorS2










4.3.3.4 Modified TBS in Dual-Policy Dynamic Scheduling

For the switching policies from S1 to S2 schedule with any arrival of periodic task, we

modify the TBS algorithm to guarantee the schedulability. If WD2 (t) > 0 from the equations (4-

4) and (4-5), a TBS with a bandwidth UA becomes unschedulable by EDF. Thus, when WD2 (t) >

0, Modified TBS (MTBS) overcome the unschedulable state by assigning infinite deadlines to

periodic tasks at the cost of increased response time, making utilization of UA zero. By the state

of WD2 (t) in Dual-Policy Dynamic Scheduling, the k-th periodic request arriving at time t = rk,

MTBS flexibly assigns a task deadline

C
dk = max(rk, dk- ) + when WD2 (t) s0 (4-6)
UA

dk = when WD2 (t)> 0. (4-7)

The assignment of infinite deadlines to periodic tasks represents that the scheduler

regards the arrived tasks as not ready to be executed. At the moment when the schedulability for

the target elementary schedule is guaranteed, periodic tasks that arrived but waiting in the

scheduler are activated. Due to the waiting time from arrival to the activation, the responsiveness

of periodic tasks is directly affected by the postponed executions of arrived periodic tasks.

4.3.3.5 Transitory Schedule S12

With any arrival of periodic task after a P interval, scheduling policy need to be

switched to S2 schedule. Given workload difference WD2 (t) between current scheduling and S2

scheduling, since WD2 (t) is bigger than zero, the targeting scheduling policy cannot replace S1

scheduling. Instead, transitory schedule S12 is selected such that all periodic tasks are executed in

H-mode and the deadlines of periodic tasks are assigned as infinite until WD2 (t) becomes less

than or equal to zero. But the work amount increased by running some periodic tasks in L-mode

instead of in H-mode affect the performance in average response time with an arrival of periodic










task. At the point where the work difference becomes zero, tasks including periodic tasks are

finally scheduled by targeting schedule of S2.

4.3.3.6 Transitory Schedule S21

After finishing an periodic task, schedule S1 can be chosen for the events of periodic

tasks if the workload is affordable for the schedule. Because staying in schedule S2 after finishing

an periodic task consumes more energy than scheduling tasks using S1, it is more efficient in the

energy consumption point of view to switch scheduling policy from S2 to S1. Like transitory

schedule S12, all tasks are executed in H-mode until WD1 (t) becomes less than or equal to zero.

4.4 Dual-Policy Dynamic Scheduling Using VCS-EDF

In Dual-Policy Dynamic Scheduling model, the switching instants are basically at the

boundaries, where intervals P and PAP are crossed. They are the moments of the first arrival of

periodic task after an idle cycle or after the intervals P and the last completion of periodic task

in the scheduler. Since the voltage settings are different in two scheduling policies, for the

assurance of schedulability, the workload differences at switching points needs to be checked,

making the workload difference WD (t) the main criterion to judge the schedulability at switching

point t. WD1 (t) is the workload difference between real executions and worst-case executions

when S1 schedule is taken as targeting schedule from the instant t. Likewise, WD2 (t) is the one

when S2 schedule is taken at t.

4.4.1 Terms and Conditions

Suppose tB, tA, tT, tp, and tF be the instants when a scheduling policy switching is

determined based the events of periodic tasks and the state of workload difference. A busy cycle

is closed by any instant except for tB. Also Tdle, TBA, TAT, TTP, and TpA are the intervals divided by

the instants in a busy cycle.

tB: the instant of a busy cycle begun with any arrival of either periodic or periodic task, idle
cycle is closed.










tA: the instant when the periodic task Jk has arrived so that the event pattern includes both
periodic and periodic tasks

tT: the instant when WD2 (tr) becomes less than or equal to zero so the scheduling policy can
be switched to S2 schedule.

tF: the instant when all periodic tasks in scheduling queue are finished so no more periodic
tasks are waiting in scheduler.

tp: the instant when WD1 (tp) becomes less than or equal to zero so that the scheduling policy
can be switched to S1 schedule.

Tidle: the interval there's no task's arrival from either tA, ttr, ,t or tF to tB.

TBA: the interval from time tB to tA.

TAT: the interval from time tA to tr.

TTF: the interval from time tr to tF.

TFP: the interval from time tF to tp.

TPA: the interval from time tp to tA.

If the bounded energy consumption budget is given as Ec, Ec must fall into the range E,,,

sEc sEmx, where min Ep, mmin EA, max Ep, and max EA are defined as follows.

Enx,,: Energy consumption when all periodic tasks are run in H-mode so the processor runs
at a fast clock rate all the time. Eax = (max Ep + max E), where
1C 1-
maxEp = p-pH and maxEA = PH
aH T, H A

Emi,: E,, = (min Ep + mmin E, where mmin Ep is determined by (4-3) when the sum of
utilizations of periodic and periodic tasks takes any value in the range of aL to aH. As
for min EA, it is the minimum energy consumption when all periodic tasks are run in

L-mode, i.e. minE = PL
aL A

Ediff: The difference in maximum and minimum energy consumption by mixed tasks such
that Edff= (E,, E,,).

4.4.2 Switching Scheduling Policies

In Figure 4-2, we illustrate an example of switching scheduling policies in a busy cycle

starting with an arrival of a periodic task followed by periodic and periodic tasks. It also shows

when all of the schedules in dual-policy dynamic scheduling are activated in the busy cycle










according to switching criteria. Basically, switching decisions between scheduling policies are

committed at the moment of the first arrival of periodic task in the interval PAP within the busy

cycle (tA) and finishes all of the arrived periodic tasks (tF) with the status of workload differences

by real executions and worst-case demands, WD1 (t) and WD2 (t). As the work differences do not

satisfy the switching condition, transitory schedules S21 and S12 are chosen. Finally, switches to

the targeting elementary schedules are committed at both tr and tp. All of the intervals except for

T,dle and TBA are circulated in turns along upcoming events by mixed tasks in a busy cycle. And

another round of intervals is started after Tdle.




.......... P --- ....------ PAP ------ ........ .----.P --------.. -- PAP ---.------

to S1
-Idle- S12 S21 S12


-2- I _t _
tB tt t t t t

A beginning of An arrival of Switch schedule Finishes of all Switch schedule
a busy cycle with periodic task J to S2 since periodic task Ji to S1 since
periodic task WD2(t) >0 WD2(t)<=0 WD (t) >0 WDI(tp)<=0

: The selection of Scheduling Policy
SI: schedule consuming minimum energy
for periodic tasks
S2: schedule consuming the worst-case energy
for both periodic and periodic tasks
S12: Transitory schedule for switching from S1 to S2
S21: Transitory schedule for switching from S2 to S1

Figure 4-2 Switching schedules for a busy cycle starting with a periodic task and non-zero WD

The detailed functions for each instant and interval in Dual-Policy Dynamic Scheduling

when a periodic task opens a busy cycle are as follows:

At time tB: An arrival of periodic task starts P interval and initiates scheduling by

Slschedule since there's no periodic task to execute. An periodic task's arrival at tB directly










starts PAP interval without going through TBA and WD2 (tB) = WD2 (t) and is shown in Figure

4-3.

For interval TBA: As there's no periodic task, periodic tasks are executed in the running

modes consuming minimum energy without violating their schedulability, SI: {m,}, instead of in

the modes of worst-case schedule, S2: {m,}.

At time tA: An periodic task Jk arrives. It's time to return back to the worst-case

schedule S2 from S1 schedule such that the target schedule is S2 now. The state of WD2 (t)

should be checked at the instant. The arrived periodic tasks can get either finite deadline based

on the MTBS algorithm when WD2 (tA) s0 or infinite deadline when WD2 (t) > 0. And if WD2

(tA) s0, the instant becomes exactly the same as the instant of tr. If WD2 (t) > 0, which means

the workload left on the next target schedule policy of S2 is more than it can afford to execute, the

transitory schedule S12 is chosen till the schedulability condition is satisfied to make the tasks

schedulable by S2 schedule and the MTBS assigns an infinite deadline to the periodic task.

Otherwise, the workload left behind is less than or equal to the one is schedulable by S2, the

instant of tA is merged directly to tp without going through transitory schedule S12.

For interval TAT: Since WD2 (t) is bigger than zero at time tA, the scheduler cannot

jump directly to S2 schedule, transitory schedule S12 is chosen. Running all tasks in H-mode

reduces the workload remaining at tA by S1 schedule for the interval TBA, i.e. non-zero workload

difference between S2 and S1, and finally makes it at the same level that S2 schedule can afford.

WD2 (t) is still the work difference between worst-case based on S2 scheduling and all H-mode

real execution. Catching up the workload level of S2 by executing all tasks in H-mode consumes

more energy than executing tasks in the modes by the worst-case schedule S2. As long as WD2 (t)

is greater than zero, the deadlines of periodic tasks that arrive for this interval are assigned as

infinite. When WD2 (t) is less than or equal to zero, the moment is transferred to time tr, allowing

the scheduler to select S2 schedule from the instant of tr as scheduling policy.










At time tT: Because WD2 (tr) is less than or equal to zero at the instant, S2 schedule is

chosen as scheduling policy. Thus, all of periodic tasks that arrived before time tr but got infinite

deadlines for the interval TAT are activated from at tr by getting finite deadlines. The deadlines are

determined based on their execution demands and deadline assigning equation (4-6) in MTBS

algorithm. From the instant tr, all periodic tasks that arrive at the scheduler get finite deadlines.

For interval TTF: The MTBS assigns finite deadlines according to the execution demands

of incoming periodic tasks till no more periodic tasks are available in the scheduler. For the

interval TTF, if any task under the voltage settings of the worst-case schedule S2 makes the real

execution workload greater than the worst case one, i.e. non-zero WD2 (t), the schedulability can

not be guaranteed. Therefore, WD2 (t) must be checked whether it becomes greater than zero by

the different running modes. All tasks are run in high-speed to make the scheduler keep

schedulable if WD2 (t) become greater than zero.

At time tF: All of the periodic tasks in the scheduler have been completed. S1 schedule

that consumes lower power becomes the target scheduling policy from the instant. But the

possible non-zero workload difference transferred by taking S2 as scheduling policy previously

may cause at least one of the tasks to miss its deadline. Therefore, tasks' schedulability is checked

again at the instant before setting running modes to the target schedule. Since the current target

scheduling policy is S1 schedule, WD1 (tF) is checked out whether the scheduler can directly

select S1 schedule or should go through S21 schedule. If WD1 (tF) s 0, the instant becomes

exactly the same as the instant of tp and S1 schedule is selected, guaranteeing the schedulability.

Otherwise, S21 schedule that executes all tasks in H-mode is chosen.

For interval TFP: Since WD1 (tF) is greater than zero at time tF, every task is executed in

H-mode to reduce the excessive workload for S1 schedule, consuming more energy by executing

in H instead of in L-mode in the schedule of S1.

At time tp: Due to the speed-up execution in H-mode, WD1 (t) becomes less than or

equals to zero at time tp. So, S1 schedule is selected at time tp.









For interval TpA: S1 schedule is applied to periodic tasks till another first periodic task

arrives in the busy cycle, getting more execution time in L-mode than in H-mode and bringing

energy saving to the system.

Figure 4-3 shows an example, in which a busy cycle also starts with a periodic task like

shown in Figure 4-2. But now it satisfies the scheduability of elementary schedules at time tA and

time tF, at which the next scheduling policy, not being all work differences higher than zero, i.e.

WD1 (t)< 0 and WD2 (t) <=0. Thus the scheduler can directly take elementary schedules of S1

and S2 without going through the transitory schedules S12 and S21. Thus, the time of tA is the

same with time tr by WD2 (t9) < 0 and so is the time of tF with tp by WD1 (tF) < 0. The energy

saving is expected to be maximized if busy cycles are composed of the events meeting

schedulability, WD2 (tA) < 0 and WD1 (tF) < 0, making all the moments of tA and tF to t and tp,

since there is no taking of transitory schedules such that no speed-up execution running all tasks

in H-mode by S12 or S21.

.-- P -.. --- PAP .-------....... .. P .. PAP -.
..I A --^ --- p A ---


-Idle


to S
Sto S2 to S1 to S2

1 I II


-S2-
^ t=t7 t-t t =tT t

A beginning of An arrival of periodic task J Finishes of all periodic task J
a busy cycle with Switch schedule to S2 directly Switch schedule to Sl directly
periodic task since WD2(t) <=0 since WDl(tp)<=O

Figure 4-3 Switching schedules for a busy cycle starting with a periodic task and all WD (t).O

In Figure 4-4, the first arrival in a busy cycle is done by an periodic task Jk, making the

workload difference WD2 (tB) at time tB equal to zero since no task is waiting in dynamic

scheduler except for the just arrived periodic task at tB. The zero workload difference lets the

elementary schedule S2 be selected to schedule mixed tasks. And the real execution demands for

arriving periodic tasks are less than the WCET's of S2 schedule, WD2 (t) remains equal to or less










than zero till S1 schedule is activated with the completion of all waiting periodic tasks and it

makes the time tr be matched with tB and tA. As soon as the last periodic task in dynamic

scheduler is completed at time tF, WD1 (tF) is checked whether the voltage settings of tasks can be

switched to the energy-saving mode schedule S1. From the time tF, the scheduling policy

selection follows the same procedures as shown in Figure 4-2.

To show the workload difference at the moment of switching scheduling policies and

how to change scheduling policies, we show examples of the switching moments in Figure 4-5

and Figure 4-6, which have transitory schedules from S1 to S2 schedule and from S2 to S1

schedule, respectively. In both figures, W2 (t), W, (t), and Wo (t) represent the workload demands

of worst-case schedule S2 for mixed tasks, of worst-case schedule S1 for only periodic tasks (for

energy saving), and of real execution for both periodic and periodic tasks, respectively.




1 ................. PAP ---.......... P -- PAP -. .
-Sl ^--^~""~~'"" ---- --~-^A- """"""^- ,---


Idle4 S21 S12
to S2 / I

-$-B=-t- T F p t t tT t

A beginning of Finishes of all Switch schedule An arrival of
Take S2 schedule
a busy cycle with Te periodic task Ji to Sl since periodic task J
since WD2(t t< =0
an periodic taskJ s D2( WD I(tF) >0 UWDI(t) <=0 WD2(tA >0

Figure 4-4 Switching schedules for a busy cycle starting with an periodic task and WD (t) >0

In Figure 4-5, before the arrival of periodic task, voltage settings of S1 schedule are

chosen for the periodic tasks and Wo (t) shows a decreasing slope by execution in low speed (L-

mode) along the time t. W2 (t) also represents the decrement in workload by execution in high-

speed (H-mode). The discrepancy in execution speeds of tasks between Sland S2 schedules

appears as non-zero workload difference WD2 (t) at time tA and this makes at least one of the

periodic tasks miss its deadline after tA from the viewpoint of schedulability in target scheduling










policy S2 at tA for both periodic and periodic tasks. With the arrival of periodic task Jk at time tA,

both W2 (t) and Wo (t) jump up by the amount of execution demand, but there's no change in

WD2 (t). Before taking S2 schedule as scheduling policy from time tA, WD2 (t) is reduced to be

equal to or less than zero.


W(t) S1 S12 S2



W. W Switching
Point to S2



t WD2(t-

L -H- -



-4 or TP_4 AT _____._T_ _T

tA tTt t
An arrival of The deadline for
Aperiodic task J periodic task J is assigned


Figure 4-5 Switching from S1 to S2 schedules

So, all periodic tasks are executed in high-speed and periodic tasks get infinite deadlines

until the WD2 (t) becomes zero or less than zero. Applying S12 schedule, the execution in the

same speed as S2 schedule is useless to decrease WD2 (t). WD2 (t) can be reduced only when the

tasks are executed in H-mode, but assigned in L-mode for worst-case S2 schedule. In addition,

even with the same speed execution in high-speed with S2 schedule, WD2 (t) can be lowered for

every completion of periodic task by the slack time from the difference of WCET and real

execution demand of periodic tasks. In Figure 4-5, execution in H-mode for S12 schedule, but

assigned in L-mode for S2 schedule makes WD2 (tr) WD2 (t). And, both workload lines A and

B represent that the last periodic task in interval TAT brought to non-zero slack time. Line B is for

the case having bigger slack time than line A. From time tr, with zero or less than zero WD2 (tr)