TABLE OF CONTENTS CHAPTER NO. TITLE PAGE NO. ABSTRACT LIST OF TABLES LIST OF FIGURES LIST OF SYMBOLS AND ABBREVIATIONS

Size: px
Start display at page:

Download "TABLE OF CONTENTS CHAPTER NO. TITLE PAGE NO. ABSTRACT LIST OF TABLES LIST OF FIGURES LIST OF SYMBOLS AND ABBREVIATIONS"

Transcription

1 viii TABLE OF CONTENTS ABSTRACT LIST OF TABLES LIST OF FIGURES LIST OF SYMBOLS AND ABBREVIATIONS v xviii xix xxii 1. INTRODUCTION MOTIVATION OF THE RESEARCH OVERVIEW OF PROPOSED WORK RESEARCH OBJECTIVES CONTRIBUTION OF THE THESIS THESIS OUTLINE 6 2 LITERATURE SURVEY INTRODUCTION TO MULTICORE ARCHITECTURE Memory Design in Multicore System The Need for Multicore Multicore Challenges Power and temperature Cache coherence Multithreading 13

2 ix Open Issues in Multicore Chip Improved memory system System bus and interconnection networks Starvation Homogeneous vs. heterogeneous cores Advantages and Disadvantages of the Design INTRODUCTION TO AGENTS Intelligent Agents Other Classes of intelligent agents Multiagent System Simple multiagent system Properties and characteristics of multiagent systems Applications of multiagent systems SCHEDULING ALGORITHMS Operating System Schedulers Types of Operating System Schedulers Long term scheduler Medium term scheduler Short term scheduler Dispatcher Categories of Scheduling Algorithms First in first out algorithm Shortest remaining time 31

3 x Fixed priority pre emptive scheduling Fixed round robin scheduling Multilevel queue scheduling Manual scheduling Process Scheduling in Various Operating Systems Windows Mac OS AIX Linux Free Berkeley Software Distribution Net Berkeley Software Distribution Solaris Performance Metrics of Scheduling Selecting a Suitable Scheduling algorithm LOAD BALANCING ALGORITHMS Static Load Balancing Round robin and randomized algorithms Central manager algorithm Threshold algorithm Dynamic Load Balancing Central queue algorithm Local queue algorithm Performance Evaluation Parameters for Load Balancing Algorithms 48

4 xi 2.5 DESIGN PRINCIPLES AND PERFORMANCE OF SCHEDULING AND LOAD BALANCING ON MULTICORE SYSTEM Design Principles for OS Schedulers Thread Migration on Cores Analysis using Performance Counters SCHEDULING ALGORITHMS FOR MULTIPROCESSORS EDF Scheduling Algorithm PF Scheduling Algorithm LLREF Scheduling Algorithm REAL TIME SCHEDULING ON MULTICORE PLATFORMS Real Time all EDF Scheduling Algorithm PFAIR Scheduling Algorithm Online Scheduling Algorithm PARALLEL TASK SCHEDULING ON MULTICORE PLATFORMS Thread Grouping and Co-scheduling Energy Efficiency on Multicore Processors Multicore scheduling in automotive ECUs Time and Space Partitioned System Task scheduling algorithm Partitioning based Multi Core Scheduling SCHEDULING ON HETEROGENEOUS MULTICORE PROCESSORS Signature based Scheduling 67

5 xii A Comprehensive Scheduler AGENT BASED SCHEDULING IN MULTIPROCESSOR SYSTEM Advances in Asynchronous Agent based Scheduling Multiagent Based Integration of Scheduling Algorithms LOAD BALANCING IN MULTIPROCESSOR SYSTEM Categories of Load Balancing Workload Balancing Algorithm for Real Time Tasks Adaptive Task Core Ratio Load Balancing A Hierarchical Approach for Load Balancing Load Balancing using Prioritized Flows Load Balancing on Speed The Power-of-d (SQ (d)) algorithm Work stealing and work sharing SUMMARY AGENT BASED SCHEDULING FOR MULTICORE ARCHITECTURE INTRODUCTION SYSTEM MODEL FOR AGENT SCHEDULING ORGANIZATION OF SCHEDULER, DISPATCHER AND MIDDLE AGENT The Process Scheduler Organization 80

6 xiii The Process Dispatcher Organization Middle Agent System Organization DATA STRUCTURE IMPLEMENTATION Agent Processor Information Table (APIT) Agent Request Table (ARQT) RESULTS AND DISCUSSION Linux Scheduler Scheduler time complexity Evaluation Importance of linux 2.6 scheduler Major scheduling structures Better support for SMP systems Task preemption Dynamic task prioritization Better user responsiveness SMP load balancing Major Functions of the scheduler Impact on multicore processor Performance Evaluation of Agent Based Scheduler Proposed Approach Performance Analysis over Average Waiting Time SUMMARY A NOVEL HARD-SOFT PROCESSOR AFFINITY SCHEDULING USING MULTIAGENTS 104

7 xiv 4.1 OVERVIEW SYSTEM DESIGN Affinity Scheduling Model Design of Hard Affinity Based Scheduling for Critical Tasks Design of Soft Affinity Scheduling for Non Critical Tasks SCHEDULER IMPLEMENTATION FOR AFFINITY SCHEDULING Scheduler Model The Kernel Scheduler API Performance Evaluation Performance improvement on CPU utilization Comparison with other scheduling algorithms SUMMARY CORE PERFORMANCE BASED AGENT SCHEDULING AND THREAD ASSIGNMENT FOR HETEROGENEOUS MULTICORE SYSTEM INTRODUCTION SCHEDULING MODEL Design of Agent Decoder and Scheduler Initial Parameters 124

8 xv 5.3 STRUCTURE OF AGENT TASK ASSIGNMENT ALGORITHM DESIGN AND IMPLEMENTATION OF AGENT TASK ASSIGNMENT ALGORITHM EVALUATION AND RESULTS Scheduling Criteria Kernel API Design and Implementation Workload Descriptions for SPEC Workload Analysis Improved CPU Utilization and Performance Analysis Reduction in Average Waiting Time SUMMARY LOAD BALANCING BASED ON AGENT SCHEDULING FOR MULTICORE ARCHITECTURE MOTIVATION LOAD BALANCING BASED ON AGENT BASED BINARY SEARCH TREE System Model and Algorithm Construction Relationship with CPU Power Dissipation Equalizing Power Consumption Results and Discussion 152

9 xvi Increased CPU utilization Comparative analysis Testing and measuring performance Scheduling ratio Performance over average waiting time Performance over response time Context switch overhead AUTOMATIC LOAD BALANCING USING TIME BASED UNUSED SPACE COLLECTION Introduction Work on Unused Space Collection System Model Algorithm Design Local unused space collection algorithm Global unused space Collection Algorithm Inductive Learning Learning agent components Decision trees as performance elements Expressiveness of decision trees Evaluation and Results SUMMARY 180

10 xvii 7. CONCLUSION AND FUTURE ENHANCEMENTS 181 REFERENCES 184 LIST OF PUBLICATIONS 203

11 xviii LIST OF TABLES TABLE NO. TITLE PAGE NO. 3.1 Multicore in PEAS environment APIT- Agent Processor Information Table ARQT- Agent Request Table Linux 2.6 scheduler functions Average waiting time and number of cores Average waiting time and number of cores For Agent and RR approach Example benchmarks for workload analysis Example benchmarks for workload analysis Policies adopted in agent based load balancing CPU Power Dissipation for various Processors Performance factors for different load balancing algorithms Parameters for different load balancing algorithms 159

12 xix LIST OF FIGURES FIGURE NO. TITLE PAGE NO. 1.1 Proposed Methodologies incorporated in thesis Multicore Architecture Model Multicore architecture with multiagent system Shared memory with a ready queue Middle Agent system communication The Linux 2.6 scheduler run queue structure Agent generation algorithm Processor Agent Implementation- an overview Multiagent based Scheduling Simulation Results Process Agent Information Processor/Core Agent Information Number of cores vs. average waiting time Execution time for various scheduling algorithms keeping the number of cores= AWT Vs. Number of cores for Agent and RR Approach General Multicore System Architecture Ready queue process with the tag field Middle agent queue implementation Process Scheduling by OS scheduler, middle agent and individual agents Hard affinity assigned by the programmer / user Soft affinity assigned by the scheduler Agent Control Block (ACB) Scheduler Components 114

13 xx FIGURE NO. TITLE PAGE NO. 4.9 CPU Usage History for Dual Core processor Performance analysis of Affinity and RR algorithms Performance analysis of Affinity and SJF algorithms Performance analysis of Affinity and EDF algorithms Summary of Performance analysis of all the algorithms Traditional multiprocessor system Heterogeneous Multicore System Agent Decoder implemented in scheduler Agent decoder functionality Agent Thread Assignment using Agent Decoder Agent Task Assignment Algorithm An example system call part Average energy per task for various scheduling algorithms Different Make Spans and their Performance in terms of speed Workload performance for Various Cores with respect to Average energy per task Performance Analysis of ASTPI and the agent based algorithm Performance Analysis of HASS and the agent based algorithm Performance Analysis of AS and the agent based algorithm Performance Analysis of VAS and the agent based algorithm Performance Analysis of Affinity and the agent based algorithm 141

14 xxi FIGURE NO. TITLE PAGE NO Comparative performance analysis of ASTPI, HASS, AS, VAS, Affinity and the agent algorithm Average waiting time for different scheduling algorithms Equalizing power consumption of the processors using load balancing CPU performance against the number of Cores and Process Screen shot of scheduling ratio for different cores Schedulable ratio for different cores Abstract view of load balance initialization Performance over average waiting time Performance over average Response time Context switch overhead under agent based scheduling algorithm Multicore Architecture Local unused space Collector model Global unused space Collector Model Local unused space Collection Agent Model Global unused space Collection Agent Model Decision Tree for the classification of unused space or non unused space files Storage Compaction Algorithm Performance 180

15 xxii LIST OF SYMBOLS AND ABBREVIATIONS EDF - Earliest deadline first AIA - Abstract intelligent agents AMAS - Adaptive multiagent system AMD - Advanced micro devices ACB - Agent control block APIT - Agent processor information table ARQT - Agent request table API - Application programming interface ASTPI - Average stall time per instruction AWT - Average waiting time BST - Binary search tree BT - Burst time CPU - Central processing unit CFS - Completely fair scheduler CT - Critical task DLB - Dynamic load balancing DVS - Dynamic voltage scaling ET - Execution time FIFO - First in first out FCFS - First come first served FLAME - Flexible large scale agent modeling environment GGCA - Global unused space collection algorithm HA - Hard affinity HMC - Heterogeneous multi core ILP - Instruction level parallelism

16 xxiii IA - Intelligent agent LGCA - Local unused space collection algorithm MA - Middle agent NCT - Non critical task NUMA - Non uniform memory architecture OS - Operating system PEAS - Performance measure, environment, actuators, sensors PCB - Process control block PA - Processor agent RR - Round robin SJF - Shortest job first SMT - Simultaneous multithreading SMP - Simultaneous multiprocessor SA - Soft affinity SPEC - Standard performance evaluation corporation